arkworks-rs / snark

Interfaces for Relations and SNARKs for these relations
https://www.arkworks.rs
Apache License 2.0
776 stars 209 forks source link

Implement ed_on_bn254 curve (baby-jubjub) #230

Closed yelhousni closed 4 years ago

yelhousni commented 4 years ago

This PR implements ed_on_bn254 curve also known as baby-jubjub. It is a twisted Edwards curve for which the base field Fq is equal to the bn254 scalar field Fr_bn254. Type: Feature Label: Ready to review Priority: Medium

Motivation

Allow fast elliptic curve operations inside a bn254 SNARK circuit (e.g. Pedersen Hash, EdDSA..).

yelhousni commented 4 years ago

@Pratyush Edwards is mapped to x^2 + y^2 = 1 + (168696/168700).x^2.y^2 with mul_by_a = id