AES Шифрование / Расшифровка
Шифрование/расшифровка AES с режимами CBC, CFB, CTR, OFB, ECB, заполнение Pkcs7/ZeroPadding/NoPadding, ключи 128/192/256 бит, вывод Base64, автоопределение формата ключа/IV
Что такое шифрование AES?
AES — широко используемый алгоритм симметричного шифрования. Работает с блоками 128 бит и поддерживает ключи 128, 192 и 256 бит.
Какие режимы шифрования существуют?
CBC связывает блоки для лучшей безопасности. CFB превращает AES в самосинхронизирующийся потоковый шифр. CTR использует счётчик для распараллеливания. OFB создаёт поток ключей. ECB шифрует каждый блок независимо — наименее безопасный.
Что такое дополнение (padding)?
Дополнение добавляет байты для выравнивания данных. Pkcs7 — самое распространённое. Iso97971 добавляет байт перед Pkcs7. AnsiX923 заполняет нулями и байтом длины. Iso10126 использует случайные байты. ZeroPadding заполняет нулями. NoPadding требует точного выравнивания.
Какой формат вывода?
Вывод шифрования по умолчанию использует кодировку Base64 — наиболее распространённый и компактный формат. Ввод ключа и IV поддерживает автоопределение формата Hex, Base64 или UTF-8 — просто вставьте ключ или IV, и инструмент автоматически распознает формат.
Рекомендации по безопасности AES?
Используйте сильные случайные ключи. Предпочитайте CBC или CTR вместо ECB. Используйте AES-256 для максимальной безопасности. Всегда используйте уникальный IV.
Отправляются ли данные на сервер?
Нет, всё шифрование выполняется локально в браузере с помощью CryptoJS. Данные никогда не покидают устройство.
Какие размеры ключей поддерживаются?
AES поддерживает три размера: 128 бит (16 байт), 192 бит (24 байта) и 256 бит (32 байта). AES-128 достаточно для большинства случаев использования, AES-192 обеспечивает дополнительный запас прочности, а AES-256 предлагает высочайший уровень безопасности, рекомендуемый для секретных данных.
В чём разница между AES-128, AES-192 и AES-256?
Разница заключается в длине ключа и количестве раундов шифрования: AES-128 использует 10 раундов, AES-192 — 12 раундов, а AES-256 — 14 раундов. AES-256 обеспечивает самую сильную защиту, но работает немного медленнее. Для большинства приложений AES-128 уже считается невзламываемым при текущих технологиях.
Какова история AES и где он применяется?
AES был выбран NIST в 1997 году для замены DES и стал официальным стандартом в 2001 году. Сейчас он используется правительствами, военными и финансовыми учреждениями по всему миру. AES защищает HTTPS-соединения, сети WiFi, шифрование дисков и сжатые файлы.
Почему режим ECB не рекомендуется?
Режим ECB шифрует одинаковые блоки открытого текста в одинаковые блоки шифротекста, что раскрывает закономерности в данных. Например, при шифровании изображения с помощью ECB всё равно будет виден контур изображения. Это делает ECB уязвимым к атакам анализа закономерностей. Всегда используйте CBC, CTR, CFB или OFB со случайным IV.
Каковы реальные применения AES?
AES используется в HTTPS/SSL для безопасного просмотра веб-страниц, WPA2/WPA3 для безопасности WiFi, VPN-соединениях, шифровании Bluetooth, приложениях для зашифрованных сообщений, шифровании дисков (BitLocker, FileVault), сжатых архивах (ZIP, RAR) и защите государственных секретных документов.
В чём разница между выводом в Hex и Base64?
Hex (шестнадцатеричный) представляет двоичные данные с помощью 16 символов (0-9, A-F), что даёт более длинные строки. Base64 использует 64 символа (A-Z, a-z, 0-9, +, /) и примерно на 33% короче, чем Hex, для тех же данных. Оба формата широко используются для представления двоичных данных в виде текста.