AES (Advanced Encryption Standard)

AES или расширенный стандарт шифрования — один из видов блочного шифрования электронной информации. Его разработал Национальный институт стандартов и технологий США (NIST) более 20 лет назад. Сегодня AES широко применяют как альтернативу Data Encryption Standard и «тройной» DES, хотя его и сложнее реализовать.

Основные признаки AES:

  1. AES — вид симметричного шифрования по блокам.
  2. Длина ключей AES варьируется в пределах 128-192-256 бит.
  3. По этому принципу данные шифруются блоками по 128, 192 и 256 бит каждый.

AES принимает 128 бит в качестве входных данных и выводит 128 бит зашифрованного текста в качестве выходной информации.

Преимущества AES

Почему AES пользуется большей популярностью относительно других стандартов шифрования:

  1. Поддерживает как аппаратное шифрование, так и шифрование программными средствами.
  2. Поддерживает 3 размера ключа, что дает гибкость в плане защиты, скорости  и эффективности работы.
  3. Все 3 вида ключей достаточно длинные, что делает AES слишком сложным для взлома.
  4. Этот стандарт шифрования встречается довольно часто, так как правительство США сделало его стандартом.
  5. Не требует такого количества памяти, как остальные виды шифрования, например, DES.
  6. Легко интегрируется с остальными протоколами защиты и видами шифрования.

Как функционирует AES

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

AES выполняет операции с байтами данных, а не с битами. Поскольку размер блока составляет 128 бит, шифр обрабатывает 128 бит (или 16 байт) входных данных за один раз.

Число обработок зависит от размеров ключей:

  • 128 бит — 10 обработок;
  • 192 бит — 12 обработок;
  • 256 бит — 14 обработок.

Создание круглых ключей

Процесс расписания ключей AES применяется для вычисления всех круглых ключей. Таким образом, исходный ключ применяется для создания множества различных круглых ключей, которые будут использованы на соответствующем этапе шифрования.