1. Схема Диффи – Хеллмана
Для начала введем обозначения. Пусть р – заданное простое число, g – заданное натуральное число, g < p. На самом деле g это так называемый первообразный корень числа р. Об этом мы расскажем ниже, в приложении 2 и приложении 3 к главе 6. Цель данного раздела – доказать, что в схеме Диффи – Хеллмана Алиса и Боб действительно получают один и тот же ключ.
Для любых натуральных чисел n и р мы воспользуемся стандартным обозначением для остатка от деления n на р:
n(mod p) = [остаток от деления n на p].
(Читается «n по модулю p».)
Итак, Алиса задумала число х, а Боб число у. Схема Диффи – Хеллмана состоит из двух шагов.
Шаг 1. Алиса передает Бобу
a = (gx) (mod p).
Боб передает Алисе
b = (gy) (mod p).
Шаг 2. Алиса вычисляет ключ
KA = (bx) (mod p).
Боб вычисляет ключ
KB = (ay) (mod p).
Утверждение. Боб и Алиса получили один и тот же ключ K = KA = KB.
Доказательство. Нам нужно доказать, что KA = KB. Поскольку а и b – это остатки от деления на р, то существуют такие целые числа k и l, при которых
a = gx ? kp, b = gy ? lp.
Подставив эти выражения в формулы для ключей, получаем:
KA = (gy ? lp)x (mod p),
KB = (gx ? kp)y (mod p).
Заметим, что в выражении для KA можно расписать (gy ? lp)x следующим образом:

где А – это целое число, то есть рА делится на р. Таким образом получаем
KA = ((gy ? lp)x) (mod p) = ((gy)x + pA) (mod p) = (gy)x (mod p).
Совершенно аналогично для какого-то целого числа B получаем
KB = ((gx ? kp)y) (mod p) = ((gx)y + pB) (mod p) = (gx)y (mod p).
Результат теперь очевиден, поскольку
(gy)x = gyx = gxy = (gx)y.
Больше книг — больше знаний!
Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУ