1632
правки
Изменения
RSA
,rollbackEdits.php mass rollback
{{Определение
|definition='''RSA''' (аббревиатура от фамилий Rivest, Shamir и Adleman) — криптографический алгоритм с открытым ключом, основывающийся на вычислительной сложности задачи факторизации больших целых чисел.}}
Криптосистема <tex>\mathtt{RSA}</tex> стала первой системой, пригодной и для шифрования, и для цифровой подписи.
==Применение==
Система <tex>\mathtt{RSA}</tex> используется для защиты программного обеспечения и в схемах цифровой подписи. Также она используется в открытой системе шифрования PGP<ref>[https://ru.wikipedia.org/wiki/PGP Wikipedia — PGP]</ref> и иных системах шифрования (к примеру, DarkCryptTC<ref>[http://www.tckb.ru/wiki/DarkCryptTC Русскоязычная база знаний о Total Commander — DarkCryptTC]</ref> и формат xdc<ref>[http://totalcmd.net/plugring/darkcrypttc.html DarkCrypt IV description]</ref>) в сочетании с симметричными алгоритмами. Наиболее используемым в настоящее время является смешанный алгоритм шифрования, в котором сначала шифруется сеансовый ключ, а потом уже с его помощью участники шифруют свои сообщения симметричными системами. После завершения сеанса сеансовый ключ, как правило, уничтожается. Алгоритм шифрования сеансового ключа выглядит следующим образом: [[Файл:Oo1.jpg|800px|center]]==Плюсы=Шифрование===Алгоритм:* Взять ''открытый ключ'' <tex>(e,n)</tex> Алисы* Создать случайный ''сеансовый ключ'' <tex>m</tex>* Зашифровать сеансовый ключ с использованием открытого ключа Алисы:*: <tex>c = E(m) = m^e \mod n</tex>* Расшифровать сообщение <tex>C</tex> с помощью сеансового ключа симметричным алгоритмом:*:<tex>M_A = D_m(C)</tex> ===Расшифрование===Алгоритм:* Принять зашифрованный сеансовый ключ Боба <tex>c</tex>* Взять свой ''закрытый ключ'' <tex>(d,n)</tex>* Применить закрытый ключ для расшифровывания сеансового ключа:*: <tex>m = D(c) = c^d \mod n</tex>* Зашифровать сообщение <tex>M_A</tex> с помощью сеансового ключа симметричным алгоритмом:*:<tex>C = E_m(M_A)</tex>
==Минусы==
Алгоритм <tex>\mathtt{RSA}</tex> намного медленнее, чем AES<ref>[https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard Wikipedia — AES]</ref> и другие алгоритмы, использующие симметричные блочные шифры.
При неправильной или неоптимальной реализации или использовании алгоритма возможны специальные криптографические атаки, такие как атаки на схемы с малой секретной экспонентой или на схемы с общим выбранным значением модуля.
Из-за низкой скорости шифрования (около <tex>30</tex> кбит/с при <tex>512</tex> битном ключе на процессоре <tex>2</tex> ГГц), сообщения обычно шифруют с помощью более производительных симметричных алгоритмов со случайным сеансовым ключом (например, IDEA<ref>[https://ru.wikipedia.org/wiki/IDEA Википедиа — IDEA]</ref>, Serpent<ref>[https://ru.wikipedia.org/wiki/Serpent Википедиа — Serpent]</ref>, Twofish<ref>[https://ru.wikipedia.org/wiki/Twofish Википедиа — Twofish]</ref>), а с помощью <tex>\mathtt{RSA}</tex> шифруют лишь этот ключ, таким образом реализуется гибридная криптосистема.
==См. также==
* [[Классы чисел]]
==Примечания==
<references />
== Источники информации ==
* [https://en.wikipedia.org/wiki/RSA_(cryptosystem) <tex>\mathtt{RSA}</tex> (cryptosystem)]
* [https://ru.wikipedia.org/wiki/RSA <tex>\mathtt{RSA}</tex>]
[[Категория: Алгоритмы и структуры данных]]
[[Категория: Криптографические алгоритмы]]