Added Haskell implementation of the actual cipher routine