id-tc26-gost-3410-2012-256-paramSetA
256-bit prime field TwistedEdwards curve.RFC5832
Parameters
SAGE
p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd97K = GF(p)a = K(0x01)d = K(0x605f6b7c183fa81578bc39cfad518132b9df62897009af7e522c32d6dc7bffb)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(0x0d), K(0x60ca1e32aa475b348488c38fab07649ce7ef8dbe87f22e81f92b2592dba300e7)))E.set_order(0x400000000000000000000000000000000fd8cddfc87b6635c115af556c360c67 * 0x4)# 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": "id-tc26-gost-3410-2012-256-paramSetA","desc": "RFC5832","form": "TwistedEdwards","field": {"type": "Prime","p": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd97","bits": 256},"params": {"a": {"raw": "0x01"},"d": {"raw": "0x605f6b7c183fa81578bc39cfad518132b9df62897009af7e522c32d6dc7bffb"}},"generator": {"x": {"raw": "0x0d"},"y": {"raw": "0x60ca1e32aa475b348488c38fab07649ce7ef8dbe87f22e81f92b2592dba300e7"}},"order": "0x400000000000000000000000000000000fd8cddfc87b6635c115af556c360c67","cofactor": "0x4"}