RSA Зашифровать

Бесплатный онлайн-инструмент RSA Зашифровать. 100% локальная обработка — ваши данные никогда не покидают устройство.

National Standards
Other
Вывод

Результат будет отображен здесь...

Ввод Зашифровать

Usage Guide

О RSA

RSA (Rivest–Shamir–Adleman) — наиболее широко используемый алгоритм асимметричного шифрования, изобретённый в 1977 году. Он использует математически связанную пару ключей: открытый ключ для шифрования и закрытый ключ для расшифрования. Безопасность основана на вычислительной сложности факторизации больших целых чисел. RSA является основой современной защищённой коммуникации — SSL/TLS-сертификаты, HTTPS, SSH, PGP и цифровые подписи опираются на RSA или его варианты.

Асимметричное шифрование: В отличие от симметричных алгоритмов (например, AES), RSA использует разные ключи для шифрования и расшифрования. Открытый ключ можно свободно распространять — только владелец закрытого ключа может расшифровывать сообщения, зашифрованные этим ключом.

Шаги использования

Этот инструмент поддерживает генерацию пары ключей RSA, шифрование и расшифрование:

1. Выбрать размер ключаВыберите размер ключа (рекомендуется 2048; для высокой безопасности — 4096). Бо́льшие ключи безопаснее, но работают медленнее.
2. Сгенерировать пару ключейНажмите «Сгенерировать пару ключей» для создания пары открытого/закрытого ключей. Оба ключа экспортируются в формате PEM.
3. Сохранить ключиСкопируйте и надёжно сохраните оба ключа. Закрытый ключ необходимо хранить в тайне — его потеря означает полную невозможность расшифрования.
4. ЗашифроватьВставьте открытый ключ, введите открытый текст, нажмите «Зашифровать». Результат — зашифрованный текст в кодировке Base64.
5. РасшифроватьВставьте закрытый ключ, вставьте зашифрованный текст в кодировке Base64 в поле ввода, нажмите «Расшифровать» для восстановления открытого текста.
Защита конфиденциальности: Все операции генерации ключей и криптографические операции выполняются полностью в вашем браузере. Ни ключи, ни открытый текст никогда не отправляются на сервер.

Схемы дополнения

RSA требует схему дополнения для обеспечения безопасности. Этот инструмент поддерживает два варианта:

OAEP (Рекомендуется)Optimal Asymmetric Encryption Padding с SHA-256. Современный стандарт — вероятностный, семантически безопасный и устойчивый к атакам на основе подобранного шифртекста. Используйте OAEP для всех новых проектов.
PKCS1v15 (Устаревший)Дополнение PKCS #1 v1.5. Широко поддерживается в старых системах, но уязвимо к адаптивной атаке Блейхенбахера на основе подобранного шифртекста. Используйте только для совместимости с устаревшими системами.
Предупреждение безопасности: Всегда предпочитайте дополнение OAEP для новых реализаций. PKCS1v15 считается устаревшим и уязвимо к атаке Блейхенбахера.

Руководство по размеру ключа

Выбор правильного размера ключа RSA — это баланс между безопасностью и производительностью:

1024 бита (Слабый)Больше не считается безопасным. Может быть взломан с помощью современных вычислительных ресурсов. Не используйте для новых систем.
2048 бит (Минимум)Текущий отраслевой минимум, рекомендованный NIST и крупными центрами сертификации. Достаточен для большинства приложений до ~2030 года.
3072 бита (Сильный)Рекомендуется для систем, требующих безопасности после 2030 года. Соответствует уровню безопасности AES-128.
4096 бит (Высокая безопасность)Соответствует уровню безопасности AES-192. Подходит для долгосрочных ключей (например, корневые сертификаты CA), но заметно медленнее.
Практические рекомендации: Используйте 2048 бит для повседневного использования и краткосрочных ключей. Используйте 4096 бит для корневых центров сертификации или ключей, предназначенных для длительного использования.

FAQ

Q: Почему RSA не может напрямую зашифровать большие файлы?

A: RSA может шифровать только данные меньше размера ключа за вычетом накладных расходов на дополнение. Для ключа 2048 бит с OAEP-SHA256 максимальный открытый текст составляет всего 190 байт. Для больших данных используйте гибридное шифрование: сгенерируйте случайный AES ключ, зашифруйте данные с помощью AES, а затем зашифруйте только ключ AES с помощью RSA.

Q: В чём разница между шифрованием RSA и цифровыми подписями RSA?

A: Шифрование RSA: Шифрование открытым ключом получателя; расшифровать может только закрытый ключ. Гарантирует конфиденциальность. Цифровая подпись RSA: Подписание собственным закрытым ключом; любой обладатель открытого ключа может проверить подпись. Гарантирует аутентичность и неотказуемость.

Q: В каком формате экспортируются ключи?

A: Этот инструмент экспортирует ключи в стандартном формате PEM:
Закрытый ключ: PKCS#8 (-----BEGIN PRIVATE KEY-----)
Открытый ключ: SPKI (-----BEGIN PUBLIC KEY-----)
Эти форматы напрямую импортируются OpenSSL, Node.js crypto, Python cryptography, Java и большинством других платформ.

Q: Безопасно ли публично распространять открытый ключ?

A: Да — в этом и состоит весь смысл асимметричной криптографии. Открытый ключ предназначен для свободного распространения. Однако: 1) Никогда не передавайте закрытый ключ. 2) Проверяйте подлинность открытого ключа через доверенный канал для предотвращения атаки «человек посередине». 3) Периодически обновляйте пары ключей.

Q: Когда использовать RSA, а когда AES?

A: RSA предназначен для обмена ключами и небольших секретов: медленный, ограниченный размер открытого текста. AES предназначен для массового шифрования данных: быстрый, обрабатывает любой размер. Используйте их вместе — RSA для передачи ключа AES, AES для шифрования данных.

Q: Что такое атака Блейхенбахера и почему это важно?

A: Атака Блейхенбахера (1998) — это адаптивная атака на основе подобранного шифртекста против дополнения PKCS1v15. Злоумышленник может в итоге восстановить открытый текст без закрытого ключа. Многие реальные реализации TLS были уязвимы к вариантам этой атаки (атака ROBOT, 2017). Дополнение OAEP доказуемо безопасно против этого класса атак.

Use Cases

Рекомендуется: Гибридное шифрование с AES

Сгенерируйте случайный AES-256-GCM ключ, зашифруйте данные с помощью AES, а затем зашифруйте ключ AES с помощью открытого ключа RSA получателя. Это паттерн, используемый TLS, PGP и S/MIME.

Recommended Configuration:
  • ✅ RSA-OAEP (SHA-256) для шифрования ключа AES
  • ✅ AES-256-GCM для шифрования данных
  • ✅ RSA минимум 2048 бит; 4096 бит для долгосрочных ключей
  • ❌ Не шифровать большие данные напрямую с помощью RSA
Рекомендуется: Безопасная передача секретов

RSA хорошо подходит для передачи небольших секретов — паролей, токенов, симметричных ключей — по ненадёжным каналам. Используйте дополнение OAEP и ключ размером не менее 2048 бит.

Recommended Configuration:
  • ✅ Дополнение OAEP-SHA256 (рекомендуется)
  • ✅ Размер ключа 2048 или 4096 бит
  • ✅ Проверять подлинность открытого ключа (сертификат или отпечаток)
  • 💡 Держать секреты меньше 190 байт для 2048-битного OAEP-SHA256
Рекомендуется: Обмен ключами SSL/TLS (Справочно)

TLS 1.2 использовал RSA для обмена ключами. TLS 1.3 заменил обмен ключами RSA на ECDHE для прямой секретности, но RSA-сертификаты по-прежнему используются для аутентификации сервера.

Recommended Configuration:
  • ✅ Минимум 2048 бит для TLS-сертификатов
  • ✅ 4096 бит для сертификатов корневого CA
  • ✅ Предпочтительнее TLS 1.3 (использует ECDHE, не обмен ключами RSA)
  • 💡 RSA в TLS 1.3 используется только для аутентификации, не для обмена ключами
Рекомендуется: Цифровые подписи (Ключевая концепция)

Закрытые ключи RSA могут подписывать данные, а соответствующий открытый ключ проверяет подпись. Используйте RSA-PSS для новых реализаций; подпись PKCS1v15 устарела, но по-прежнему широко поддерживается.

Recommended Configuration:
  • ✅ RSA-PSS (современный, рекомендуется для подписей)
  • ✅ Подпись PKCS1v15 (устаревший, широко совместимый)
  • ✅ Сначала хешировать сообщение (SHA-256 или сильнее)
  • 💡 Подписи используют закрытый ключ для подписания и открытый ключ для проверки (обратно шифрованию)
Не рекомендуется: Шифрование больших файлов

RSA не может напрямую шифровать данные размером более ~190 байт (2048 бит, OAEP-SHA256). Всегда используйте AES для массовых данных и RSA только для защиты ключа AES.

Recommended Configuration:
  • ❌ Не шифровать файлы или большие данные напрямую с помощью RSA
  • ✅ Использовать AES-256-GCM для данных
  • ✅ Использовать RSA-OAEP только для шифрования ключа AES
  • 💡 Этот гибридный паттерн используется всеми крупными защищёнными протоколами
Не рекомендуется: Симметричное шифрование данных

RSA значительно медленнее (в 100–1000 раз) симметричного шифрования и имеет строгое ограничение на размер открытого текста. Для любого массового шифрования всегда выбирайте AES.

Recommended Configuration:
  • ❌ Не использовать RSA для высокочастотного или высокообъёмного шифрования
  • ✅ AES-256-GCM для быстрого аутентифицированного массового шифрования
  • ✅ Использовать RSA только для обмена ключами или небольших секретов
  • 💡 Комбинировать RSA + AES для лучшего из обоих миров

Рекомендации лучших практик

  • Всегда используйте дополнение OAEP-SHA256 для новых реализаций шифрования RSA. PKCS1v15 устарело и уязвимо к атакам типа Блейхенбахера.
  • Используйте ключи размером не менее 2048 бит; предпочитайте 4096 бит для сертификатов или ключей, предназначенных для использования после 2030 года.
  • RSA не может шифровать данные размером более ~190 байт (2048 бит, OAEP-SHA256). Для больших данных используйте гибридное шифрование: AES для данных, RSA для ключа AES.
  • Храните закрытый ключ в тайне и обеспечьте его надёжное хранение. Компрометация закрытого ключа раскрывает все когда-либо зашифрованные с соответствующим открытым ключом сообщения.
  • Для цифровых подписей предпочитайте RSA-PSS, а не подпись PKCS1v15.

Обсуждение и отзывы

0 комментариев
Я