From 997cea369b7b520a91178a3fa3968267cb97bcd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Ch=C3=A9ron?= Date: Thu, 28 Feb 2019 21:14:18 +0100 Subject: [PATCH] Rename to signDigestWith --- Crypto/PubKey/ECC/ECDSA.hs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Crypto/PubKey/ECC/ECDSA.hs b/Crypto/PubKey/ECC/ECDSA.hs index 24c6e15..98b1ac4 100644 --- a/Crypto/PubKey/ECC/ECDSA.hs +++ b/Crypto/PubKey/ECC/ECDSA.hs @@ -10,10 +10,10 @@ module Crypto.PubKey.ECC.ECDSA , KeyPair(..) , toPublicKey , toPrivateKey - , signWithDigest , signWith - , signDigest + , signDigestWith , sign + , signDigest , verify , verifyDigest ) where @@ -63,13 +63,13 @@ toPrivateKey (KeyPair curve _ priv) = PrivateKey curve priv -- | Sign digest using the private key and an explicit k number. -- -- /WARNING:/ Vulnerable to timing attacks. -signWithDigest :: HashAlgorithm hash +signDigestWith :: HashAlgorithm hash => Integer -- ^ k random number -> PrivateKey -- ^ private key -> hash -- ^ hash function -> Digest hash -- ^ digest to sign -> Maybe Signature -signWithDigest k (PrivateKey curve d) hashAlg digest = do +signDigestWith k (PrivateKey curve d) hashAlg digest = do let z = dsaTruncHashDigest hashAlg digest n CurveCommon _ _ g n _ = common_curve curve let point = pointMul curve k g @@ -90,16 +90,16 @@ signWith :: (ByteArrayAccess msg, HashAlgorithm hash) -> hash -- ^ hash function -> msg -- ^ message to sign -> Maybe Signature -signWith k pk hashAlg msg = signWithDigest k pk hashAlg (hashWith hashAlg msg) +signWith k pk hashAlg msg = signDigestWith k pk hashAlg (hashWith hashAlg msg) --- | Sign digst using the private key. +-- | Sign digest using the private key. -- -- /WARNING:/ Vulnerable to timing attacks. signDigest :: (HashAlgorithm hash, MonadRandom m) => PrivateKey -> hash -> Digest hash -> m Signature signDigest pk hashAlg digest = do k <- generateBetween 1 (n - 1) - case signWithDigest k pk hashAlg digest of + case signDigestWith k pk hashAlg digest of Nothing -> signDigest pk hashAlg digest Just sig -> return sig where n = ecc_n . common_curve $ private_curve pk