5. Алгоритм Діффі-Геллмана. Наведіть приклад роботи алгоритму для трьох користувачів.
Алгоритм
Діффі-Геллмана (англ. Diffie–Hellman key exchange
(D–H)) — це метод обміну криптографічними
ключами. Один з перших практичних
прикладів обміну ключами, що дозволяє
двом учасникам, що не мають жодних
попередніх даних один про одного,
отримати спільний секретний ключ із
використанням незахищеного каналу
зв'язку. Цей ключ можна використати для
шифрування наступних сеансів зв'язку,
що використовують шифр з симетричним
ключем.
Схему
вперше оприлюднили Вітфілд Діффі і
Мартін Геллман у 1976, хоча пізніше
стверджувалось, що схема кількома роками
раніше винайшов Малколм Вільямсон у
GCHQ, британській розвідувальній агенції.
2002, Геллман запропонував називати
алгоритм Обмін ключами Діффі-Геллмана-Меркла
у визнання внеску Ральфа Меркла в
винайдені криптосистем із відкритим
ключем.
Приклад
роботи алгоритму Діффі-Геллмана для
трьох учасників. Аліса, Боб і Керол
можуть узяти участь в узгоджені так
(всі дії відбуваються за модулем p):
Учасники
домовляються про параметри алгоритму
p
і g.
Учасники
генерують власні ключі, названі a,
b
і c.
Аліса
обчислює ga
і відправляє Бобу.
Боб
обчислює (ga)b=gab
і відправляє Керол.
Керол
обчислює (gab)c=
gabc
і
використовує як свій ключ.
Боб
обчислює gb
і відправляє Керол.
Керол
обчислює (gb)c=gbc
і відправляє Алісі.
Аліса
обчислює (gbc)a=
gbca
і використовує як свій ключ.
Керол
обчислює gc
і відправляє Алісі.
Аліса
обчислює (gc)a=gca
і відправляє Боб.
Боб
обчислює (gcb)a=
gcba
і використовує як свій ключ.