Cryptographic algorithms implemented in Haskell