packages feed

cryptocipher 0.3.4 → 0.3.5

raw patch · 3 files changed

+26/−10 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

Crypto/Cipher/AES/Haskell.hs view
@@ -315,13 +315,26 @@ 		cR0 it r0 r1 r2 r3 = 			(sbox r1 `xor` rcon it, sbox r2, sbox r3, sbox r0) +rotateR' :: Word32 -> Int -> Word32+rotateR' = case getSystemEndianness of+           LittleEndian -> rotateR+           BigEndian    -> rotateL+{-# INLINE rotateR' #-}++rotateL' :: Word32 -> Int -> Word32+rotateL' = case getSystemEndianness of+           LittleEndian -> rotateL+           BigEndian    -> rotateR+{-# INLINE rotateL' #-}++ {-# INLINE shiftRows #-} shiftRows :: AESState -> IO () shiftRows blk = do 	r32 blk 0 >>= w32 blk 0 . msbox32-	r32 blk 1 >>= \t1 -> w32 blk 1 $ rotateR (msbox32 t1) 8-	r32 blk 2 >>= \t2 -> w32 blk 2 $ rotateR (msbox32 t2) 16-	r32 blk 3 >>= \t3 -> w32 blk 3 $ rotateR (msbox32 t3) 24+	r32 blk 1 >>= \t1 -> w32 blk 1 $ rotateR' (msbox32 t1) 8+	r32 blk 2 >>= \t2 -> w32 blk 2 $ rotateR' (msbox32 t2) 16+	r32 blk 3 >>= \t3 -> w32 blk 3 $ rotateR' (msbox32 t3) 24  {-# INLINE addRoundKey #-} addRoundKey :: Key -> Int -> AESState -> IO ()@@ -355,9 +368,9 @@ shiftRowsInv :: AESState -> IO () shiftRowsInv blk = do 	r32 blk 0 >>= w32 blk 0 . mrsbox32-	r32 blk 1 >>= \t1 -> w32 blk 1 $ mrsbox32 $ rotateL t1 8-	r32 blk 2 >>= \t2 -> w32 blk 2 $ mrsbox32 $ rotateL t2 16-	r32 blk 3 >>= \t3 -> w32 blk 3 $ mrsbox32 $ rotateL t3 24+	r32 blk 1 >>= \t1 -> w32 blk 1 $ mrsbox32 $ rotateL' t1 8+	r32 blk 2 >>= \t2 -> w32 blk 2 $ mrsbox32 $ rotateL' t2 16+	r32 blk 3 >>= \t3 -> w32 blk 3 $ mrsbox32 $ rotateL' t3 24  {-# INLINE mixColumnsInv #-} mixColumnsInv :: AESState -> IO ()
Crypto/Cipher/ElGamal.hs view
@@ -21,13 +21,14 @@     , encryptWith     , encrypt     , decrypt+{-     , sign     , verify+-}     ) where  import Number.ModArithmetic (exponantiation, inverse)-import Number.Prime (generateSafePrime)-import Number.Generate (generateOfSize, generateBetween)+import Number.Generate (generateOfSize) import Crypto.Types.PubKey.DH import Crypto.Random import Control.Arrow (first)@@ -61,10 +62,12 @@  -- | decrypt message decrypt :: Params -> PrivateNumber -> (Integer, Integer) -> Integer-decrypt (p,g) (PrivateNumber a) (c1,c2) = (c2 * sm1) `mod` p+decrypt (p,_) (PrivateNumber a) (c1,c2) = (c2 * sm1) `mod` p     where s   = exponantiation c1 a p           sm1 = fromJust $ inverse s p -- always inversible in Zp +{- sign = undefined  verify = undefined+-}
cryptocipher.cabal view
@@ -1,5 +1,5 @@ Name:                cryptocipher-Version:             0.3.4+Version:             0.3.5 Description:         Symmetrical Block, Stream and PubKey Ciphers License:             BSD3 License-file:        LICENSE