13 lines
1.5 KiB
Markdown
13 lines
1.5 KiB
Markdown
RSA - шифрование с использованием публичного ключа, позволяющее безопасно отправлять данные по небезопсаным каналам связи. При использовании небезопасных каналов связи, мы ожидаем что их будут прослушивать.
|
|
|
|
RSA основывается на вычислении множителей большого числа.
|
|
|
|
Публичный ключ используется что бы зашифровать сообщение, а приватный ключ что бы расшифровать его.
|
|
|
|
Рассмотрим на примере:
|
|
|
|
![[Pasted image 20260907152906.png]]
|
|
|
|
1. Боб выбирает 2 простыл числа, *p* и *q* (например 157, 199) и вычисляет *n* = *p* * *q* = 157 * 199 = 31243
|
|
2. При `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).
|
|
3. Представим что зашифрованное сообщение является x = 13, тогда Алисе надо вычислить и отправить x |