crypto-pubkey 0.2.3 → 0.2.4
raw patch · 8 files changed
+31/−10 lines, 8 files
Files
- Crypto/PubKey/DH.hs +12/−3
- Crypto/PubKey/DSA.hs +13/−1
- Crypto/PubKey/ECC/ECDSA.hs +1/−1
- Crypto/PubKey/RSA.hs +1/−1
- Crypto/PubKey/RSA/OAEP.hs +1/−1
- Crypto/PubKey/RSA/PKCS15.hs +1/−1
- Crypto/PubKey/RSA/PSS.hs +1/−1
- crypto-pubkey.cabal +1/−1
Crypto/PubKey/DH.hs view
@@ -14,6 +14,7 @@ , SharedKey , generateParams , generatePrivate+ , calculatePublic , generatePublic , getShared ) where@@ -22,7 +23,7 @@ import Crypto.Number.Prime (generateSafePrime) import Crypto.Number.Generate (generateMax) import Crypto.Types.PubKey.DH-import Crypto.Random.API+import Crypto.Random import Control.Arrow (first) -- | generate params from a specific generator (2 or 5 are common values)@@ -36,10 +37,18 @@ generatePrivate :: CPRG g => g -> Params -> (PrivateNumber, g) generatePrivate rng (Params p _) = first PrivateNumber $ generateMax rng p --- | generate a public number that is for the other party benefits.+-- | calculate the public number from the parameters and the private key -- this number is usually called Y in DH text.+calculatePublic :: Params -> PrivateNumber -> PublicNumber+calculatePublic (Params p g) (PrivateNumber x) = PublicNumber $ expSafe g x p++-- | calculate the public number from the parameters and the private key+-- this number is usually called Y in DH text.+--+-- DEPRECATED use calculatePublic generatePublic :: Params -> PrivateNumber -> PublicNumber-generatePublic (Params p g) (PrivateNumber x) = PublicNumber $ expSafe g x p+generatePublic = calculatePublic+-- commented until 0.3 {-# DEPRECATED generatePublic "use calculatePublic" #-} -- | generate a shared key using our private number and the other party public number getShared :: Params -> PrivateNumber -> PublicNumber -> SharedKey
Crypto/PubKey/DSA.hs view
@@ -12,6 +12,9 @@ , Signature(..) , PublicKey(..) , PrivateKey(..)+ -- * generation+ , generatePrivate+ , calculatePublic -- * signature primitive , sign , signWith@@ -19,7 +22,7 @@ , verify ) where -import Crypto.Random.API+import Crypto.Random import Data.Maybe import Data.ByteString (ByteString) import Crypto.Number.ModArithmetic (expFast, expSafe, inverse)@@ -27,6 +30,15 @@ import Crypto.Number.Generate import Crypto.Types.PubKey.DSA import Crypto.PubKey.HashDescr++-- | generate a private number with no specific property+-- this number is usually called X in DSA text.+generatePrivate :: CPRG g => g -> Params -> (PrivateNumber, g)+generatePrivate rng (Params _ _ q) = generateMax rng q++-- | Calculate the public number from the parameters and the private key+calculatePublic :: Params -> PrivateNumber -> PublicNumber+calculatePublic (Params p g _) x = expSafe g x p -- | sign message using the private key and an explicit k number. signWith :: Integer -- ^ k random number
Crypto/PubKey/ECC/ECDSA.hs view
@@ -8,7 +8,7 @@ ) where import Control.Monad-import Crypto.Random.API+import Crypto.Random import Data.Bits (shiftR) import Data.ByteString (ByteString) import Crypto.Number.ModArithmetic (inverse)
Crypto/PubKey/RSA.hs view
@@ -16,7 +16,7 @@ , generateBlinder ) where -import Crypto.Random.API+import Crypto.Random import Crypto.Types.PubKey.RSA import Crypto.Number.ModArithmetic (inverse, inverseCoprimes) import Crypto.Number.Generate (generateMax)
Crypto/PubKey/RSA/OAEP.hs view
@@ -21,7 +21,7 @@ , decryptSafer ) where -import Crypto.Random.API+import Crypto.Random import Crypto.Types.PubKey.RSA import Crypto.PubKey.HashDescr import Crypto.PubKey.MaskGenFunction
Crypto/PubKey/RSA/PKCS15.hs view
@@ -22,7 +22,7 @@ , verify ) where -import Crypto.Random.API+import Crypto.Random import Crypto.PubKey.Internal (and') import Crypto.Types.PubKey.RSA import Data.ByteString (ByteString)
Crypto/PubKey/RSA/PSS.hs view
@@ -16,7 +16,7 @@ , verify ) where -import Crypto.Random.API+import Crypto.Random import Crypto.Types.PubKey.RSA import Data.ByteString (ByteString) import Data.Byteable
crypto-pubkey.cabal view
@@ -1,5 +1,5 @@ Name: crypto-pubkey-Version: 0.2.3+Version: 0.2.4 Description: Public Key cryptography .