packages feed

crypto-pubkey 0.2.3 → 0.2.4

raw patch · 8 files changed

+31/−10 lines, 8 files

Files

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     .