Added DiffieHellman.java which handles the DH protocol.