Skip to main content

Standard curve database

Search

id-GostR3410-2001-CryptoPro-B-ParamSet

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

Parameters

NameValue
p0x8000000000000000000000000000000000000000000000000000000000000c99
a0x8000000000000000000000000000000000000000000000000000000000000c96
b0x3e1af419a269a5f866a7d3c25c3df80ae979259373ff2b182f49d4ce7e1bbc8b
G(0x01, 0x3fa8124359f96680b83d1c3eb2c070e5c545c9858d03ecfb744bf8d717717efc)
n0x800000000000000000000000000000015f700cfff1a624e5e497161bcc8a198f
h0x1

Sources

  • RFC4357

Characteristics

  • j-invariant:
    6652745622926419573233155027295391061028493201567049670637289133556058620731
  • Trace of Frobenius:
    -467140827435544800340052492131167243509
  • Discriminant:
    25086829932126800311652180130828872457575393184303739951923669692579300879855
  • Embedding degree:
    28948022309329048855892746252171976963551066580127913410034422248043866033351
  • CM-discriminant:
    -619
  • Conductor:
    4646402506017662432554672533504826433

SAGE

p = 0x8000000000000000000000000000000000000000000000000000000000000c99
K = GF(p)
a = K(0x8000000000000000000000000000000000000000000000000000000000000c96)
b = K(0x3e1af419a269a5f866a7d3c25c3df80ae979259373ff2b182f49d4ce7e1bbc8b)
E = EllipticCurve(K, (a, b))
G = E(0x01, 0x3fa8124359f96680b83d1c3eb2c070e5c545c9858d03ecfb744bf8d717717efc)
E.set_order(0x800000000000000000000000000000015f700cfff1a624e5e497161bcc8a198f * 0x1)

PARI/GP

p = 0x8000000000000000000000000000000000000000000000000000000000000c99
a = Mod(0x8000000000000000000000000000000000000000000000000000000000000c96, p)
b = Mod(0x3e1af419a269a5f866a7d3c25c3df80ae979259373ff2b182f49d4ce7e1bbc8b, p)
E = ellinit([a, b])
E[16][1] = 0x800000000000000000000000000000015f700cfff1a624e5e497161bcc8a198f * 0x1
G = [Mod(0x01, p), Mod(0x3fa8124359f96680b83d1c3eb2c070e5c545c9858d03ecfb744bf8d717717efc, p)]

JSON

{
"name": "id-GostR3410-2001-CryptoPro-B-ParamSet",
"desc": "",
"sources": [
{
"name": "RFC4357",
"url": "https://datatracker.ietf.org/doc/html/rfc4357"
}
],
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0x8000000000000000000000000000000000000000000000000000000000000c99",
"bits": 256
},
"params": {
"a": {
"raw": "0x8000000000000000000000000000000000000000000000000000000000000c96"
},
"b": {
"raw": "0x3e1af419a269a5f866a7d3c25c3df80ae979259373ff2b182f49d4ce7e1bbc8b"
}
},
"generator": {
"x": {
"raw": "0x01"
},
"y": {
"raw": "0x3fa8124359f96680b83d1c3eb2c070e5c545c9858d03ecfb744bf8d717717efc"
}
},
"order": "0x800000000000000000000000000000015f700cfff1a624e5e497161bcc8a198f",
"cofactor": "0x1",
"characteristics": {
"cm_disc": "-619",
"conductor": "4646402506017662432554672533504826433",
"discriminant": "25086829932126800311652180130828872457575393184303739951923669692579300879855",
"j_invariant": "6652745622926419573233155027295391061028493201567049670637289133556058620731",
"embedding_degree": "28948022309329048855892746252171976963551066580127913410034422248043866033351",
"trace_of_frobenius": "-467140827435544800340052492131167243509"
}
}

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