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

Advanced Encryption Standard

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

История

В 1997 году Национальный институт стандартов и технологий США (NIST) объявил конкурс на разработку нового стандарта шифрования, который должен был заменить устаревающий DES. Основными требованиями к алгоритму были: высокая криптостойкость, эффективность реализации как в программном, так и в аппаратном обеспечении, а также открытость и отсутствие патентных ограничений.

На конкурс было подано 15 заявок от криптографов со всего мира. После нескольких раундов анализа и публичного обсуждения, в октябре 2000 года победителем был объявлен алгоритм Rijndael, разработанный бельгийскими криптографами Джоан Даймен и Винсентом Рэйменом. 26 ноября 2001 года AES был официально опубликован как федеральный стандарт обработки информации США (FIPS PUB 197). С этого момента он получил широкое распространение в коммерческих и государственных системах, включая правительственные сети США, где используется для защиты информации с грифом «секретно» (некоторые модификации — для информации с грифом «совершенно секретно»).

Описание алгоритма

AES является блочным шифром, то есть шифрует данные не побитово, а целыми блоками фиксированного размера. Размер блока составляет 128 бит (16 байт). Длина ключа может быть 128, 192 или 256 бит, что определяет количество раундов шифрования: 10, 12 и 14 раундов соответственно.

Структура раунда

Входные данные (блок открытого текста) представляются в виде двумерного массива байтов размером 4×4, называемого состоянием (state). Каждый раунд, за исключением последнего, состоит из четырёх последовательных преобразований:

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

Перед первым раундом выполняется начальное добавление раундового ключа (AddRoundKey), а в последнем раунде операция MixColumns не выполняется. Процесс расшифрования использует обратные преобразования (InvSubBytes, InvShiftRows, InvMixColumns) и раундовые ключи в обратном порядке.

Размеры ключей и раунды

Размер ключа (бит)Количество раундовДлина расширенного ключа (слов по 32 бита)
1281044
1921252
2561460

Классификация

AES относится к следующим категориям криптографических алгоритмов:

Применение

AES является одним из самых распространённых криптографических алгоритмов в мире. Он используется в самых разных областях:

Криптостойкость

На 2025 год AES считается криптостойким алгоритмом. Наиболее эффективные атаки на полный AES (например, атаки на основе связанных ключей или биклиновые атаки) снижают сложность взлома лишь незначительно (например, для AES-128 с 2^128 до 2^126.1 операций), что не представляет практической угрозы.

Режимы работы

Поскольку AES является блочным шифром, для шифрования данных произвольной длины он используется в одном из режимов работы. Наиболее распространённые режимы:

Стандартизация в России

В Российской Федерации для государственных нужд и защиты информации, содержащей государственную тайну, применяется национальный стандарт шифрования ГОСТ 28147-89 (и его более современные версии — ГОСТ Р 34.12-2015, включающий алгоритмы «Магма» и «Кузнечик»). AES не является государственным стандартом в РФ, однако его использование не запрещено для коммерческих и частных целей. Многие российские компании (банки, разработчики ПО) активно применяют AES для защиты данных, не подпадающих под требования государственных стандартов.

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

Источники

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

На главную BFOmetr →