packages feed

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 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