Skip to main content

Standard curve database

Search

ansip160r2

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

Parameters

NameValue
p0xfffffffffffffffffffffffffffffffeffffac73
a0xfffffffffffffffffffffffffffffffeffffac70
b0xb4e134d3fb59eb8bab57274904664d5af50388ba
G(0x52dcb034293a117e1f4ff11b30f7199d3144ce6d, 0xfeaffef2e331f296e071fa0df9982cfea7d43f2e)
n0x0100000000000000000000351ee786a818f3a1a16b
h0x1

Sources

  • ANSI X9.63

Characteristics

  • OID:
    1.3.132.0.30
  • j-invariant:
    1027058635636405814575941827615445452503699747171
  • Trace of Frobenius:
    -250855509121001538581751
  • Discriminant:
    1237703873357928705511536972446330043119280998656
  • Embedding degree:
    730750818665451459101842541785896070326588068021
  • CM-discriminant:
    -5783078062867254786698681388093463102802039991163
  • Conductor:
    1

SAGE

p = 0xfffffffffffffffffffffffffffffffeffffac73
K = GF(p)
a = K(0xfffffffffffffffffffffffffffffffeffffac70)
b = K(0xb4e134d3fb59eb8bab57274904664d5af50388ba)
E = EllipticCurve(K, (a, b))
G = E(0x52dcb034293a117e1f4ff11b30f7199d3144ce6d, 0xfeaffef2e331f296e071fa0df9982cfea7d43f2e)
E.set_order(0x0100000000000000000000351ee786a818f3a1a16b * 0x1)

PARI/GP

p = 0xfffffffffffffffffffffffffffffffeffffac73
a = Mod(0xfffffffffffffffffffffffffffffffeffffac70, p)
b = Mod(0xb4e134d3fb59eb8bab57274904664d5af50388ba, p)
E = ellinit([a, b])
E[16][1] = 0x0100000000000000000000351ee786a818f3a1a16b * 0x1
G = [Mod(0x52dcb034293a117e1f4ff11b30f7199d3144ce6d, p), Mod(0xfeaffef2e331f296e071fa0df9982cfea7d43f2e, p)]

JSON

{
"name": "ansip160r2",
"desc": "",
"oid": "1.3.132.0.30",
"sources": [
{
"name": "ANSI X9.63",
"url": "https://webstore.ansi.org/standards/ascx9/ansix9632011r2017"
}
],
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0xfffffffffffffffffffffffffffffffeffffac73",
"bits": 160
},
"params": {
"a": {
"raw": "0xfffffffffffffffffffffffffffffffeffffac70"
},
"b": {
"raw": "0xb4e134d3fb59eb8bab57274904664d5af50388ba"
}
},
"generator": {
"x": {
"raw": "0x52dcb034293a117e1f4ff11b30f7199d3144ce6d"
},
"y": {
"raw": "0xfeaffef2e331f296e071fa0df9982cfea7d43f2e"
}
},
"order": "0x0100000000000000000000351ee786a818f3a1a16b",
"cofactor": "0x1",
"aliases": [
"secg/secp160r2"
],
"characteristics": {
"cm_disc": "-5783078062867254786698681388093463102802039991163",
"conductor": "1",
"discriminant": "1237703873357928705511536972446330043119280998656",
"j_invariant": "1027058635636405814575941827615445452503699747171",
"embedding_degree": "730750818665451459101842541785896070326588068021",
"trace_of_frobenius": "-250855509121001538581751"
}
}

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