Search

## JubJub

255-bit prime field TwistedEdwards curve.

JubJub curve from https://z.cash/technology/jubjub/.

$ax^2 + y^2 \equiv 1 + dx^2y^2$

### Parameters

NameValue
p0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001
a0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000000
d0x2a9318e74bfa2b48f5fd9207e6bd7fd4292d7f6d37579d2601065fd6d6343eb1
G(0x11dafe5d23e1218086a365b99fbf3d3be72f6afd7d1f72623e6b071492d1122b, 0x1d523cf1ddab1a1793132e78c866c0c33e26ba5cc220fed7cc3f870e59d292aa)
n0xe7db4ea6533afa906673b0101343b00a6682093ccc81082d0970e5ed6f72cb7
h0x08

### SAGE

p = 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001K = GF(p)a = K(0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000000)d = K(0x2a9318e74bfa2b48f5fd9207e6bd7fd4292d7f6d37579d2601065fd6d6343eb1)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)G = E(*to_weierstrass(a, d, K(0x11dafe5d23e1218086a365b99fbf3d3be72f6afd7d1f72623e6b071492d1122b), K(0x1d523cf1ddab1a1793132e78c866c0c33e26ba5cc220fed7cc3f870e59d292aa)))E.set_order(0xe7db4ea6533afa906673b0101343b00a6682093ccc81082d0970e5ed6f72cb7 * 0x08)# 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": "JubJub",  "desc": "JubJub curve from <https://z.cash/technology/jubjub/>.",  "form": "TwistedEdwards",  "field": {    "type": "Prime",    "p": "0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",    "bits": 255  },  "params": {    "a": {      "raw": "0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000000"    },    "d": {      "raw": "0x2a9318e74bfa2b48f5fd9207e6bd7fd4292d7f6d37579d2601065fd6d6343eb1"    }  },  "generator": {    "x": {      "raw": "0x11dafe5d23e1218086a365b99fbf3d3be72f6afd7d1f72623e6b071492d1122b"    },    "y": {      "raw": "0x1d523cf1ddab1a1793132e78c866c0c33e26ba5cc220fed7cc3f870e59d292aa"    }  },  "order": "0xe7db4ea6533afa906673b0101343b00a6682093ccc81082d0970e5ed6f72cb7",  "cofactor": "0x08"}

© 2020 Jan Jancar | Built with Dox theme for Gatsby