Rewrote ElgamalCryptoType to use Exponential ElGamal and DH Keys.
Merge remote-tracking branch 'origin/CryptoRevision' into CryptoRevision