Skip to main content

Standard curve database

Search

ansip160r1

160-bit prime field Weierstrass curve.
Also known as: secp160r1wap-wsg-idm-ecid-wtls7
y2x3+ax+by^2 \equiv x^3 + ax + b

Parameters

NameValue
p0xffffffffffffffffffffffffffffffff7fffffff
a0xffffffffffffffffffffffffffffffff7ffffffc
b0x1c97befc54bd7a8b65acf89f81d4d4adc565fa45
G(0x4a96b5688ef573284664698968c38bb913cbfc82, 0x23a628553168947d59dcc912042351377ac5fb32)
n0x0100000000000000000001f4c8f927aed3ca752257
h0x1

Sources

  • ANSI X9.63

Characteristics

  • OID:
    1.3.132.0.8
  • j-invariant:
    1443800352525525475817269232308576710441299733598
  • Trace of Frobenius:
    -2364890543760230858433111
  • Discriminant:
    1027266213310721979572908445837817790068480350785
  • Embedding degree:
    1461501637330902918203687197606826779884643492438
  • CM-discriminant:
    -253299265357051288026316368812641220149079098987
  • Conductor:
    1

SAGE

p = 0xffffffffffffffffffffffffffffffff7fffffff
K = GF(p)
a = K(0xffffffffffffffffffffffffffffffff7ffffffc)
b = K(0x1c97befc54bd7a8b65acf89f81d4d4adc565fa45)
E = EllipticCurve(K, (a, b))
G = E(0x4a96b5688ef573284664698968c38bb913cbfc82, 0x23a628553168947d59dcc912042351377ac5fb32)
E.set_order(0x0100000000000000000001f4c8f927aed3ca752257 * 0x1)

PARI/GP

p = 0xffffffffffffffffffffffffffffffff7fffffff
a = Mod(0xffffffffffffffffffffffffffffffff7ffffffc, p)
b = Mod(0x1c97befc54bd7a8b65acf89f81d4d4adc565fa45, p)
E = ellinit([a, b])
E[16][1] = 0x0100000000000000000001f4c8f927aed3ca752257 * 0x1
G = [Mod(0x4a96b5688ef573284664698968c38bb913cbfc82, p), Mod(0x23a628553168947d59dcc912042351377ac5fb32, p)]

JSON

{
"name": "ansip160r1",
"desc": "",
"oid": "1.3.132.0.8",
"sources": [
{
"name": "ANSI X9.63",
"url": "https://webstore.ansi.org/standards/ascx9/ansix9632011r2017"
}
],
"form": "Weierstrass",
"field": {
"type": "Prime",
"p": "0xffffffffffffffffffffffffffffffff7fffffff",
"bits": 160
},
"params": {
"a": {
"raw": "0xffffffffffffffffffffffffffffffff7ffffffc"
},
"b": {
"raw": "0x1c97befc54bd7a8b65acf89f81d4d4adc565fa45"
}
},
"generator": {
"x": {
"raw": "0x4a96b5688ef573284664698968c38bb913cbfc82"
},
"y": {
"raw": "0x23a628553168947d59dcc912042351377ac5fb32"
}
},
"order": "0x0100000000000000000001f4c8f927aed3ca752257",
"cofactor": "0x1",
"aliases": [
"secg/secp160r1",
"wtls/wap-wsg-idm-ecid-wtls7"
],
"characteristics": {
"cm_disc": "-253299265357051288026316368812641220149079098987",
"conductor": "1",
"discriminant": "1027266213310721979572908445837817790068480350785",
"j_invariant": "1443800352525525475817269232308576710441299733598",
"embedding_degree": "1461501637330902918203687197606826779884643492438",
"trace_of_frobenius": "-2364890543760230858433111"
}
}

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