Научная статья на тему 'Об алгоритмической реализации s-боксов 16х16 со структурами Arx и "Бабочка"'

Об алгоритмической реализации s-боксов 16х16 со структурами Arx и "Бабочка" Текст научной статьи по специальности «Математика»

CC BY
120
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
S-БОКС 16X16 / АЛГОРИТМИЧЕСКАЯ РЕАЛИЗАЦИЯ / ARX / "БАБОЧКА" / МАКСИМАЛЬНАЯ РАЗНОСТНАЯ ХАРАКТЕРИСТИКА / МАКСИМАЛЬНАЯ ЛИНЕЙНАЯ ХАРАКТЕРИСТИКА / СТЕПЕНЬ НЕЛИНЕЙНОСТИ / 16-BIT S-BOX / ALGORITHMIC IMPLEMENTATION OF S-BOXES / BUTTERFLY / MAXIMUM DIFFERENTIAL PROBABILITY / MAXIMUM LINEAR PROBABILITY / NONLINEAR ORDER

Аннотация научной статьи по математике, автор научной работы — Комиссаров Семён Михайлович

Предложены способы алгоритмической реализации новых s-боксов размера 16x16 бит, вычислительная сложность и криптографические характеристики которых улучшены по сравнению со способами, исследованными ранее. Первый способ реализует s-боксы на основе ARX (Add-Rotate-Xor)-структуры; второй на основе структуры «Бабочка» с использованием нелинейных подстановочных s-боксов размера 8x8 бит. Максимальная разностная характеристика (МРХ) предложенных s-боксов с ARX-структурой равна 18/216, со структурой «Бабочка» -10/216. Максимальная линейная характеристика (МЛХ) s-боксов с ARX-структурой равна 764/215, со структурой «Бабочка» 512/215. Минимальная степень нелинейности среди всех нетривиальных линейных комбинаций координатных функций предложенных s-боксов равна 15. Установлено, что использование предложенных s-боксов размера 16x16 бит в раундовых подстановках алгоритмов AES и «Кузнечик» позволяет улучшить их некоторые криптографические свойства. Для усечённых алгоритмов AES и «Кузнечик», реализующих несколько раундов шифрования, существенно снижены верхние оценки МРХ и МЛХ по сравнению с версиями алгоритмов, использующих штатные s-боксы.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

On algorithmic implementation of 16-bit s-bo-xes with arx and butterfly structures

Implementations of nonlinear mappings of vector space Vn (s-boxes n x n) as lookup-tables are memory intensive. It requires n2n bits to store n-bit s-box. That is why the existing block ciphers use s-boxes of relatively small size (8x8 bit AES, Kuznyechik, 6x4 bit DES). New constructions of 16-bit algorithmically implementable s-boxes with improved performance and cryptographic properties (in comparison with the existing methods) are proposed. The first method is based on ARX (Add-Rotate-XOR) structure, using low-cost computations in software and hardware. The second method is based on butterfly structure, using 8-bit precomputed s-boxes to build 16 x 16 ones. Maximum expected differential probability, maximum expected linear probability and minimum nonlinear order over all linear combinations of the components of proposed s-boxes with ARX structure are 18/216, 764/215 and 15, respectively and of suggested s-boxes with Butterfly structure are 10/216, 512/215 and 15, respectively. It is established that the use of the proposed 16-bit s-boxes in the round substitutions of AES and Kuznyechik block ciphers significantly lowers the upper bounds of differential and linear probabilities for two and four rounds of these algorithms.

Текст научной работы на тему «Об алгоритмической реализации s-боксов 16х16 со структурами Arx и "Бабочка"»

УДК 519.1 DOI 10.17223/2226308X/12/32

ОБ АЛГОРИТМИЧЕСКОЙ РЕАЛИЗАЦИИ S-БОКСОВ 16x16 СО СТРУКТУРАМИ ARX И «БАБОЧКА»

С. М. Комиссаров

Предложены способы алгоритмической реализации новых s-боксов размера 16x16 бит, вычислительная сложность и криптографические характеристики которых улучшены по сравнению со способами, исследованными ранее. Первый способ реализует s-боксы на основе ARX (Лёё-Ко1а1в-Хог)-структуры; второй — на основе структуры «Бабочка» с использованием нелинейных подстановочных s-боксов размера 8x8 бит. Максимальная разностная характеристика (МРХ) предложенных s-боксов с ARX-структурой равна 18/216, со структурой «Бабочка» —10/216. Максимальная линейная характеристика (МЛХ) s-боксов с ARX-структурой равна 764/215, со структурой «Бабочка» — 512/215. Минимальная степень нелинейности среди всех нетривиальных линейных комбинаций координатных функций предложенных s-боксов равна 15. Установлено, что использование предложенных s-боксов размера 16x16 бит в раундовых подстановках алгоритмов AES и «Кузнечик» позволяет улучшить их некоторые криптографические свойства. Для усечённых алгоритмов AES и «Кузнечик», реализующих несколько раундов шифрования, существенно снижены верхние оценки МРХ и МЛХ по сравнению с версиями алгоритмов, использующих штатные s-боксы.

Ключевые слова: s-бокс 16x16, алгоритмическая реализация, ARX, «Бабочка», максимальная разностная характеристика, максимальная линейная характеристика, степень нелинейности.

Цель работы — оценить важнейшие характеристики некоторых способов реализации s-боксов (узлов замены) размера 16 x 16 бит и перспективы их использования в итеративных алгоритмах блочного шифрования.

Нелинейные отображения векторного пространства Vn (s-боксы размера n x n бит) в симметричных алгоритмах блочного шифрования обычно реализуются в виде таблиц, содержащих множество всех образов. Для хранения одного такого массива требуется n2 бит памяти. Это вынуждает в алгоритмах блочного шифрования использовать s-боксы малых размеров (8x8 бит в алгоритме «Кузнечик», 4x4 в алгоритме «Магма», 6x4 в DES, 8x8 в AES). В данной работе предложены способы алгоритмической реализации новых s-боксов большого размера (16x16 бит). При алгоритмическом вычислении значений s-боксов больших затрат памяти не требуется.

Обозначим b : Z2n ^ Vn — биективное отображение числа X G Z2 n в его двоичное представление, b(X) = X = (ж0,... , жп-1); (X1 , X2) — конкатенация двух векторов; X1,X2 G Z2n —полублоки входного блока X s-бокса, X = (X1,X2) G Z2i6 ; b(X1) = X1 = (жо,...,жт), b(X2) = X2 = (Ж8,...,Ж15), b(X) = (жо,...,Ж15); Y ^ t (Y ^^ t) —циклический сдвиг координат вектора Y на t бит вправо (влево); ® — умножение в поле F(28) = F2[x]/(ж8 + ж4 + ж3 + ж + 1); а254 = а-1 —обратный к ненулевому элементу а поля F(28); S : Vm ^ Vm — функция s-бокса размера m x m бит.

Для ж G Vm и ж' = ж ф a G Vm (пар текстов с фиксированной разностью a G Vm ) и s-бокса S : Vm ^ Vm определим разностную характеристику (РХ) DPS (a,b) = |{ж G Vm : S (ж) ф S (ж' ) = b}|/2m — вероятность появления случайной величины— разности b G Vm выходных текстов S^) и S (ж'). Максимальная разностная характеристика (МРХ) s-бокса определена как ps = max DPS(a, b). Для векто-

a,beVr!i

ра a = (a0,..., am-i) G Vm определим линейную булеву функцию la(x0,... , xm-i) =

m— 1

= ф ajXj. Для некоторых a,b G Vm и s-бокса S : Vm ^ Vm с компонентными функци-

i=0

ями (S0,... , Sm— 1) определим линейную характеристику (ЛХ) LPS(a,b) = 21—m|{x G G Vm : la(x) = lb(S(x))}| — 1. Максимальную линейную характеристику (МЛХ) s-бокса S определим как ös = max LPS(a,b). Пусть deg f — степень нелинейности функции f. Минимальная степень нелинейности среди всевозможных линейных комбинаций

координатных функций определена в [1] как As = min {deg(la(S(x)))}. Производи-

a,beVm

тельность s-боксов измеряется в Мбайт/с, ёмкость памяти — в байтах.

Алгоритмы AES и «Кузнечик» при использовании в них s-боксов размера 16x16 бит вместо стандартных обозначим AES16 и К16.

1. Описание метода алгоритмической реализации s-бокса 16x16

с ARX-структурой

s-Боксы на основе ARX-структуры используют операции сложения, циклического сдвига и побитового XOR-сложения векторов. Эти операции не требуют существенных затрат памяти на хранение предварительно вычисленных таблиц [2, 3], характеризуются низкой ресурсоёмкостью в программных и аппаратных реализациях и выполняются менее чем за половину такта процессора.

Раундовые подстановки gi : V16 ^ V16, i = 1, 2, s-боксов 16x16 с ARX-структурой, предлагаемые в данной работе, в общем виде представимы в виде композиции двух преобразований fi1, fi2 : V16 ^ V16:

9i(X) = fi2 ◦ f«(X). (1)

Построены перспективные схемы с ARX-структурой с точки зрения сочетания положительных криптографических характеристик с высокой производительностью программной реализации.

Первый вариант раундового преобразования (1) s-бокса обозначим g1, для него

f11(X) = (b(((X1 ^ 2)+X2) mod 28),^2), f12(X) = (Xbb(((X2 «< 1)+C) mod 28)®^1).

Второй вариант раундового преобразования (1) s-бокса обозначим g2, для него

f21(X) = (b(((X1 ^ 1)+X2) mod 28),X2), f22(X) = (^1,b(((X2 ^ 2)+C) mod 28)®X1).

Здесь C G Z28 —константа, C = 185 для g1 и C = 100 для g2. Обозначим = g6, = 96 — предложенные s-боксы с ARX-структурой.

Экспериментально установлено, что для предложенных s-боксов = p^2 = 18/216, ö^ = 762/215, ö^ = 764/215, A^ = A^ = 15.

В табл. 1 приведены частоты значений DP в таблицах разностей и Видно, что частота встречаемости МРХ невелика, поэтому при реализации разностной атаки сложно подобрать несколько s-боксов с МРХ более чем в одном рауде шифрования.

Таблица 1

Частота встречаемости значений DP в таблицах разностей ¥1 и ¥2

2iö • DP 0 2 4 6 8 10 12 14 16 18

2,6 • 109 1,3 • 109 3,3 • 108 5,4 • 107 6,8 • 106 678529 56603 4062 280 14

¥2 2,6 • 109 1,3 • 109 3,3 • 108 5,4 • 107 6,8 • 106 677386 56885 4058 256 7

2. Об алгоритмической реализации 8-бокса 16x16 со структурой «Бабочка»

В [4, 5] предложены способы построения я-боксов 8x8 со структурой «Бабочка» с использованием умножения в ОЕ(24) и подстановок меньших размеров (4x4 бит), реализующих мономы в ОЕ(24). В данной работе предложены два типа я-боксов 16х 16 со структурой «Бабочка» с использованием умножения в ОЕ(28) и подстановок меньших размеров (8x8 бит), реализующих мономы в ОЕ(28). Обозначим фг : У16 ^ У16, г = 1, 2:

фг(х) = ^(ХьХО = (Ъ(гг1(х1,х2)),ь(гг2(х2,гг1(х1,х2)))) = (X ,х2).

За основу первого типа я-боксов 16x16 взята структура из [4]. Обозначим его ф^ для него

^и (X1, х2) = х1

^12 (х2, х1) = х2

М^), х2 = 0, (х1 0 х2)254, х2 = 0,

'^ВД, х1 = 0, х1 0 (х2)254, х1 = 0,

где ^11(х1,х2),^12(х2,х1) : Е(216) ^ Е(28) —биективные функции по х1 и х2 соответственно; ^1,^2 : F(28) ^ Е(28) —нелинейные подстановки, реализующие мо-

где

х

номы в F2[x]/(x8 + х4 + х3 + х + 1). При Л,2(х) € {х254,х253} и ^1(х) к € {28, 37, 56, 73, 74,131,146,148,164,191,193, 239, 247, 251, 253, 254}, отображение ф1 биективно, рф1 = 10/216, Аф = 15 и 5ф1 = 512/215.

За основу второго типа я-боксов 16x16 взята структура из [5]. Обозначим его ф2, для него

^21 (х1, х2) = х1

^22 (х2, х1) = х2

(х1)254, х2 = 0,

х1 0 й1(х2), х2 = 0,

№)254, х1 = 0,

х2 0 ^2(х1), х1 = 0,

где ^21(х1,х2),^22(х2,х1) : F(2 ) ^ F(28) —биективные функции по х1 и х2 соответственно. При Л,2(х) =

х254 и

^1(х) = х2 отображение ф2 биективно, рф2 = 10/216, Аф2 = 15 и 6ф2 = 512/215. При Л,2(х) € {х254,х253} и ^1(х) € {х32,х16} отображение ф2 биективно, рф2 = 10/216, Аф2 = 15 и 6ф2 = 544/215.

При алгоритмической реализации ф1 и ф2 мономы Л^, Л,2 и х-1 реализуются в виде таблиц, каждая из которых занимает 8 • 28 бит памяти. Требуются также две предварительно рассчитанные таблицы подстановок 8x8 бит для быстрой реализации произведения в F2[x]/(x8 + х4 + х3 + х + 1). Обозначим ф — я-бокс 16x16 со структурой «Бабочка», реализующий ф1 при = Л,2 = х254 = х-1. При алгоритмической реализации он требует одну предварительно рассчитанную таблицу, задающую моном х254, и имеет следующие характеристики: рф = 10/216, Аф = 15 и 5ф = 512/215. В табл.2 приведено распределение разностных характеристик в его таблице разностей.

В табл. 3 приведено сравнение МРХ, МЛХ и минимальной степени нелинейности среди всевозможных линейных комбинаций компонентных функций известных и предложенных я-боксов.

Таблица 2

Частота встречаемости значений DP в таблице разностей ф

216 • DP 0 2 4 6 8 10

Ф 2507045091 1602586456 12279975 171659076 1328564 2598

Таблица 3

Сравнение ps, ös и As для s-боксов

s-Бокс AES Skipjack «Кузнечик» ¥>1 ¥>2 Ф x 1, таблица [6]

Размер 8 x 8 8 x 8 8 x 8 16 x 16 16 x 16 16 x 16 16 x 16

Ps 4/28 12/28 8/28 18/216 18/216 10/216 4/216

Ss 12/27 28/27 28/27 762/215 764/215 512/215 256/215

As 7 6 7 15 15 15 15

3. Верхние оценки разностной и линейной характеристик для алгоритмов

AES16 и K16

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

Пусть L : Vm ^ Vm — линейное преобразование алгоритма блочного шифрования на основе SP-сети с размером блока m-n бит. Обозначим ßi, i = 1,... , 4, число активных s-боксов на i-м раунде.

Степень ветвления (branch number) линейного преобразования L (обозначим ß^ или в2 в случае, когда L является композицией всех используемых в алгоритме линейных преобразований) есть

e^ = min {w(x) + w(L(x))},

xevn

где w(x) = w(xi, x2,... , xn) = |{xi = 0 : xi G Vm, i = 1,... , n}|.

Степень ветвления алгоритма блочного шифрования на основе SP-сети можно определить как минимальное возможное число активных s-боксов, участвующих в первых двух раундах шифрования. Известно [7], что для AES в2 = 5, в4 = (в2)2 = 25, для алгоритма «Кузнечик» в2 = 17 [8]. Для AES16 в2 = 5, в4 = 15; для К16 в2 = 9.

Обозначим ak , bk G Vn разности пар входных и выходных текстов размера mn бит k-го раунда алгоритма блочного шифрования на основе SP-сети с s-боксами S : Vm ^ Vm, i = 1,... ,n; DP2(a1,b2) (DP4(a1,b4)) — РХ двух (четырёх) раундов алгоритма шифрования на основе SP-сети; LP2(a1, b2) (LP4(a1, b4)) —ЛХ двух (четырёх) раундов алгоритма шифрования на основе SP-сети.

Теорема 1 [9]. Для любой ненулевой разности a1 G Vn-n пары входных текстов РХ двух раундов алгоритма шифрования на основе SP-сети верно неравенство

!2m-1 2m-1 Л

max max V {DPSi (u, j )}ß2, max max V {DPSi (j,u)}ß2 >

1<i<n 1<U<2™-1 j=1 1 V )Jn 1^n 1<U<2™-1 ^ 1 U' !i (

В табл. 4 и 5 приведено сравнение посчитанных по лемме 1 [9] и теореме 1 верхних оценок РХ двух и четырёх раундов AES16 и К16 с оценками версий алгоритмов, использующих штатные s-боксы.

Приведём другие оценки РХ/ЛХ двух и четырёх раундов AES16 и К16, основанные на МРХ/МЛХ используемого s-бокса, аналогичные оценкам AES в [7]. Обозна-

Таблица 4

Верхние оценки РХ для ЛЕБ и ЛЕ816 по теоремам [9]

Алгоритм ЛЕБ [9] ЛЕБ16 с ЛЕБ16 с ЛЕБ16 с ф

РР2(а,6) < 1,234 ■ 2-28 1,177 ■ 2-56 1,217 ■ 2-56 1,362 ■ 2-56

РР4(а,6) < 1,144 ■ 2-111 1,240 ■ 2-209 0,950 ■ 2-208 0,956 ■ 2-208

Таблица 5 Оценки РХ для алгоритмов «Кузнечик» и К16 по теоремам [9]

Алгоритм «Кузнечик» [9] К16 с К16 с К16 с ф

РР2(а,6) < 0,909 ■ 2-106 0,932 ■ 2-112 1,395 ■ 2-113 1,015 ■ 2-12и

чим РР?(а,6),РР4;(а, 6) (РР?(а,6),РР4;(а, 6)) РХ (ЛХ) двух и четырёх раундов алгоритма шифрования на основе БР-сети, использующего единственный я-бокс Б; ^ — любой из предложенных я-боксов с АИХ-структурой (^ или ^2). Для любой ненулевой разности а € У^,п имеет место РР;(а, 6) ^ р?2, РР;(а, 6) ^ $в2, РР4;(а, 6) ^ р?4, РР4;(а, 6) ^ ^в4 [7]. Для АЕБ16:

РР2Т(а, 6) ^ рТ2 = (18 ■ 2-16)5 « 0,9 ■ 2-59; РР4Т(а, 6) ^ рТ4 = (18 ■ 2-16)15 « 1,46 ■ 2-178; ЯР^(а, 6) < 1,52 ■ 2-64; РР/(а, 6) < 1,78 ■ 2-191; РР2Т1 (а, 6) ^ ^ = (762 ■ 2-15)5 « 0,913 ■ 2-27; РР4Т1 (а, 6) ^ = (762 ■ 2-15)15 « 1,521 ■ 2-82; РР2Т2 (а, 6) < 0,924 ■ 2-27; РР4Т2 (а, 6) < 1,582 ■ 2-82; РР^(а, 6) ^ 2-30; РР/(а, 6) ^ 2-90. Для К16:

РР2Т(а,6) ^ рТ2 = (18 ■ 2-16)9 « 1,443 ■ 2-107; РР2Т1 (а, 6) < 1,119 ■ 2-49; РР2Т2 (а, 6) < 1,146 ■ 2-49; РР^(а, 6) < 0,931 ■ 2-114; РР^(а, 6) ^ 2-54.

В табл. 6 и 7 приведено сравнение полученных оценок с оценками версий алгоритмов, использующих штатные я-боксы, в табл. 8 и 9 — сравнение производительности и затрат памяти я-боксов.

Таблица 6

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Оценки РХ и ЛХ для ЛЕБ и ЛЕБ16 на основе МРХ и МЛХ Б-бокса

Алгоритм ЛЕБ [7] ЛЕБ16 с ЛЕБ16 с ^2 ЛЕБ16 с ф

РР2М) < 2-зи 0,9 ■ 2-59 0,9 ■ 2-59 1,52 ■ 2-64

РР4(а,6) < 2-150 1,46 ■ 2-178 1,46 ■ 2-178 1,78 ■ 2-191

ЬР2(а, 6) < 2-15 0,913 ■ 2-27 0,924 ■ 2-27 2-зи

ЬР4(а, 6) < 2-75 1,521 ■ 2-82 1,582 ■ 2-82 2-уи

Таблица 7

Оценки РХ и ЛХ для алгоритмов «Кузнечик» и К16 на основе МРХ и МЛХ Б-бокса

Алгоритм «Кузнечик» К16 с К16 с К16 с ф

РР2(а,6) < 2-85 1,443 ■ 2-107 1,443 ■ 2-107 0,931 ■ 2-114

ЬР2(а,6) < 0,826 ■ 2-27 1,119 ■ 2-49 1,146 ■ 2-49 2-54

Таблица 8

Сравнение производительности s-боксов (Intel Core i7-7700K, 4,2 ГГц)

s-Бокс 16x16 на основе МАГ [3] 16x16, yi 16x16, 16x16, ф 8x8, «Кузнечик»

Мбайт/с 136,239 444,604 383,773 200,141 449,846

Таблица 9

Сравнение затрат памяти s-боксов

s-Бокс 16x16, yi, У2 16x16, ф 16x16, табличный s-бокс [6] 8x8, «Кузнечик», AES

Память код, x86 код, x64 768 байт 128 кбайт 256 байт

74 байта 102 байта

Выводы

Предложены новые конструкции s-боксов размера 16x16 бит: s-боксы на основе ARX-структуры, имеющие высокопроизводительную алгоритмическую реализацию, и s-боксы со структурой «Бабочка», использующие нелинейные подстановки меньшего размера — 8x8 бит. Предложенные s-боксы обладают рядом положительных криптографических свойств: высокой степенью нелинейности, низкой МРХ и МЛХ. МРХ предложенных s-боксов «Бабочка» равна 10/216. Это наименьшее значение МРХ среди известных s-боксов 16x16, не реализующих поиск обратного элемента в конечном поле. В рамках вычислительного эксперимента производительность предложенных s-боксов с ARX-структурой не уступает производительности таблично реализуемого s-бокса 8x8. Предложенные s-боксы требуют небольшое количество памяти (75 байт на хранение машинных инструкций — ARX, 768 байт — «Бабочка»), в то время как табличная реализация s-бокса 16 x 16 требует 128 кбайт. Отмечено положительное влияние предложенных s-боксов на стойкость алгоритмов AES и «Кузнечик» к дифференциальному и линейному методам криптоанализа при их встраивании и существенное уменьшение верхних оценок максимальной разностной и линейной характеристик AES16 и К16. Данные результаты позволяют сделать предположение о возможности уменьшения количества раундов в рассмотренных стандартах блочного шифрования при встраивании в них s-боксов размера 16x16 бит с сохранением стойкости. Это позволит увеличить скорость шифрования с использованием рассмотренных алгоритмов.

Поиск новых конструкций нелинейных подстановок степени 216 является перспективным направлением исследований.

ЛИТЕРАТУРА

1. Menyachikhin A. Spectral-linear and spectral-difference methods for generating cryptographically strong S-boxes // CTCrypt Preproc. Yaroslavl, 2016. P. 232-252. https://mjos.fi/doc/rus/CTCrypt2016Preproceedings.pdf

2. Фомичев В. М., Лолич Д. М., Юзбашев А. В. Алгоритмическая реализация s-боксов на основе модифицированных аддитивных генераторов // Прикладная дискретная математика. Приложение. 2017. №10. С. 102-104.

3. Бобров В. М, Комиссаров С. М. О свойствах двух классов s-боксов размера 16x16 // Прикладная дискретная математика. Приложение. 2018. №11. С. 57-61.

4. Jimenez R. A. Generation of 8-bit s-boxes Having Almost Optimal Cryptographic Properties Using Smaller 4-bit s-boxes and Finite Field Multiplication. Havana: Havana University, Institute of Cryptography, 2017. http://www.cs.haifa.ac.il/~orrd/LC17/paper60.pdf

5. Fomin D. B. New Classes of 8-bit Permutations Based on a Butterfly Structure. CTCrypt. Suzdal, 2018. https://ctcrypt.ru/files/files/2018/09_Fomin.pdf

6. Wood C. A. Large Substitution Boxes with Efficient Combinational Implementations. Thesis. Rochester Institute of Technology, 2013.

7. Daemen J. and Rijmen V. The Design of Rijndael, AES — the Advanced Encryption Standard. Springer Verlag, 2002.

8. AlTawy R. and Youssef A. M. A meet in the middle attack on reduced round Kuznyechik // IEICE Trans. 2015. V. 98-A. P. 2194-2198.

9. Park S., Sung S.H., Lee S., and Lim J. Improving the upper bound on the maximum differential and the maximum linear hull probability for SPN structures and AES // LNCS. 2003. V. 2887. P. 247-260.

УДК 519.17 DOI 10.17223/2226308X/12/33

ОЦЕНКА ХАРАКТЕРИСТИК ПЕРЕМЕШИВАНИЯ ХЭШ-ФУНКЦИЙ СЕМЕЙСТВА MD

А. М. Коренева

Матрично-графовый подход (МГП), нашедший успешное применение к оценке свойств итеративных блочных шифров и генераторов ключевого расписания, впервые представлен как инструмент оценивания перемешивающих свойств алгоритмов хэширования. Особенность применения МГП к хэш-функциям связана с неочевидностью построения перемешивающих матриц, характеризующих зависимость битов сгенерированного хэш-значения от битов исходного сообщения. Для хэш-функций MD4, MD5, SHA-1, SHA-256 построены перемешивающие матрицы порядка 512 + n, где n — длина блока, с которым оперирует односторонняя функция сжатия алгоритма хэширования при обработке 512-битового блока входного сообщения (n = 128 для MD4 и MD5, n = 160 для SHA-1 и n = 256 для SHA-256). К исследованным характеристикам перемешивания относятся локальные экспоненты перемешивающих матриц, то есть для каждой матрицы M определено наименьшее натуральное число y, такое, что при любом натуральном т ^ Y положительны все столбцы матрицы MT с номерами 513, 514,..., 512 + n. Значения локальных экспонентов являются нижними оценками числа итераций, после которых каждый бит сгенерированного хэш-значения может существенно зависеть от всех битов исходного сообщения. Полученные значения (y = 21 для MD4, MD5, SHA-256 и y = 23 для SHA-1) косвенно свидетельствуют о схожих криптографических качествах рассмотренных алгоритмов хэширования, несмотря на варианты их усиления за счёт увеличения длины блока и усложнения функции сжатия.

Ключевые слова: алгоритмы хэширования, структура Меркла — Дамгарда, матрично-графовый подход, перемешивающие свойства.

Введение

В основе принципа перемешивания, важного для многих криптографических алгоритмов, лежит существенная нелинейная зависимость выходных данных от элементов входа. Для оценки множества существенных переменных композиции преобразований векторного пространства применяется матрично-графовый подход, теоретические основы которого изложены в [1]. Глубина итерации преобразования, при которой каждый бит выходного значения может зависеть от всех битов входа, оценивается снизу значением экспонента примитивного перемешивающего орграфа. В течение последних лет МГП нашёл успешное применение для исследования свойств итеративных блочных шифров и генераторов ключевого расписания [2-4], для которых перемешиваю-

i Надоели баннеры? Вы всегда можете отключить рекламу.