Ascon

Материал из testwiki
Версия от 16:23, 4 марта 2025; imported>Sldst-bot ш:Изолированная статья добавлена дата установки: 2019-12-25)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Шаблон:Карточка блочного шифра

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

Историческая справка

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

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

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

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

Аутентифицированное шифрование

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

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

Рекомендованы к использованию следующие конфигурации, соответствующие шифрам Ascon-128 и Ascon-128a Шаблон:Sfn.

Рекомендуемые алгоритмы
Название Значения параметров
k r a b
Ascon-128 128 бит 64 бита 12 6
Ascon-128a 128 бит 128 бит 12 8

Описание алгоритмов: аутентифицированное шифрование

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

Входные и выходные данные

Алгоритм шифрования E(a, b, k, r)

Входными данными для алгоритма шифрования являютсяШаблон:Sfn:

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

Выходные данные для алгоритма шифрованияШаблон:Sfn:

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

E(a,b,k,r)(K,N,A,P)=(C,T)

Алгоритм дешифрования-верификации D(a, b, k, r)

Входными данными для алгоритма дешифрования-верификации являютсяШаблон:Sfn:

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

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

D(a,b,k,r)(K,N,A,C,T){P,}

Стадии алгоритма

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

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

Стадия инициализации

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

IVk,r,a,b=k||r||a||b||0160k={80400c0600000000(Ascon-128)80800c0800000000(Ascon-128a)S=IVk,r,a,b||K||N

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

Spa(S)(0320k||K)

Стадия обработки присоединённых данных

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

A1,A2,,As{r - битные блокиA||1||0r1(|A|modr)|A|>0|A|=0

Далее к каждому блоку Ai,1is применяется операция XOR c первыми r битами состояния S. Затем выполняется b раундов перестановок над числом SШаблон:Sfn:

Spb((SrAi)||S320r)1is

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

SS(0319||1)

Стадия обработки исходного текста / шифротекста

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

P1,P2,,Ptr - битные блокиP||1||0(|P|modr)

Шифрование

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

CiSrPiS{pb(Ci||S320r)1i<tCi||S320ri=t

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

Ct~Ct|P|modr

Дешифрование

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

PiSrCiSpb(Ci||S320r)1i<t

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

Pt~SrlCt~S(Sr(Pt~||1||0r1l))||S320r

Завершающая стадия

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

Spa(S(0r||K||0320rk))TS128K128

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

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

Перестановки в шифрах Ascon

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

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

Стадия прибавления констант

На данной стадии к слову x2 в раунде перестановки i добавляется константа cm, где m=i для перестановок pa и m=i+ab для перестановок pbШаблон:Sfn:

x2x2cm

Значения констант задаются следующей таблицейШаблон:Sfn:

Константы cm для раундов i в pa и pb
p12 p8 p6 Константа cm p12 p8 p6 Константа cm
0 000000000000000000f0 6 2 0 00000000000000000096
1 000000000000000000e1 7 3 1 00000000000000000087
2 000000000000000000d2 8 4 2 00000000000000000078
3 000000000000000000c3 9 5 3 00000000000000000069
4 0 000000000000000000b4 10 6 4 0000000000000000005a
5 1 000000000000000000a5 11 7 5 0000000000000000004b

Стадия замещения

На стадии замещения параллельно применяется 5-битный блок замещения (S-блок) S(x) к каждому соответствующему битовому массиву из слов x0,x1,x2,x3,x4. Представленный в виде таблицы поиска S-блок для семейства шифров AsconШаблон:Sfn:

5-битный блок замещения в виде таблицы поиска
x 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
S(x) 4 b 1f 14 1a 15 9 2 1b 5 8 12 1d 3 6 1c 1e 13 7 e 0 d 11 18 10 c 1 19 16 a f 17

Стадия линейной диффузии

На стадии линейной диффузии делается преобразование диффузии в каждом 64-битном слове x0,x1,x2,x3,x4 за счёт применения линейных функций к каждому слову xiШаблон:Sfn:

xii(xi)0i4

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

x00(x0)=x0(x019)(x028)x11(x1)=x1(x161)(x139)x22(x2)=x2(x21)(x26)x33(x3)=x3(x310)(x317)x44(x4)=x4(x47)(x441)

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

Высокий уровень надёжности

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

Простота реализации

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

Интерактивность и однопроходность

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

Примечания

Литература

Шаблон:Refbegin

Ссылки

Шаблон:Изолированная статья