Шифрование / расшифрование AES

Шифрование и расшифровка с настраиваемыми параметрами AES.

Безопасность и криптография
Подготовка рабочей области…

Ввод

Подготовка рабочей области…

Результат
Здесь появится результат.

Как использовать

  1. Выберите шифрование или расшифровку, формат и соответствующие параметры AES.
  2. Введите данные, ключ или парольную фразу, необходимые IV, соль и параметры аутентификации.
  3. Выполните операцию и сохраните параметры для последующей расшифровки.

Шифрование / расшифрование AES

Для шифрования и расшифровки должны совпадать режим, ключ, IV и кодировки. По умолчанию выбран GCM с аутентификацией.

Сохраните IV, соль и параметры вместе с шифротекстом. Исходные ключи и парольные фразы не включаются в экспорт.

Работа с вводом

Ключ должен содержать ровно 16, 24 или 32 байта для AES-128, AES-192 или AES-256. Ключи не дополняются и не обрезаются.

GCM: 12–64 байта (рекомендуется 12). CBC, CTR и CFB: ровно 16 байт. ECB не использует IV. По умолчанию каждое шифрование создаёт новые случайные IV и соль, поэтому один текст может давать разные результаты. Ручные значения нужны для совместимости; соблюдайте требования режима к IV/nonce.

Пример
Ввод
Plaintext: Hello, encrypted world! 🌐
Passphrase: DevToolsy-demo-passphrase
Результат
{
  "format": "devtoolsy-aes",
  "version": 2,
  "mode": "GCM",
  "keyBits": 256,
  "keySource": "passphrase",
  "padding": "none",
  "iv": "EBESExQVFhcYGRob",
  "ciphertext": "QdSMophe/cqRY/7qS1tHMemEKsgTwgzhEdCmOixECYc6+/X/mfq9f9Wq0CE=",
  "kdf": {
    "name": "PBKDF2",
    "hash": "SHA-256",
    "iterations": 600000,
    "salt": "AAECAwQFBgcICQoLDA0ODw=="
  },
  "authentication": {
    "tagLength": 128,
    "aad": ""
  }
}

Только демонстрационные данные. Не используйте секреты из примеров как настоящие учётные данные.

Поведение и ограничения

GCM поддерживает теги 96/104/112/120/128 бит, AAD и присоединённый или отдельный тег. CBC/ECB поддерживают PKCS#7 или NoPadding; последний требует полных 16-байтовых блоков. CFB использует 128-битные сегменты; CTR — счётчик 1–128 бит. Открытый текст ограничен 1 MiB. Бинарный результат доступен в Hex/Base64 или как исходные байты; некорректный UTF-8 вызывает ошибку.

Этот режим не проверяет подлинность данных. Неверный ключ может дать результат без ошибки. Для обнаружения изменений используйте GCM.

ECB предназначен для совместимости со старыми системами: одинаковые блоки открытого текста дают одинаковые блоки шифротекста.

Копирование и повторное использование

JSON v2 сохраняет несекретные параметры и читает v1 с AES-256-GCM / PBKDF2-SHA256 / 600 000 итераций. JSON — контейнер, а не дополнительная аутентификация. Повторное использование результата переносит фактические параметры; возврат к шифрованию восстанавливает случайные IV/соль.

Режим исходного ключа совместим с Node.js, Python или OpenSSL при совпадении режима, ключевых байтов, IV, дополнения, кодировки и тега/AAD GCM. Оболочки OpenSSL Salted__ или парольные форматы CryptoJS не разбираются автоматически: используйте фактически выведенный ключ и IV. Сохраните IV, соль и параметры вместе с шифротекстом. Исходные ключи и парольные фразы не включаются в экспорт.

Ограничения обработки

Ввод: 1 MiB; Секретный ключ: 64 KiB; Файл: 1 GiB; Пароли: 4–128 (Длина), 1–100 (Количество); bcrypt: 1–72 байта UTF-8 · стоимость 4–14 · по умолчанию 10; AES: Открытый текст 1 MiB, Парольная фраза 1 KiB, GCM / CBC / CTR / CFB / ECB, 128/192/256-bit; PBKDF2 / HKDF: Пароль / входные байты 64 KiB, Соль / info 1 KiB, Длина результата (байт) 1–256; Результат: 1–256 байт · до 2 000 000 итераций PBKDF2 · обработка на вашем устройстве; Время: 30 s; Файл: 120 s.

?

Частые вопросы

Что потребуется для последующего расшифрования?

Сохраните IV, соль и параметры вместе с шифротекстом. Исходные ключи и парольные фразы не включаются в экспорт.

Почему результат шифрования каждый раз отличается?

По умолчанию каждое шифрование создаёт новые случайные IV и соль, поэтому один текст может давать разные результаты. Ручные значения нужны для совместимости; соблюдайте требования режима к IV/nonce.

Отправляются ли мои данные в DevToolsy?

Нет. Данные обрабатываются локально. Секреты, имена файлов и результаты не попадают в URL страницы и не сохраняются в истории инструмента.

Что удаляет команда «Очистить»?

Команда «Очистить» удаляет видимые рабочие значения. Она не гарантирует безопасного стирания памяти; копии в буфере обмена и скачанные файлы управляются вашим устройством отдельно.

Можно ли расшифровать произвольный результат OpenSSL или CryptoJS?

Режим исходного ключа совместим с Node.js, Python или OpenSSL при совпадении режима, ключевых байтов, IV, дополнения, кодировки и тега/AAD GCM. Оболочки OpenSSL Salted__ или парольные форматы CryptoJS не разбираются автоматически: используйте фактически выведенный ключ и IV.

Какой режим выбрать?

Для шифрования и расшифровки должны совпадать режим, ключ, IV и кодировки. По умолчанию выбран GCM с аутентификацией. Этот режим не проверяет подлинность данных. Неверный ключ может дать результат без ошибки. Для обнаружения изменений используйте GCM. ECB предназначен для совместимости со старыми системами: одинаковые блоки открытого текста дают одинаковые блоки шифротекста.

Найдите следующий инструмент

Язык

Сменить язык? Текущие данные будут очищены. Сначала скопируйте или скачайте нужные результаты.