88# will need to mark it as deprecated later
99__all__ = ["UnknownCurveError" , "orderlen" , "Curve" , "NIST192p" ,
1010 "NIST224p" , "NIST256p" , "NIST384p" , "NIST521p" , "curves" ,
11- "find_curve" ]
11+ "find_curve" , "SECP256k1" ]
1212
1313
1414class UnknownCurveError (Exception ):
1515 pass
1616
1717
18- # the NIST curves
1918class Curve :
2019 def __init__ (self , name , curve , generator , oid , openssl_name = None ):
2120 self .name = name
@@ -29,25 +28,41 @@ def __init__(self, name, curve, generator, oid, openssl_name=None):
2928 self .oid = oid
3029 self .encoded_oid = der .encode_oid (* oid )
3130
31+ def __repr__ (self ):
32+ return self .name
33+
34+
35+ # the NIST curves
3236NIST192p = Curve ("NIST192p" , ecdsa .curve_192 ,
3337 ecdsa .generator_192 ,
3438 (1 , 2 , 840 , 10045 , 3 , 1 , 1 ), "prime192v1" )
39+
40+
3541NIST224p = Curve ("NIST224p" , ecdsa .curve_224 ,
3642 ecdsa .generator_224 ,
3743 (1 , 3 , 132 , 0 , 33 ), "secp224r1" )
44+
45+
3846NIST256p = Curve ("NIST256p" , ecdsa .curve_256 ,
3947 ecdsa .generator_256 ,
4048 (1 , 2 , 840 , 10045 , 3 , 1 , 7 ), "prime256v1" )
49+
50+
4151NIST384p = Curve ("NIST384p" , ecdsa .curve_384 ,
4252 ecdsa .generator_384 ,
4353 (1 , 3 , 132 , 0 , 34 ), "secp384r1" )
54+
55+
4456NIST521p = Curve ("NIST521p" , ecdsa .curve_521 ,
4557 ecdsa .generator_521 ,
4658 (1 , 3 , 132 , 0 , 35 ), "secp521r1" )
59+
60+
4761SECP256k1 = Curve ("SECP256k1" , ecdsa .curve_secp256k1 ,
4862 ecdsa .generator_secp256k1 ,
4963 (1 , 3 , 132 , 0 , 10 ), "secp256k1" )
5064
65+
5166curves = [NIST192p , NIST224p , NIST256p , NIST384p , NIST521p , SECP256k1 ]
5267
5368
0 commit comments