summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Warner <warner-github@lothar.com>2012-10-25 10:13:50 -0700
committerBrian Warner <warner-github@lothar.com>2012-10-25 10:13:50 -0700
commit4c5b45f8754fefcfbae679ad35cdd7e28f546118 (patch)
tree2775989b36e1474484fedb96f395d01932150452
parentf03abf93968019758c6e00753d1b34b87fecd27e (diff)
parent65fa61f3a8a322771d8b8ec6b37b167e2e7ec181 (diff)
downloadecdsa-4c5b45f8754fefcfbae679ad35cdd7e28f546118.tar.gz
Merge pull request #6 from bdauvergne/master
Add secp256k1, as used in Bitcoin.
-rw-r--r--ecdsa/curves.py4
-rw-r--r--ecdsa/ecdsa.py13
2 files changed, 15 insertions, 2 deletions
diff --git a/ecdsa/curves.py b/ecdsa/curves.py
index 2e4cc2c..0fb8b1d 100644
--- a/ecdsa/curves.py
+++ b/ecdsa/curves.py
@@ -29,8 +29,10 @@ NIST384p = Curve("NIST384p", ecdsa.curve_384, ecdsa.generator_384,
(1, 3, 132, 0, 34))
NIST521p = Curve("NIST521p", ecdsa.curve_521, ecdsa.generator_521,
(1, 3, 132, 0, 35))
+SECP256k1 = Curve("SECP256k1", ecdsa.curve_secp256k1,
+ ecdsa.generator_secp256k1, (1, 3, 132, 0, 10))
-curves = [NIST192p, NIST224p, NIST256p, NIST384p, NIST521p]
+curves = [NIST192p, NIST224p, NIST256p, NIST384p, NIST521p, SECP256k1]
def find_curve(oid_curve):
for c in curves:
diff --git a/ecdsa/ecdsa.py b/ecdsa/ecdsa.py
index b9d1f31..5b82823 100644
--- a/ecdsa/ecdsa.py
+++ b/ecdsa/ecdsa.py
@@ -261,7 +261,18 @@ _Gy = 0x11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee7
curve_521 = ellipticcurve.CurveFp( _p, -3, _b )
generator_521 = ellipticcurve.Point( curve_521, _Gx, _Gy, _r )
-
+# Certicom secp256-k1
+_a = 0x0000000000000000000000000000000000000000000000000000000000000000L
+_b = 0x0000000000000000000000000000000000000000000000000000000000000007L
+_p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2FL
+_Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798L
+_Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L
+_r = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141L
+
+curve_secp256k1 = ellipticcurve.CurveFp( _p, _a, _b)
+generator_secp256k1 = ellipticcurve.Point( curve_secp256k1, _Gx, _Gy, _r)
+
+
def __main__():
class TestFailure(Exception): pass