Diffie-Hellman Key Exchange
What can this protocol do?
Diffie-Hellman Key Exchange allows two people (or systems) who have never met to establish a shared secret over a public communication channel. Even if an eavesdropper is monitoring the conversation, they won’t be able to determine the shared secret.
Why Matters?
With shared secret from DHKE, we can leverage the technique called "symmetric encryption" to create the secure channel of communication between parties that hold this shared secret such that other people cannot see what they communicate to each other (More on symmetric encryption later, make it clickable to symmetric encryption section??). This secure communication is used in "Messaging Apps" like WhatsApp to ensure that messages can only be read by the sender and receiver.
Setup
We work within a cyclic group with the operation being modular multiplication. Here, is a large public prime number (longer than 2948 bits), and is a generator of the group.
:Intuitively, why do you think we require to be a very big prime number
Private Values:
Party A (Alice) chooses a private value
Party B (Bob) chooses a private value
Public Values:
Alice computes her public value and sends it to Bob.
Bob computes his public value and sends it to Alice.
Shared Secret:
Alice computes
Bob computes
Explain why Diffe-Hellman Key Exchange make sense i.e. Alice and Bob arrive at the same shared secret.