Skip to main content

Standard curve database

Search

ansip256k1

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

Parameters

NameValue
p0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
a0x0
b0x7
G(0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798, 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8)
n0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
h0x1

Sources

  • ANSI X9.63

Characteristics

  • OID:
    1.3.132.0.10
  • j-invariant:
    0
  • Trace of Frobenius:
    432420386565659656852420866390673177327
  • Discriminant:
    115792089237316195423570985008687907853269984665640564039457584007908834650495
  • Embedding degree:
    19298681539552699237261830834781317975472927379845817397100860523586360249056
  • CM-discriminant:
    -3
  • Conductor:
    303414439467246543595250775667605759171

SAGE

p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
K = GF(p)
a = K(0x0)
b = K(0x7)
E = EllipticCurve(K, (a, b))
G = E(0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798, 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8)
E.set_order(0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 * 0x1)

PARI/GP

p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
a = Mod(0x0, p)
b = Mod(0x7, p)
E = ellinit([a, b])
E[16][1] = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 * 0x1
G = [Mod(0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798, p), Mod(0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8, p)]

JSON

{
"name": "ansip256k1",
"desc": "",
"oid": "1.3.132.0.10",
"sources": [
{
"name": "ANSI X9.63",
"url": "https://webstore.ansi.org/standards/ascx9/ansix9632011r2017"
}
],
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
"bits": 256
},
"params": {
"a": {
"raw": "0x0"
},
"b": {
"raw": "0x7"
}
},
"generator": {
"x": {
"raw": "0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"
},
"y": {
"raw": "0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
}
},
"order": "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
"cofactor": "0x1",
"aliases": [
"secg/secp256k1"
],
"characteristics": {
"cm_disc": "-3",
"conductor": "303414439467246543595250775667605759171",
"discriminant": "115792089237316195423570985008687907853269984665640564039457584007908834650495",
"j_invariant": "0",
"embedding_degree": "19298681539552699237261830834781317975472927379845817397100860523586360249056",
"trace_of_frobenius": "432420386565659656852420866390673177327"
}
}

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