haskell Generic cryptography cipher tests