packages feed

ecdsa 0.1.1 → 0.2

raw patch · 2 files changed

+4/−5 lines, 2 files

Files

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