ARIA (криптография)

ARIA
Создатель Группа южнокорейских исследователей
Создан 2003 г.
Опубликован 2003
Размер ключа 128, 192, 256 бит
Размер блока 128 бит
Число раундов 12/14/16
Тип Подстановочно-перестановочная сеть

ARIA — алгоритм симметричного блочного шифрования (размер блока 128 бит, ключ длиной до 256 бит), разработанный южнокорейскими криптологами в качестве шифра-национального стандарта в Южной Корее. В 2004 году шифр был официально утверждён как национальный стандарт.

Алгоритм имеет структуру SP-сети, как и Rijndael. Количество раундов — 12, 14, или 16, в зависимости от длины ключа. ARIA использует две таблицы подстановки размером 8×8-бит и их инверсии в качестве альтернативных раундов, один из них является S-box из шифра Rijndael. Алгоритм использует инволюции, одна и та же процедура может быть использована как для зашифрования, так и расшифрования.

Ключевое расписание обрабатывает ключ 3-раундовым 256-битном шифром Сети Фейстеля.

Один раунд алгоритма состоит из 3 этапов:

  • сложение с раундовым ключом. 128-битное внутреннее состояние складывается по модулю 2 с 128-битным раундовым подключом
  • слой подстановки, здесь внутреннее состояние проходит через 16 таблиц подстановки. Имеется два вида слоёв подстановки: типа 1 и типа 2, которые меняются в зависимости от раунда
  • слой диффузии, где простая двоичная матрица 16x16 умножается на состояние, которое обрабатывается как массив из 16 байт

Алгоритм эффективен как в программной, так и в аппаратной реализации. Хорошие результаты шифр показывает на 8-битных платформах.

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

[править | править код]

Разработчиком была заявлена гарантированная устойчивость к линейному и дифференциальному криптоанализу и, в целом, всем существующим на момент разработки атакам. На данный момент существуют атаки лишь на сокращённую 7-раундовую версию шифра.