haskell Symmetrical Block, Stream and PubKey Ciphers