Ascon — семейство блочных шифров, используемых для аутентифицированного шифрования с присоединёнными данными и хеширования. Набор шифров был разработан Кристофом Добраунигом, Марией Айхелзидер, Флорианом Менделем и Мартином Шлаффером. Шифры Ascon-128 и Ascon-128a стали победителями соревнования CAESAR в категории применения в приложениях с ограниченными ресурсами.

Историческая справка Семейство шифров Ascon, используемое для аутентифицированного шифрования с присоединёнными данными и хеширования, было разработано Кристофом Добраунигом, Марией Айхелзидер, Флорианом Менделем и Мартином Шлаффером.

Шифры Ascon-128 и Ascon-128a были участниками соревнования CAESAR (2014 - 2019) и стали победителями в категории применения в приложениях с ограниченными ресурсами.

В августе 2019 года шифры семейства Ascon прошли во второй раунд процесса стандартизации Национального института стандартов и технологий в категории легковесной криптографии (англ. Lightweight Cryptography).

Алгоритмы в семействе Ascon

Аутентифицированное шифрование Параметры в алгоритмах семейства Ascon, используемых для аутентифицированного шифрования:

Размер ключа ( ≤ 160 бит) Размер блока данных Число , количество раундов перестановок на начальной и завершающей стадиях Число , количество раундов перестановок на промежуточных стадиях

Рекомендованы к использованию следующие конфигурации, соответствующие шифрам Ascon-128 и Ascon-128a . +Рекомендуемые алгоритмыНазваниеЗначения параметровkrabAscon-128128 бит64 бита126Ascon-128a128 бит128 бит128

Описание алгоритмов: аутентифицированное шифрование Каждая непосредственная реализация алгоритма, заданная параметрами , , , определяет алгоритмы шифрования E(a, b, k, r) и дешифрования-верификации D(a, b, k, r). Входные и выходные данные

Алгоритм шифрования E(a, b, k, r) Входными данными для алгоритма шифрования являются:

исходный текст P присоединённые данные A секретный ключ K размером k бит публичный номер сообщения NВыходные данные для алгоритма шифрования:

Аутентифицированный шифротекст C (такой же длины, как и P) Тег аутентификации T

==== Алгоритм дешифрования-верификации D''(a, b, k, r) ==== Входными данными для алгоритма дешифрования-верификации являются:

ключ K одноразовый код N (Nonce) шифротекст C тег T

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

Стадии алгоритма В алгоритмы шифрования и дешифрования входят следующие стадии:

Инициализация Обработка присоединённых данных Обработка исходного текста / шифротекста Завершающая стадия

Стадия инициализации Внутреннее состояние в алгоритмах семейства Ascon задаётся 320-битным числом S. На стадии инициализации оно формируется из секретного ключа K из k бит, одноразового кода N из 128 бит, и числа IV, характеризующего алгоритм и формируемого из параметров , , , , записанных 8-битными целыми числами:

Затем к начальному состоянию S применяется раундов перестановок с последующим XOR со значением секретного ключа K:

Стадия обработки присоединённых данных При шифровании и дешифровании Ascon обрабатывает присоединённые данные A блоками по бит. К присоединённым данным A приписывается единица и минимальное число нулей, необходимое для получения числа с размером кратным бит. Далее получившееся число делится на блоков по бит в каждом. В случае, когда присоединённые данные отсутствуют, данные операции опускаются.

Далее к каждому блоку применяется операция XOR c первыми битами состояния S. Затем выполняется раундов перестановок над числом S:

В конце производится операция XOR c однобитной константой разделения:

Стадия обработки исходного текста / шифротекста Ascon обрабатывает исходный текст P блоками по бит. К исходному тексту P приписывается единица и минимальное число нулей, необходимое для получения числа с размером кратным бит. Далее получившееся число делится на блоков по бит в каждом:

Шифрование Из каждого блока , используя XOR c первыми битами состояния S, получается блок шифротекста . При этом при выделении каждого из блоков кроме последнего над состоянием S производится раундов перестановок:

При выделении последнего блока его размер преобразуется так, чтобы размер полученнего шифротекста совпадал с размером исходного текста:

Дешифрование Для каждого из блоков шифротекста кроме последнего блок исходного текста получается за счёт применения XOR к первым битам состояния S. При этом эти бит замещаются соответствующим . Кроме того, для всех блоков кроме последнего при выделении состояние S преобразуется за счёт раундов перестановок:

Преобразование для последнего преобразованного блока :

Завершающая стадия В завершающей стадии применяется операция XOR к секретному ключу и состоянию S. Затем к состоянию S применяются раундов перестановок. Тег T получается за счёт применения операции XOR к последним 128 битам состояния S (наименее значимым) и к последним 128 битам ключа K:

Алгоритм шифрования возвращает тег T вместе с шифротекстом .

Алгоритм дешифрования-верификации возвращает исходный текст в случае, если сгенерированный тег совпадает с тегом, переданным как параметр.

Перестановки в шифрах Ascon Главные процессы в шифрах Ascon это перестановки и . Они осуществляются над внутренним состоянием S, которое делится на 5 слов по 64 бит каждое . В алгоритме перестановок последовательно применяется преобразование, которое основывается на SP-сети. Данное преобразование составляют 3 основных стадии:

Стадия прибавления констант Стадия замещения с 5-битным блоком замещения (англ. Substitution Box или S-box'') Стадия линейной диффузии с 64-битными диффузионными функциями

Стадия прибавления констант На данной стадии к слову в раунде перестановки добавляется константа , где для перестановок и для перестановок :

Значения констант задаются следующей таблицей: +Константы для раундов в и Константа Константа 0000000000000000000f0620000000000000000000961000000000000000000e1731000000000000000000872000000000000000000d2842000000000000000000783000000000000000000c39530000000000000000006940000000000000000000b410640000000000000000005a51000000000000000000a511750000000000000000004b

Стадия замещения На стадии замещения параллельно применяется 5-битный блок замещения (S-блок) к каждому соответствующему битовому массиву из слов . Представленный в виде таблицы поиска S-блок для семейства шифров Ascon: +5-битный блок замещения в виде таблицы поискаx0123456789abcdef101112131415161718191a1b1c1d1e1fS(x)4b1f141a15921b58121d361c1e137e0d111810c11916af17

Стадия линейной диффузии На стадии линейной диффузии делается преобразование диффузии в каждом 64-битном слове за счёт применения линейных функций к каждому слову :

Для семейства Ascon линейные диффузионные функции реализованы как:

Преимущества шифров Ascon

Высокий уровень надёжности Шифры Ascon-128 и Ascon-128a стали победителями соревнования CAESAR в категории применения в приложениях с ограниченными ресурсами. На данный момент с учётом продолжительного публичного исследования и криптоанализа предложенных шифров не было выявлено недостатков в надёжности шифров.

Простота реализации Алгоритмы Ascon работают с 64-битными словами и используют лишь простые побитовые операции. Это существенно упрощает реализацию алгоритмов семейства на новых платформах.

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

Примечания

Литература

Ссылки

Категория:Криптография Категория:Блочные шифры