exfinen a778cdb50a wip
2023-09-25 18:41:09 +09:00
wip
2023-09-25 18:41:09 +09:00
2023-06-22 09:00:38 +09:00
2023-09-21 20:33:32 +09:00
2023-09-21 20:33:32 +09:00
2022-02-27 16:58:44 +09:00
2023-09-21 20:33:32 +09:00

zk-toolkit

Library built from scratch to implement zk-protocols.

Goal

To build a zk library from scratch keeping the implementation as easily understadable as possible so that it can help people including myself who are studying zk technology understand lower level details of it.

What's implemented so far

  • Basic operations in field calculation (add, sub, mul, inv, pow, sq, negate)
  • Weierstrass type elliptic curve add and scalar mul operations in affine/jacobian coordinates
  • ECDSA public key generation, signing and signature verification on Secp256k1 curve
  • SHA256 and SHA512 hashers
  • Generic HMAC
  • Ed25519 public key generation, signing and signature verification on Curve25519 curve
  • Bulletproofs (inner product argument range proof)
  • Pinnocio (equation parser, R1CS, QAP)
  • Miller's Algorithm
  • Weil Pairing on BLS12-381

What's NOT implemented so far

  • Big number
  • Random number generator
Description
No description provided
Readme GPL-3.0 954 KiB
Languages
Rust 100%