RSA

RSA (Rivest–Shamir–Adleman) — один из первых и самых известных алгоритмов асимметричного шифрования, разработанный в 1977 году Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом. Алгоритм использует сложность факторизации больших целых чисел и лежит в основе множества современных систем безопасности.

RSA позволяет:

  • шифровать данные с помощью открытого ключа;
  • расшифровывать их только при наличии соответствующего закрытого ключа;
  • создавать и проверять электронные подписи, обеспечивая неотказуемость и целостность информации.

Основные характеристики RSA

ХарактеристикаОписание
Тип алгоритмаАсимметричное шифрование / ЭЦП
КлючиПара: закрытый и открытый ключ
Длина ключейОбычно 2048 или 3072 бита
ИспользованиеSSL/TLS, SSH, PGP, ЭЦП, государственные системы
СтандартыPKCS #1, IEEE P1363, FIPS 186-4

Как работает RSA?

Алгоритм RSA основан на математических свойствах простых чисел и факторизации больших чисел. Процесс состоит из трёх основных этапов:

1. Генерация ключевой пары

  • Выбираются два больших простых числа p и q;
  • Вычисляется их произведение n = p × q — это модуль;
  • Выбирается публичный показатель e, взаимно простой с (p−1)(q−1);
  • Вычисляется секретный показатель d, удовлетворяющий уравнению:
    $ e \cdot d \equiv 1 \mod{(p−1)(q−1)} $ Таким образом, открытый ключ — это пара (n, e), а закрытый — (n, d).

2. Шифрование

Сообщение $ M $ шифруется открытым ключом по формуле:
$ C = M^e \mod{n} $

3. Расшифровка

Зашифрованное сообщение $ C $ расшифровывается с помощью закрытого ключа:
$ M = C^d \mod{n} $

Подпись и проверка выполняются аналогично, но используются обратные операции.

Где применяется RSA?

  1. SSL/TLS-протоколы: используется для установления безопасного HTTPS-соединения между браузером и сервером;
  2. Электронная цифровая подпись (ЭЦП): применяется в квалифицированных сертификатах для подписания документов в ЕГАИС, налоговых системах, госзакупках и других платформах;
  3. Шифрование данных: используется в протоколах защиты информации, таких как PGP, S/MIME, SSH;
  4. Аутентификация и обмен ключами: RSA может применяться для безопасной передачи сеансовых ключей в гибридных системах шифрования;
  5. Блокчейн и цифровые сертификаты: поддерживается в большинстве инфраструктур открытых ключей (PKI).

Преимущества RSA

  • Надёжность — более 40 лет активного использования без серьёзных уязвимостей при корректной реализации;
  • Широкая поддержка — встроен во множество стандартов, библиотек и программ;
  • Многофункциональность — подходит как для шифрования, так и для создания цифровой подписи;
  • Прозрачность — открытый алгоритм, доступный для анализа и проверки.

Недостатки RSA

  • Высокие вычислительные требования — особенно при использовании длинных ключей (например, 4096 бит);
  • Уязвимость при малых ключахключ длиной менее 2048 бит считается небезопасным;
  • Неэффективность по сравнению с ECDSA — требует больше ресурсов при той же степени защиты;
  • Риск компрометации при плохом управлении ключами — потеря закрытого ключа делает всю систему бесполезной.

Сравнение RSA и ECDSA

ПараметрRSAECDSA
Длина ключа2048, 3072, 4096 бит256, 384, 521 бит
ПроизводительностьМедленнееБыстрее
Потребление ресурсовБольшеМеньше
ПоддержкаУниверсальнаяВсё шире
БудущееПостепенно замещаетсяАктивно развивается

Пример работы с RSA через OpenSSL

# Генерация закрытого RSA-ключа длиной 2048 бит
openssl genrsa -out private.key 2048

# Извлечение открытого ключа из закрытого
openssl rsa -in private.key -pubout -out public.key

# Создание запроса на сертификат (CSR)
openssl req -new -key private.key -out csr.pem

# Подпись файла с помощью RSA
openssl dgst -sha256 -sign private.key -out signature.bin file.txt

# Проверка подписи
openssl dgst -sha256 -verify public.key -signature signature.bin file.txt

Форматы файлов, связанных с RSA

РасширениеОписание
.pemТекстовый формат Base64 с заголовками (——BEGIN RSA PRIVATE KEY——)
.derДвоичный формат хранения ключей
.p7bСертификаты без приватного ключа
.pfx / .p12Контейнеры с приватным ключом и цепочкой доверия
.crt, .cerОткрытые сертификаты, часто связанные с RSA-ключами

Перспективы RSA

Хотя RSA остаётся популярным, всё чаще специалисты рекомендуют переходить на ECDSA или EdDSA, особенно в системах с ограниченными ресурсами или повышенными требованиями к производительности. Однако RSA по-прежнему широко используется в legacy-системах, государственных проектах и корпоративной среде.