5 unstable releases
Uses new Rust 2021
new 0.4.0  Jan 17, 2023 

0.4.0alpha.2  Dec 28, 2022 
0.4.0alpha.1  Nov 29, 2022 
0.3.0  Jun 6, 2021 
0.2.0  Mar 25, 2021 
#119 in Cryptography
17,882 downloads per month
Used in 5 crates
61KB
617 lines
Curve implementations
This repository contains implementations of some popular elliptic curves. The curve API implemented here matches the curve traits defined here in the arkworksrs/algebra repository.
BLS12381 and embedded curves
arkbls12381
: Implements the BLS12381 pairingfriendly curvearkedonbls12381
: Implements a Twisted Edwards curve atop the scalar field of BLS12381arkedonbls12381bandersnatch
: Implements Bandersnatch, another Twisted Edwards curve atop the scalar field of BLS12381
BLS12377 and related curves

arkbls12377
: Implements the BLS12377 pairingfriendly curve 
arkedonbls12377
: Implements a Twisted Edwards curve atop the scalar field of BLS12377 
arkbw6761
: Implements the BW6761 pairingfriendly curve, which is a curve whose scalar field equals the base field of BLS12377 
arkedonbw6761
: Implements a Twisted Edwards curve atop the scalar field of BW6761 
arkcp6782
: Implements the CP6782 pairingfriendly curve, which is a curve whose scalar field equals the base field of BLS12377 
arkedoncp6782
: Implements a Twisted Edwards curve atop the scalar field of CP6782. This is the same curve as inarkedonbw6761
BN254 and related curves
arkbn254
: Implements the BN254 pairingfriendly curvearkedonbn254
: Implements a Twisted Edwards curve atop the scalar field of BN254
MNT298 cycle of curves and related curves
arkmnt4298
: Implements the MNT4298 pairingfriendly curve. This curve forms a pairingfriendly cycle with MNT6298arkmnt6298
: Implements the MNT6298 pairingfriendly curve. This curve forms a pairingfriendly cycle with MNT4298arkedonmnt4298
: Implements a Twisted Edwards curve atop the scalar field of MNT4298
MNT753 cycle of curves and related curves
arkmnt4753
: Implements the MNT4753 pairingfriendly curve. This curve forms a pairingfriendly cycle with MNT6753arkmnt6753
: Implements the MNT6753 pairingfriendly curve. This curve forms a pairingfriendly cycle with MNT4753arkedonmnt4753
: Implements a Twisted Edwards curve atop the scalar field of MNT4753
Pasta cycle of curves
arkpallas
: Implements Pallas, a primeorder curve that forms an amicable pair with Vestaarkvesta
: Implements Vesta, a primeorder curve that forms an amicable pair with Pallas
Dependencies
~4MB
~84K SLoC