-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Symmetrical block and stream ciphers.
--   
--   Symmetrical block and stream ciphers.
@package cryptocipher
@version 0.5.0


-- | this only cover Camellia 128 bits for now, API will change once 192
--   and 256 mode are implemented too
module Crypto.Cipher.Camellia
data Key
Key :: Vector Word64 -> Vector Word64 -> Vector Word64 -> Key
k :: Key -> Vector Word64
kw :: Key -> Vector Word64
ke :: Key -> Vector Word64
initKey128 :: ByteString -> Either String Key

-- | encrypt with the key a bytestring and returns the encrypted bytestring
encrypt :: Key -> ByteString -> ByteString

-- | decrypt with the key a bytestring and returns the encrypted bytestring
decrypt :: Key -> ByteString -> ByteString
instance Show Word128
instance Eq Word128
instance Show Key


module Crypto.Cipher.Blowfish
data Blowfish
data Key
initKey :: ByteString -> Either String Key
encrypt :: Key -> ByteString -> ByteString
decrypt :: Key -> ByteString -> ByteString
instance Eq Key
instance Show Key
instance Serialize Key
instance Serialize Blowfish


-- | This module just re-export Crypto.Cipher.RC4 from the cipher-rc4
--   module.
--   
--   Documentation can be found at
--   <a>http://hackage.haskell.org/package/cipher-rc4</a>
module Crypto.Cipher.RC4


-- | This module just re-export Crypto.Cipher.AES from the cipher-aes
--   module.
--   
--   Documentation can be found at
--   <a>http://hackage.haskell.org/package/cipher-aes</a>
module Crypto.Cipher.AES
