RSA Шифрование/Дешифрование
Шифрование открытым ключом, дешифрование закрытым ключом с генерацией ключей и цифровой подписью
О RSA шифровании
RSA — это асимметричный алгоритм шифрования, изобретенный Роном Ривестом, Ади Шамиром и Леонардом Адлеманом в 1977 году. RSA является одним из наиболее широко используемых алгоритмов шифрования с открытым ключом, применяемым в шифровании данных, цифровых подписях и обмене ключами.
Безопасность RSA основана на сложности факторизации больших целых чисел. Он использует пару ключей: открытый ключ для шифрования и закрытый ключ для дешифрования. Открытый ключ может распространяться открыто, в то время как закрытый ключ должен храниться в секрете.
Возможности
- Генерация пары ключей: поддержка размеров ключей 1024, 2048, 4096 бит
- Шифрование открытым ключом: шифрование конфиденциальных данных открытым ключом
- Дешифрование закрытым ключом: дешифрование зашифрованных данных закрытым ключом
- Цифровая подпись: подпись сообщений закрытым ключом
- Проверка подписи: проверка подлинности подписи открытым ключом
- Множественные алгоритмы хеширования: SHA-1, SHA-256, SHA-384, SHA-512
- Выбор режима заполнения: поддержка OAEP (рекомендуется) и PKCS#1 v1.5 (устаревшая совместимость)
- Множественные форматы: ввод/вывод поддерживает Text, Base64, Hex и другие
Выбор размера ключа
Выбор правильного размера ключа имеет решающее значение для безопасности и производительности:
- 1024-bit: 1024-бит: не рекомендуется для новых систем, может быть взломан в течение нескольких лет
- 2048-bit: 2048-бит: текущий рекомендуемый минимум, подходит для большинства приложений
- 4096-bit: 4096-бит: обеспечивает наивысшую безопасность, но более медленное шифрование/дешифрование
Режим заполнения
Этот инструмент поддерживает два режима заполнения RSA. Выбирайте на основе требований безопасности и потребностей в совместимости:
- OAEP: Оптимальное асимметричное заполнение шифрования, обеспечивает семантическую безопасность и защищает от атак с выбранным шифртекстом. Рекомендуется для новых систем.
- PKCS#1 v1.5: Устаревший режим заполнения с известной уязвимостью атаки Блейхенбахера. Рекомендуется только для совместимости с устаревшими системами.
Параметры формата
Этот инструмент поддерживает множественные форматы данных для простой интеграции с различными системами:
- Текст: Прямой ввод/вывод текста UTF-8, подходит для обычных строк
- Base64: Формат кодирования Base64, обычно используется для сетевой передачи и хранения бинарных данных
- Hex: Шестнадцатеричный формат, удобен для просмотра и отладки бинарных данных
Случаи использования
- Безопасная коммуникация: шифрование конфиденциальных данных перед передачей
- Цифровые подписи: проверка подлинности и целостности сообщений
- Обмен ключами: безопасный обмен симметричными ключами
- Аутентификация личности: проверка личности отправителя
- Лицензирование программного обеспечения: генерация и проверка лицензий
Рекомендации по безопасности
- Используйте размер ключа не менее 2048 бит
- Храните закрытые ключи в безопасности, никогда не передавайте их по незащищенным каналам
- Периодически меняйте пары ключей
- Рассмотрите возможность использования ключей 4096 бит для особо конфиденциальных данных
- Используйте гибридное шифрование (RSA + симметричное) для больших данных
Ограничения RSA
- RSA может шифровать только ограниченную длину данных (зависит от размера ключа и заполнения)
- Шифрование/дешифрование RSA намного медленнее, чем симметричное шифрование
- Обычно используется для шифрования симметричных ключей, а не больших данных напрямую
Справочные материалы
Связанные инструменты
AES Шифрование/Дешифрование
Безопасное шифрование и дешифрование текста с использованием алгоритма AES
JWT Кодировщик/Декодер
Декодирование, проверка и генерация JSON Web Tokens с поддержкой нескольких алгоритмов подписи
SM Криптографические инструменты
Инструменты криптографии китайского национального стандарта с поддержкой шифра с открытым ключом SM2, хеша SM3 и блочного шифра SM4