# [−][src]Module sapling_crypto_ce::alt_babyjubjub

Alternative Baby Jubjub is a twisted Edwards curve defined over the BN256 scalar field, Fr. `Fr modulus = 21888242871839275222246405745257275088548364400416034343698204186575808495617`

It takes the form `-x^2 + y^2 = 1 + dx^2y^2` with `d = -(168696/168700)` using the isomorphism from usual Baby Jubjub with a requirement that `a' = -1, a = 168696`, that results in

``````scaling = 1911982854305225074381251344103329931637610209014896889891168275855466657090
a' = 21888242871839275222246405745257275088548364400416034343698204186575808495616 == -1 = a*scale^2 mod P
d' = 12181644023421730124874158521699555681764249180949974110617291017600649128846 == -(168696/168700) = d*scale^2
``````

It is birationally equivalent to a Montgomery curve of the form `y^2 = x^3 + Ax^2 + x` with `A = 168698`. This value `A` is the smallest integer choice such that:

• `(A - 2) / 4` is a small integer (`10240`).
• `A^2 - 4` is quadratic nonresidue.
• The group order of the curve and its quadratic twist has a large prime factor.

Jubjub has `s = 2736030358979909402780800718157159386076813972158567259200215660948447373041` as the prime subgroup order, with cofactor 8. (The twist has cofactor 4.)

It is a complete twisted Edwards curve, so the equivalence with the Montgomery curve forms a group isomorphism, allowing points to be freely converted between the two forms.

## Re-exports

 `pub use super::jubjub::Unknown;` `pub use super::jubjub::PrimeOrder;` `pub use super::jubjub::FixedGenerators;` `pub use super::jubjub::ToUniform;` `pub use super::jubjub::JubjubEngine;` `pub use super::jubjub::JubjubParams;` `pub use super::jubjub::edwards;` `pub use super::jubjub::montgomery;`

## Modules

 fs This is an implementation of the scalar field for Jubjub.

## Structs

 AltJubjubBn256