- Главная
- Шифрование
- Шифрование / расшифровка RSA
Шифрование и расшифровка RSA
Шифрует открытым ключом RSA и расшифровывает закрытым (OAEP или PKCS#1 v1.5).
openssl pkeyutl -decrypt -inkey private.pem -in ciphertext.bin -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256Зашифруйте короткий секрет чьим-то открытым ключом RSA (или сертификатом), чтобы прочитать его мог только владелец закрытого ключа, или расшифруйте шифротекст своим закрытым ключом. Выберите OAEP с SHA-256 (рекомендуется), OAEP с SHA-1 или PKCS#1 v1.5; результат выводится в Base64 или hex и совместим с OpenSSL. Всё работает в браузере, поэтому ключи и сообщения не покидают ваше устройство; бесплатно и без регистрации.
Как зашифровать и расшифровать данные RSA
- Выберите «Зашифровать» или «Расшифровать», затем вставьте ключ или откройте файл ключа: для шифрования — открытый ключ или сертификат, для расшифровки — закрытый ключ (PKCS#8 или PKCS#1).
- Выберите дополнение: OAEP · SHA-256, если другой стороне не нужно иное.
- Введите сообщение или вставьте шифротекст в Base64 или hex. Результат появляется прямо во время ввода.
- Скопируйте результат или скачайте шифротекст файлом .bin для OpenSSL.
Возможности
- Шифрование открытым ключом, сертификатом или открытой частью закрытого ключа; расшифровка закрытым ключом
- OAEP с SHA-256 (по умолчанию), OAEP с SHA-1 или PKCS#1 v1.5
- Ключи в PEM или DER: SPKI, PKCS#1, PKCS#8 и сертификаты X.509, до 16 384 бит
- Шифротекст в Base64 или hex либо файлом .bin; расшифровка вставленного Base64 или hex или открытого файла .bin
- Показывает, сколько байтов можно зашифровать с данными ключом и дополнением, и подходящую команду openssl pkeyutl
- Работает в фоновом потоке WebAssembly в вашем браузере
Это конфиденциально?
Да. Шифрование и расшифровка выполняются в браузере, в фоновом потоке WebAssembly; ключи, сообщения и шифротексты никуда не загружаются и не сохраняются.
Частые вопросы
Какой длины может быть сообщение?
RSA шифрует один блок. С ключом на 2048 бит это до 190 байт с OAEP SHA-256, 214 — с OAEP SHA-1 и 245 — с PKCS#1 v1.5; ключи побольше позволяют больше. Всё, что длиннее, шифруйте симметричным шифром или инструментом «Шифрование файлов».
Почему шифротекст каждый раз разный?
Любое дополнение добавляет перед шифрованием случайные байты, поэтому одно и то же сообщение каждый раз даёт новый шифротекст. Так задумано, и каждый из них расшифровывается в то же самое сообщение.
Работает ли это с OpenSSL?
Да. Шифротекст, созданный здесь, расшифровывается командой openssl pkeyutl -decrypt -inkey private.pem -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 (или rsa_padding_mode:pkcs1), а шифротексты, созданные openssl pkeyutl -encrypt, расшифровываются здесь. Используйте одинаковое дополнение с обеих сторон.
Какие форматы ключей подходят?
Открытые ключи PEM (BEGIN PUBLIC KEY или BEGIN RSA PUBLIC KEY), сертификаты и незашифрованные закрытые ключи в PKCS#8 (BEGIN PRIVATE KEY) или PKCS#1 (BEGIN RSA PRIVATE KEY), в том числе в виде файлов DER. Защищённые паролем ключи и ключи OpenSSH сначала нужно преобразовать — инструмент подскажет как.
Почему расшифровка не удаётся?
Обычно дело в дополнении или ключе. Расшифровывайте с тем же дополнением, что использовалось при шифровании, и закрытым ключом, парным к использованному открытому; инструмент намеренно не различает эти случаи, так что попробуйте другие дополнения. Шифротекст всегда той же длины, что и ключ (256 байт для ключа на 2048 бит), поэтому более короткий был обрезан при копировании.