Skip to main content

Standard curve database

Search

prime256v1

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

Parameters

NameValue
p0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff
a0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc
b0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b
G(0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296, 0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5)
n0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
h0x1

Sources

  • ANSI X9.62

Characteristics

  • OID:
    1.2.840.10045.3.1.7
  • Seed:
    C49D360886E704936A6678E1139D26B7819F7E90
  • j-invariant:
    7958909377132088453074743217357398615041065282494610304372115906626967530147
  • Trace of Frobenius:
    89188191154553853111372247798585809583
  • Discriminant:
    47064476442213300654454205837611899485069387829947879813735601543372794627813
  • Anomalous:
    false
  • Supersingular:
    false
  • Embedding degree:
    38597363070118749587565815649802524509998985074711920114140753020356170681456
  • CM-discriminant:
    -455213823400003756884736869668539463648899917731097708475249543966132856781915
  • Conductor:
    1

SAGE

p = 0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff
K = GF(p)
a = K(0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc)
b = K(0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b)
E = EllipticCurve(K, (a, b))
G = E(0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296, 0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5)
E.set_order(0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551 * 0x1)

PARI/GP

p = 0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff
a = Mod(0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc, p)
b = Mod(0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b, p)
E = ellinit([a, b])
E[16][1] = 0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551 * 0x1
G = [Mod(0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296, p), Mod(0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5, p)]

JSON

{
"name": "prime256v1",
"desc": "",
"oid": "1.2.840.10045.3.1.7",
"sources": [
{
"name": "ANSI X9.62",
"url": "https://webstore.ansi.org/standards/ascx9/ansix9621998"
}
],
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
"bits": 256
},
"params": {
"a": {
"raw": "0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"
},
"b": {
"raw": "0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"
}
},
"generator": {
"x": {
"raw": "0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"
},
"y": {
"raw": "0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
}
},
"order": "0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
"cofactor": "0x1",
"aliases": [
"secg/secp256r1",
"nist/P-256"
],
"characteristics": {
"seed": "C49D360886E704936A6678E1139D26B7819F7E90",
"discriminant": "47064476442213300654454205837611899485069387829947879813735601543372794627813",
"j_invariant": "7958909377132088453074743217357398615041065282494610304372115906626967530147",
"trace_of_frobenius": "89188191154553853111372247798585809583",
"embedding_degree": "38597363070118749587565815649802524509998985074711920114140753020356170681456",
"anomalous": false,
"supersingular": false,
"cm_disc": "-455213823400003756884736869668539463648899917731097708475249543966132856781915",
"conductor": "1"
}
}

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