Что именно опубликовано в ключе RSA
При создании RSA выбирают два больших простых числа и перемножают их. Полученное число называют модулем: оно входит в открытый ключ вместе с показателем — ещё одним числом, задающим преобразование сообщения. Открытый ключ можно распространять, не раскрывая исходные множители.
Вычисления ведутся по модулю: после умножения учитывают только остаток от деления на модуль. Благодаря этому открытый ключ позволяет зашифровать данные, а специальный секретный показатель — восстановить их. Этот показатель строят с учётом множителей, поэтому знание исходных простых чисел даёт путь к секретному ключу.
Почему обратный путь труден
Перемножить числа можно обычным алгоритмом за сравнительно небольшое число шагов. Но если известен только результат, универсального столь же простого способа восстановить множители не известно: приходится применять методы факторизации, которые становятся крайне затратными по мере роста чисел. Здесь и возникает асимметрия RSA — простое действие в одном направлении и трудная обратная задача.
Это не абсолютная гарантия. Чем меньше модуль или слабее его создание, тем легче атакующему; кроме того, уязвимость может появиться из-за ошибок в программе или обращения с ключом, даже если факторизация остаётся трудной. Поэтому RSA — не «неразбиваемый шифр», а схема, чья надёжность опирается на вычислительную цену конкретной атаки.
Почему шифруют не всё подряд
На практике RSA обычно не применяют напрямую к длинным сообщениям. Он помогает безопасно передать небольшой секрет, например ключ для быстрого симметричного шифрования, которым затем защищают основной поток данных. Специальное кодирование перед операцией RSA также важно: оно не даёт предсказуемой структуре обычного текста превратить математическую задачу в более лёгкую.
Так произведение двух простых чисел становится не замком само по себе, а частью системы, где безопасность зависит и от размера ключа, и от аккуратной реализации.






