From aa92b619df71b982770946ee6551b0ce85d183d3 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 17 Oct 2020 18:19:56 +0200 Subject: [PATCH] Add basis type parameter. --- nist/curves.json | 30 +++++++++++++++++--------- oakley/curves.json | 6 ++++-- schema.json | 10 +++++++-- secg/curves.json | 54 ++++++++++++++++++++++++++++++---------------- wtls/curves.json | 18 ++++++++++------ x962/curves.json | 48 +++++++++++++++++++++++++++-------------- x963/curves.json | 42 ++++++++++++++++++++++++------------ 7 files changed, 140 insertions(+), 68 deletions(-) diff --git a/nist/curves.json b/nist/curves.json index 282a08f..fcfd6c5 100644 --- a/nist/curves.json +++ b/nist/curves.json @@ -308,7 +308,8 @@ } ], "bits": 163, - "degree": 163 + "degree": 163, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -371,7 +372,8 @@ } ], "bits": 163, - "degree": 163 + "degree": 163, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -427,7 +429,8 @@ } ], "bits": 233, - "degree": 233 + "degree": 233, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -483,7 +486,8 @@ } ], "bits": 233, - "degree": 233 + "degree": 233, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -548,7 +552,8 @@ } ], "bits": 283, - "degree": 283 + "degree": 283, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -612,7 +617,8 @@ } ], "bits": 283, - "degree": 283 + "degree": 283, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -668,7 +674,8 @@ } ], "bits": 409, - "degree": 409 + "degree": 409, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -722,7 +729,8 @@ } ], "bits": 409, - "degree": 409 + "degree": 409, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -784,7 +792,8 @@ } ], "bits": 571, - "degree": 571 + "degree": 571, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -846,7 +855,8 @@ } ], "bits": 571, - "degree": 571 + "degree": 571, + "basis": "poly" }, "form": "Weierstrass", "params": { diff --git a/oakley/curves.json b/oakley/curves.json index 02ce584..c065de0 100644 --- a/oakley/curves.json +++ b/oakley/curves.json @@ -24,7 +24,8 @@ } ], "bits": 155, - "degree": 155 + "degree": 155, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -68,7 +69,8 @@ } ], "bits": 185, - "degree": 185 + "degree": 185, + "basis": "poly" }, "form": "Weierstrass", "params": { diff --git a/schema.json b/schema.json index a1a9644..b9be5f6 100644 --- a/schema.json +++ b/schema.json @@ -82,9 +82,15 @@ "base": {"const": "0x02"}, "degree": {"type": "integer"}, "poly": {"$ref": "#/definitions/Polynomial"}, - "bits": {"type": "integer"} + "bits": {"type": "integer"}, + "basis": { + "anyOf": [ + {"const": "poly"}, + {"const": "normal"} + ] + } }, - "required": ["degree", "poly", "bits"] + "required": ["degree", "poly", "bits", "basis"] }, "ExtenstionField": { "type": "object", diff --git a/secg/curves.json b/secg/curves.json index d8d1b08..7107599 100644 --- a/secg/curves.json +++ b/secg/curves.json @@ -1033,7 +1033,8 @@ "coeff": "0x01" } ], - "degree": 113 + "degree": 113, + "basis": "poly" }, "params": { "a": { @@ -1080,7 +1081,8 @@ "coeff": "0x01" } ], - "degree": 113 + "degree": 113, + "basis": "poly" }, "params": { "a": { @@ -1132,7 +1134,8 @@ "coeff": "0x01" } ], - "degree": 131 + "degree": 131, + "basis": "poly" }, "params": { "a": { @@ -1184,7 +1187,8 @@ "coeff": "0x01" } ], - "degree": 131 + "degree": 131, + "basis": "poly" }, "params": { "a": { @@ -1235,7 +1239,8 @@ } ], "bits": 163, - "degree": 163 + "degree": 163, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1301,7 +1306,8 @@ } ], "bits": 163, - "degree": 163 + "degree": 163, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1365,7 +1371,8 @@ } ], "bits": 163, - "degree": 163 + "degree": 163, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1423,7 +1430,8 @@ "coeff": "0x01" } ], - "degree": 193 + "degree": 193, + "basis": "poly" }, "params": { "a": { @@ -1470,7 +1478,8 @@ "coeff": "0x01" } ], - "degree": 193 + "degree": 193, + "basis": "poly" }, "params": { "a": { @@ -1516,7 +1525,8 @@ } ], "bits": 233, - "degree": 233 + "degree": 233, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1572,7 +1582,8 @@ } ], "bits": 233, - "degree": 233 + "degree": 233, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1630,7 +1641,8 @@ } ], "bits": 233, - "degree": 233 + "degree": 233, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1694,7 +1706,8 @@ } ], "bits": 283, - "degree": 283 + "degree": 283, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1759,7 +1772,8 @@ } ], "bits": 283, - "degree": 283 + "degree": 283, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1816,7 +1830,8 @@ } ], "bits": 409, - "degree": 409 + "degree": 409, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1871,7 +1886,8 @@ } ], "bits": 409, - "degree": 409 + "degree": 409, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1934,7 +1950,8 @@ } ], "bits": 571, - "degree": 571 + "degree": 571, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -1997,7 +2014,8 @@ } ], "bits": 571, - "degree": 571 + "degree": 571, + "basis": "poly" }, "form": "Weierstrass", "params": { diff --git a/wtls/curves.json b/wtls/curves.json index c6965eb..3f5683e 100644 --- a/wtls/curves.json +++ b/wtls/curves.json @@ -21,7 +21,8 @@ "coeff": "0x01" } ], - "type": "Binary" + "type": "Binary", + "basis": "poly" }, "form": "Weierstrass", "generator": { @@ -73,7 +74,8 @@ } ], "bits": 163, - "degree": 163 + "degree": 163, + "basis": "poly" }, "form": "Weierstrass", "generator": { @@ -122,7 +124,8 @@ "coeff": "0x01" } ], - "type": "Binary" + "type": "Binary", + "basis": "poly" }, "form": "Weierstrass", "generator": { @@ -179,7 +182,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -351,7 +355,8 @@ } ], "bits": 233, - "degree": 233 + "degree": 233, + "basis": "poly" }, "form": "Weierstrass", "generator": { @@ -400,7 +405,8 @@ } ], "bits": 233, - "degree": 233 + "degree": 233, + "basis": "poly" }, "form": "Weierstrass", "generator": { diff --git a/x962/curves.json b/x962/curves.json index 98a8cc1..62f57c1 100644 --- a/x962/curves.json +++ b/x962/curves.json @@ -430,7 +430,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -482,7 +483,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -537,7 +539,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -589,7 +592,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -641,7 +645,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -685,7 +690,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -729,7 +735,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -773,7 +780,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -817,7 +825,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -861,7 +870,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -905,7 +915,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -957,7 +968,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -1009,7 +1021,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -1061,7 +1074,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -1105,7 +1119,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -1149,7 +1164,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { diff --git a/x963/curves.json b/x963/curves.json index f7d82db..5cd4667 100644 --- a/x963/curves.json +++ b/x963/curves.json @@ -33,7 +33,8 @@ } ], "bits": 163, - "degree": 163 + "degree": 163, + "basis": "poly" }, "params": { "a": { @@ -84,7 +85,8 @@ } ], "bits": 163, - "degree": 163 + "degree": 163, + "basis": "poly" }, "form": "Weierstrass", "params": { @@ -140,7 +142,8 @@ } ], "bits": 163, - "degree": 163 + "degree": 163, + "basis": "poly" }, "params": { "a": { @@ -188,7 +191,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -235,7 +239,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -282,7 +287,8 @@ } ], "bits": 233, - "degree": 233 + "degree": 233, + "basis": "poly" }, "params": { "a": { @@ -331,7 +337,8 @@ } ], "bits": 233, - "degree": 233 + "degree": 233, + "basis": "poly" }, "params": { "a": { @@ -380,7 +387,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -435,7 +443,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -491,7 +500,8 @@ "power": 0, "coeff": "0x01" } - ] + ], + "basis": "poly" }, "params": { "a": { @@ -539,7 +549,8 @@ } ], "bits": 409, - "degree": 409 + "degree": 409, + "basis": "poly" }, "params": { "a": { @@ -587,7 +598,8 @@ } ], "bits": 409, - "degree": 409 + "degree": 409, + "basis": "poly" }, "params": { "a": { @@ -643,7 +655,8 @@ } ], "bits": 571, - "degree": 571 + "degree": 571, + "basis": "poly" }, "params": { "a": { @@ -699,7 +712,8 @@ } ], "bits": 571, - "degree": 571 + "degree": 571, + "basis": "poly" }, "params": { "a": {