Skip to main content

Standard curve database

Search

bn478

478-bit prime field Weierstrass curve.
y2x3+ax+by^2 \equiv x^3 + ax + b

Parameters

NameValue
p0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D28085442328002888F96F2944D7DED781430FFD780065FFF010020FFFD900013
a0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
b0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
G(0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D28085442328002888F96F2944D7DED781430FFD780065FFF010020FFFD900012, 0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001)
n0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D2807F442328002888F9872944D7E0578112F7FD780062FFF07001F7FFDF0000D
h0x01

Sources

  • A Family of Implementation-Friendly BN Elliptic Curves

Characteristics

  • j-invariant:
    0
  • Trace of Frobenius:
    662567649291894123450065105820326672097321614256273183056335502227537927
  • Discriminant:
    438995889888186407347652991425301965681188858026820794321677547168174289793337316790981018819616267513532082540968716717668009346359904036714835
  • Anomalous:
    false
  • Supersingular:
    false
  • Embedding degree:
    12
  • CM-discriminant:
    -3
  • Conductor:
    662567649291894123450065105820326670768093618471357310296643630025146371

SAGE

p = 0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D28085442328002888F96F2944D7DED781430FFD780065FFF010020FFFD900013
K = GF(p)
a = K(0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
b = K(0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002)
E = EllipticCurve(K, (a, b))
G = E(0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D28085442328002888F96F2944D7DED781430FFD780065FFF010020FFFD900012, 0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001)
E.set_order(0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D2807F442328002888F9872944D7E0578112F7FD780062FFF07001F7FFDF0000D * 0x01)

PARI/GP

p = 0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D28085442328002888F96F2944D7DED781430FFD780065FFF010020FFFD900013
a = Mod(0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, p)
b = Mod(0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002, p)
E = ellinit([a, b])
E[16][1] = 0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D2807F442328002888F9872944D7E0578112F7FD780062FFF07001F7FFDF0000D * 0x01
G = [Mod(0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D28085442328002888F96F2944D7DED781430FFD780065FFF010020FFFD900012, p), Mod(0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001, p)]

JSON

{
"name": "bn478",
"desc": "",
"sources": [
{
"name": "A Family of Implementation-Friendly BN Elliptic Curves",
"url": "https://eprint.iacr.org/2010/429"
}
],
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D28085442328002888F96F2944D7DED781430FFD780065FFF010020FFFD900013",
"bits": 478
},
"params": {
"a": {
"raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
"b": {
"raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"
}
},
"generator": {
"x": {
"raw": "0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D28085442328002888F96F2944D7DED781430FFD780065FFF010020FFFD900012"
},
"y": {
"raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
}
},
"order": "0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D2807F442328002888F9872944D7E0578112F7FD780062FFF07001F7FFDF0000D",
"cofactor": "0x01",
"characteristics": {
"discriminant": "438995889888186407347652991425301965681188858026820794321677547168174289793337316790981018819616267513532082540968716717668009346359904036714835",
"j_invariant": "0",
"trace_of_frobenius": "662567649291894123450065105820326672097321614256273183056335502227537927",
"embedding_degree": "12",
"anomalous": false,
"supersingular": false,
"cm_disc": "-3",
"conductor": "662567649291894123450065105820326670768093618471357310296643630025146371"
}
}
JSON

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