logo
GeekFormat

AES-шифрование и расшифровка

Прочтите перед использованием

Этот инструмент работает целиком в браузере. Открытый текст, шифротекст и ключ не отправляются на сервер.

Предназначен для разработки, отладки, обучения и самостоятельных сценариев. Не используйте как единственную защиту для производственных секретов или пользовательских данных.

В продакшене: используйте проверенные криптобиблиотеки (libsodium, OpenSSL, AWS Encryption SDK), настоящий KDF (Argon2id ≥ 1 итер / 64 МиБ), только AEAD-режимы, плюс управление ключами, контроль доступа и аудит-логи на сервере.

Режим алгоритма
Длина ключа
Формат шифротекста (вывод шифрования / ввод расшифровки)
Источник ключа
Открытый текст

Текст UTF-8

Сравнение режимов — GCM vs CBC vs CTR
РежимАутентификацияТребования к IVПроизводительностьРекомендуемое применение
AES-GCMДа (AEAD, 128-битный тег)12 байт (рекомендуется); никогда не повторять с тем же ключомБыстрый, аппаратное ускорениеПо умолчанию — современные API, шифрование файлов, всё, что требует аутентификации
AES-CBCНет — нужен HMAC/MAC16 байт; непредсказуемый (CSPRNG), без повторовБыстрый, аппаратное ускорениеУстаревший TLS, шифрование дисков (XTS-AES); не использовать «сырым» в новых проектах
AES-CTRНет — нужен HMAC/MAC16 байт; без повторов (повтор катастрофичен)Самый быстрый, параллелитсяПотоки с произвольным доступом, шифрование дисков; только вместе с MAC

Как читать таблицу

  • AES-GCM — единственный AEAD из трёх — шифрует и аутентифицирует за один шаг. Если сомневаетесь — выбирайте GCM.
  • CBC и CTR дают только конфиденциальность. Нужен отдельный MAC (HMAC-SHA256, Encrypt-then-MAC), иначе они уязвимы к атакам с выбранным шифротекстом и bit-flipping.
  • IV/Nonce должен быть уникальным в рамках (ключ, сообщение). Повтор IV в GCM утечёт ключ аутентификации — катастрофа.

Примечания о режимах и форматах

  • SubtleCrypto браузера предлагает для AES только GCM, CBC и CTR — не ECB, CFB или OFB (для предотвращения слабого использования). Для других режимов используйте OpenSSL или серверную библиотеку.
  • Формат шифротекста на выбор: Hex / Base64 / Base64URL, совместим с CyberChef, API, JWT и т.д. Обе стороны (шифрование и расшифровка) должны использовать один формат.
  • В AES-GCM вывод представляет собой непрерывный поток байтов «шифротекст + тег аутентификации»; инструмент кодирует весь блок в выбранный формат — вставьте весь блок при расшифровке.

Примечания

  • Web Crypto выполняется полностью в браузере; GCM — аутентифицированное шифрование, подходит для стандартных сценариев.
  • При шифровании оставьте IV пустым — инструмент сгенерирует случайный IV и заполнит его выше для повторного использования при расшифровке.
  • При расшифровке оставьте IV пустым для попытки нулевого вектора (действует только если другая сторона использует ту же конвенцию).

Бесплатный онлайн-инструмент для AES-шифрования и расшифровки в режимах AES-CBC, AES-GCM и AES-CTR. Поддерживает ключи AES-128/192/256, форматы ciphertext Hex/Base64/Base64URL, вывод ключа из пароля через PBKDF2-SHA256, случайную генерацию IV/salt и обработку Web Crypto только в браузере.

Похожие

Варианты использования

  • Зашифровать короткий фрагмент текста через AES-GCM перед передачей по контролируемому каналу
  • Расшифровать API payload во время интеграции frontend-backend, когда нужно сравнить IV, ключ, режим и формат вывода
  • Проверить, возвращает ли backend ciphertext в Hex, Base64 или Base64URL, и воспроизвести тот же формат в браузере
  • Сгенерировать AES-ключи, выведенные через PBKDF2 из паролей, чтобы понять salt, число итераций и поведение размера производного ключа
  • Сравнить вывод AES-CBC, AES-GCM и AES-CTR рядом и разобраться, чем отличаются режимы симметричного шифрования
  • Создать детерминированные test vectors, зафиксировав ключ, IV, salt, plaintext, режим, размер ключа и кодирование вывода

Функции

  • Три режима шифрования: AES-CBC, аутентифицированное AES-GCM и AES-CTR для основных сценариев шифрования
  • Три размера ключа: AES-128, AES-192 и AES-256, где AES-256 является самым стойким выбором по умолчанию
  • Шифрование на основе пароля: выводите AES-ключи через PBKDF2-SHA256 и 100 000 итераций вместо прямого использования слабых паролей
  • Проверка стойкости пароля в реальном времени: длина, заглавные и строчные буквы, цифры, символы и распространённые пароли помогают выбрать более безопасный пароль
  • Случайная генерация IV и salt: один клик создаёт криптографически случайные значения IV/salt и заполняет их в интерфейсе для воспроизводимой расшифровки
  • Несколько форматов ciphertext: Hex, Base64 и Base64URL для отладки API, JWT-подобной передачи, конфигурационных файлов и совместимости с командной строкой
  • Обработка authentication tag для GCM: инструмент упаковывает ciphertext + auth tag и показывает ошибки проверки, если ciphertext, ключ, IV или salt не совпадают
  • Web Crypto только в браузере: шифрование и расшифровка выполняются локально; plaintext, ciphertext, пароли и ключи никогда не отправляются
  • Подсказки по выбору режима: встроенные заметки объясняют, когда выбирать GCM, CBC или CTR и почему повторное использование IV/nonce опасно
  • Удобный workflow копирования для разработчиков: сгенерированные ключи, IV, salts, ciphertext и plaintext можно копировать для API-тестов и troubleshooting

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

  1. Выберите режим шифрования или расшифровки, затем AES-GCM, AES-CBC или AES-CTR и нужный размер ключа
  2. Используйте Hex-ключ или пароль. В режиме пароля введите сильный пароль и позвольте PBKDF2 вывести AES-ключ
  3. Выберите формат ciphertext: Hex, Base64 или Base64URL. Используйте один и тот же формат при шифровании и расшифровке
  4. При шифровании оставьте IV/salt пустыми, чтобы сгенерировать безопасные случайные значения; при расшифровке вставьте те же IV/salt или используйте заголовок, встроенный режимом пароля
  5. Скопируйте полученный ciphertext или plaintext и храните вместе режим, размер ключа, IV, salt и формат, чтобы расшифровка была воспроизводимой

Часто задаваемые вопросы

Чем отличаются AES-CBC, AES-GCM и AES-CTR?

CBC — классический блочный режим, которому нужен IV, а для проверки целостности ещё и отдельный MAC. GCM — аутентифицированное шифрование (AEAD), которое умеет обнаруживать подмену данных, поэтому его обычно рекомендуют как стандартный выбор для современных API. CTR превращает AES в режим, похожий на потоковый: он быстрый и хорошо распараллеливается, но тоже требует отдельного MAC. Если сомневаетесь, выбирайте GCM.

Что такое вывод ключа PBKDF2 и зачем он нужен?

PBKDF2 преобразует обычный пользовательский пароль в более стойкий ключ шифрования. Этот инструмент использует PBKDF2-SHA256 со 100 000 итераций и случайным salt для каждого шифрования. По сравнению с прямым использованием пароля как ключа PBKDF2 повышает стоимость brute force атак и не даёт одинаковым паролям создавать одинаковые производные ключи.

Чем режим Hex-ключа отличается от режима пароля?

Режим Hex-ключа использует сырой шестнадцатеричный ключ длиной 32/48/64 символа и удобен, когда нужно совпасть с backend API или фиксированным test vector. Режим пароля принимает запоминаемый пароль и выводит AES-ключ через PBKDF2, сохраняя или передавая сведения о salt, чтобы ciphertext можно было позже расшифровать тем же паролем.

Что проверяет оценка стойкости пароля?

Инструмент проверяет длину пароля, заглавные и строчные буквы, цифры, символы и распространённые шаблоны слабых паролей. Он показывает ориентир от слабого до сильного, чтобы помочь избежать коротких и предсказуемых паролей. Для чувствительных данных лучше использовать длинный случайный пароль из менеджера паролей.

Почему расшифровка AES-GCM может не сработать?

AES-GCM проверяет authentication tag. Ошибка обычно означает, что неверны ключ или пароль, не совпадают IV или salt, ciphertext был изменён, формат вывода декодирован неправильно либо выбран другой режим AES или размер ключа. Все параметры, использованные при шифровании, должны точно совпадать при расшифровке.

Безопасен ли этот онлайн-инструмент для AES?

Криптографические операции выполняются через Web Crypto API прямо в браузере, а страница не загружает plaintext, ciphertext, пароли или ключи на сервер. Инструмент подходит для разработки, отладки API и обучения. Для особо чувствительных production-данных используйте проверенные локальные или серверные средства с корректным управлением ключами.

Какие длины ключей AES поддерживаются?

Инструмент поддерживает AES-128 (ключ 16 байт), AES-192 (ключ 24 байта) и AES-256 (ключ 32 байта). AES-256 — самый стойкий и удобный вариант по умолчанию; AES-128 остаётся безопасным и может быть быстрее; AES-192 чаще используют для конкретных требований совместимости или соответствия стандартам.

Чем отличаются форматы вывода Hex, Base64 и Base64URL?

Hex легко читать и отлаживать, но он занимает больше места. Base64 компактнее и часто используется в JSON и конфигурационных файлах. Base64URL заменяет символы, неудобные для URL, и убирает padding, поэтому подходит для URL-параметров, JWT-подобных полей и web-передачи.

Как расшифровать ciphertext, созданный этим инструментом?

В режиме пароля salt и IV включаются в заголовок закодированного результата, и инструмент может извлечь их при расшифровке. В режиме Hex-ключа сохраните ключ, IV, режим, размер ключа и формат вывода из шага шифрования, а затем введите те же значения при расшифровке.

Можно ли использовать этот инструмент для изучения AES?

Да. Вы можете переключаться между GCM, CBC и CTR, сравнивать форматы вывода, смотреть, как IV и salt влияют на результат, и наблюдать, как PBKDF2 выводит ключи из паролей. Это практичный способ понять поведение AES перед реализацией в коде приложения.

Что такое AES-шифрование и расшифровка?

AES (Advanced Encryption Standard) — современный симметричный блочный шифр, который используют браузеры, TLS-стеки, базы данных, облачные сервисы, мобильные приложения и операционные системы для защиты данных одним и тем же секретным ключом при шифровании и расшифровке. Корректная настройка AES определяется не только ключом: важны также режим, IV/nonce, поведение padding или tag и кодирование вывода.

AES-GCM рекомендуется как стандартный выбор для новых решений, потому что это AEAD: он одновременно шифрует данные и аутентифицирует их. Это значит, что расшифровка завершится ошибкой, если изменились ciphertext, ключ, IV, salt или authentication tag. CBC и CTR обеспечивают только конфиденциальность и в production-протоколах должны сочетаться с отдельным MAC, например HMAC-SHA256.

Шифрование на основе пароля требует функции вывода ключа. Человеческие пароли редко достаточно случайны, чтобы быть AES-ключами напрямую, поэтому этот инструмент использует PBKDF2-SHA256 со 100 000 итераций и случайным salt для вывода реального AES-ключа. Salt не позволяет одинаковым паролям давать одинаковые производные ключи и повышает стоимость brute force атак.

Работа с IV и nonce критически важна. GCM обычно использует 12-байтовый IV, и тот же IV нельзя повторно применять с тем же ключом. CBC использует непредсказуемый 16-байтовый IV. CTR основан на конструкции counter/nonce, и повторное использование может быть катастрофическим. Этот инструмент автоматически генерирует безопасные IV при шифровании и показывает значение, чтобы расшифровка могла воспроизвести те же параметры.

Эта страница предназначена для разработки, отладки, обучения и самостоятельных тестов шифрования. Для production-секретов, регулируемых данных и информации клиентов используйте аудированные криптографические библиотеки, серверное управление ключами, контроль доступа, audit logs и, когда уместно, современную KDF вроде Argon2id.