Открыть сервис

AES-128

AES-128 — это симметричный блочный алгоритм шифрования, использующий ключ длиной 128 бит. Является одной из трёх утверждённых разновидностей стандарта AES (Advanced Encryption Standard), принятого в 2001 году Национальным институтом стандартов и технологий США (NIST). AES-128 обеспечивает шифрование данных блоками фиксированного размера (128 бит) и применяется для защиты конфиденциальной информации в различных сферах — от государственных систем до коммерческого программного обеспечения.

История

Предпосылки создания

До середины 1990-х годов основным стандартом симметричного шифрования в США был DES (Data Encryption Standard), разработанный в 1970-х годах. К концу 1990-х годов DES устарел: его ключ длиной 56 бит стал уязвим для атак полного перебора (brute-force), а производительность современных компьютеров позволяла взламывать DES за приемлемое время. В 1997 году NIST объявил конкурс на создание нового стандарта — AES.

Конкурс AES

В конкурсе участвовало 15 алгоритмов из разных стран. К финалу (1999 год) было отобрано пять кандидатов: MARS, RC6, Rijndael, Serpent и Twofish. Победителем в октябре 2000 года был объявлен алгоритм Rijndael, разработанный бельгийскими криптографами Йоаном Дайменом и Винсентом Рейменом. В декабре 2001 года NIST опубликовал стандарт FIPS PUB 197, официально утвердивший AES. В стандарт вошли три варианта с длиной ключа 128, 192 и 256 бит; AES-128 стал самым распространённым из-за баланса между скоростью и уровнем безопасности.

Принятие в мире

В 2002 году AES был одобрен правительством США для защиты информации, не составляющей государственную тайну (до уровня SECRET). В 2003 году Национальное агентство безопасности (NSA) разрешило использование AES-128 для защиты документов уровня SECRET, а для уровня TOP SECRET потребовались ключи длиной 192 или 256 бит. Впоследствии AES стал международным стандартом (ISO/IEC 18033-3) и вошёл в состав многих протоколов, включая TLS, IPsec, SSH, Wi-Fi Protected Access 2 (WPA2) и WPA3.

Алгоритм работы

Общая структура

AES-128 является шифром сети Фейстеля не является — он построен на основе подстановочно-перестановочной сети (Substitution-Permutation Network, SPN). Алгоритм оперирует с двумерным массивом байтов размером 4×4 (state), который представляет собой 128-битный блок данных.

Раунды

AES-128 выполняет 10 раундов преобразования (для ключей 192 и 256 бит — 12 и 14 раундов соответственно). Каждый раунд, кроме последнего, состоит из четырёх этапов:

  1. SubBytes (нелинейная замена) — каждый байт state заменяется на другой байт по таблице замен (S-box). S-box построен на основе обратного элемента в поле Галуа GF(2⁸) и аффинного преобразования, что обеспечивает нелинейность и устойчивость к дифференциальному и линейному криптоанализу.
  2. ShiftRows (циклический сдвиг строк) — строки state сдвигаются влево на разное число байтов: первая строка не сдвигается, вторая — на 1 байт, третья — на 2, четвёртая — на 3. Это обеспечивает перемешивание данных между столбцами.
  3. MixColumns (смешивание столбцов) — каждый столбец state умножается на фиксированную матрицу в поле Галуа. Этот этап отсутствует в последнем раунде.
  4. AddRoundKey (добавление раундового ключа) — state объединяется с раундовым ключом операцией XOR.

Расширение ключа

Из исходного 128-битного ключа с помощью алгоритма расширения (Key Expansion) генерируются 10 раундовых ключей. Каждый раундовый ключ имеет длину 128 бит и получается из предыдущего с использованием циклического сдвига, S-box и XOR с константой раунда (Rcon).

Классификация и варианты

По длине ключа

  • AES-128 — 10 раундов, 128-битный ключ.
  • AES-192 — 12 раундов, 192-битный ключ.
  • AES-256 — 14 раундов, 256-битный ключ.

Все три варианта используют одинаковый размер блока (128 бит) и одинаковую структуру раундов, различаясь только числом раундов и процедурой расширения ключа.

Режимы шифрования

AES-128 оперирует с блоками фиксированной длины, поэтому для шифрования сообщений произвольной длины применяются режимы (modes of operation). Наиболее распространённые:

  • ECB (Electronic Codebook) — каждый блок шифруется независимо. Уязвим к атакам по шаблонам, не рекомендуется для практического использования.
  • CBC (Cipher Block Chaining) — каждый блок XOR-ится с предыдущим зашифрованным блоком. Требует вектор инициализации (IV).
  • CTR (Counter) — шифруется счётчик, затем результат XOR-ится с открытым текстом. Позволяет параллельное шифрование.
  • GCM (Galois/Counter Mode) — режим аутентифицированного шифрования, обеспечивающий как конфиденциальность, так и целостность данных.

Применение

Государственные и военные системы

AES-128 используется в правительственных учреждениях США для защиты несекретной и секретной информации. В России AES не является государственным стандартом (ГОСТ 28147-89 и его преемник «Кузнечик»), но применяется в коммерческих системах и международных протоколах.

Коммерческое ПО и протоколы

  • TLS/SSL — защита веб-трафика (HTTPS). AES-128-GCM является одним из рекомендуемых шифров.
  • IPsec — защита IP-пакетов в VPN.
  • SSH — защита удалённого доступа.
  • WPA2/WPA3 — шифрование Wi-Fi-сетей. WPA2 использует AES-CCMP, WPA3 — AES-GCM.
  • Дисковое шифрование — BitLocker (Microsoft), FileVault (Apple), LUKS (Linux) поддерживают AES-128.
  • Архиваторы — 7-Zip, WinRAR, WinZip поддерживают AES-128 для защиты архивов паролем.

Криптовалюты и блокчейн

AES-128 редко используется непосредственно в блокчейне, но применяется для шифрования кошельков и ключей в некоторых криптовалютных системах.

Безопасность

Криптоанализ

На 2025 год AES-128 считается криптостойким. Известны следующие теоретические атаки:

  • Атака на основе связанных ключей — применима к некоторым вариантам AES, но требует специфических условий, не характерных для реальных систем.
  • Бикликовая атака (Biclique attack) — в 2011 году предложена атака, снижающая сложность полного перебора AES-128 с 2¹²⁸ до 2¹²⁶,1 операций. Это не представляет практической угрозы, так как сложность остаётся астрономической.
  • Квантовые атаки — алгоритм Гровера теоретически позволяет сократить сложность полного перебора до 2⁶⁴ операций, что делает AES-128 уязвимым для квантового компьютера с достаточным числом кубитов. Однако на практике такой компьютер ещё не создан. Для защиты от квантовых угроз рекомендуется использовать AES-256.

Атаки на реализацию

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

Критика и ограничения

Уязвимости в режимах

Сам по себе AES-128 является надёжным алгоритмом, но его безопасность зависит от правильного выбора режима шифрования и реализации. Например, режим ECB не обеспечивает семантической безопасности, а режим CBC уязвим к атакам с использованием оракула дополнения (padding oracle attack), если не реализован корректно.

Квантовая угроза

Хотя AES-128 пока не взломан, его стойкость к квантовым атакам (алгоритм Гровера) ниже, чем у AES-256. В связи с развитием квантовых вычислений многие организации (например, NSA) рекомендуют переходить на AES-256 для долгосрочной защиты.

Патентные ограничения

Алгоритм Rijndael был опубличен авторами без патентных ограничений, что способствовало его широкому распространению. Однако в некоторых странах (например, в России) существуют собственные национальные стандарты, что ограничивает применение AES в государственных информационных системах.

Интересные факты

  • Название «Rijndael» составлено из фамилий авторов: Rijmen и Daemen.
  • В стандарте AES размер блока фиксирован (128 бит), тогда как оригинальный Rijndael поддерживал размеры блока 128, 192 и 256 бит.
  • S-box AES спроектирован так, чтобы быть устойчивым к дифференциальному криптоанализу — максимальная вероятность дифференциала составляет 2⁻⁶.
  • В 2019 году компания Google сообщила о первой в мире демонстрации квантового превосходства на процессоре Sycamore, но это не повлияло на практическую безопасность AES-128, так как атака Гровера требует миллиарды кубитов.

Источники

  • FIPS PUB 197. Advanced Encryption Standard (AES). National Institute of Standards and Technology, 2001.
  • Daemen, J., Rijmen, V. The Design of Rijndael: AES — The Advanced Encryption Standard. Springer, 2002.
  • Bogdanov, A., Khovratovich, D., Rechberger, C. Biclique Cryptanalysis of the Full AES. ASIACRYPT, 2011.
  • Bernstein, D. J., Lange, T. Post-quantum cryptography. Nature, 2017.
  • NIST Special Publication 800-38A. Recommendation for Block Cipher Modes of Operation, 2001.
  • ГОСТ Р 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →