Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Алгоритм шифрования. Деление по модулю |
Автор: 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? |