Здравствуйте.
Алгоритм RSA.
Блок шифруется:
C = M^e mod n;
Блок дешифруется:
M = C^d mod n;
p = 151;
q = 283;
n = p * q = 42733;
m = (p - 1) * (q - 1) = 42300;
Числа e и d подбираются таким образом, чтобы
ed = 1mod(p - 1) * (q - 1)
При этом наибольший общий делитель НОД(e,(p - 1) * (q - 1)) = 1;
Я написал код которые генерирует 3 открытых и закрытых ключа.
e = 7, d = 6043;
e = 11 , d = 7691;
e = 13 , d = 22777;
Вопрос мой заключается в том что я не могу закодировать даже вручную одну букву этими ключами.Но они правильные.
Допустим я хочу закодировать букву А = 10;(index алфавита начинается с 10 по заданию)
C=10^7 mod 42733 = 478;
M = 478^6043 mod 42733 = -40023(и как уже понятно этот индекс никак не соответствует букве А);
Укажите пожалуйста на ошибку.