|
|
Виробка спільної таємниці |
|
|
Схема обміну ключами Діффі — Хеллмана була винайдена в 1976 році американськими вченими В. Діффі і М. Хеллманом. Прообразом запропонованого алгоритму послужила робота Р. Меркле, в якій автор представив новаторську ідею про систему поширення публічних ключів. Алгоритм Діффі-Хеллмана став першим практичним методом для здобуття загального секретного ключа при спілкуванні через незахищений канал зв'язку. Як важковирішувана задача було використано завдання знаходження дискретного логарифма. Припустимо, що обом абонентам відомі деякі два числа g і р. Дані числа відомі і всім іншим зацікавленим особам. Для того, щоб створити невідомий більш нікому секретний ключ, обидва Кореспонденти генерують великі випадкові числа: Кореспондент 1 — число а, Кореспондент 2 — число b. Потім Кореспондент 1 обчислює значення A = ga (mod p) та пересилає його другому, а інший обчислює B = gb (mod p) та передає першому. Зловмисник отримує обидва ці значення, але модифікувати їх (втрутитися в процес передачі) не може. На другому етапі Кореспондент 1 на основі того, що є у нього а та отриманого по мережі B обчислює значення Ba (mod p) = gab (mod p), а Кореспондент 2 на основі того, що є у нього b і отриманого по мережі A обчислює значення Ab (mod p) = gab (mod p). Неважко помітити, що у обох Кореспондентів вийшло одне і те ж число: K = gab (mod p). Його вони і можуть використовувати як секретний ключ, оскільки тут зловмисник зустрінеться з практично нерозв'язною (за розумний час) проблемою обчислення gab (mod p) маючи тільки перехоплені ga (mod p) та gb (mod p), якщо числа g, p, а, b вибрані чималими.
Мал.1 Схема обміну ключами Діффі-Хеллмана
При роботі алгоритму, кожен Кореспондент виконує наступні дії:
A = ga (mod p) / B=gb (mod p);
К виходить рівним з обох сторін, оскільки: Ba (mod p) = (gb (mod p))a (mod p) = gab (mod p) = (ga (mod p))b (mod p) = Ab (mod p). В практичних реалізаціях, для а і b використовують числа порядку 10100 і p порядку 10300. Число g не має бути великим і зазвичай має значення 2 або 5. Криптографічна стійкість алгоритму Діффі-Хеллмана (тобто складність обчислення K=gab (mod p) маючи відомі p, g, A=ga (mod p) и B=gb (mod p), заснована на передбачуваній складності проблеми дискретного логарифмування. Алгоритм застосовний у випадку, якщо необхідно провести конфіденційне листування, при якому:
Необхідно ще раз відзначити, що алгоритм Діффі-Хеллмана працює лише на лініях зв'язку, надійно захищених від модифікації. Якби він був застосовний на будь-яких відкритих каналах, то давно зняв би проблему поширення ключів і, можливо, замінив собою всю асиметричну криптографію. Проте, в тих випадках, коли в каналі можлива модифікація даних, з'являється очевидна можливість вклинення в процес генерації ключів «зловмисника-посередника» за тією ж самою схемою, що і для асиметричної криптографії. |
||
У розділі



