5 unstable releases
0.4.0 | Jan 17, 2023 |
---|---|
0.4.0-alpha.2 | Dec 28, 2022 |
0.4.0-alpha.1 | Nov 29, 2022 |
0.3.0 | Jun 6, 2021 |
0.2.0 | Mar 25, 2021 |
#2282 in Cryptography
8,632 downloads per month
Used in 23 crates
(13 directly)
500KB
3K
SLoC
Curve implementations
This repository contains implementations of some popular elliptic curves. The curve API implemented here matches the curve traits defined here in the arkworks-rs/algebra repository.
BLS12-381 and embedded curves
ark-bls12-381
: Implements the BLS12-381 pairing-friendly curveark-ed-on-bls12-381
: Implements a Twisted Edwards curve atop the scalar field of BLS12-381ark-ed-on-bls12-381-bandersnatch
: Implements Bandersnatch, another Twisted Edwards curve atop the scalar field of BLS12-381
BLS12-377 and related curves
-
ark-bls12-377
: Implements the BLS12-377 pairing-friendly curve -
ark-ed-on-bls12-377
: Implements a Twisted Edwards curve atop the scalar field of BLS12-377 -
ark-bw6-761
: Implements the BW6-761 pairing-friendly curve, which is a curve whose scalar field equals the base field of BLS12-377 -
ark-ed-on-bw6-761
: Implements a Twisted Edwards curve atop the scalar field of BW6-761 -
ark-cp6-782
: Implements the CP6-782 pairing-friendly curve, which is a curve whose scalar field equals the base field of BLS12-377 -
ark-ed-on-cp6-782
: Implements a Twisted Edwards curve atop the scalar field of CP6-782. This is the same curve as inark-ed-on-bw6-761
BN254 and related curves
ark-bn254
: Implements the BN254 pairing-friendly curveark-ed-on-bn254
: Implements a Twisted Edwards curve atop the scalar field of BN254
MNT-298 cycle of curves and related curves
ark-mnt4-298
: Implements the MNT4-298 pairing-friendly curve. This curve forms a pairing-friendly cycle with MNT6-298ark-mnt6-298
: Implements the MNT6-298 pairing-friendly curve. This curve forms a pairing-friendly cycle with MNT4-298ark-ed-on-mnt4-298
: Implements a Twisted Edwards curve atop the scalar field of MNT4-298
MNT-753 cycle of curves and related curves
ark-mnt4-753
: Implements the MNT4-753 pairing-friendly curve. This curve forms a pairing-friendly cycle with MNT6-753ark-mnt6-753
: Implements the MNT6-753 pairing-friendly curve. This curve forms a pairing-friendly cycle with MNT4-753ark-ed-on-mnt4-753
: Implements a Twisted Edwards curve atop the scalar field of MNT4-753
Pasta cycle of curves
ark-pallas
: Implements Pallas, a prime-order curve that forms an amicable pair with Vestaark-vesta
: Implements Vesta, a prime-order curve that forms an amicable pair with Pallas
lib.rs
:
This library implements a twisted Edwards curve whose base field is the scalar field of the curve BLS12-381. This allows defining cryptographic primitives that use elliptic curves over the scalar field of the latter curve. This curve was generated by Sean Bowe, and is also known as Jubjub.
Curve information:
- Base field: q = 52435875175126190479447740508185965837690552500527637822603658699938581184513
- Scalar field: r = 6554484396890773809930967563523245729705921265872317281365359162392183254199
- Valuation(q - 1, 2) = 32
- Valuation(r - 1, 2) = 1
- Curve equation: ax^2 + y^2 =1 + dx^2y^2, where
- a = -1
- d = -(10240/10241)
Dependencies
~5.5MB
~106K SLoC