ecdsa 0.1.1 → 0.2
raw patch · 2 files changed
+4/−5 lines, 2 files
Files
- ECDSA.hs +3/−4
- ecdsa.cabal +1/−1
ECDSA.hs view
@@ -5,8 +5,7 @@ sign, publicFromPrivate, publicToBytes,- signatureEncodeDER,- pmul+ signatureEncodeDER ) where import Data.Bits@@ -22,13 +21,13 @@ import ECDSA.Util -sign :: (CryptoRandomGen g) => PrivateKey -> BS.ByteString -> g -> Either GenError ((Integer, Integer), g)+sign :: (CryptoRandomGen g) => PrivateKey -> BS.ByteString -> g -> Either GenError (Signature, g) sign (PrivateKey curve@(CurveFP (CurvePrime _ (CurveCommon {ecc_g = g, ecc_n = n}))) d) hash gen = do (bytes, gen') <- genBytes (lengthBytes n) gen let k = (bs2i bytes `mod` (n-1)) + 1 let r = (\(Point x _) -> x) (pmul (curve, g) k) `mod` n let s = ((bs2i hash + (r*d)) * modinv k n) `mod` n- return ((r,s), gen')+ return (Signature r s, gen') where sign _ _ _ = error "TODO: binary curves"
ecdsa.cabal view
@@ -1,5 +1,5 @@ name: ecdsa-version: 0.1.1+version: 0.2 cabal-version: >= 1.8 license: OtherLicense license-file: COPYING