1.5 KiB
1.5 KiB
RSA - шифрование с использованием публичного ключа, позволяющее безопасно отправлять данные по небезопсаным каналам связи. При использовании небезопасных каналов связи, мы ожидаем что их будут прослушивать.
RSA основывается на вычислении множителей большого числа.
Публичный ключ используется что бы зашифровать сообщение, а приватный ключ что бы расшифровать его.
Рассмотрим на примере:
- Боб выбирает 2 простыл числа, p и q (например 157, 199) и вычисляет n = p * q = 157 * 199 = 31243
- При
F(n) = n - p - q + 1(31243 - 157 - 199 + 1 = 30888), боб выбирает e = 163, которое является ваимопростым с F(n), так же он выбирает d = 379, такое чтоe * d = 1 mod F(n)(163 * 379 - 61777, 61777 mod 30888 = 1). Публичным ключем является (n,e) (31243,163), а приватным ключем ялвятся (n,d) (31243,379). - Представим что зашифрованное сообщение является x = 13, тогда Алисе надо вычислить и отправить x
