double arrow

Алгоритм Диффи-Хеллмана

Этот алгоритм предполагает, что два абонента дистанционно будут генерировать ключ для шифрования в дальнейшем, например, каким-либо симметричным алгоритмом. Алгоритм Диффи-Хеллмана (1976 год) использует функцию дискретного возведения в степень.

Последовательность действий в алгоритме Диффи-Хелмана:

1. Сначала генерируются два больших простых числа n и q. Эти два числа не обязательно хранить в секрете.

2. Далее один из партнеров P1 генерирует случайное число x и посылает другому участнику будущих обменов P2 значение A = qx mod n.

3. По получении А партнер P2 генерирует случайное число у и посылает P2 вычисленное значение B = qy mod n.

4. Партнер P1, получив В, вычисляет Kx = Bx mod n.

5.Партнер P2, получив A вычисляет Ky = Ay mod n.

6. Алгоритм гарантирует, что числа Ky и Kx равны и могут быть использованы в качестве секретного ключа для шифрования.

Как видно из алгоритма, даже «перехватив» числа А и В, вычислить Kx или Ky невозможно.

Пример. Представим итерации алгоритма в виде последовательности действий партнеров в табличной форме (табл. 2.1). Таблица 2.1

    Совместным ключом для шифрования будет 5.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: