Bandersnatch
255-bit prime field TwistedEdwards curve.Parameters
Characteristics
- j-invariant:
0x1f40 - Discriminant:
-0x08
SAGE
p = 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001K = GF(p)a = K(-0x05)d = K(0x6389c12633c267cbc66e3bf86be3b6d8cb66677177e54f92b369f2f5188d58e7)E = EllipticCurve(K, (K(-1/48) * (a^2 + 14*a*d + d^2),K(1/864) * (a + d) * (-a^2 + 34*a*d - d^2)))def to_weierstrass(a, d, x, y):return ((5*a + a*y - 5*d*y - d)/(12 - 12*y), (a + a*y - d*y -d)/(4*x - 4*x*y))def to_twistededwards(a, d, u, v):y = (5*a - 12*u - d)/(-12*u - a + 5*d)x = (a + a*y - d*y -d)/(4*v - 4*v*y)return (x, y)# No generator definedE.set_order(0x1cfb69d4ca675f520cce760202687600ff8f87007419047174fd06b52876e7e1 * 0x04)# This curve is a Weierstrass curve (SAGE does not support TwistedEdwards curves) birationally equivalent to the intended curve.# You can use the to_weierstrass and to_twistededwards functions to convert the points.
JSON
{"name": "Bandersnatch","desc": "Curve from https://ethresear.ch/t/introducing-bandersnatch-a-fast-elliptic-curve-built-over-the-bls12-381-scalar-field/9957","form": "TwistedEdwards","field": {"type": "Prime","p": "0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001","bits": 255},"params": {"a": {"raw": "-0x05"},"d": {"raw": "0x6389c12633c267cbc66e3bf86be3b6d8cb66677177e54f92b369f2f5188d58e7"}},"order": "0x1cfb69d4ca675f520cce760202687600ff8f87007419047174fd06b52876e7e1","cofactor": "0x04","characteristics": {"j_invariant": "0x1f40","discriminant": "-0x08"}}