diff options
author | Brian Warner <warner-github@lothar.com> | 2012-10-25 10:13:50 -0700 |
---|---|---|
committer | Brian Warner <warner-github@lothar.com> | 2012-10-25 10:13:50 -0700 |
commit | 4c5b45f8754fefcfbae679ad35cdd7e28f546118 (patch) | |
tree | 2775989b36e1474484fedb96f395d01932150452 | |
parent | f03abf93968019758c6e00753d1b34b87fecd27e (diff) | |
parent | 65fa61f3a8a322771d8b8ec6b37b167e2e7ec181 (diff) | |
download | ecdsa-4c5b45f8754fefcfbae679ad35cdd7e28f546118.tar.gz |
Merge pull request #6 from bdauvergne/master
Add secp256k1, as used in Bitcoin.
-rw-r--r-- | ecdsa/curves.py | 4 | ||||
-rw-r--r-- | ecdsa/ecdsa.py | 13 |
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 |