skip to content

Ключи без предварительной установки

Схемы обмена (выработки) секретного ключа между двумя абонентами, не имевшими до этого защищенного канала, занимают отдельную и очень интересную нишу в современной криптографии. Задача у протоколов этого класса — создать на основе сообщений, передаваемых по открытым каналам связи, у двух абонентов идентичную ключевую информацию, причем сделать это так, чтобы любое третье лицо, законспектировавшее все прошедшие переговоры, этого ключа получить не смогло. На первый взгляд задача кажется совсем неразрешимой, но методы достижения этой цели существуют и при этом весьма надежны. Основой для подобных протоколов являются схемы, очень напоминающие асимметричное шифрование.

Первая схема выработки секретного ключа носит название схемы Шамира по фамилии ее создателя. Первоначально все стороны, участвующие в обмене ключей по данной схеме, договариваются о большом простом числе Р (не являющимся секретом), обладающим теми же свойствами, что и в схеме Эль-Гамаль. Любые два абонента (А и В), желающие создать секретный, ключ сеанса:

  1. Создают соответственно два больших случайных числа (а и б), а также их инверсии по модулю р (а-1 modpи b-1 mod p) и держат их на своих системах в секрете.
  2. Вызывающая сторона генерирует ключ сеанса k(k< р-2) и возводит его в степень а по модулю р, после чего отправляет полученное выражение вызываемому абоненту: M1=ka mod p.
  3. Вызываемая сторона возводит полученное сообщение в степень bи отправляет обратно: М2 = (M1mod p) = (kab mod p}.
  4. Вызывающая сторона дешифрует полученное число инверсией числа а и отправляет обратно: МЗ = (М2-b mod р) = (kb mod p).
  5. Наконец, абонент В дешифрует последнее сообщение инверсией числа b и получает желаемый ключ сеанса: k= (МЗ-mod p) = (k mod p).