Хеши/крипто
AES Encrypt/Decrypt
Шифрование и расшифрование текста через AES-GCM или AES-CBC с паролем (ключ производный через PBKDF2).
AES — стандарт симметричного шифрования: тот же пароль используется и для шифрования, и для расшифровки. Инструмент выводит ключ шифрования из пароля через PBKDF2 и шифрует текст режимом AES-GCM или AES-CBC — всё локально в браузере.
Как пользоваться
- Шифрование: введите текст и пароль, выберите режим (GCM или CBC) — получите зашифрованный результат вместе с параметрами (соль, IV), нужными для расшифровки.
- Расшифровка: вставьте зашифрованный текст и тот же пароль, чтобы получить оригинал обратно.
- AES-GCM рекомендован по умолчанию: он одновременно шифрует и проверяет целостность данных (authenticated encryption).
Типичные сценарии
- Шифрование чувствительного текста перед сохранением или передачей по ненадёжному каналу.
- Проверка совместимости реализации AES-шифрования между разными языками программирования или библиотеками.
- Учебный пример для понимания разницы между режимами шифрования GCM и CBC.
Что стоит помнить
IV (вектор инициализации) должен быть уникальным для каждого шифрования с тем же ключом — повторное использование пары ключ+IV в GCM полностью разрушает безопасность шифрования.
AES-CBC без отдельной проверки целостности (MAC) уязвим к атакам на модификацию шифротекста — поэтому GCM, объединяющий шифрование и аутентификацию в одном режиме, безопаснее по умолчанию.
Статья об этом инструменте: AES: как работает симметричное шифрование
Часто задаваемые вопросы
Какие размеры ключей поддерживает AES и какой выбрать?
AES поддерживает ключи 128, 192 и 256 бит. AES-256 — стандартная рекомендация для новых приложений: 128 бит уже считается безопасным, но 256 даёт запас прочности практически бесплатно.
В чём разница между режимами шифрования (например, CBC, GCM)?
GCM аутентифицирует шифротекст в процессе шифрования, поэтому также обнаруживает подделку — это рекомендуемый вариант по умолчанию. CBC только шифрует и требует отдельного MAC для целостности, а также случайного IV при каждом шифровании.
Отправляется ли мой ключ или открытый текст куда-либо?
Нет. Всё шифрование и расшифровка выполняются локально в вашем браузере через Web Crypto API — ничего не отправляется на сервер.
Почему не стоит использовать режим ECB?
ECB шифрует каждый блок независимо и одинаково, поэтому одинаковые блоки открытого текста дают одинаковые блоки шифротекста — это выдаёт структуру данных (например, повторяющиеся паттерны в изображении остаются видимыми даже в зашифрованном виде). CBC или GCM с уникальным IV устраняют эту проблему.
Что произойдёт, если повторно использовать тот же IV с тем же ключом?
Для GCM это критическая ошибка — повторное использование пары ключ+IV полностью компрометирует конфиденциальность и подлинность шифрования. IV всегда должен быть уникальным для каждого шифрования с тем же ключом.