Общее описание
Решение задачи выработки общего
секретного ключа для сеанса связи любой пары
пользователей информационной системы для
протокола "открытого распределения ключей"
предложено У.Диффи и М.Хелманом. "Открытое
распределение ключей" (ОРК) подразумевает
независимое генерирование каждым из пары
связывающихся пользователей своего случайного
числа, преобразование его посредством некоторой
процедуры, обмен преобразованными числами по
каналу связи и вычисление общего секретного
ключа на основе информации, полученной по каналу
связи от партнера и своего случайного числа.
Каждый такой ключ существует только в течение
одного сеанса связи (или даже части сеанса).
Таким образом, ОРК позволяет паре пользователей
системы выработать общий секретный ключ, не имея
заранее распределенных секретных элементов.
При этом две функции общего секретного ключа,
традиционно доставляемого из Центра, — защита
информации в канале связи от третьей стороны и
подтверждение подлинности каждого из абонентов
его партнеру, — разделяются.
Действительно, отсутствие у абонентов перед
сеансом связи заранее распределенного общего
секретного ключа в принципе не дает им
возможности удостовериться с абсолютной
надежностью в подлинности друг друга при помощи
только обмена сообщениями по открытому каналу.
Для достоверного подтверждения подлинности
каждый из них должен иметь специальный признак
(пароль), известный только ему и отличающий его от
всех других. Должна быть обеспечена такая
процедура предъявления пароля, чтобы его
многократное использование не снижало
надежности доказательства подлинности
владельца.
Протокол генерации ключей
Протокол ОРК Диффи-Хеллмана
выглядит следующим образом:
абоненты знают числа A и P;
абоненты генерируют независимо друг от
друга случайные числа:
Ka, Kb
удовлетворяющих условию:
1 < K < P
вычисляют и обмениваются по каналам связи:
A Ka mоd(P) и A Kb mоd(P)
вычисляют общий секретный ключ
K = ( A Kb ) Ka mоd(P) = ( A Ka ) Kb mоd(P)
При помощи специальных приемов
время формирования общего ключа в системе ОРК
Диффи-Хелмана с простым числом P из 150 десятичных
знаков может быть сокращено в 5-6 раз по сравнению
с системами ОШ ЭльГамаля и Шамира, использующими то же число P,
т.е. оно становится в 30-35 раз меньше чем время
обработки блока в RSA с тем же
уровнем стойкости. Это с точки зрения
большинства практических приложений
оказывается заметным преимуществом.