Solutions to Matasano Crypto challenges in haskell