diff options
Diffstat (limited to 'src/ecdsa/curves.py')
-rw-r--r-- | src/ecdsa/curves.py | 48 |
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, ] |