summaryrefslogtreecommitdiff
path: root/src/ecdsa/curves.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ecdsa/curves.py')
-rw-r--r--src/ecdsa/curves.py48
1 files changed, 47 insertions, 1 deletions
diff --git a/src/ecdsa/curves.py b/src/ecdsa/curves.py
index 9a10380..90cdd52 100644
--- a/src/ecdsa/curves.py
+++ b/src/ecdsa/curves.py
@@ -10,6 +10,10 @@ __all__ = [
"UnknownCurveError",
"orderlen",
"Curve",
+ "SECP112r1",
+ "SECP112r2",
+ "SECP128r1",
+ "SECP160r1",
"NIST192p",
"NIST224p",
"NIST256p",
@@ -40,7 +44,7 @@ class Curve:
self.generator = generator
self.order = generator.order()
self.baselen = orderlen(self.order)
- self.verifying_key_length = 2 * self.baselen
+ self.verifying_key_length = 2 * orderlen(curve.p())
self.signature_length = 2 * self.baselen
self.oid = oid
self.encoded_oid = der.encode_oid(*oid)
@@ -49,6 +53,43 @@ class Curve:
return self.name
+# the SEC curves
+SECP112r1 = Curve(
+ "SECP112r1",
+ ecdsa.curve_112r1,
+ ecdsa.generator_112r1,
+ (1, 3, 132, 0, 6),
+ "secp112r1",
+)
+
+
+SECP112r2 = Curve(
+ "SECP112r2",
+ ecdsa.curve_112r2,
+ ecdsa.generator_112r2,
+ (1, 3, 132, 0, 7),
+ "secp112r2",
+)
+
+
+SECP128r1 = Curve(
+ "SECP128r1",
+ ecdsa.curve_128r1,
+ ecdsa.generator_128r1,
+ (1, 3, 132, 0, 28),
+ "secp128r1",
+)
+
+
+SECP160r1 = Curve(
+ "SECP160r1",
+ ecdsa.curve_160r1,
+ ecdsa.generator_160r1,
+ (1, 3, 132, 0, 8),
+ "secp160r1",
+)
+
+
# the NIST curves
NIST192p = Curve(
"NIST192p",
@@ -167,6 +208,7 @@ BRAINPOOLP512r1 = Curve(
)
+# no order in particular, but keep previously added curves first
curves = [
NIST192p,
NIST224p,
@@ -181,6 +223,10 @@ curves = [
BRAINPOOLP320r1,
BRAINPOOLP384r1,
BRAINPOOLP512r1,
+ SECP112r1,
+ SECP112r2,
+ SECP128r1,
+ SECP160r1,
]