@pogromist228

Есть ли простой для восприятия алгоритм ассимитричного шифрования?

Хочу понять как работают алгоритмы шифрования с двумя ключами. Искал информацию о rsa но понял что там используется какие-то сложные математические вычисления которые мне не по зубам.
Хотел узнать, может кто сможет привести пример простого ассиметричного шифрования (с использованием двух ключей), что бы это можно было повторить в ручную, без супер-пупер математики.
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
База асимметричного шифрования весьма проста. Для RSA:
Берём два простых числа p и s, например
p = 19
s = 13
Вычисляем их произведение n и функцию Эйлера f:
n = p * s = 247
f = (p - 1) * (s - 1) = 216
Подбираем коэффициент k и экспоненту e так, чтобы значение d = (k * f + 1)/e было целым
k = 9
e = 5
d = 389, целое
Пара (e, n) даёт нам ключ для шифрования, пара (d, n) - ключ для дешифрования.
crypted = messagee % n
decrypted = cryptedd % n
Очевидно, что из за операций по модулю мы можем шифровать сообщения в диапазоне [0, n - 1].
message = 200
crypted = 2005 % 247 = 174
decrypted = 174389 % 247 = 200
Основная сложность в том, что для защиты от подбора ключа нам нужны очень большие простые числа и значения n. Вот тут и возникают алгоритмы вычисления степеней, модулей и прочих операций с 1024-, 2048-, 4096-разрядными числами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы