Primitive
The Zero Network
consist of cryptographic primitives which are compatible with no_std
and parity-scale-codec
. Followings are short summary of primitives.
The zero-crypto
crate is in charge of basic cryptographic primitive. This includes Field
, Curve
, ExtensionField
and so on, and allows us to easily setup cryptocraphy implementation without implementing actual algorithms and test automatically.
The zero-jubjub
crate is in charge of Jubjub
curve arithmetic. This supports Jubjub
rational point additive and scalar by finite field.
The zero-bls12-381
crate is in charge of Bls12 381
arithmetic. This supports Bls12 381
$G_1$ and $G_2$ rational point additive and multiplicative, and scalar by finite field, and also supports $F_q^2$, $F_q^6$ and $F_q^{12}$ extension field arithmetic.
The zero-elgamal
crate is in charge of additive homomorphic ElGamal
arithmetic. This supports ElGamal
encryption and decription.
The zero-pairing
crate is in charge of Tate Pairing
arithmetic. This supports miller loop algorithm and final exponentiation.
You can import as adding dependencies to our crate.
[dependencies]
zero-crypto = { version = "0.2.1" }
zero-jubjub = { version = "0.2.0" }
zero-bls12-381 = { version = "0.2.0" }
zero-elgamal = { version = "0.2.0" }
zero-pairing = { version = "0.2.0" }