Toolonit
  1. Главная
  2. Шифрование
  3. Шифрование / расшифровка RSA

Шифрование и расшифровка RSA

Шифрует открытым ключом RSA и расшифровывает закрытым (OAEP или PKCS#1 v1.5).

Дополнение

Расшифровывайте с тем же дополнением, что использовалось при шифровании. OAEP с SHA-256 — современный вариант по умолчанию; PKCS#1 v1.5 — только для старых систем.

Формат вывода
Расшифровать это в OpenSSL (файл .bin):
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

  1. Выберите «Зашифровать» или «Расшифровать», затем вставьте ключ или откройте файл ключа: для шифрования — открытый ключ или сертификат, для расшифровки — закрытый ключ (PKCS#8 или PKCS#1).
  2. Выберите дополнение: OAEP · SHA-256, если другой стороне не нужно иное.
  3. Введите сообщение или вставьте шифротекст в Base64 или hex. Результат появляется прямо во время ввода.
  4. Скопируйте результат или скачайте шифротекст файлом .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 бит), поэтому более короткий был обрезан при копировании.

Похожие инструменты