При использовании протокола Diffie-Hellman К генерируется автоматически. Окончательный протокол еще проще. Значения g и п определяются для всех пользователей сети.
(1) Алиса выбирает случайное число гА и посылает Бобу
A, gr- mod n
При использовании Diffie-Hellman Алисе не нужно шифровать с помощью Р свое первое сообщение.
(2) Боб выбирает случайное число гв и вычисляет
K=gr*'r* mod n
Он генерирует случайную строку RB, затем вычисляет и посылает Алисе: Epigr" mod n),Ex(RB)
(3) Алиса расшифровывает первую половину сообщения Боба, получая g^mod п. Затем она вычисляет К и
использует его для шифрования RB. Она генерирует другую случайную строку RA„ шифрует обе строки ключом К и посылает результат Бобу.
EdRA„RB)
(4) Боб расшифровывает сообщение, получая RA, и RB. Если полученная от Алисы строка RB совпадает с той,
которую он посылал ей на этапе (2), он шифрует RA ключом К и посылает результат Алисе.
(5) Алиса расшифровывает сообщение, получая RA. Если полученная от Боба строка RA совпадает с той, которую она посылала Бобу на этапе (3), протокол завершается. Теперь стороны могут обмениваться сообщениями, используя К в качестве сеансового ключа .