RSA Зашифровать
Бесплатный онлайн-инструмент RSA Зашифровать. 100% локальная обработка — ваши данные никогда не покидают устройство.
Результат будет отображен здесь...
Ввод → Зашифровать
Usage Guide
О RSA
RSA (Rivest–Shamir–Adleman) — наиболее широко используемый алгоритм асимметричного шифрования, изобретённый в 1977 году. Он использует математически связанную пару ключей: открытый ключ для шифрования и закрытый ключ для расшифрования. Безопасность основана на вычислительной сложности факторизации больших целых чисел. RSA является основой современной защищённой коммуникации — SSL/TLS-сертификаты, HTTPS, SSH, PGP и цифровые подписи опираются на RSA или его варианты.
Шаги использования
Этот инструмент поддерживает генерацию пары ключей RSA, шифрование и расшифрование:
Схемы дополнения
RSA требует схему дополнения для обеспечения безопасности. Этот инструмент поддерживает два варианта:
Руководство по размеру ключа
Выбор правильного размера ключа RSA — это баланс между безопасностью и производительностью:
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.
- ✅ RSA-OAEP (SHA-256) для шифрования ключа AES
- ✅ AES-256-GCM для шифрования данных
- ✅ RSA минимум 2048 бит; 4096 бит для долгосрочных ключей
- ❌ Не шифровать большие данные напрямую с помощью RSA
Рекомендуется: Безопасная передача секретов
RSA хорошо подходит для передачи небольших секретов — паролей, токенов, симметричных ключей — по ненадёжным каналам. Используйте дополнение OAEP и ключ размером не менее 2048 бит.
- ✅ Дополнение OAEP-SHA256 (рекомендуется)
- ✅ Размер ключа 2048 или 4096 бит
- ✅ Проверять подлинность открытого ключа (сертификат или отпечаток)
- 💡 Держать секреты меньше 190 байт для 2048-битного OAEP-SHA256
Рекомендуется: Обмен ключами SSL/TLS (Справочно)
TLS 1.2 использовал RSA для обмена ключами. TLS 1.3 заменил обмен ключами RSA на ECDHE для прямой секретности, но RSA-сертификаты по-прежнему используются для аутентификации сервера.
- ✅ Минимум 2048 бит для TLS-сертификатов
- ✅ 4096 бит для сертификатов корневого CA
- ✅ Предпочтительнее TLS 1.3 (использует ECDHE, не обмен ключами RSA)
- 💡 RSA в TLS 1.3 используется только для аутентификации, не для обмена ключами
Рекомендуется: Цифровые подписи (Ключевая концепция)
Закрытые ключи RSA могут подписывать данные, а соответствующий открытый ключ проверяет подпись. Используйте RSA-PSS для новых реализаций; подпись PKCS1v15 устарела, но по-прежнему широко поддерживается.
- ✅ RSA-PSS (современный, рекомендуется для подписей)
- ✅ Подпись PKCS1v15 (устаревший, широко совместимый)
- ✅ Сначала хешировать сообщение (SHA-256 или сильнее)
- 💡 Подписи используют закрытый ключ для подписания и открытый ключ для проверки (обратно шифрованию)
Не рекомендуется: Шифрование больших файлов
RSA не может напрямую шифровать данные размером более ~190 байт (2048 бит, OAEP-SHA256). Всегда используйте AES для массовых данных и RSA только для защиты ключа AES.
- ❌ Не шифровать файлы или большие данные напрямую с помощью RSA
- ✅ Использовать AES-256-GCM для данных
- ✅ Использовать RSA-OAEP только для шифрования ключа AES
- 💡 Этот гибридный паттерн используется всеми крупными защищёнными протоколами
Не рекомендуется: Симметричное шифрование данных
RSA значительно медленнее (в 100–1000 раз) симметричного шифрования и имеет строгое ограничение на размер открытого текста. Для любого массового шифрования всегда выбирайте AES.
- ❌ Не использовать 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.