Cryptographic public key related algorithms in haskell (RSA,DSA,DH,ElGamal)