constantine/constantine/curves
Mamy Ratsimbazafy 638cb71e16
Fr: Finite Field parametrized by the curve order (#115)
* Introduce Fr type: finite field over curve order. Need workaround for https://github.com/nim-lang/Nim/issues/16774

* Split curve properties into core and derived

* Attach field properties to an instantiated field instead of the curve enum

* Workaround https://github.com/nim-lang/Nim/issues/14021, yet another "working with types in macros" is difficult https://github.com/nim-lang/RFCs/issues/44

* Implement finite field over prime order of a curve subgroup

* skip OpenSSL tests on windows
2021-01-22 00:09:52 +01:00
..
README.md Move pairings 2020-09-27 21:00:35 +02:00
bls12_377_frobenius.nim Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
bls12_377_glv.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
bls12_377_pairing.nim Sage constants & tests codegen (#101) 2020-10-10 16:19:23 +02:00
bls12_377_sqrt.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
bls12_381_frobenius.nim Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
bls12_381_glv.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
bls12_381_inversion.nim Move pairings 2020-09-27 21:00:35 +02:00
bls12_381_pairing.nim Sage constants & tests codegen (#101) 2020-10-10 16:19:23 +02:00
bls12_381_sqrt_fp2.nim Sqrt fp2 acceleration (#109) 2020-12-13 17:08:32 +01:00
bn254_nogami_frobenius.nim Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
bn254_nogami_glv.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
bn254_nogami_pairing.nim Sage constants & tests codegen (#101) 2020-10-10 16:19:23 +02:00
bn254_nogami_sqrt_fp2.nim Sqrt fp2 acceleration (#109) 2020-12-13 17:08:32 +01:00
bn254_snarks_frobenius.nim Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
bn254_snarks_glv.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
bn254_snarks_inversion.nim Move pairings 2020-09-27 21:00:35 +02:00
bn254_snarks_pairing.nim Sage constants & tests codegen (#101) 2020-10-10 16:19:23 +02:00
bn254_snarks_sqrt_fp2.nim Sqrt fp2 acceleration (#109) 2020-12-13 17:08:32 +01:00
bw6_761_frobenius.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
bw6_761_glv.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
secp256k1_inversion.nim Move pairings 2020-09-27 21:00:35 +02:00
zoo_frobenius.nim Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
zoo_glv.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
zoo_inversions.nim Move pairings 2020-09-27 21:00:35 +02:00
zoo_pairings.nim Move pairings 2020-09-27 21:00:35 +02:00
zoo_square_roots.nim Sqrt fp2 acceleration (#109) 2020-12-13 17:08:32 +01:00
zoo_square_roots_fp2.nim Sqrt fp2 acceleration (#109) 2020-12-13 17:08:32 +01:00

README.md

Curve-specific constants and procedures

This folder holds curve-specific constants and procedure in particular:

  • Inversion addition chains
  • Final exponentiation addition chains
  • Square root constants for Tonelli Shanks
  • Lattice decomposition constants for endomorphism acceleration
  • Frobenius endomorphism constants