Изменения

Перейти к: навигация, поиск

RSA

502 байта убрано, 11:38, 5 мая 2018
Реализация
В основу криптографической системы с открытым ключом <tex>\mathtt{RSA}</tex> положена сложность [[Разложение_на_множители_(факторизация)|задачи факторизации]] произведения двух больших простых чисел. Для шифрования используется операция возведения в степень по модулю большого числа. Для дешифрования (обратной операции) за разумное время необходимо уметь вычислять [[Функция_Эйлера|функцию Эйлера]] от данного большого числа, для чего необходимо знать разложение числа на простые множители.
{{Определение
|definition='''Возведение в степень по модулю''' (англ. ''modular exponentiation'') — это вычисление остатка от деления натурального числа <tex>b</tex> (основание), возведенного в степень <tex>n</tex> (показатель степени), на натуральное число <tex>m</tex> (модуль). Обозначается:
<tex>c\equiv b^{n} \pmod m</tex>}}
В криптографической системе с открытым ключом каждый участник располагает как '''открытым ключом''' (англ. ''public key''), так и '''закрытым ключом''' (англ. ''private key''). В криптографической системе <tex>\mathtt{RSA}</tex> каждый ключ состоит из пары целых чисел. Каждый участник создаёт свой открытый и закрытый ключ самостоятельно. Закрытый ключ каждый из них держит в секрете, а открытые ключи можно сообщать кому угодно или даже публиковать их. Открытый и закрытый ключи каждого участника обмена сообщениями в криптосистеме <tex>\mathtt{RSA}</tex> образуют «согласованную пару» в том смысле, что они являются взаимно обратными. То есть для любых допустимых пар открытого и закрытого ключей <tex>(p,s)</tex> существуют соответствующие функции шифрования <tex>E_p(x)</tex> и расшифрования <tex>D_s(x)</tex> такие, что для любого сообщения <tex>m \in M</tex>, где <tex>M</tex> — множество допустимых сообщений, <tex>m=D_s(E_p(m))=E_p(D_s(m)).</tex>
302
правки

Навигация