Составители:
Второй способ безопасного распространения секретных ключей
основан на применении алгоритма открытого распределения ключей
Диффи-Хеллмана. Этот алгоритм позволяет пользователям
обмениваться ключами по незащищённым каналам связи.
7.8. Протокол алгоритма открытого распределения ключей Диффи-
Хеллмана
Данный алгоритм [22] базируется на тех же принципах, что и
асимметричная система шифрования с открытым ключом. Рассмотрим
алгоритм
выработки общего секретного ключа для организации
незащищенного коммуникационного канала с использованием
алгоритма открытого распределения ключей. С этой целью
пользователям A и B необходимо:
1. Выбрать модуль N (число N должно быть простым) и примитивный
элемент g∉Z
N
(1≤g≤N-1), который образует все ненулевые элементы
множества Z
N
, то есть (g, g
2
,…,g
N-1
). Два целых числа Z и g могут не
храниться в секрете. Как правило, эти значения являются общими для
всех пользователей системы.
2. Выбрать собственные секретные ключи k
A
и k
B
(k
A
и k
B
– случайные
большие целые числа, которые хранятся пользователями в секрете).
3. Вычислить собственные открытые ключи по следующим
соотношениям:
K
A
= g
k
A
(mod N),
K
B
= g
k
B
(mod N).
4. Обменяться вычисленными значениями открытых ключей K
A
и K
B
по незащищённому каналу.
5. Вычислить общий секретный ключ применяя следующие
соотношения:
- пользователь А: K = (K
B
)
k
A
≡ (g
k
B
)
k
A
(mod N);
- пользователь В: K′ = (K
A
)
k
B
≡(g
k
A
)
k
B
(mod N).
При этом K = K′, так как (g
k
B
)
k
A
(mod N)
= (g
k
A
)
k
B
(mod N).
Схема реализации алгоритма Диффи-Хеллмана приведена на рис.
7.2.
В данном алгоритме ключ K может быть использован не только в
качестве общего разделяемого секретного ключа (или ключа
147
Страницы
- « первая
- ‹ предыдущая
- …
- 143
- 144
- 145
- 146
- 147
- …
- следующая ›
- последняя »