Skip to main content

Standard curve database

Search

bn638

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

Parameters

NameValue
p0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55C00086520021E55BFFFFF51FFFF4EB800000004C80015ACDFFFFFFFFFFFFECE00000000000000067
a0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
b0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101
G(0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55C00086520021E55BFFFFF51FFFF4EB800000004C80015ACDFFFFFFFFFFFFECE00000000000000066, 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010)
n0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55600086550021E555FFFFF54FFFF4EAC000000049800154D9FFFFFFFFFFFFEDA00000000000000061
h0x01

Sources

  • A Family of Implementation-Friendly BN Elliptic Curves

Characteristics

  • j-invariant:
    0
  • Trace of Frobenius:
    800995136978371572363525747477255032258950408689114271367829691469194143147501961435441086332935
  • Discriminant:
    641593209463000238284923228689168801117629789043238356871360716989515584497239494051781991794253619096481315470262367432019698642631650152075067922231951354925301839708740457083469793688592055
  • Anomalous:
    false
  • Supersingular:
    false
  • Embedding degree:
    12
  • CM-discriminant:
    -3
  • Conductor:
    800995136978371572363525747477255032258950408690575773003799464919714074125184154404652534726667

SAGE

p = 0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55C00086520021E55BFFFFF51FFFF4EB800000004C80015ACDFFFFFFFFFFFFECE00000000000000067
K = GF(p)
a = K(0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
b = K(0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101)
E = EllipticCurve(K, (a, b))
G = E(0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55C00086520021E55BFFFFF51FFFF4EB800000004C80015ACDFFFFFFFFFFFFECE00000000000000066, 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010)
E.set_order(0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55600086550021E555FFFFF54FFFF4EAC000000049800154D9FFFFFFFFFFFFEDA00000000000000061 * 0x01)
SAGE

PARI/GP

p = 0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55C00086520021E55BFFFFF51FFFF4EB800000004C80015ACDFFFFFFFFFFFFECE00000000000000067
a = Mod(0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, p)
b = Mod(0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101, p)
E = ellinit([a, b])
E[16][1] = 0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55600086550021E555FFFFF54FFFF4EAC000000049800154D9FFFFFFFFFFFFEDA00000000000000061 * 0x01
G = [Mod(0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55C00086520021E55BFFFFF51FFFF4EB800000004C80015ACDFFFFFFFFFFFFECE00000000000000066, p), Mod(0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010, p)]

JSON

{
"name": "bn638",
"desc": "",
"sources": [
{
"name": "A Family of Implementation-Friendly BN Elliptic Curves",
"url": "https://eprint.iacr.org/2010/429"
}
],
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55C00086520021E55BFFFFF51FFFF4EB800000004C80015ACDFFFFFFFFFFFFECE00000000000000067",
"bits": 638
},
"params": {
"a": {
"raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
"b": {
"raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101"
}
},
"generator": {
"x": {
"raw": "0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55C00086520021E55BFFFFF51FFFF4EB800000004C80015ACDFFFFFFFFFFFFECE00000000000000066"
},
"y": {
"raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010"
}
},
"order": "0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55600086550021E555FFFFF54FFFF4EAC000000049800154D9FFFFFFFFFFFFEDA00000000000000061",
"cofactor": "0x01",
"characteristics": {
"discriminant": "641593209463000238284923228689168801117629789043238356871360716989515584497239494051781991794253619096481315470262367432019698642631650152075067922231951354925301839708740457083469793688592055",
"j_invariant": "0",
"trace_of_frobenius": "800995136978371572363525747477255032258950408689114271367829691469194143147501961435441086332935",
"embedding_degree": "12",
"anomalous": false,
"supersingular": false,
"cm_disc": "-3",
"conductor": "800995136978371572363525747477255032258950408690575773003799464919714074125184154404652534726667"
}
}
JSON

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