Public Key Cryptography: Diffie-Hellman Key Exchange (short version)