crypto-pubkey-types 0.1.1 → 0.2.0
raw patch · 5 files changed
+44/−40 lines, 5 filesdep −crypto-apiPVP ok
version bump matches the API change (PVP)
Dependencies removed: crypto-api
API changes (from Hackage documentation)
+ Crypto.Types.PubKey.RSA: private_pub :: PrivateKey -> PublicKey
- Crypto.Types.PubKey.RSA: PrivateKey :: Int -> Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> PrivateKey
+ Crypto.Types.PubKey.RSA: PrivateKey :: PublicKey -> Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> PrivateKey
Files
- Crypto/Types/PubKey/DH.hs +8/−8
- Crypto/Types/PubKey/DSA.hs +11/−11
- Crypto/Types/PubKey/RSA.hs +22/−17
- LICENSE +1/−1
- crypto-pubkey-types.cabal +2/−3
Crypto/Types/PubKey/DH.hs view
@@ -7,23 +7,23 @@ -- Portability : Excellent -- module Crypto.Types.PubKey.DH- ( Params- , PublicNumber(..)- , PrivateNumber(..)- , SharedKey(..)- ) where+ ( Params+ , PublicNumber(..)+ , PrivateNumber(..)+ , SharedKey(..)+ ) where -- | Represent Diffie Hellman parameters namely P (prime), and G (generator). type Params = (Integer,Integer) -- | Represent Diffie Hellman public number Y. newtype PublicNumber = PublicNumber Integer- deriving (Show,Read,Eq,Enum,Real,Num,Ord)+ deriving (Show,Read,Eq,Enum,Real,Num,Ord) -- | Represent Diffie Hellman private number X. newtype PrivateNumber = PrivateNumber Integer- deriving (Show,Read,Eq,Enum,Real,Num,Ord)+ deriving (Show,Read,Eq,Enum,Real,Num,Ord) -- | Represent Diffie Hellman shared secret. newtype SharedKey = SharedKey Integer- deriving (Show,Read,Eq,Enum,Real,Num,Ord)+ deriving (Show,Read,Eq,Enum,Real,Num,Ord)
Crypto/Types/PubKey/DSA.hs view
@@ -7,11 +7,11 @@ -- Portability : Excellent -- module Crypto.Types.PubKey.DSA- ( Params- , Signature- , PublicKey(..)- , PrivateKey(..)- ) where+ ( Params+ , Signature+ , PublicKey(..)+ , PrivateKey(..)+ ) where import Data.Data @@ -23,15 +23,15 @@ -- | Represent a DSA public key. data PublicKey = PublicKey- { public_params :: Params -- ^ DSA parameters- , public_y :: Integer -- ^ DSA public Y- } deriving (Show,Read,Eq,Data,Typeable)+ { public_params :: Params -- ^ DSA parameters+ , public_y :: Integer -- ^ DSA public Y+ } deriving (Show,Read,Eq,Data,Typeable) -- | Represent a DSA private key. -- -- Only x need to be secret. -- the DSA parameters are publicly shared with the other side. data PrivateKey = PrivateKey- { private_params :: Params -- ^ DSA parameters- , private_x :: Integer -- ^ DSA private X- } deriving (Show,Read,Eq,Data,Typeable)+ { private_params :: Params -- ^ DSA parameters+ , private_x :: Integer -- ^ DSA private X+ } deriving (Show,Read,Eq,Data,Typeable)
Crypto/Types/PubKey/RSA.hs view
@@ -7,22 +7,24 @@ -- Portability : Excellent -- module Crypto.Types.PubKey.RSA- ( PublicKey(..)- , PrivateKey(..)- ) where+ ( PublicKey(..)+ , PrivateKey(..)+ , private_size+ , private_n+ ) where import Data.Data -- | Represent a RSA public key data PublicKey = PublicKey- { public_size :: Int -- ^ size of key in bytes- , public_n :: Integer -- ^ public p*q- , public_e :: Integer -- ^ public exponant e- } deriving (Show,Read,Eq,Data,Typeable)+ { public_size :: Int -- ^ size of key in bytes+ , public_n :: Integer -- ^ public p*q+ , public_e :: Integer -- ^ public exponant e+ } deriving (Show,Read,Eq,Data,Typeable) -- | Represent a RSA private key. -- --- Only the sz, n and d fields are mandatory to fill.+-- Only the pub, d fields are mandatory to fill. -- -- p, q, dP, dQ, qinv are by-product during RSA generation, -- but are useful to record here to speed up massively@@ -31,12 +33,15 @@ -- implementations can leave optional fields to 0. -- data PrivateKey = PrivateKey- { private_size :: Int -- ^ size of key in bytes- , private_n :: Integer -- ^ private p*q- , private_d :: Integer -- ^ private exponant d- , private_p :: Integer -- ^ p prime number- , private_q :: Integer -- ^ q prime number- , private_dP :: Integer -- ^ d mod (p-1)- , private_dQ :: Integer -- ^ d mod (q-1)- , private_qinv :: Integer -- ^ q^(-1) mod p- } deriving (Show,Read,Eq,Data,Typeable)+ { private_pub :: PublicKey -- ^ public part of a private key (size, n and e)+ , private_d :: Integer -- ^ private exponant d+ , private_p :: Integer -- ^ p prime number+ , private_q :: Integer -- ^ q prime number+ , private_dP :: Integer -- ^ d mod (p-1)+ , private_dQ :: Integer -- ^ d mod (q-1)+ , private_qinv :: Integer -- ^ q^(-1) mod p+ } deriving (Show,Read,Eq,Data,Typeable)++private_size = public_size . private_pub+private_n = public_n . private_pub+private_e = public_e . private_pub
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2010-2011 Vincent Hanquez <vincent@snarc.org>+Copyright (c) 2010-2012 Vincent Hanquez <vincent@snarc.org> All rights reserved.
crypto-pubkey-types.cabal view
@@ -1,5 +1,5 @@ Name: crypto-pubkey-types-Version: 0.1.1+Version: 0.2.0 Description: Generic cryptography public keys algorithm types License: BSD3 License-file: LICENSE@@ -16,8 +16,7 @@ Exposed-modules: Crypto.Types.PubKey.RSA Crypto.Types.PubKey.DSA Crypto.Types.PubKey.DH- Build-depends: base >= 4 && < 5,- crypto-api >= 0.5+ Build-depends: base >= 4 && < 5 source-repository head type: git