Cryptographic primitive library built from scratch
To implement cryptographic primitives in the simplest form without using any optimization
- Groth16 zk-SNARK
- An implementation fully based on zk-toolkit
- An implementation utilizing BLS12-381 curve of external mcl library
- Pinnochio zk-SNARK (protocol 2)
- Common zk-SNARK components
- Equation parser
- R1CS
- QAP
- BLS12-381
- Extension fields
- Miller's algorithm
- Weil/Tate pairing
- Key generation, sign and verify
- Bulletproofs
- Range proof
- Inner product argument
- Ed25519
- EdDSA key generation, sign and veriry
- Secp256k1
- ECDSA key generation, sign and verify
- Weierstrass curve
- Affine coordinate operations
- Jacobian coordinate operations
- Generic HMAC
- SHA256 and SHA512 hashers
- Prime finite field
- Scalar and vector operations
- Arbitrary-precision unsigned integer
- Random number generator