Skip to content

crypto research stuffs from numerics to ZK applied protocols all written with dirty hands

Notifications You must be signed in to change notification settings

PayneJoe/crypto_research

Repository files navigation

crypto_research

crypto research stuffs from numeric arithmetics to ZK-applied protocols all written with dirty hands.


Code Structure

  • 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 F q and its instantiation

        • add/substruction/multiplication/division/inversion/modulo/exponentiation/sqrt/square [ ]
        • field implementation for pallas/vasta curves [ ]
      • basic arithmetics on extension field F q k of F q

        • quadratic extension F q 2 / F q [ ]

        • cubic extension F q 3 / F q [ ]

        • cyclotomic [ ]

        • twist/untwist Φ : F q k F q k / d [ ]

        • frobenius map [ ]

        • field implementation for BLS12/MNT/BN pairing-family curves [ ]

    • elliptic_curve_arithmetic

      • neccessary arithmetics on elliptic curves over base field F q

        • add/doubling/scalar_mul/... [ ]
      • neccessary arithmetics on pairing-friendly elliptic curves over extension field F q k 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]
  • pcs

    • sparse_polynomial [ ]
    • IPA [ ]
    • KZG [Ongoing]
  • recursive snark ...


Notes

Small Fields

Pairings

Proving System


Credits

[1] Handbook of Elliptic and Hyperelliptic Curve Cryptography

[2] Guide to Elliptic Curve Cryptography

[3] Pairings For Beginners

[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

[11] Efficient Final Exponentiation via Cyclotomic Structure for Pairings over Families of Elliptic Curves

[12] Faster Squaring in the Cyclotomic Subgroup of Sixth Degree Extensions

[13] A Guide to Plane Algebraic Curves

[14] Circle Stark

[15] Binius

About

crypto research stuffs from numerics to ZK applied protocols all written with dirty hands

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published