Crypto teaching material with Haskell code