Skip to main content

Standard curve database

Search

bn254

254-bit prime field Weierstrass curve.
Also known as: Fp254BNb
y2x3+ax+by^2 \equiv x^3 + ax + b

Parameters

NameValue
p0x2523648240000001BA344D80000000086121000000000013A700000000000013
a0x0000000000000000000000000000000000000000000000000000000000000000
b0x0000000000000000000000000000000000000000000000000000000000000002
G(0x2523648240000001BA344D80000000086121000000000013A700000000000012, 0x0000000000000000000000000000000000000000000000000000000000000001)
n0x2523648240000001BA344D8000000007FF9F800000000010A10000000000000D
h0x01

Characteristics

  • j-invariant:
    0
  • Trace of Frobenius:
    129607518034317099905336561907183648775
  • Discriminant:
    16798108731015832284940804142231733909889187121439069848933715426072753862995
  • Anomalous:
    false
  • Supersingular:
    false
  • Embedding degree:
    12
  • CM-discriminant:
    67192434924063329139763216568926935639427140967721962295829525142383831810117
  • Conductor:
    1

SAGE

p = 0x2523648240000001BA344D80000000086121000000000013A700000000000013
K = GF(p)
a = K(0x0000000000000000000000000000000000000000000000000000000000000000)
b = K(0x0000000000000000000000000000000000000000000000000000000000000002)
E = EllipticCurve(K, (a, b))
G = E(0x2523648240000001BA344D80000000086121000000000013A700000000000012, 0x0000000000000000000000000000000000000000000000000000000000000001)
E.set_order(0x2523648240000001BA344D8000000007FF9F800000000010A10000000000000D * 0x01)

PARI/GP

p = 0x2523648240000001BA344D80000000086121000000000013A700000000000013
a = Mod(0x0000000000000000000000000000000000000000000000000000000000000000, p)
b = Mod(0x0000000000000000000000000000000000000000000000000000000000000002, p)
E = ellinit([a, b])
E[16][1] = 0x2523648240000001BA344D8000000007FF9F800000000010A10000000000000D * 0x01
G = [Mod(0x2523648240000001BA344D80000000086121000000000013A700000000000012, p), Mod(0x0000000000000000000000000000000000000000000000000000000000000001, p)]

JSON

{
"name": "bn254",
"desc": "",
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0x2523648240000001BA344D80000000086121000000000013A700000000000013",
"bits": 254
},
"params": {
"a": {
"raw": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
"b": {
"raw": "0x0000000000000000000000000000000000000000000000000000000000000002"
}
},
"generator": {
"x": {
"raw": "0x2523648240000001BA344D80000000086121000000000013A700000000000012"
},
"y": {
"raw": "0x0000000000000000000000000000000000000000000000000000000000000001"
}
},
"order": "0x2523648240000001BA344D8000000007FF9F800000000010A10000000000000D",
"cofactor": "0x01",
"aliases": [
"other/Fp254BNb"
],
"characteristics": {
"j_invariant": "0",
"anomalous": false,
"cm_disc": "67192434924063329139763216568926935639427140967721962295829525142383831810117",
"conductor": "1",
"discriminant": "16798108731015832284940804142231733909889187121439069848933715426072753862995",
"embedding_degree": "12",
"torsion_degrees": [
{
"full": 3,
"least": 3,
"r": 2
},
{
"full": 2,
"least": 2,
"r": 3
},
{
"full": 8,
"least": 8,
"r": 5
},
{
"full": 6,
"least": 6,
"r": 7
}
],
"supersingular": false,
"trace_of_frobenius": "129607518034317099905336561907183648775"
}
}

© 2020 Jan Jancar | Built with Dox theme for Gatsby