-
The Diffie-hellman key exchange protocol is a symmetric-key algorithm which uses a single key for encryption and decryption of messages.
-
Diffie-Hellman operates in a cyclic group by definition: the elements 𝑔,𝑔^𝑎,𝑔^𝑏,𝑔^(𝑎𝑏) are in the cyclic group generated by 𝑔, where 𝑔 is the base, 𝑔^𝑎 is Alice's public key, 𝑔^𝑏 is Bob's public key and 𝑔^(𝑎𝑏) is both Alice's and Bob's mutual secret key.
-
I have implemented a high-level program of the Diffie-Hellman key exchange protocol in Rust where random numbers are generated as the private keys for both bob and Alice.
-
The base and prime modulus are public and together with the private keys, are used to compute the public keys and finally generate the shared secret key.
-
I have also used Advanced Encryption Standard(AES) which along with the shared secret key is used to encrypt and decrypt messages shared between Alice and Bob.
-
Eve has got nothing on this program!😃🤓