The Diffie-Hellman Protocol
-  Can be used to establish common secret key over insecure channel
 -  Requires commutative encryption function E(E(M, Ka), Kb) = E(E(M, Kb), Ka) 
 -  Procedure
-  Alice chooses a key M
 -  Alice sends Bob E(M, Ka)
 -  Bob sends Alice E(E(M, Ka), Kb)
 -  ... which is E(E(M, Kb), Ka)
 -  Alice decrypts it into E(M, Kb) and sends it to Bob
 -  Bob decrypts it to M
 -  M can then be used as a shared secret key