{-# LANGUAGE PackageImports #-}
module Codec.Encryption.OpenPGP.Internal.HOBlockCipher
( HOBlockCipher (..)
) where
import qualified Data.ByteString as B
import qualified "crypton" Crypto.Cipher.Types as CCT
class HOBlockCipher cipher where
cipherInit :: B.ByteString -> Either String cipher
cipherName :: cipher -> String
cipherKeySize :: cipher -> CCT.KeySizeSpecifier
blockSize :: cipher -> Int
cfbEncrypt
:: cipher
-> B.ByteString
-> B.ByteString
-> Either String B.ByteString
cfbDecrypt
:: cipher
-> B.ByteString
-> B.ByteString
-> Either String B.ByteString
paddedCfbEncrypt
:: cipher
-> B.ByteString
-> B.ByteString
-> Either String B.ByteString
paddedCfbEncrypt = cipher -> ByteString -> ByteString -> Either String ByteString
forall cipher.
HOBlockCipher cipher =>
cipher -> ByteString -> ByteString -> Either String ByteString
cfbEncrypt
paddedCfbDecrypt
:: cipher
-> B.ByteString
-> B.ByteString
-> Either String B.ByteString
paddedCfbDecrypt = cipher -> ByteString -> ByteString -> Either String ByteString
forall cipher.
HOBlockCipher cipher =>
cipher -> ByteString -> ByteString -> Either String ByteString
cfbDecrypt