Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Алгоритм шифрования. Деление по модулю


Автор: headzero 17.7.2015, 15:54
Читаю как работает аглоритм шифрования с открытым ключем
Алгоритм Диффи-Хеллмана работает следующим образом.
Предположим, что двум абонентам ( P1 и P2 ) требуется установить между собой безопасное соединение, для которого необходимо согласовать ключ шифрования.
1. P1 и P2 принимают к использованию два больших целых числа a и b, причем 1 < a < b.
2. P1 выбирает случайное число i и вычисляет  I = a^i mod b. P1 передает I абоненту P2.
3. P2 выбирает случайное число j и вычисляет J = a^j mod b. P2 передает J абоненту P1.
4. P1 вычисляет k1 = J^i mod b.
5. P2 вычисляет k2 = I^j mod b.
6. Имеем k1 = k2 = a^ (i*j) mod b, следовательно, k1 и k2 являются секретными ключами, предназначенными для использования при передаче других данных.
Вроде все понятно, но на шаге 4 вычисляется k1: k1 = J^i mod b, где J = a^j mod b
следовательно есть какое-то по которому (a^j mod b)^i mod b = a^ (i*j) mod b?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)