Skip to main content

Standard curve database

Search

Tweedledee

255-bit prime field Weierstrass curve.

Tweedledee pairing friendly curve from https://github.com/daira/tweedle.


y2x3+ax+by^2 \equiv x^3 + ax + b

Parameters

NameValue
p0x40000000000000000000000000000000038aa127696286c9842cafd400000001
a0x00
b0x05
G(0x40000000000000000000000000000000038aa127696286c9842cafd400000000, 0x02)
n0x40000000000000000000000000000000038aa1276c3f59b9a14064e200000001
h0x01


Characteristics

  • j-invariant:
    0
  • Trace of Frobenius:
    -885929826233106195063767039
  • Discriminant:
    28948022309329048855892746252171976963322203655954433126947083963168578328017
  • Embedding degree:
    28948022309329048855892746252171976963322203655955319056773317069363642105856
  • CM-discriminant:
    -3
  • Conductor:
    196462116142286827589390971285842952193

SAGE

p = 0x40000000000000000000000000000000038aa127696286c9842cafd400000001
K = GF(p)
a = K(0x00)
b = K(0x05)
E = EllipticCurve(K, (a, b))
G = E(0x40000000000000000000000000000000038aa127696286c9842cafd400000000, 0x02)
E.set_order(0x40000000000000000000000000000000038aa1276c3f59b9a14064e200000001 * 0x01)

PARI/GP

p = 0x40000000000000000000000000000000038aa127696286c9842cafd400000001
a = Mod(0x00, p)
b = Mod(0x05, p)
E = ellinit([a, b])
E[16][1] = 0x40000000000000000000000000000000038aa1276c3f59b9a14064e200000001 * 0x01
G = [Mod(0x40000000000000000000000000000000038aa127696286c9842cafd400000000, p), Mod(0x02, p)]

JSON

{
"name": "Tweedledee",
"desc": "Tweedledee pairing friendly curve from <https://github.com/daira/tweedle>.",
"sources": [
{
"name": "Tweedledum/Tweedledee supporting evidence",
"url": "https://github.com/daira/tweedle"
}
],
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0x40000000000000000000000000000000038aa127696286c9842cafd400000001",
"bits": 255
},
"params": {
"a": {
"raw": "0x00"
},
"b": {
"raw": "0x05"
}
},
"generator": {
"x": {
"raw": "0x40000000000000000000000000000000038aa127696286c9842cafd400000000"
},
"y": {
"raw": "0x02"
}
},
"order": "0x40000000000000000000000000000000038aa1276c3f59b9a14064e200000001",
"cofactor": "0x01",
"characteristics": {
"cm_disc": "-3",
"conductor": "196462116142286827589390971285842952193",
"discriminant": "28948022309329048855892746252171976963322203655954433126947083963168578328017",
"j_invariant": "0",
"embedding_degree": "28948022309329048855892746252171976963322203655955319056773317069363642105856",
"trace_of_frobenius": "-885929826233106195063767039"
}
}

© 2020-2025 Jan Jancar | Built with Dox theme for Gatsby