aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2020-05-08 19:54:15 +0200
committerJ08nY2020-05-08 19:54:15 +0200
commit162110442c0876fcd7f023f4d2a1b48677752036 (patch)
tree78ca793f19881abc63d0ead805159a23820070c4
parentb0cbf7d6b304061db65e58e91b04c4eccbacb098 (diff)
downloadstd-curves-162110442c0876fcd7f023f4d2a1b48677752036.tar.gz
std-curves-162110442c0876fcd7f023f4d2a1b48677752036.tar.zst
std-curves-162110442c0876fcd7f023f4d2a1b48677752036.zip
Add ANSI X9.63, NUMS curves and relations between many curves.
-rw-r--r--nist/curves.json36
-rw-r--r--nums/curves.json138
-rw-r--r--other/curves.json202
-rw-r--r--secg/curves.json239
-rw-r--r--wtls/curves.json25
-rw-r--r--x962/curves.json4
-rw-r--r--x963/curves.json650
7 files changed, 1240 insertions, 54 deletions
diff --git a/nist/curves.json b/nist/curves.json
index 09ea999..e50efcd 100644
--- a/nist/curves.json
+++ b/nist/curves.json
@@ -91,7 +91,8 @@
"cofactor": "0x1",
"aliases": [
"secg/secp224r1",
- "wtls/wap-wsg-idm-ecid-wtls12"
+ "wtls/wap-wsg-idm-ecid-wtls12",
+ "x963/ansip224r1"
],
"characteristics": {
"discriminant": "8133954887115844930654026312464158747844254983800706208418026371607",
@@ -199,7 +200,8 @@
"order": "0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
"cofactor": "0x1",
"aliases": [
- "secg/secp384r1"
+ "secg/secp384r1",
+ "x963/ansip384r1"
],
"characteristics": {
"discriminant": "38275261264050278989862136034342276004573039492779555073863190029182890449044186682105480613137214197175883602718257",
@@ -228,7 +230,8 @@
"order": "0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
"cofactor": "0x1",
"aliases": [
- "secg/secp521r1"
+ "secg/secp521r1",
+ "x963/ansip521r1"
],
"characteristics": {
"discriminant": "2687853087729004331535582886185403114835754464152651523509230634031161977750238608042000458607319784141115468556368066113806987449553072575343372028907331922",
@@ -300,7 +303,8 @@
"order": "0x040000000000000000000292fe77e70c12a4234c33",
"cofactor": "0x2",
"aliases": [
- "secg/sect163r2"
+ "secg/sect163r2",
+ "x963/ansit163r2"
],
"characteristics": {
"discriminant": "2982236234343851336267446656627785008148015875581",
@@ -337,7 +341,8 @@
"cofactor": "0x4",
"aliases": [
"secg/sect233k1",
- "wtls/wap-wsg-idm-ecid-wtls10"
+ "wtls/wap-wsg-idm-ecid-wtls10",
+ "x963/ansit233k1"
],
"characteristics": {
"discriminant": "1",
@@ -373,7 +378,8 @@
"cofactor": "0x2",
"aliases": [
"secg/sect233r1",
- "wtls/wap-wsg-idm-ecid-wtls11"
+ "wtls/wap-wsg-idm-ecid-wtls11",
+ "x963/ansit233r1"
],
"characteristics": {
"discriminant": "2760497980029204187078845502377898520307707256259003964398570147123373",
@@ -411,7 +417,8 @@
"order": "0x1ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61",
"cofactor": "0x4",
"aliases": [
- "secg/sect283k1"
+ "secg/sect283k1",
+ "x963/ansit283k1"
],
"characteristics": {
"discriminant": "1",
@@ -449,7 +456,8 @@
"order": "0x3ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307",
"cofactor": "0x2",
"aliases": [
- "secg/sect283r1"
+ "secg/sect283r1",
+ "x963/ansit283r1"
],
"characteristics": {
"discriminant": "4821813576056072374006997780399081180312270030300601270120450341205914644378616963829",
@@ -485,7 +493,8 @@
"order": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf",
"cofactor": "0x4",
"aliases": [
- "secg/sect409k1"
+ "secg/sect409k1",
+ "x963/ansit409k1"
],
"characteristics": {
"discriminant": "1",
@@ -519,7 +528,8 @@
"order": "0x10000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173",
"cofactor": "0x2",
"aliases": [
- "secg/sect409r1"
+ "secg/sect409r1",
+ "x963/ansit409r1"
],
"characteristics": {
"discriminant": "86886261634090707672817770640384425264505829479043641824438658614111870471004564988634410809058207142318571212147935892575",
@@ -555,7 +565,8 @@
"order": "0x20000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001",
"cofactor": "0x4",
"aliases": [
- "secg/sect571k1"
+ "secg/sect571k1",
+ "x963/ansit571k1"
],
"characteristics": {
"discriminant": "1",
@@ -591,7 +602,8 @@
"order": "0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47",
"cofactor": "0x2",
"aliases": [
- "secg/sect571r1"
+ "secg/sect571r1",
+ "x963/ansit571r1"
],
"characteristics": {
"discriminant": "2853329245261343535560086964181551296889298776106832980891560850944180011701123307905326019642652653533003482753023669016842884108172514870944140611113679225347419720217210",
diff --git a/nums/curves.json b/nums/curves.json
new file mode 100644
index 0000000..2a593b2
--- /dev/null
+++ b/nums/curves.json
@@ -0,0 +1,138 @@
+{
+ "name": "NUMS",
+ "desc": "Microsoft Nothing Up My Sleeve (NUMS) curves from: <https://eprint.iacr.org/2014/130> and <https://tools.ietf.org/html/draft-black-numscurves-02>",
+ "curves": [
+ {
+ "form": "Weierstrass",
+ "name": "numsp256d1",
+ "category": "nums",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43",
+ "bits": 256
+ },
+ "params": {
+ "a": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40",
+ "b": "0x25581"
+ },
+ "order": "0xffffffffffffffffffffffffffffffffe43c8275ea265c6020ab20294751a825",
+ "cofactor": "0x01",
+ "generator": {
+ "x": "0x01",
+ "y": "0x696f1853c1e466d7fc82c96cceeedd6bd02c2f9375894ec10bf46306c2b56c77"
+ }
+ },
+ {
+ "form": "TwistedEdwards",
+ "name": "numsp256t1",
+ "category": "nums",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43",
+ "bits": 256
+ },
+ "params": {
+ "a": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42",
+ "d": "0x3bee"
+ },
+ "order": "0x3fffffffffffffffffffffffffffffffbe6aa55ad0a6bc64e5b84e6f1122b4ad",
+ "cofactor": "0x04",
+ "generator": {
+ "x": "0x0d",
+ "y": "0x7d0ab41e2a1276dba3d330b39fa046bfbe2a6d63824d303f707f6fb5331cadba"
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "numsp384d1",
+ "category": "nums",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3",
+ "bits": 384
+ },
+ "params": {
+ "a": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec0",
+ "b": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff77bb"
+ },
+ "order": "0xffffffffffffffffffffffffffffffffffffffffffffffffd61eaf1eeb5d6881beda9d3d4c37e27a604d81f67b0e61b9",
+ "cofactor": "0x01",
+ "generator": {
+ "x": "0x02",
+ "y": "0x3c9f82cb4b87b4dc71e763e0663e5dbd8034ed422f04f82673330dc58d15ffa2b4a3d0bad5d30f865bcbbf503ea66f43"
+ }
+ },
+ {
+ "form": "TwistedEdwards",
+ "name": "numsp384t1",
+ "category": "nums",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3",
+ "bits": 384
+ },
+ "params": {
+ "a": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec2",
+ "d": "0x5158a"
+ },
+ "order": "0x3fffffffffffffffffffffffffffffffffffffffffffffffecd7d11ed5a259a25a13a0458e39f4e451d6d71f70426e25",
+ "cofactor": "0x04",
+ "generator": {
+ "x": "0x08",
+ "y": "0x749cdaba136ce9b65bd4471794aa619daa5c7b4c930bff8ebd798a8ae753c6d72f003860febabad534a4acf5fa7f5bee"
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "numsp512d1",
+ "category": "nums",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc7",
+ "bits": 512
+ },
+ "params": {
+ "a": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc4",
+ "b": "0x1d99b"
+ },
+ "order": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b3ca4fb94e7831b4fc258ed97d0bdc63b568b36607cd243ce153f390433555d",
+ "cofactor": "0x01",
+ "generator": {
+ "x": "0x02",
+ "y": "0x1c282eb23327f9711952c250ea61ad53fcc13031cf6dd336e0b9328433afbdd8cc5a1c1f0c716fdc724dde537c2b0adb00bb3d08dc83755b205cc30d7f83cf28"
+ }
+ },
+ {
+ "form": "TwistedEdwards",
+ "name": "numsp512t1",
+ "category": "nums",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc7",
+ "bits": 512
+ },
+ "params": {
+ "a": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc6",
+ "d": "0x9baa8"
+ },
+ "order": "0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa7e50809efdabbb9a624784f449545f0dcea5ff0cb800f894e78d1cb0b5f0189",
+ "cofactor": "0x04",
+ "generator": {
+ "x": "0x20",
+ "y": "0x7d67e841dc4c467b605091d80869212f9ceb124bf726973f9ff048779e1d614e62ae2ece5057b5dad96b7a897c1d72799261134638750f4f0cb91027543b1c5e"
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/other/curves.json b/other/curves.json
index cfb34b9..db3d350 100644
--- a/other/curves.json
+++ b/other/curves.json
@@ -241,20 +241,28 @@
"order": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5FB21F21E95EEE17C5E69281B102D2773E27E13FD3C9719",
"cofactor": "0x04"
},
- {"category": "other",
- "cofactor": "0x8",
- "desc": "",
- "field": {"bits": 283,
- "p": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45",
- "type": "Prime"},
- "form": "Montgomery",
- "generator": {"x": "0x5",
- "y": "0x1eebe07dc1871896732b12d5504a32370471965c7a11f2c89865f855ab3cbd7c224e3620c31af3370788457dd5ce46df"},
- "name": "Curve383187",
- "oid": "",
- "order": "0x1000000000000000000000000000000000000000000000000e85a85287a1488acd41ae84b2b7030446f72088b00a0e21",
- "params": {"a": "0x38251", "b": "0x01"}
- },
+ {
+ "category": "other",
+ "cofactor": "0x8",
+ "desc": "",
+ "field": {
+ "bits": 283,
+ "p": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45",
+ "type": "Prime"
+ },
+ "form": "Montgomery",
+ "generator": {
+ "x": "0x5",
+ "y": "0x1eebe07dc1871896732b12d5504a32370471965c7a11f2c89865f855ab3cbd7c224e3620c31af3370788457dd5ce46df"
+ },
+ "name": "Curve383187",
+ "oid": "",
+ "order": "0x1000000000000000000000000000000000000000000000000e85a85287a1488acd41ae84b2b7030446f72088b00a0e21",
+ "params": {
+ "a": "0x38251",
+ "b": "0x01"
+ }
+ },
{
"name": "Ed25519",
"category": "other",
@@ -407,7 +415,9 @@
}
]
},
- "aliases": ["bn/bn254"]
+ "aliases": [
+ "bn/bn254"
+ ]
},
{
"name": "Fp224BN",
@@ -574,6 +584,166 @@
"j_invariant": "0",
"trace_of_frobenius": "115792089237316195423570985008687840101103879741288409693302319863988063823175"
}
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ssc-160",
+ "category": "other",
+ "desc": "A prime order curve from MIRACL: https://github.com/miracl/MIRACL/blob/master/docs/miracl-explained/miracl-standard-curves.md. Has no generator specified.",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xc90fdaa22168c234c4c6628b80dc1cd129024e1f",
+ "bits": 160
+ },
+ "params": {
+ "a": "0xc90fdaa22168c234c4c6628b80dc1cd129024e1c",
+ "b": "0xadf85458a2bb4a9aafdc5620273d3cf1d8b9c841"
+ },
+ "generator": {
+ "x": "",
+ "y": ""
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ssc-192",
+ "category": "other",
+ "desc": "A prime order curve from MIRACL: https://github.com/miracl/MIRACL/blob/master/docs/miracl-explained/miracl-standard-curves.md. Has no generator specified.",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xc302f41d932a36cda7a3463093d18db78fce476de1a86297",
+ "bits": 192
+ },
+ "params": {
+ "a": "0xc302f41d932a36cda7a3463093d18db78fce476de1a86294",
+ "b": "0xadf85458a2bb4a9aafdc5620273d3cf1d8b9c583ce2d36a6"
+ },
+ "generator": {
+ "x": "",
+ "y": ""
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ssc-224",
+ "category": "other",
+ "desc": "A prime order curve from MIRACL: https://github.com/miracl/MIRACL/blob/master/docs/miracl-explained/miracl-standard-curves.md. Has no generator specified.",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbedf",
+ "bits": 224
+ },
+ "params": {
+ "a": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbedc",
+ "b": "0xadf85458a2bb4a9aafdc5620273d3cf1d8b9c583ce2d3695a9e13a03"
+ },
+ "generator": {
+ "x": "",
+ "y": ""
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ssc-256",
+ "category": "other",
+ "desc": "A prime order curve from MIRACL: https://github.com/miracl/MIRACL/blob/master/docs/miracl-explained/miracl-standard-curves.md. Has no generator specified.",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139c0b",
+ "bits": 256
+ },
+ "params": {
+ "a": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139c08",
+ "b": "0xadf85458a2bb4a9aafdc5620273d3cf1d8b9c583ce2d3695a9e13641146434e1"
+ },
+ "generator": {
+ "x": "",
+ "y": ""
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ssc-288",
+ "category": "other",
+ "desc": "A prime order curve from MIRACL: https://github.com/miracl/MIRACL/blob/master/docs/miracl-explained/miracl-standard-curves.md. Has no generator specified.",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a098b",
+ "bits": 288
+ },
+ "params": {
+ "a": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a0988",
+ "b": "0xadf85458a2bb4a9aafdc5620273d3cf1d8b9c583ce2d3695a9e13641146433fbcc939f36"
+ },
+ "generator": {
+ "x": "",
+ "y": ""
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ssc-320",
+ "category": "other",
+ "desc": "A prime order curve from MIRACL: https://github.com/miracl/MIRACL/blob/master/docs/miracl-explained/miracl-standard-curves.md. Has no generator specified.",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3408b3",
+ "bits": 320
+ },
+ "params": {
+ "a": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3408b0",
+ "b": "0xadf85458a2bb4a9aafdc5620273d3cf1d8b9c583ce2d3695a9e13641146433fbcc939dce249b40a4"
+ },
+ "generator": {
+ "x": "",
+ "y": ""
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ssc-384",
+ "category": "other",
+ "desc": "A prime order curve from MIRACL: https://github.com/miracl/MIRACL/blob/master/docs/miracl-explained/miracl-standard-curves.md. Has no generator specified.",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a437b",
+ "bits": 384
+ },
+ "params": {
+ "a": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a4378",
+ "b": "0xadf85458a2bb4a9aafdc5620273d3cf1d8b9c583ce2d3695a9e13641146433fbcc939dce249b3ef97d2fe363630c7791"
+ },
+ "generator": {
+ "x": "",
+ "y": ""
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ssc-512",
+ "category": "other",
+ "desc": "A prime order curve from MIRACL: https://github.com/miracl/MIRACL/blob/master/docs/miracl-explained/miracl-standard-curves.md. Has no generator specified.",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c5ef",
+ "bits": 512
+ },
+ "params": {
+ "a": "0xc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c5ec",
+ "b": "0xadf85458a2bb4a9aafdc5620273d3cf1d8b9c583ce2d3695a9e13641146433fbcc939dce249b3ef97d2fe363630c75d8f681b202aec4617ad3df1ed5d5fd6a8d"
+ },
+ "generator": {
+ "x": "",
+ "y": ""
+ }
}
]
-}
+} \ No newline at end of file
diff --git a/secg/curves.json b/secg/curves.json
index 68c36a6..982b03d 100644
--- a/secg/curves.json
+++ b/secg/curves.json
@@ -1,5 +1,5 @@
{
- "name": "secg",
+ "name": "SECG",
"desc": "SEC 2: Recommended Elliptic Curve Domain Parameters version 2.0 January 27, 2010",
"curves": [
{
@@ -23,6 +23,9 @@
},
"order": "0xdb7c2abf62e35e7628dfac6561c5",
"cofactor": "0x1",
+ "aliases": [
+ "wtls/wap-wsg-idm-ecid-wtls6"
+ ],
"characteristics": {
"discriminant": "431641039663814096123514803737201",
"j_invariant": "3522606870331875081851146801233610",
@@ -309,6 +312,9 @@
},
"order": "0x0100000000000000000001b8fa16dfab9aca16b6b3",
"cofactor": "0x1",
+ "aliases": [
+ "x963/ansip160k1"
+ ],
"characteristics": {
"discriminant": "1461501637330902918203684832716283019651637533123",
"j_invariant": "0",
@@ -373,7 +379,10 @@
},
"order": "0x0100000000000000000001f4c8f927aed3ca752257",
"cofactor": "0x1",
- "aliases": ["wtls/wap-wsg-idm-ecid-wtls7"],
+ "aliases": [
+ "wtls/wap-wsg-idm-ecid-wtls7",
+ "x963/ansip160r1"
+ ],
"characteristics": {
"discriminant": "1027266213310721979572908445837817790068480350785",
"j_invariant": "1443800352525525475817269232308576710441299733598",
@@ -438,6 +447,9 @@
},
"order": "0x0100000000000000000000351ee786a818f3a1a16b",
"cofactor": "0x1",
+ "aliases": [
+ "x963/ansip160r2"
+ ],
"characteristics": {
"discriminant": "1237703873357928705511536972446330043119280998656",
"j_invariant": "1027058635636405814575941827615445452503699747171",
@@ -497,6 +509,9 @@
},
"order": "0xfffffffffffffffffffffffe26f2fc170f69466a74defd8d",
"cofactor": "0x1",
+ "aliases": [
+ "x963/ansip192k1"
+ ],
"characteristics": {
"discriminant": "6277101735386680763835789423207666416102355444459739537159",
"j_invariant": "0",
@@ -562,7 +577,8 @@
"order": "0xffffffffffffffffffffffff99def836146bc9b1b4d22831",
"cofactor": "0x1",
"aliases": [
- "nist/P-192", "x962/prime192v1"
+ "nist/P-192",
+ "x962/prime192v1"
],
"characteristics": {
"discriminant": "5525402385154848923235289274741921730185152131202286251655",
@@ -628,6 +644,9 @@
},
"order": "0x10000000000000000000000000001dce8d2ec6184caf0a971769fb1f7",
"cofactor": "0x01",
+ "aliases": [
+ "x963/ansip224k1"
+ ],
"characteristics": {
"discriminant": "26959946667150639794667015087019630673637144422540572481099315264317",
"j_invariant": "0",
@@ -684,7 +703,8 @@
"cofactor": "0x1",
"aliases": [
"nist/P-224",
- "wtls/wap-wsg-idm-ecid-wtls12"
+ "wtls/wap-wsg-idm-ecid-wtls12",
+ "x963/ansip224r1"
],
"characteristics": {
"discriminant": "8133954887115844930654026312464158747844254983800706208418026371607",
@@ -735,6 +755,9 @@
},
"order": "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
"cofactor": "0x1",
+ "aliases": [
+ "x963/ansip256k1"
+ ],
"characteristics": {
"discriminant": "115792089237316195423570985008687907853269984665640564039457584007908834650495",
"j_invariant": "0",
@@ -827,7 +850,8 @@
"order": "0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
"cofactor": "0x1",
"aliases": [
- "nist/P-384"
+ "nist/P-384",
+ "x963/ansip384r1"
],
"characteristics": {
"discriminant": "38275261264050278989862136034342276004573039492779555073863190029182890449044186682105480613137214197175883602718257",
@@ -857,7 +881,8 @@
"order": "0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
"cofactor": "0x1",
"aliases": [
- "nist/P-521"
+ "nist/P-521",
+ "x963/ansip521r1"
],
"characteristics": {
"discriminant": "2687853087729004331535582886185403114835754464152651523509230634031161977750238608042000458607319784141115468556368066113806987449553072575343372028907331922",
@@ -866,6 +891,113 @@
}
},
{
+ "form": "Weierstrass",
+ "name": "sect113r1",
+ "category": "secg",
+ "desc": "",
+ "oid": "1.3.132.0.4",
+ "field": {
+ "type": "Binary",
+ "bits": 113,
+ "poly": {
+ "m": 113,
+ "e1": 9
+ }
+ },
+ "params": {
+ "a": "0x003088250ca6e7c7fe649ce85820f7",
+ "b": "0x00e8bee4d3e2260744188be0e9c723"
+ },
+ "order": "0x0100000000000000d9ccec8a39e56f",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x009d73616f35f4ab1407d73562c10f",
+ "y": "0x00a52830277958ee84d1315ed31886"
+ },
+ "aliases": [
+ "wtls/wap-wsg-idm-ecid-wtls4"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "sect113r2",
+ "category": "secg",
+ "desc": "",
+ "oid": "1.3.132.0.5",
+ "field": {
+ "type": "Binary",
+ "bits": 113,
+ "poly": {
+ "m": 113,
+ "e1": 9
+ }
+ },
+ "params": {
+ "a": "0x00689918dbec7e5a0dd6dfc0aa55c7",
+ "b": "0x0095e9a9ec9b297bd4bf36e059184f"
+ },
+ "order": "0x010000000000000108789b2496af93",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x01a57a6a7b26ca5ef52fcdb8164797",
+ "y": "0x00b3adc94ed1fe674c06e695baba1d"
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "sect131r1",
+ "category": "secg",
+ "desc": "",
+ "oid": "1.3.132.0.22",
+ "field": {
+ "type": "Binary",
+ "bits": 131,
+ "poly": {
+ "m": 131,
+ "e1": 8,
+ "e2": 3,
+ "e3": 2
+ }
+ },
+ "params": {
+ "a": "0x07a11b09a76b562144418ff3ff8c2570b8",
+ "b": "0x0217c05610884b63b9c6c7291678f9d341"
+ },
+ "order": "0x0400000000000000023123953a9464b54d",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x0081baf91fdf9833c40f9c181343638399",
+ "y": "0x078c6e7ea38c001f73c8134b1b4ef9e150"
+ }
+ },
+ {
+ "form": "Weierstrass",
+ "name": "sect131r2",
+ "category": "secg",
+ "desc": "",
+ "oid": "1.3.132.0.23",
+ "field": {
+ "type": "Binary",
+ "bits": 131,
+ "poly": {
+ "m": 131,
+ "e1": 8,
+ "e2": 3,
+ "e3": 2
+ }
+ },
+ "params": {
+ "a": "0x03e5a88919d7cafcbf415f07c2176573b2",
+ "b": "0x04b8266a46c55657ac734ce38f018f2192"
+ },
+ "order": "0x0400000000000000016954a233049ba98f",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x0356dcd8f2f95031ad652d23951bb366a8",
+ "y": "0x0648f06d867940a5366d9e265de9eb240f"
+ }
+ },
+ {
"name": "sect163k1",
"category": "secg",
"desc": "",
@@ -892,7 +1024,9 @@
"order": "0x04000000000000000000020108a2e0cc0d99f8a5ef",
"cofactor": "0x2",
"aliases": [
- "nist/K-163"
+ "nist/K-163",
+ "x963/ansit163k1",
+ "wtls/wap-wsg-idm-ecid-wtls3"
],
"characteristics": {
"discriminant": "1",
@@ -930,6 +1064,9 @@
},
"order": "0x03ffffffffffffffffffff48aab689c29ca710279b",
"cofactor": "0x2",
+ "aliases": [
+ "x963/ansit163r1"
+ ],
"characteristics": {
"discriminant": "10341149448350347985759700389662805134872097107929",
"j_invariant": "6799963281606188757260601154353010573009354190197",
@@ -967,7 +1104,8 @@
"order": "0x040000000000000000000292fe77e70c12a4234c33",
"cofactor": "0x2",
"aliases": [
- "nist/B-163"
+ "nist/B-163",
+ "x963/ansit163r2"
],
"characteristics": {
"discriminant": "2982236234343851336267446656627785008148015875581",
@@ -980,6 +1118,62 @@
}
},
{
+ "form": "Weierstrass",
+ "name": "sect193r1",
+ "category": "secg",
+ "desc": "",
+ "oid": "1.3.132.0.24",
+ "field": {
+ "type": "Binary",
+ "bits": 193,
+ "poly": {
+ "m": 193,
+ "e1": 15
+ }
+ },
+ "params": {
+ "a": "0x0017858feb7a98975169e171f77b4087de098ac8a911df7b01",
+ "b": "0x00fdfb49bfe6c3a89facadaa7a1e5bbc7cc1c2e5d831478814"
+ },
+ "order": "0x01000000000000000000000000c7f34a778f443acc920eba49",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x01f481bc5f0ff84a74ad6cdf6fdef4bf6179625372d8c0c5e1",
+ "y": "0x0025e399f2903712ccf3ea9e3a1ad17fb0b3201b6af7ce1b05"
+ },
+ "aliases": [
+ "x963/ansit193r1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "sect193r2",
+ "category": "secg",
+ "desc": "",
+ "oid": "1.3.132.0.25",
+ "field": {
+ "type": "Binary",
+ "bits": 193,
+ "poly": {
+ "m": 193,
+ "e1": 15
+ }
+ },
+ "params": {
+ "a": "0x0163f35a5137c2ce3ea6ed8667190b0bc43ecd69977702709b",
+ "b": "0x00c9bb9e8927d4d64c377e2ab2856a5b16e3efb7f61d4316ae"
+ },
+ "order": "0x010000000000000000000000015aab561b005413ccd4ee99d5",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x00d9b67d192e0367c803f39e1a7e82ca14a651350aae617e8f",
+ "y": "0x01ce94335607c304ac29e7defbd9ca01f596f927224cdecf6c"
+ },
+ "aliases": [
+ "x963/ansit193r2"
+ ]
+ },
+ {
"name": "sect233k1",
"category": "secg",
"desc": "",
@@ -1005,7 +1199,8 @@
"cofactor": "0x4",
"aliases": [
"nist/K-233",
- "wtls/wap-wsg-idm-ecid-wtls10"
+ "wtls/wap-wsg-idm-ecid-wtls10",
+ "x963/ansit233k1"
],
"characteristics": {
"discriminant": "1",
@@ -1041,7 +1236,8 @@
"cofactor": "0x2",
"aliases": [
"nist/B-233",
- "wtls/wap-wsg-idm-ecid-wtls11"
+ "wtls/wap-wsg-idm-ecid-wtls11",
+ "x963/ansit233r1"
],
"characteristics": {
"discriminant": "2760497980029204187078845502377898520307707256259003964398570147123373",
@@ -1077,6 +1273,9 @@
},
"order": "0x2000000000000000000000000000005a79fec67cb6e91f1c1da800e478a5",
"cofactor": "0x4",
+ "aliases": [
+ "x963/ansit239k1"
+ ],
"characteristics": {
"discriminant": "1",
"j_invariant": "1",
@@ -1114,7 +1313,8 @@
"order": "0x01ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61",
"cofactor": "0x4",
"aliases": [
- "nist/K-283"
+ "nist/K-283",
+ "x963/ansit283k1"
],
"characteristics": {
"discriminant": "1",
@@ -1153,7 +1353,8 @@
"order": "0x03ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307",
"cofactor": "0x2",
"aliases": [
- "nist/B-283"
+ "nist/B-283",
+ "x963/ansit283r1"
],
"characteristics": {
"discriminant": "4821813576056072374006997780399081180312270030300601270120450341205914644378616963829",
@@ -1190,7 +1391,8 @@
"order": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf",
"cofactor": "0x4",
"aliases": [
- "nist/K-409"
+ "nist/K-409",
+ "x963/ansit409k1"
],
"characteristics": {
"discriminant": "1",
@@ -1225,7 +1427,8 @@
"order": "0x010000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173",
"cofactor": "0x2",
"aliases": [
- "nist/B-409"
+ "nist/B-409",
+ "x963/ansit409r1"
],
"characteristics": {
"discriminant": "86886261634090707672817770640384425264505829479043641824438658614111870471004564988634410809058207142318571212147935892575",
@@ -1262,7 +1465,8 @@
"order": "0x020000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001",
"cofactor": "0x4",
"aliases": [
- "nist/K-571"
+ "nist/K-571",
+ "x963/ansit571k1"
],
"characteristics": {
"discriminant": "1",
@@ -1299,7 +1503,8 @@
"order": "0x03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47",
"cofactor": "0x2",
"aliases": [
- "nist/B-571"
+ "nist/B-571",
+ "x963/ansit571r1"
],
"characteristics": {
"discriminant": "2853329245261343535560086964181551296889298776106832980891560850944180011701123307905326019642652653533003482753023669016842884108172514870944140611113679225347419720217210",
@@ -1310,4 +1515,4 @@
}
}
]
-}
+} \ No newline at end of file
diff --git a/wtls/curves.json b/wtls/curves.json
index 234e8ad..3b9ac5f 100644
--- a/wtls/curves.json
+++ b/wtls/curves.json
@@ -53,7 +53,8 @@
},
"aliases": [
"nist/K-163",
- "secg/sect163k1"
+ "secg/sect163k1",
+ "x963/ansit163k1"
]
},
{
@@ -79,7 +80,10 @@
"params": {
"a": "0x003088250ca6e7c7fe649ce85820f7",
"b": "0x00e8bee4d3e2260744188be0e9c723"
- }
+ },
+ "aliases": [
+ "secg/sect113r1"
+ ]
},
{
"form": "Weierstrass",
@@ -131,7 +135,10 @@
"params": {
"a": "0xdb7c2abf62e35e668076bead2088",
"b": "0x659ef8ba043916eede8911702b22"
- }
+ },
+ "aliases": [
+ "secg/secp112r1"
+ ]
},
{
"category": "WTLS",
@@ -155,7 +162,8 @@
"b": "0x1c97befc54bd7a8b65acf89f81d4d4adc565fa45"
},
"aliases": [
- "secg/secp160r1"
+ "secg/secp160r1",
+ "x963/ansip160r1"
]
},
{
@@ -228,7 +236,8 @@
},
"aliases": [
"secg/sect233k1",
- "nist/K-233"
+ "nist/K-233",
+ "x963/ansit233k1"
]
},
{
@@ -257,7 +266,8 @@
},
"aliases": [
"secg/sect233r1",
- "nist/B-233"
+ "nist/B-233",
+ "x963/ansit233r1"
]
},
{
@@ -283,7 +293,8 @@
},
"aliases": [
"secg/secp224r1",
- "nist/P-224"
+ "nist/P-224",
+ "x963/ansip224r1"
]
}
],
diff --git a/x962/curves.json b/x962/curves.json
index ed36684..3431df4 100644
--- a/x962/curves.json
+++ b/x962/curves.json
@@ -1,6 +1,6 @@
{
- "name": "x962",
- "desc": "x962 example curves.",
+ "name": "ANSI x9.62",
+ "desc": "ANSI x9.62 example curves.",
"curves": [
{
"name": "prime192v1",
diff --git a/x963/curves.json b/x963/curves.json
new file mode 100644
index 0000000..54293dd
--- /dev/null
+++ b/x963/curves.json
@@ -0,0 +1,650 @@
+{
+ "name": "ANSI X9.63",
+ "desc": "ANSI x9.63 example curves.",
+ "curves": [
+ {
+ "form": "Weierstrass",
+ "name": "ansit163k1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 163,
+ "poly": {
+ "m": 163,
+ "e1": 7,
+ "e2": 6,
+ "e3": 3
+ }
+ },
+ "params": {
+ "a": "0x000000000000000000000000000000000000000001",
+ "b": "0x000000000000000000000000000000000000000001"
+ },
+ "order": "0x04000000000000000000020108a2e0cc0d99f8a5ef",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x02fe13c0537bbc11acaa07d793de4e6d5e5c94eee8",
+ "y": "0x0289070fb05d38ff58321f2e800536d538ccdaa3d9"
+ }
+ },
+ {
+ "name": "ansit163r1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "poly": {
+ "m": 163,
+ "e1": 7,
+ "e2": 6,
+ "e3": 3
+ },
+ "bits": 163
+ },
+ "form": "Weierstrass",
+ "params": {
+ "a": "0x07b6882caaefa84f9554ff8428bd88e246d2782ae2",
+ "b": "0x0713612dcddcb40aab946bda29ca91f73af958afd9"
+ },
+ "generator": {
+ "x": "0x0369979697ab43897789566789567f787a7876a654",
+ "y": "0x00435edb42efafb2989d51fefce3c80988f41ff883"
+ },
+ "order": "0x03ffffffffffffffffffff48aab689c29ca710279b",
+ "cofactor": "0x2",
+ "aliases": [
+ "secg/sect163r1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit163r2",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 193,
+ "poly": {
+ "m": 163,
+ "e1": 7,
+ "e2": 6,
+ "e3": 3
+ }
+ },
+ "params": {
+ "a": "0x000000000000000000000000000000000000000001",
+ "b": "0x020a601907b8c953ca1481eb10512f78744a3205fd"
+ },
+ "order": "0x040000000000000000000292fe77e70c12a4234c33",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x03f0eba16286a2d57ea0991168d4994637e8343e36",
+ "y": "0x00d51fbc6c71a0094fa2cdd545b11c5c0c797324f1"
+ },
+ "aliases": [
+ "secg/sect163r2",
+ "nist/B-163"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit193r1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 193,
+ "poly": {
+ "m": 193,
+ "e1": 15
+ }
+ },
+ "params": {
+ "a": "0x0017858feb7a98975169e171f77b4087de098ac8a911df7b01",
+ "b": "0x00fdfb49bfe6c3a89facadaa7a1e5bbc7cc1c2e5d831478814"
+ },
+ "order": "0x01000000000000000000000000c7f34a778f443acc920eba49",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x01f481bc5f0ff84a74ad6cdf6fdef4bf6179625372d8c0c5e1",
+ "y": "0x0025e399f2903712ccf3ea9e3a1ad17fb0b3201b6af7ce1b05"
+ },
+ "aliases": [
+ "secg/sect193r1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit193r2",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 193,
+ "poly": {
+ "m": 193,
+ "e1": 15
+ }
+ },
+ "params": {
+ "a": "0x0163f35a5137c2ce3ea6ed8667190b0bc43ecd69977702709b",
+ "b": "0x00c9bb9e8927d4d64c377e2ab2856a5b16e3efb7f61d4316ae"
+ },
+ "order": "0x010000000000000000000000015aab561b005413ccd4ee99d5",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x00d9b67d192e0367c803f39e1a7e82ca14a651350aae617e8f",
+ "y": "0x01ce94335607c304ac29e7defbd9ca01f596f927224cdecf6c"
+ },
+ "aliases": [
+ "secg/sect193r2"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit233k1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 233,
+ "poly": {
+ "m": 233,
+ "e1": 74
+ }
+ },
+ "params": {
+ "a": "0x000000000000000000000000000000000000000000000000000000000000",
+ "b": "0x000000000000000000000000000000000000000000000000000000000001"
+ },
+ "order": "0x8000000000000000000000000000069d5bb915bcd46efb1ad5f173abdf",
+ "cofactor": "0x4",
+ "generator": {
+ "x": "0x017232ba853a7e731af129f22ff4149563a419c26bf50a4c9d6eefad6126",
+ "y": "0x01db537dece819b7f70f555a67c427a8cd9bf18aeb9b56e0c11056fae6a3"
+ },
+ "aliases": [
+ "secg/sect233k1",
+ "nist/K-233",
+ "wtls/wap-wsg-idm-ecid-wtls10"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit233r1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 233,
+ "poly": {
+ "m": 233,
+ "e1": 74
+ }
+ },
+ "params": {
+ "a": "0x000000000000000000000000000000000000000000000000000000000001",
+ "b": "0x0066647ede6c332c7f8c0923bb58213b333b20e9ce4281fe115f7d8f90ad"
+ },
+ "order": "0x01000000000000000000000000000013e974e72f8a6922031d2603cfe0d7",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x00fac9dfcbac8313bb2139f1bb755fef65bc391f8b36f8f8eb7371fd558b",
+ "y": "0x01006a08a41903350678e58528bebf8a0beff867a7ca36716f7e01f81052"
+ },
+ "aliases": [
+ "wtls/wap-wsg-idm-ecid-wtls11",
+ "nist/B-233",
+ "secg/sect233r1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit239k1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 239,
+ "poly": {
+ "m": 239,
+ "e1": 158
+ }
+ },
+ "params": {
+ "a": "0x000000000000000000000000000000000000000000000000000000000000",
+ "b": "0x000000000000000000000000000000000000000000000000000000000001"
+ },
+ "order": "0x2000000000000000000000000000005a79fec67cb6e91f1c1da800e478a5",
+ "cofactor": "0x4",
+ "generator": {
+ "x": "0x29a0b6a887a983e9730988a68727a8b2d126c44cc2cc7b2a6555193035dc",
+ "y": "0x76310804f12e549bdb011c103089e73510acb275fc312a5dc6b76553f0ca"
+ },
+ "aliases": [
+ "secg/sect239k1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit283k1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 283,
+ "poly": {
+ "m": 283,
+ "e1": 12,
+ "e2": 7,
+ "e3": 5
+ }
+ },
+ "params": {
+ "a": "0x000000000000000000000000000000000000000000000000000000000000000000000000",
+ "b": "0x000000000000000000000000000000000000000000000000000000000000000000000001"
+ },
+ "order": "0x01ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61",
+ "cofactor": "0x4",
+ "generator": {
+ "x": "0x0503213f78ca44883f1a3b8162f188e553cd265f23c1567a16876913b0c2ac2458492836",
+ "y": "0x01ccda380f1c9e318d90f95d07e5426fe87e45c0e8184698e45962364e34116177dd2259"
+ },
+ "aliases": [
+ "nist/K-283",
+ "secg/sect283k1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit283r1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 283,
+ "poly": {
+ "m": 283,
+ "e1": 12,
+ "e2": 7,
+ "e3": 5
+ }
+ },
+ "params": {
+ "a": "0x000000000000000000000000000000000000000000000000000000000000000000000001",
+ "b": "0x027b680ac8b8596da5a4af8a19a0303fca97fd7645309fa2a581485af6263e313b79a2f5"
+ },
+ "order": "0x03ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x05f939258db7dd90e1934f8c70b0dfec2eed25b8557eac9c80e2e198f8cdbecd86b12053",
+ "y": "0x03676854fe24141cb98fe6d4b20d02b4516ff702350eddb0826779c813f0df45be8112f4"
+ },
+ "aliases": [
+ "nist/B-283",
+ "secg/sect283r1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit409k1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 409,
+ "poly": {
+ "m": 409,
+ "e1": 87
+ }
+ },
+ "params": {
+ "a": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "b": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
+ },
+ "order": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf",
+ "cofactor": "0x4",
+ "generator": {
+ "x": "0x0060f05f658f49c1ad3ab1890f7184210efd0987e307c84c27accfb8f9f67cc2c460189eb5aaaa62ee222eb1b35540cfe9023746",
+ "y": "0x01e369050b7c4e42acba1dacbf04299c3460782f918ea427e6325165e9ea10e3da5f6c42e9c55215aa9ca27a5863ec48d8e0286b"
+ },
+ "aliases": [
+ "nist/K-409",
+ "secg/sect409k1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit409r1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 409,
+ "poly": {
+ "m": 409,
+ "e1": 87
+ }
+ },
+ "params": {
+ "a": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+ "b": "0x0021a5c2c8ee9feb5c4b9a753b7b476b7fd6422ef1f3dd674761fa99d6ac27c8a9a197b272822f6cd57a55aa4f50ae317b13545f"
+ },
+ "order": "0x010000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x015d4860d088ddb3496b0c6064756260441cde4af1771d4db01ffe5b34e59703dc255a868a1180515603aeab60794e54bb7996a7",
+ "y": "0x0061b1cfab6be5f32bbfa78324ed106a7636b9c5a7bd198d0158aa4f5488d08f38514f1fdf4b4f40d2181b3681c364ba0273c706"
+ },
+ "aliases": [
+ "nist/B-409",
+ "secg/sect409r1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit571k1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 571,
+ "poly": {
+ "m": 571,
+ "e1": 10,
+ "e2": 5,
+ "e3": 2
+ }
+ },
+ "params": {
+ "a": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "b": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
+ },
+ "order": "0x020000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001",
+ "cofactor": "0x4",
+ "generator": {
+ "x": "0x026eb7a859923fbc82189631f8103fe4ac9ca2970012d5d46024804801841ca44370958493b205e647da304db4ceb08cbbd1ba39494776fb988b47174dca88c7e2945283a01c8972",
+ "y": "0x0349dc807f4fbf374f4aeade3bca95314dd58cec9f307a54ffc61efc006d8a2c9d4979c0ac44aea74fbebbb9f772aedcb620b01a7ba7af1b320430c8591984f601cd4c143ef1c7a3"
+ },
+ "aliases": [
+ "nist/K-571",
+ "secg/sect571k1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansit571r1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Binary",
+ "bits": 571,
+ "poly": {
+ "m": 571,
+ "e1": 10,
+ "e2": 5,
+ "e3": 2
+ }
+ },
+ "params": {
+ "a": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+ "b": "0x02f40e7e2221f295de297117b7f3d62f5c6a97ffcb8ceff1cd6ba8ce4a9a18ad84ffabbd8efa59332be7ad6756a66e294afd185a78ff12aa520e4de739baca0c7ffeff7f2955727a"
+ },
+ "order": "0x03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47",
+ "cofactor": "0x2",
+ "generator": {
+ "x": "0x0303001d34b856296c16c0d40d3cd7750a93d1d2955fa80aa5f40fc8db7b2abdbde53950f4c0d293cdd711a35b67fb1499ae60038614f1394abfa3b4c850d927e1e7769c8eec2d19",
+ "y": "0x037bf27342da639b6dccfffeb73d69d78c6c27a6009cbbca1980f8533921e8a684423e43bab08a576291af8f461bb2a8b3531d2f0485c19b16e2f1516e23dd3c1a4827af1b8ac15b"
+ },
+ "aliases": [
+ "nist/B-571",
+ "secg/sect571r1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansip160k1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xfffffffffffffffffffffffffffffffeffffac73",
+ "bits": 160
+ },
+ "params": {
+ "a": "0x0",
+ "b": "0x7"
+ },
+ "order": "0x0100000000000000000001b8fa16dfab9aca16b6b3",
+ "cofactor": "0x1",
+ "generator": {
+ "x": "0x3b4c382ce37aa192a4019e763036f4f5dd4d7ebb",
+ "y": "0x938cf935318fdced6bc28286531733c3f03c4fee"
+ },
+ "aliases": [
+ "secg/secp160k1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansip160r1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xffffffffffffffffffffffffffffffff7fffffff",
+ "bits": 160
+ },
+ "params": {
+ "a": "0xffffffffffffffffffffffffffffffff7ffffffc",
+ "b": "0x1c97befc54bd7a8b65acf89f81d4d4adc565fa45"
+ },
+ "order": "0x0100000000000000000001f4c8f927aed3ca752257",
+ "cofactor": "0x1",
+ "generator": {
+ "x": "0x4a96b5688ef573284664698968c38bb913cbfc82",
+ "y": "0x23a628553168947d59dcc912042351377ac5fb32"
+ },
+ "aliases": [
+ "secg/secp160r1",
+ "wtls/wap-wsg-idm-ecid-wtls7"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansip160r2",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xfffffffffffffffffffffffffffffffeffffac73",
+ "bits": 160
+ },
+ "params": {
+ "a": "0xfffffffffffffffffffffffffffffffeffffac70",
+ "b": "0xb4e134d3fb59eb8bab57274904664d5af50388ba"
+ },
+ "order": "0x0100000000000000000000351ee786a818f3a1a16b",
+ "cofactor": "0x1",
+ "generator": {
+ "x": "0x52dcb034293a117e1f4ff11b30f7199d3144ce6d",
+ "y": "0xfeaffef2e331f296e071fa0df9982cfea7d43f2e"
+ },
+ "aliases": [
+ "secg/secp160r2"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansip192k1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xfffffffffffffffffffffffffffffffffffffffeffffee37",
+ "bits": 192
+ },
+ "params": {
+ "a": "0x0",
+ "b": "0x3"
+ },
+ "order": "0xfffffffffffffffffffffffe26f2fc170f69466a74defd8d",
+ "cofactor": "0x1",
+ "generator": {
+ "x": "0xdb4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d",
+ "y": "0x9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"
+ },
+ "aliases": [
+ "secg/secp192k1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansip224k1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xfffffffffffffffffffffffffffffffffffffffffffffffeffffe56d",
+ "bits": 224
+ },
+ "params": {
+ "a": "0x0",
+ "b": "0x5"
+ },
+ "order": "0x010000000000000000000000000001dce8d2ec6184caf0a971769fb1f7",
+ "cofactor": "0x1",
+ "generator": {
+ "x": "0xa1455b334df099df30fc28a169a467e9e47075a90f7e650eb6b7a45c",
+ "y": "0x7e089fed7fba344282cafbd6f7e319f7c0b0bd59e2ca4bdb556d61a5"
+ },
+ "aliases": [
+ "secg/secp224k1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansip224r1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xffffffffffffffffffffffffffffffff000000000000000000000001",
+ "bits": 224
+ },
+ "params": {
+ "a": "0x03",
+ "b": "0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b3943"
+ },
+ "order": "0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
+ "cofactor": "0x1",
+ "generator": {
+ "x": "0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
+ "y": "0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"
+ },
+ "aliases": [
+ "wtls/wap-wsg-idm-ecid-wtls12",
+ "nist/P-224",
+ "secg/secp224r1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansip256k1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+ "bits": 256
+ },
+ "params": {
+ "a": "0x0",
+ "b": "0x7"
+ },
+ "order": "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+ "cofactor": "0x1",
+ "generator": {
+ "x": "0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
+ "y": "0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
+ },
+ "aliases": [
+ "secg/secp256k1"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansip384r1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
+ "bits": 384
+ },
+ "params": {
+ "a": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc",
+ "b": "0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"
+ },
+ "order": "0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
+ "cofactor": "0x1",
+ "generator": {
+ "x": "0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
+ "y": "0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"
+ },
+ "aliases": [
+ "secg/secp384r1",
+ "nist/P-384"
+ ]
+ },
+ {
+ "form": "Weierstrass",
+ "name": "ansip521r1",
+ "category": "x963",
+ "desc": "",
+ "oid": "",
+ "field": {
+ "type": "Prime",
+ "p": "0x01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+ "bits": 521
+ },
+ "params": {
+ "a": "0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc",
+ "b": "0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"
+ },
+ "order": "0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
+ "cofactor": "0x1",
+ "generator": {
+ "x": "0xc6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
+ "y": "0x11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"
+ },
+ "aliases": [
+ "secg/secp521r1",
+ "nist/P-521"
+ ]
+ }
+ ]
+} \ No newline at end of file