crypto research stuffs from numeric arithmetics to ZK-applied protocols all written with dirty hands.
-
docs
-
bls12_381 note and python versioned bls12-381 implementation [
] -
on_proving_pairings note and python versioned bn254 implementation [
]
-
-
ecc
-
integer_arithmetic
-
basic arithmetics on big integers
-
add/substruction/multiplication/division [
] -
euclid extended gcd/lehmer extended gcd [
]
-
-
-
finite_field_arithmetic
-
basic arithmetics on base field
and its instantiation - add/substruction/multiplication/division/inversion/modulo/exponentiation/sqrt/square [
] - field implementation for pallas/vasta curves [
]
- add/substruction/multiplication/division/inversion/modulo/exponentiation/sqrt/square [
-
basic arithmetics on extension field
of -
quadratic extension
[ ] -
cubic extension
[ ] -
cyclotomic [
] -
twist/untwist
[ ] -
frobenius map [
] -
field implementation for BLS12/MNT/BN pairing-family curves [
]
-
-
-
elliptic_curve_arithmetic
-
neccessary arithmetics on elliptic curves over base field
- add/doubling/scalar_mul/... [
]
- add/doubling/scalar_mul/... [
-
neccessary arithmetics on pairing-friendly elliptic curves over extension field
and its instantiation -
add/doubling/scalar_mul/... [
] -
BLS12/MNT/BN pairing-friendly curves [
]
-
-
-
hyperelliptic_curve_arithmetic [TODO]
-
special_curve_arithmetic [TODO]
-
pairings
-
Weil Pairing [
] -
Tate Pairing [
] -
Ate Pairing [Ongoing]
-
Optimal Ate Pairings [Ongoing]
-
-
...
-
-
hash
- shake128(variable output length) [
] - poseidon [TODO]
- shake128(variable output length) [
-
pcs
- sparse_polynomial [
] - IPA [
] - KZG [Ongoing]
- sparse_polynomial [
-
recursive snark ...
[1] Handbook of Elliptic and Hyperelliptic Curve Cryptography
[2] Guide to Elliptic Curve Cryptography
[4] Algorithms for Modern Hardware
[5] IPA PCS
[6] Guide to Pairing-based Cryptography
[7] A note on twists for pairing friendly curves
[8] Pairing-Friendly Elliptic Curves of Prime Order
[9] Optimal Pairings
[10] On the Computation of the Optimal Ate Pairing at the 192-bit Security Level
[12] Faster Squaring in the Cyclotomic Subgroup of Sixth Degree Extensions
[13] A Guide to Plane Algebraic Curves
[14] Circle Stark
[15] Binius