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" }