úÎ#Þ þ      :Any monad that contains the result of an operation in the ( context of cipher-block-chaining mode.  A cipher -CbcT is the monad transformer version of Cbc 6Contains the result of an operation in the context of  cipher-block-chaining mode. 8Evaluates a cipher-block-chaining-mode operation, given - a cipher and an initialization vector (IV). 0This is the monad tranformer version of evalCbc BThis is the fundamental cipher-block-chaining encryption protocol BThis is the fundamental cipher-block-chaining decryption protocol    +1A 128 bit data block, decomposed into four words BA keyed Twofish cipher capable of both encryption and decryption.  >A key is a vector of bytes of a certain size (given in bits). 8 Twofish suppports key sizes of 128, 192, and 256 bits. =Extracts the nth byte from a key (starting with 0, the least  significant byte). 9This particular implementation works around a bug in the / Data.LargeWord module involving right shifts. 5Lift a crytographic transformation of a block into a " transformation of a byte vector. -Decompose a 128 bit word into 4 32 bit words 2This particular implementation works around a bug 6 in the Data.LargeWord module involving right shifts. +Compose 4 32 bit words into a 128 bit word 8Constructs a standard Twofish cipher from the given key Constructs an encryption/*decryption cipher from the given key, and < a given number of rounds (standard Twofish uses 16 rounds) !<This function performs n rounds of the encryption algorithm "<This function performs n rounds of the decryption algorithm #$%&'()*+,-./012345Generates the q0. byte vector using the algorithm specified in & the Twofish paper. This function isn't used by the cipher; instead 2 the pre-computed array is contained in the code. Generates the q1. byte vector using the algorithm specified in & the Twofish paper. This function isn't used by the cipher; instead 2 the pre-computed array is contained in the code. 67   8      !"#$%&'()*+,-./0123456789 Twofish-0.2 Data.CipherCodec.Encryption.TwofishMonadCbcCipherencryptdecryptCbcTCbcevalCbcevalCbcT cbcEncrypt cbcDecrypt TwofishCipherKey mkStdCiphermkCipherq0oq1omonadCbc ByteVectorKIndexorSVectorGFuncHFunc WordVectorBlockCebdbkeyByte liftCryptormkBlockdeBlock encryptRounds decryptRoundsfKmkGmkSreversemkVectormkKmkfH fHGeneratormdsmkMdsXmkMdsYrsrsRemrho selectWordbyteN mkByteVectorq0cq1cqror4