-- 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.6.0 module Crypto.Cipher -- | Symmetric cipher class. class Cipher cipher cipherInit :: Cipher cipher => Key cipher -> cipher cipherName :: Cipher cipher => cipher -> String cipherKeySize :: Cipher cipher => cipher -> KeySizeSpecifier -- | Symmetric block cipher class class Cipher cipher => BlockCipher cipher blockSize :: BlockCipher cipher => cipher -> Int ecbEncrypt :: BlockCipher cipher => cipher -> ByteString -> ByteString ecbDecrypt :: BlockCipher cipher => cipher -> ByteString -> ByteString cbcEncrypt :: BlockCipher cipher => cipher -> IV cipher -> ByteString -> ByteString cbcDecrypt :: BlockCipher cipher => cipher -> IV cipher -> ByteString -> ByteString ctrCombine :: BlockCipher cipher => cipher -> IV cipher -> ByteString -> ByteString xtsEncrypt :: BlockCipher cipher => (cipher, cipher) -> IV cipher -> DataUnitOffset -> ByteString -> ByteString xtsDecrypt :: BlockCipher cipher => (cipher, cipher) -> IV cipher -> DataUnitOffset -> ByteString -> ByteString aeadInit :: (BlockCipher cipher, Byteable iv) => AEADMode -> cipher -> iv -> Maybe (AEAD cipher) -- | Symmetric stream cipher class class Cipher cipher => StreamCipher cipher streamEncrypt :: StreamCipher cipher => cipher -> ByteString -> (ByteString, cipher) streamDecrypt :: StreamCipher cipher => cipher -> ByteString -> (ByteString, cipher) -- | AES with 128 bit key data AES128 :: * -- | AES with 192 bit key data AES192 :: * -- | AES with 256 bit key data AES256 :: * -- | variable keyed blowfish state data Blowfish :: * -- | DES Context data DES :: * -- | 3DES with 3 different keys used all in the same direction data DES_EEE3 :: * -- | 3DES with 3 different keys used in alternative direction data DES_EDE3 :: * -- | 3DES where the first and third keys are equal, used in the same -- direction data DES_EEE2 :: * -- | 3DES where the first and third keys are equal, used in alternative -- direction data DES_EDE2 :: * -- | Camellia block cipher with 128 bit key data Camellia128 :: *