aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladaSedlacek2020-10-17 18:24:42 +0200
committerGitHub2020-10-17 18:24:42 +0200
commiteda187578faec75f3415874d607c35a2e4897eab (patch)
treebde2eed453203773879d96a520daf4abedc59443
parentaa92b619df71b982770946ee6551b0ce85d183d3 (diff)
downloadstd-curves-eda187578faec75f3415874d607c35a2e4897eab.tar.gz
std-curves-eda187578faec75f3415874d607c35a2e4897eab.tar.zst
std-curves-eda187578faec75f3415874d607c35a2e4897eab.zip
Add three more x962 curves. (#6)
* Add three more x962 curves. * Add c2onb239v4, fix poly representation (orders still don't match). * Add seeds. * Remove 0x from the seed format. Co-authored-by: Vladimír Sedláček <vlada.sedlacek@mail.muni.cz>
-rw-r--r--x962/curves.json459
1 files changed, 456 insertions, 3 deletions
diff --git a/x962/curves.json b/x962/curves.json
index 62f57c1..77bd77f 100644
--- a/x962/curves.json
+++ b/x962/curves.json
@@ -31,6 +31,7 @@
},
"order": "0xffffffffffffffffffffffff99def836146bc9b1b4d22831",
"cofactor": "0x1",
+ "seed": "3045AE6FC8422F64ED579528D38120EAE12196D5",
"aliases": [
"secg/secp192r1",
"nist/P-192"
@@ -107,6 +108,7 @@
},
"order": "0xfffffffffffffffffffffffe5fb1a724dc80418648d8dd31",
"cofactor": "0x1",
+ "seed": "31A92EE2029FD10D901B113E990710F0D21AC6B6",
"characteristics": {
"discriminant": "3136318742261921876063208570368096687049382158828912127687",
"j_invariant": "2188073006583539552141688552564683396860111048461359479401",
@@ -169,6 +171,7 @@
},
"order": "0xffffffffffffffffffffffff7a62d031c83f4294f640ec13",
"cofactor": "0x1",
+ "seed": "C469684435DEB378C4B65CA9591E2A5763059A2E",
"characteristics": {
"discriminant": "3779502969702448100548644654746965771458990594820505358394",
"j_invariant": "4949518941300124932197833942361144997943533558142111060080",
@@ -231,6 +234,7 @@
},
"order": "0x7fffffffffffffffffffffff7fffff9e5e9a9f5d9071fbd1522688909d0b",
"cofactor": "0x1",
+ "seed": "E43BB460F0B80CC0C0B075798E948060F8321B7D",
"characteristics": {
"discriminant": "304850035712828017768890753913370930082366291391142991141919368057646026",
"j_invariant": "535250236995642411828071436390811255989556058215461384191615097928272770",
@@ -288,6 +292,7 @@
},
"order": "0x7fffffffffffffffffffffff800000cfa7e8594377d414c03821bc582063",
"cofactor": "0x1",
+ "seed": "0E8B4011604095303CA3B8099982BE09FCB9AE616",
"characteristics": {
"discriminant": "369528448271621828801750954737572264864367402255299013074552698823670735",
"j_invariant": "845456799438304440285632276028937020105084947748076550483955832603378212",
@@ -327,6 +332,7 @@
},
"order": "0x7fffffffffffffffffffffff7fffff975deb41b3a6057c3c432146526551",
"cofactor": "0x1",
+ "seed": "7D7374168FFE3471B60A857686A19475D3BFA2FF",
"characteristics": {
"discriminant": "882873045738548432559077267776614981148556437256582152685457545366799895",
"j_invariant": "753745430086077892322271754405460844839460634669491132164952757184512889",
@@ -362,6 +368,7 @@
},
"order": "0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
"cofactor": "0x1",
+ "seed": "C49D360886E704936A6678E1139D26B7819F7E90",
"aliases": [
"secg/secp256r1",
"nist/P-256"
@@ -496,6 +503,7 @@
},
"order": "0x0400000000000000000001e60fc8821cc74daeafc1",
"cofactor": "0x2",
+ "seed": "D2C0FB15760860DEF1EEF4D696E6768756151754",
"generator": {
"x": {
"raw": "0x07af69989546103d79329fcc3d74880f33bbe803cb"
@@ -552,6 +560,7 @@
},
"order": "0x03fffffffffffffffffffdf64de1151adbb78f10a7",
"cofactor": "0x2",
+ "seed": "53814C050D44D696E67687561517580CA4E29FFD",
"generator": {
"x": {
"raw": "0x0024266e4eb5106d0a964d92c4860e2671db9b6cc5"
@@ -605,6 +614,7 @@
},
"order": "0x03fffffffffffffffffffe1aee140f110aff961309",
"cofactor": "0x2",
+ "seed": "50CBF1D95CA94D696E676875615175F16A36A3B8",
"generator": {
"x": {
"raw": "0x2f9f87b7c574d0bdecf8a22e6524775f98cdebdcb"
@@ -703,6 +713,7 @@
},
"order": "0x155555555555555555555555610c0b196812bfb6288a3ea3",
"cofactor": "0x6",
+ "seed": "E053512DC684D696E676875615175067AE786D1F",
"generator": {
"x": {
"raw": "0x375d4ce24fde434489de8746e71786015009e66e38a926dd"
@@ -748,6 +759,7 @@
},
"order": "0x20000000000000000000000050508cb89f652824e06b8173",
"cofactor": "0x4",
+ "seed": "0871EF2FEF24D696E6768756151758BEE0D95C15",
"generator": {
"x": {
"raw": "0x3809b2b7cc1b28cc5a87926aad83fd28789e81e2c9e3bf10"
@@ -800,7 +812,8 @@
"y": {
"raw": "0x765be73433b3f95e332932e70ea245ca2418ea0ef98018fb"
}
- }
+ },
+ "seed": "4E13CA542744D696E67687561517552F279A8C84"
},
{
"form": "Weierstrass",
@@ -838,6 +851,7 @@
},
"order": "0x0cccccccccccccccccccccccccccccac4912d2d9df903ef9888b8a0e4cff",
"cofactor": "0xa",
+ "seed": "9E076F4D696E676875615175E11E9FDD",
"generator": {
"x": {
"raw": "0x70f6e9d04d289c4e89913ce3530bfde903977d42b146d539bf1bde4e9c92"
@@ -883,6 +897,7 @@
},
"order": "0x1555555555555555555555555555553c6f2885259c31e3fcdf154624522d",
"cofactor": "0x6",
+ "seed": "2AA6982FDFA4D696E676875615175D266727277D",
"generator": {
"x": {
"raw": "0x28f9d04e900069c8dc47a08534fe76d2b900b7d7ef31f5709f200c4ca205"
@@ -935,7 +950,8 @@
"y": {
"raw": "0x61d8ee5077c33fecf6f1a16b268de469c3c7744ea9a971649fc7a9616305"
}
- }
+ },
+ "seed": "D34B9A4D696E676875615175CA71B920BFEFB05D"
},
{
"form": "Weierstrass",
@@ -1132,6 +1148,7 @@
},
"order": "0x01af286bca1af286bca1af286bca1af286bca1af286bc9fb8f6b85c556892c20a7eb964fe7719e74f490758d3b",
"cofactor": "0x4c",
+ "seed": "2B354920B724D696E67687561517585BA1332DC6",
"generator": {
"x": {
"raw": "0x3c258ef3047767e7ede0f1fdaa79daee3841366a132e163aced4ed2401df9c6bdcde98e8e707c07a2239b1b097"
@@ -1185,6 +1202,442 @@
"raw": "0x20d0af8903a96f8d5fa2c255745d3c451b302c9346d9b7e485e7bce41f6b591f3e8f6addcbb0bc4c2f947a7de1a89b625d6a598b3760"
}
}
- }
+ },
+ {
+ "name": "c2onb191v4",
+ "category": "x962",
+ "desc": "",
+ "oid": "1.2.840.10045.3.0.8",
+ "field": {
+ "type": "Binary",
+ "bits": 191,
+ "degree": 191,
+ "poly": [
+ {
+ "coeff": "0x01",
+ "power": 191
+ },
+ {
+ "coeff": "0x01",
+ "power": 190
+ },
+ {
+ "coeff": "0x01",
+ "power": 188
+ },
+ {
+ "coeff": "0x01",
+ "power": 184
+ },
+ {
+ "coeff": "0x01",
+ "power": 176
+ },
+ {
+ "coeff": "0x01",
+ "power": 160
+ },
+ {
+ "coeff": "0x01",
+ "power": 128
+ },
+ {
+ "coeff": "0x01",
+ "power": 64
+ },
+ {
+ "coeff": "0x01",
+ "power": 63
+ },
+ {
+ "coeff": "0x01",
+ "power": 62
+ },
+ {
+ "coeff": "0x01",
+ "power": 60
+ },
+ {
+ "coeff": "0x01",
+ "power": 56
+ },
+ {
+ "coeff": "0x01",
+ "power": 48
+ },
+ {
+ "coeff": "0x01",
+ "power": 32
+ },
+ {
+ "coeff": "0x01",
+ "power": 0
+ }
+ ]
+ },
+ "form": "Weierstrass",
+ "params": {
+ "a": {
+ "raw": "0x65903E04E1E4924253E26A3C9AC28C758BD8184A3FB680E8"
+ },
+ "b": {
+ "raw": "0x54678621B190CFCE282ADE219D5B3A065E3F4B3FFDEBB29B"
+ }
+ },
+ "order": "0x4000000000000000000000009CF2D6E3901DAC4C32EEC65D",
+ "cofactor": "0x2",
+ "generator": {
+ "x": {
+ "raw": "0x025A2C69A32E8638E51CCEFAAD05350A978457CB5FB6DF994A"
+ },
+ "y": {
+ "raw": ""
+ }
+ },
+ "seed": "A399387EAE54D696E6768756151750E58B416D57"
+ },
+ {
+ "name": "c2onb191v5",
+ "category": "x962",
+ "desc": "",
+ "oid": "1.2.840.10045.3.0.9",
+ "field": {
+ "type": "Binary",
+ "bits": 191,
+ "degree": 191,
+ "poly": [
+ {
+ "coeff": "0x01",
+ "power": 191
+ },
+ {
+ "coeff": "0x01",
+ "power": 190
+ },
+ {
+ "coeff": "0x01",
+ "power": 188
+ },
+ {
+ "coeff": "0x01",
+ "power": 184
+ },
+ {
+ "coeff": "0x01",
+ "power": 176
+ },
+ {
+ "coeff": "0x01",
+ "power": 160
+ },
+ {
+ "coeff": "0x01",
+ "power": 128
+ },
+ {
+ "coeff": "0x01",
+ "power": 64
+ },
+ {
+ "coeff": "0x01",
+ "power": 63
+ },
+ {
+ "coeff": "0x01",
+ "power": 62
+ },
+ {
+ "coeff": "0x01",
+ "power": 60
+ },
+ {
+ "coeff": "0x01",
+ "power": 56
+ },
+ {
+ "coeff": "0x01",
+ "power": 48
+ },
+ {
+ "coeff": "0x01",
+ "power": 32
+ },
+ {
+ "coeff": "0x01",
+ "power": 0
+ }
+ ]
+ },
+ "form": "Weierstrass",
+ "params": {
+ "a": {
+ "raw": "0x25F8D06C97C822536D469CD5170CDD7BB9F500BD6DB110FB"
+ },
+ "b": {
+ "raw": "0x75FF570E35CA94FB3780C2619D081C17AA59FBD5E591C1C4"
+ }
+ },
+ "order": "0x0FFFFFFFFFFFFFFFFFFFFFFFEEB354B7270B2992B7818627",
+ "cofactor": "0x8",
+ "generator": {
+ "x": {
+ "raw": "0x032A16910E8F6C4B199BE24213857ABC9C992EDFB2471F3C68"
+ },
+ "y": {
+ "raw": ""
+ }
+ },
+ "seed": "2D88F7BC545794D696E676875615175973391555"
+ },
+ {
+ "name": "c2onb239v4",
+ "category": "x962",
+ "desc": "",
+ "oid": "1.2.840.10045.3.0.14",
+ "field": {
+ "type": "Binary",
+ "bits": 239,
+ "degree": 239,
+ "poly": [
+ {
+ "coeff": "0x01",
+ "power": 239
+ },
+ {
+ "coeff": "0x01",
+ "power": 238
+ },
+ {
+ "coeff": "0x01",
+ "power": 236
+ },
+ {
+ "coeff": "0x01",
+ "power": 232
+ },
+ {
+ "coeff": "0x01",
+ "power": 224
+ },
+ {
+ "coeff": "0x01",
+ "power": 208
+ },
+ {
+ "coeff": "0x01",
+ "power": 207
+ },
+ {
+ "coeff": "0x01",
+ "power": 206
+ },
+ {
+ "coeff": "0x01",
+ "power": 204
+ },
+ {
+ "coeff": "0x01",
+ "power": 200
+ },
+ {
+ "coeff": "0x01",
+ "power": 192
+ },
+ {
+ "coeff": "0x01",
+ "power": 144
+ },
+ {
+ "coeff": "0x01",
+ "power": 143
+ },
+ {
+ "coeff": "0x01",
+ "power": 142
+ },
+ {
+ "coeff": "0x01",
+ "power": 140
+ },
+ {
+ "coeff": "0x01",
+ "power": 136
+ },
+ {
+ "coeff": "0x01",
+ "power": 128
+ },
+ {
+ "coeff": "0x01",
+ "power": 16
+ },
+ {
+ "coeff": "0x01",
+ "power": 15
+ },
+ {
+ "coeff": "0x01",
+ "power": 14
+ },
+ {
+ "coeff": "0x01",
+ "power": 12
+ },
+ {
+ "coeff": "0x01",
+ "power": 8
+ },
+ {
+ "coeff": "0x01",
+ "power": 0
+ }
+ ]
+ },
+ "form": "Weierstrass",
+ "params": {
+ "a": {
+ "raw": "0x182DD45F5D470239B8983FEA47B8B292641C57F9BF84BAECDE8BB3ADCE30"
+ },
+ "b": {
+ "raw": "0x147A9C1D4C2CE9BE5D34EC02797F76667EBAD5A3F93FA2A524BFDE91EF28"
+ }
+ },
+ "order": "0x200000000000000000000000000000474F7E69F42FE430931D0B455AAE8B",
+ "cofactor": "0x4",
+ "generator": {
+ "x": {
+ "raw": "0x034912AD657F1D1C6B32EDB9942C95E226B06FB012CD40FDEA0D72197C8104"
+ },
+ "y": {
+ "raw": ""
+ }
+ },
+ "seed": "F851638CFA4D696E67687561517556513841BFAC"
+ },
+ {
+ "name": "c2onb239v5",
+ "category": "x962",
+ "desc": "",
+ "oid": "1.2.840.10045.3.0.15",
+ "field": {
+ "type": "Binary",
+ "bits": 239,
+ "degree": 239,
+ "poly": [
+ {
+ "coeff": "0x01",
+ "power": 239
+ },
+ {
+ "coeff": "0x01",
+ "power": 238
+ },
+ {
+ "coeff": "0x01",
+ "power": 236
+ },
+ {
+ "coeff": "0x01",
+ "power": 232
+ },
+ {
+ "coeff": "0x01",
+ "power": 224
+ },
+ {
+ "coeff": "0x01",
+ "power": 208
+ },
+ {
+ "coeff": "0x01",
+ "power": 207
+ },
+ {
+ "coeff": "0x01",
+ "power": 206
+ },
+ {
+ "coeff": "0x01",
+ "power": 204
+ },
+ {
+ "coeff": "0x01",
+ "power": 200
+ },
+ {
+ "coeff": "0x01",
+ "power": 192
+ },
+ {
+ "coeff": "0x01",
+ "power": 144
+ },
+ {
+ "coeff": "0x01",
+ "power": 143
+ },
+ {
+ "coeff": "0x01",
+ "power": 142
+ },
+ {
+ "coeff": "0x01",
+ "power": 140
+ },
+ {
+ "coeff": "0x01",
+ "power": 136
+ },
+ {
+ "coeff": "0x01",
+ "power": 128
+ },
+ {
+ "coeff": "0x01",
+ "power": 16
+ },
+ {
+ "coeff": "0x01",
+ "power": 15
+ },
+ {
+ "coeff": "0x01",
+ "power": 14
+ },
+ {
+ "coeff": "0x01",
+ "power": 12
+ },
+ {
+ "coeff": "0x01",
+ "power": 8
+ },
+ {
+ "coeff": "0x01",
+ "power": 0
+ }
+ ]
+ },
+ "form": "Weierstrass",
+ "params": {
+ "a": {
+ "raw": "0x1ECF1B9D28D8017505E17475D3DF2982E243CA5CB5E9F94A3F36124A486E"
+ },
+ "b": {
+ "raw": "0x3EE257250D1A2E66CEF23AA0F25B12388DE8A10FF9554F90AFBAA9A08B6D"
+ }
+ },
+ "order": "0x1555555555555555555555555555558CF77A5D0589D2A9340D963B7AD703",
+ "cofactor": "0x6",
+ "generator": {
+ "x": {
+ "raw": "0x02193279FC543E9F5F7119189785B9C60B249BE4820BAF6C24BDFA2813F8B8"
+ },
+ "y": {
+ "raw": ""
+ }
+ },
+ "seed": "2C04F44D696E676875615175C586B41F6CA150C9"
+ }
]
}