Skip to main content

Standard curve database

Search

BADA55-R-256

256-bit prime field Weierstrass curve.

BADA55 curve from the https://bada55.cr.yp.to/bada55-20150927.pdf


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

Parameters

NameValue
p0xf1fd178c0b3ad58f10126de8ce42435b3961adbcabc8ca6de8fcf353d86e9c03
a0xf1fd178c0b3ad58f10126de8ce42435b3961adbcabc8ca6de8fcf353d86e9c00
b0xbada55bada55bada55bada55bada55bada55bada55bada55bada55bada55bd48
n0xf1fd178c0b3ad58f10126de8ce42435a1a8e3837861aa0efa0e52aec7379c967
h0x01


Characteristics

  • j-invariant:
    96352772434343068284941752698741343881529619471464934096633633307958507507507
  • Trace of Frobenius:
    381257165022567524325218360739058995869
  • Discriminant:
    33024497026253337160729626824031371799586170046501504160073511830729782933196
  • Embedding degree:
    36484857110565759539223575010245042715196030827615390210958701731818987799330
  • CM-discriminant:
    -11698450377829753151182841061045172603605934816251805048442847406795581220411
  • Conductor:
    5

SAGE

p = 0xf1fd178c0b3ad58f10126de8ce42435b3961adbcabc8ca6de8fcf353d86e9c03
K = GF(p)
a = K(0xf1fd178c0b3ad58f10126de8ce42435b3961adbcabc8ca6de8fcf353d86e9c00)
b = K(0xbada55bada55bada55bada55bada55bada55bada55bada55bada55bada55bd48)
E = EllipticCurve(K, (a, b))
# No generator defined
E.set_order(0xf1fd178c0b3ad58f10126de8ce42435a1a8e3837861aa0efa0e52aec7379c967 * 0x01)

PARI/GP

p = 0xf1fd178c0b3ad58f10126de8ce42435b3961adbcabc8ca6de8fcf353d86e9c03
a = Mod(0xf1fd178c0b3ad58f10126de8ce42435b3961adbcabc8ca6de8fcf353d86e9c00, p)
b = Mod(0xbada55bada55bada55bada55bada55bada55bada55bada55bada55bada55bd48, p)
E = ellinit([a, b])
E[16][1] = 0xf1fd178c0b3ad58f10126de8ce42435a1a8e3837861aa0efa0e52aec7379c967 * 0x01
\\ No generator defined

JSON

{
"name": "BADA55-R-256",
"desc": "BADA55 curve from the https://bada55.cr.yp.to/bada55-20150927.pdf",
"sources": [
{
"name": "How to manipulate curve standards: a white paper for the black hat",
"url": "https://bada55.cr.yp.to/bada55-20150927.pdf"
}
],
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0xf1fd178c0b3ad58f10126de8ce42435b3961adbcabc8ca6de8fcf353d86e9c03",
"bits": 256
},
"params": {
"a": {
"raw": "0xf1fd178c0b3ad58f10126de8ce42435b3961adbcabc8ca6de8fcf353d86e9c00"
},
"b": {
"raw": "0xbada55bada55bada55bada55bada55bada55bada55bada55bada55bada55bd48"
}
},
"order": "0xf1fd178c0b3ad58f10126de8ce42435a1a8e3837861aa0efa0e52aec7379c967",
"cofactor": "0x01",
"characteristics": {
"cm_disc": "-11698450377829753151182841061045172603605934816251805048442847406795581220411",
"conductor": "5",
"discriminant": "33024497026253337160729626824031371799586170046501504160073511830729782933196",
"j_invariant": "96352772434343068284941752698741343881529619471464934096633633307958507507507",
"embedding_degree": "36484857110565759539223575010245042715196030827615390210958701731818987799330",
"trace_of_frobenius": "381257165022567524325218360739058995869"
}
}

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