0Pricing
Cryptology Academy · Урок

Структура AES: раунды и матрица состояния

Пошагово изучите SubBytes, ShiftRows, MixColumns и AddRoundKey

«Структура AES: раунды и матрица состояния» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.

Добро пожаловать

AES — это сеть подстановок и перестановок, работающая с матрицей байтов 4×4, которая называется состоянием. В каждом раунде к состоянию применяются четыре операции.

Матрица состояния

AES загружает 16 байтов открытого текста в сетку 4×4, которая называется состоянием: [b0 b4 b8 b12] [b1 b5 b9 b13] [b2 b6 b10 b14] [b3 b7 b11 b15] Все операции преобразуют эту матрицу.

Количество раундов

AES-128: 10 раундов. AES-192: 12 раундов. AES-256: 14 раундов. В каждом раунде применяются SubBytes, ShiftRows, MixColumns и AddRoundKey (за исключением последнего раунда, в котором пропускается MixColumns).

SubBytes: нелинейная подстановка

SubBytes заменяет каждый байт его значением из S-box AES — фиксированной таблицы поиска на 256 элементов, построенной с помощью обращения в GF(2^8). Это источник нелинейности и перемешивания в AES.

S-box AES

S-box отображает 0x00→0x63, 0x01→0x7C, ... Каждый входной байт отображается в уникальный выходной байт. Обратный S-box выполняет обратное отображение при расшифровании. Ни один байт не отображается сам в себя (обратный S-box отображает 0x63 в 0x00).

ShiftRows: перестановка строк

ShiftRows циклически сдвигает каждую строку состояния: Строка 0: без сдвига. Строка 1: влево на 1. Строка 2: влево на 2. Строка 3: влево на 3. Это распределяет байты по разным столбцам перед следующим шагом MixColumns.

MixColumns: рассеивание по столбцам

MixColumns рассматривает каждый столбец из 4 байтов как многочлен над GF(2^8) и умножает его на фиксированную матрицу. Каждый выходной байт зависит от всех 4 входных байтов, обеспечивая рассеивание.

AddRoundKey

AddRoundKey выполняет операцию XOR между состоянием и 16-байтовым ключом раунда, полученным из исходного ключа. Это единственный шаг, использующий секретный ключ, и единственный шаг, обеспечивающий секретность.

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

Начальный этап: AddRoundKey Раунды 1..N-1: SubBytes → ShiftRows → MixColumns → AddRoundKey Последний раунд: SubBytes → ShiftRows → AddRoundKey (без MixColumns) При расшифровании обратные операции применяются в обратном порядке.

Стратегия широкого следа

Создатели AES использовали стратегию широкого следа, чтобы доказать стойкость алгоритма к дифференциальному и линейному криптоанализу. После 4 раундов любая атака должна исследовать 2^128 вариантов.

Аппаратная поддержка AES

Современные CPU (Intel, AMD, ARM) содержат инструкции AES-NI: AESENC, AESENCLAST и AESDEC. Одна инструкция CPU выполняет один раунд AES, благодаря чему AES работает на аппаратном уровне чрезвычайно быстро.

Быстрая проверка

Какая операция AES обеспечивает нелинейность (перемешивание), препятствующую алгебраическим атакам?

Итоги

Теперь Вы понимаете структуру AES! Далее мы изучим расширение ключа — то, как 128-битный ключ превращается в 11 ключей раундов.

Часто задаваемые вопросы

Урок «Структура AES: раунды и матрица состояния» бесплатный?

Да — полный текст урока «Структура AES: раунды и матрица состояния» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.

Чему я научусь в уроке «Структура AES: раунды и матрица состояния»?

Пошагово изучите SubBytes, ShiftRows, MixColumns и AddRoundKey Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cryptology Academy?

Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Структура AES: раунды и матрица состояния»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cryptology Academy?

Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы симметричного шифрования
  2. Структура AES: раунды и матрица состояния
  3. Расширение ключа AES и размеры ключей
  4. Практическое шифрование файлов с помощью AES
← Назад к Cryptology Academy