Skip to main content

Standard curve database

Search

secp256k1

256-bit prime field Weierstrass curve.

A Koblitz curve.


Also known as: ansip256k1
y2x3+ax+by^2 \equiv x^3 + ax + b

Parameters

NameValue
p0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
a0x0000000000000000000000000000000000000000000000000000000000000000
b0x0000000000000000000000000000000000000000000000000000000000000007
G(0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798, 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8)
n0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
h0x1

Characteristics

  • OID:
    1.3.132.0.10
  • j-invariant:
    0
  • Trace of Frobenius:
    432420386565659656852420866390673177327
  • Discriminant:
    115792089237316195423570985008687907853269984665640564039457584007908834650495
  • Anomalous:
    false
  • Supersingular:
    false
  • Embedding degree:
    19298681539552699237261830834781317975472927379845817397100860523586360249056
  • CM-discriminant:
    2058526030885621251974595289043340584056211192337762651115457400734420735597
  • Conductor:
    15

SAGE

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

PARI/GP

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

JSON

{
"name": "secp256k1",
"desc": "A Koblitz curve.",
"oid": "1.3.132.0.10",
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
"bits": 256
},
"params": {
"a": {
"raw": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
"b": {
"raw": "0x0000000000000000000000000000000000000000000000000000000000000007"
}
},
"generator": {
"x": {
"raw": "0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"
},
"y": {
"raw": "0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
}
},
"order": "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
"cofactor": "0x1",
"aliases": [
"x963/ansip256k1"
],
"characteristics": {
"j_invariant": "0",
"anomalous": false,
"cm_disc": "2058526030885621251974595289043340584056211192337762651115457400734420735597",
"conductor": "15",
"discriminant": "115792089237316195423570985008687907853269984665640564039457584007908834650495",
"embedding_degree": "19298681539552699237261830834781317975472927379845817397100860523586360249056",
"torsion_degrees": [
{
"full": 3,
"least": 3,
"r": 2
}
],
"supersingular": false,
"trace_of_frobenius": "432420386565659656852420866390673177327"
}
}

© 2020 Jan Jancar | Built with Dox theme for Gatsby