Шифрование AES
Шифрование AES (Advanced Encryption Standard, стандарт расширенного шифрования) — это симметричный алгоритм блочного шифрования, принятый в качестве стандарта Национальным институтом стандартов и технологий США (NIST) в 2001 году. AES является одним из наиболее распространённых и широко используемых криптографических алгоритмов в мире, применяемым для защиты данных в различных сферах — от государственных систем до коммерческих приложений. Алгоритм основан на принципе подстановочно-перестановочной сети (SP-сеть) и использует фиксированный размер блока в 128 бит, с возможностью выбора длины ключа в 128, 192 или 256 бит.
История
Предпосылки создания
К середине 1990-х годов стандарт шифрования DES (Data Encryption Standard), принятый в 1977 году, начал устаревать. Его 56-битный ключ стал уязвим для атак полного перебора, а блочная структура на 64 бита считалась недостаточно надёжной для современных вычислительных мощностей. В 1997 году NIST объявил конкурс на создание нового стандарта шифрования, который должен был быть более стойким, эффективным и открытым.
Конкурс AES
В конкурсе участвовало 15 кандидатов, представленных криптографами из разных стран. После трёх раундов анализа, включавшего проверку на устойчивость к криптоаналитическим атакам, производительность на различном оборудовании и гибкость реализации, в октябре 2000 года победителем был объявлен алгоритм Rijndael, разработанный бельгийскими криптографами Джоан Даймен и Винсентом Рэйменом. 26 ноября 2001 года NIST официально опубликовал AES как федеральный стандарт обработки информации (FIPS PUB 197).
Принятие и распространение
В 2002 году AES был одобрен правительством США для защиты секретной информации (с ключом 128 бит для уровня «Secret» и 192 или 256 бит для «Top Secret»). Впоследствии алгоритм был включён в международные стандарты ISO/IEC 18033-3, а также стал обязательным компонентом многих протоколов безопасности, таких как TLS, IPsec, Wi-Fi Protected Access 2 (WPA2) и 3 (WPA3), BitLocker и FileVault.
Принцип работы
Структура алгоритма
AES является блочным шифром, который обрабатывает данные блоками по 128 бит (16 байт). Ключ шифрования может иметь длину 128, 192 или 256 бит, что определяет количество раундов преобразования: 10, 12 и 14 раундов соответственно. Каждый раунд, за исключением последнего, состоит из четырёх последовательных операций:
- SubBytes (замена байтов): каждый байт блока заменяется на другой байт в соответствии с нелинейной таблицей замен (S-блоком). Эта операция обеспечивает нелинейность шифрования, что затрудняет криптоанализ.
- ShiftRows (сдвиг строк): байты в каждой строке блока циклически сдвигаются влево на определённое количество позиций (первая строка — 0, вторая — 1, третья — 2, четвёртая — 3). Это обеспечивает перемешивание данных между столбцами.
- MixColumns (смешивание столбцов): каждый столбец блока преобразуется с помощью линейного преобразования (умножения на фиксированную матрицу в поле Галуа). Эта операция смешивает байты внутри столбцов, усиливая диффузию.
- AddRoundKey (добавление раундового ключа): каждый байт блока складывается по модулю 2 (XOR) с соответствующим байтом раундового ключа, который вычисляется из исходного ключа с помощью процедуры расширения ключа (Key Expansion).
В последнем раунде операция MixColumns не выполняется. Процесс расшифровки использует обратные операции: InvSubBytes, InvShiftRows, InvMixColumns и AddRoundKey.
Расширение ключа
Из исходного ключа шифрования с помощью алгоритма расширения (Key Schedule) генерируется набор раундовых ключей — по одному на каждый раунд плюс начальный ключ. Для ключа длиной 128 бит требуется 11 раундовых ключей (по 128 бит каждый), для 192 бит — 13, для 256 бит — 15.
Классификация и варианты
По длине ключа
- AES-128: 10 раундов, ключ 128 бит. Наиболее быстрый вариант, достаточный для большинства коммерческих и гражданских применений.
- AES-192: 12 раундов, ключ 192 бит. Используется для более высоких уровней безопасности.
- AES-256: 14 раундов, ключ 256 бит. Рекомендован для защиты государственной тайны и данных, требующих максимальной стойкости.
Режимы шифрования
AES, как блочный шифр, может работать в различных режимах, определяющих способ обработки данных, превышающих размер одного блока:
- ECB (Electronic Codebook): каждый блок шифруется независимо. Уязвим к атакам по шаблону, не рекомендуется для использования.
- CBC (Cipher Block Chaining): каждый блок XOR-ится с предыдущим зашифрованным блоком. Требует вектор инициализации (IV).
- CFB (Cipher Feedback): превращает блочный шифр в поточный.
- OFB (Output Feedback): также поточный режим, генерирующий ключевой поток.
- CTR (Counter): создаёт ключевой поток на основе счётчика, допускает параллельное шифрование.
- GCM (Galois/Counter Mode): обеспечивает как шифрование, так и аутентификацию (проверку целостности) данных. Широко используется в современных протоколах (TLS 1.3).
- CCM (Counter with CBC-MAC): комбинирует шифрование в режиме CTR и аутентификацию с помощью CBC-MAC.
Криптостойкость и безопасность
Атаки на AES
На 2025 год AES считается криптостойким алгоритмом. Наиболее известные атаки, такие как атаки на связанные ключи (related-key attacks), были продемонстрированы на уменьшенных версиях AES (например, на 7 или 8 раундах), но не на полном стандарте. Атаки по сторонним каналам (side-channel attacks), такие как анализ времени выполнения или потребления энергии, могут быть эффективны против программных или аппаратных реализаций, но не против самого алгоритма. Для защиты от них применяются методы маскирования и балансировки.
Квантовоустойчивость
С развитием квантовых вычислений возникает угроза для многих криптосистем. Алгоритм Гровера позволяет ускорить полный перебор ключа, снижая эффективную стойкость AES-128 до 64 бит, AES-192 до 96 бит и AES-256 до 128 бит. Таким образом, AES-256 считается устойчивым к квантовым атакам с использованием алгоритма Гровера, хотя и требует удвоения длины ключа.
Применение
Государственные и военные системы
AES используется правительственными учреждениями США и других стран для защиты информации. В России AES не является государственным стандартом (ГОСТ использует алгоритм «Кузнечик»), но широко применяется в коммерческих и международных системах.
Коммерческое и бытовое использование
- Беспроводные сети: WPA2 и WPA3 используют AES-CCMP.
- Интернет-протоколы: TLS/SSL, SSH, IPsec.
- Шифрование дисков: BitLocker (Microsoft), FileVault (Apple), LUKS (Linux).
- Архиваторы: 7-Zip, WinRAR, WinZip.
- Мобильные платформы: iOS и Android используют AES для шифрования данных на устройстве.
- Криптовалюты: некоторые криптовалюты (например, Monero) используют AES в своих алгоритмах хеширования.
Стандартизация
AES включён в стандарты:
- FIPS PUB 197 (США)
- ISO/IEC 18033-3 (международный)
- NIST SP 800-38A (режимы шифрования)
- ГОСТ Р ИСО/МЭК 18033-3 (Россия, как международный стандарт)
Интересные факты
- Алгоритм Rijndael, победивший в конкурсе, изначально поддерживал блоки размером 128, 192 и 256 бит, но в финальную версию AES вошёл только блок 128 бит.
- Название «Rijndael» является комбинацией имён создателей: Винсент Рэймен (Rijmen) и Джоан Даймен (Daemen).
- S-блок AES построен на основе обратных элементов в поле Галуа GF(2⁸) и аффинного преобразования, что обеспечивает его нелинейность.
- В 2003 году правительство США классифицировало AES-128 как достаточный для защиты информации уровня «Secret», а AES-256 — для «Top Secret».
- В 2011 году исследователи продемонстрировали атаку на AES-128 с использованием бит-срезов (bitslicing), но она была теоретической и не представляла практической угрозы.
Источники
- National Institute of Standards and Technology. (2001). FIPS PUB 197: Advanced Encryption Standard (AES).
- Daemen, J., & Rijmen, V. (2002). The Design of Rijndael: AES — The Advanced Encryption Standard. Springer.
- National Institute of Standards and Technology. (2001). NIST Special Publication 800-38A: Recommendation for Block Cipher Modes of Operation.
- ISO/IEC 18033-3:2010. Information technology — Security techniques — Encryption algorithms — Part 3: Block ciphers.
- Bernstein, D. J. (2005). Cache-timing attacks on AES. Preprint.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →