5. Вычислительная сложность атак на ЛСБЕ
В таблице приведён порядок к(и) вычислительной сложности 0(к(и)) атаки, построенной по общей схеме на шифр и схему подписи в АСБЕ С (3) для каждого непустого подмножества ключевых параметров 3 С I. Здесь р(и) —некоторый полином от и.
J w {ni} {ni,Oi} w {01,02} {^1,02} {ni, 01,02} {П2 }
h(n) p(n) p(n) rm/2 Cn p(n) 2n pin/2 Cn 2 nçn/2 p(n)
J {^2,0l} {^1,^2} {^1,^2,01} {^2,02} {n2,01,02} {пЪ п2, 02 } {n1,n2,01,02}
h(n) pin/2 Cn n! n! p(n) 2n n! n!2n
ЛИТЕРАТУРА
1. Agibalov G. P. and Pankratova I. A. Asymmetric cryptosystems on Boolean functions // Прикладная дискретная математика. 2018. №40. С. 23-33.
2. Agibalov G. P. Substitution block ciphers with functional keys // Прикладная дискретная математика. 2017. №38. С. 57-65.
3. Агибалов Г. П. Методы решения систем полиномиальных уравнений над конечным полем // Вестник Томского государственного университета. Приложение. 2006. № 17. С. 4-9.
4. Агибалов Г. П. Логические уравнения в криптоанализе генераторов ключевого потока // Вестник Томского государственного университета. Приложение. 2003. №6. С. 31-41.
УДК 519.1 DOI 10.17223/2226308X/11/18
О СВОЙСТВАХ ДВУХ КЛАССОВ S-БОКСОВ РАЗМЕРА 16x16
В. М. Бобров, С. М. Комиссаров
Нелинейные отображения векторного пространства Vn (s-боксы размера n x n) в симметричных алгоритмах блочного шифрования обычно реализуются в виде таблиц, содержащих множество всех образов. Для хранения одного такого массива требуется n2n бит памяти. Это вынуждает в алгоритмах блочного шифрования использовать s-боксы малых размеров (8x8 бит в алгоритме «Кузнечик», 4x4 в алгоритме «Магма», 6x4 в DES, 8x8 в AES). Предложена алгоритмическая реализация s-боксов 16x16 бит на основе функции модифицированного аддитивного генератора, а также на основе легковесного алгоритма блочного шифрования NASH. Лучшая максимальная разностная характеристика построенных s-боксов равна 18/216. Минимальная степень нелинейности среди координатных функций равна 15. Минимальная степень нелинейности среди всех нетривиальных линейных комбинаций координатных функций равна 14-15. Лучшая линейная характеристика равна 764/215.
Ключевые слова: модифицированный аддитивный генератор, алгоритм NASH, s-бокс, максимальная разностная характеристика, максимальная линейная характеристика, степень нелинейности.
Обозначим Vn — n-мерное векторное пространство над полем GF(2). Пусть
У,П = Vn\{0}. Для некоторого вектора a G Vn определим линейную булеву функцию la : Vn ^ GF(2):
n— 1
la(x) = ф ai ' xi. i=0
Корреляцию двух булевых функций f1 и f2 обозначим как
c(fi, /2) = 21—n|{x : f1(x) = f2(x)}|- 1.
Исследованы следующие характеристики подстановок s : V16 ^ V16:
1) совершенность, или существенная зависимость каждой координатной функции от всех переменных;
2) минимальная степень нелинейности среди всех координатных функций;
3) максимальная разностная характеристика, вычисляемая по формуле
Ps = 2_n ■ max |{x e Vn : s(x 0 a) 0 s(x) = ß}|;
a,ßevnx
4) линейная характеристика, вычисляемая по формуле
6s = max |c(/«,/ß(s(x))|;
a,ßeVnx
5) минимальная степень нелинейности среди всех нетривиальных линейных комбинаций координатных функций, вычисляемая по формуле
As = min {deg(/a(s(x)))}.
«evnx
1. Построение s-бокса 16x16 на основе модифицированного аддитивного
генератора
Используем подход, аналогичный описанному в [1].
Обозначим: m = 216; X0,... , Xr-1 —знаки начального состояния модифицированного аддитивного генератора (МАГ) длины r (числа кольца вычетов Zm); b — биек-ция, определяющая двоичное 16-разрядное представление числа X по правилу: если X = 215x0 + ... + 2x14 + x15, то b(X) = X = (x0,..., x15) e V16; g — преобразование множества V16 (модификация аддитивного генератора); — преобразование регистра сдвига длины r над V16, реализуемое МАГ:
^(Xo, ... ,Xr-1) = (Xb ..., Xr—1, bg((Xo + XXr-1) mod m)).
Знаки гаммы Xj, генерируемые МАГ, образуются по закону рекурсии:
Xi = bgb-1((Xi-1 + Xj-r) mod m), i ^ r. (1)
При фиксации переменных X0 = z0, ..., Xr_2 = zr_2 реализуемая в соответствии с (1) функция Xr-1 ^ Xr-1+i при r — 1 ^ I ^ 1 есть подстановка множества V16 [1, теорема 1]. Для краткости обозначим эту подстановку s(l)(z,x), где
z = (z0, . . . , zr_2) e V16(r_1), x = О^ . . . , x15) = Xr_1.
Экспериментально исследованы разные функции модификации, построенные с использованием конкатенации узлов замены ГОСТ 28147-89 [2]. В качестве s-бокса 16x16 исследовалась подстановка s(l)(z,x). Экспериментальные расчёты показали, что наилучшее соотношение скорости реализации и криптографических характеристик достигается при следующей функции модификации:
g(Xo, . . . ,Х15) =
= (S(X1 0 X6 0 X11 0 Ж12,Ж2 0 X7 0 X8 0 X13,X 0 Ж4 0 Ж9 0 X14,Xo 0 Ж5 0 X10 0 X15), S(X1 0 X11 0 X12, X 0 X8 0 X13, Ж3 0 Ж9 0 X14, Xo 0 X10 0 X15), S(X1 0 X6 0 X12, X 0 Ж7 0 X13, Ж3 0 Ж4 0 X14, Xo 0 Ж5 0 X15), S(X1 0 X6 0 X11, X2 0 X7 0 X8, X3 0 X4 0 X9, Xo 0 Ж5 0 X10)),
где S — узел замен ГОСТ 28147-89, и значениях г = 4 и I = 3. При данной модификации перемешивающая матрица МАГ является 32-положительной, где 3 = = {16(г - 1),..., 16г - 1} [3].
Рассчитаны некоторые криптографические характеристики исследуемых подстановок. Для нескольких узлов замены посчитаны разностные характеристики при 1000 фиксаций г. Подстановки брались с одинаковыми фиксациями г для всех узлов замены. В табл. 1 и 2 приведены распределения разностных характеристик для первого и второго узла.
Таблица 1
Разностные характеристики, узел замен 1
Значение ps • 216 18 20 22 24 26 28 30 32 34 36 38 40 42
Число подстановок 22 146 249 234 157 102 45 22 12 4 3 2 2
Среднее значение ps • 216 24,232
Таблица 2 Разностные характеристики, узел замен 2
Значение ps • 216 18 20 22 24 26 28 30 32 34 38
Число подстановок 97 393 260 144 60 28 10 6 1 1
Среднее значение ps • 216 21,690
При всех исследованных функциях модификации и параметрах МАГ наименьшая полученная разностная характеристика равна 18/216. Среднее значение разностной характеристики ниже при использовании узлов замены с большей степенью нелинейности.
Для всех подстановок, использующих второй узел замен и имеющих разностную характеристику 18/216, рассчитана степень нелинейности As. Для всех исследованных подстановок As = 14 или 15.
Проверено 20 подстановок для узла замен 2 . Наименьшая полученная линейная характеристика 5s = 764/215, наибольшая — 950/215.
2. Построение s-бокса 16x16 на основе алгоритма NASH
Итеративный алгоритм блочного шифрования NASH [4] основан на принципах современной «легковесной криптографии». Его отличительной особенностью является использование в раундовой функции циклического сдвига на переменное число бит в зависимости от текущего блока и подключа, что позволяет, по словам авторов алгоритма, при сохранении уровня стойкости уменьшить количество раундов.
s-Бокс на основе алгоритма NASH представляет собой сеть Фейстеля, функция усложнения которой состоит из сложения по модулю 2n, где n — размер полублока (в данном случае 8), с некоторой константой и циклического сдвига на переменное число бит. Преобразование блока на i-м раунде можно представить следующими формулами:
Дг+1 = Li, ¿г+1 = ((¿г Ш C) ^ F(Li, Li Ш C)) 0 Ri,
где Li и Ri — левый и правый полублоки шифруемого блока на i-м цикле преобразования соответственно; C — константа; F — функция управления сдвигами, которая выбирает одно из четырёх значений величины циклического сдвига полублока; Ш —
сложение по модулю 2п. Для получения первого бита функция Г выбирает из полублока Ьг Ш С биты с номерами 2к — 1, к = 1,... ,п. Затем, интерпретируя полублок Ьг размера 2п бит как вектор значений булевой функции от п переменных, получает значение первого бита как значение этой функции на векторе бит из Ьг Ш С с номерами 21 — 1, 22 — 1,... , 2п — 1, где порядок следования бит — от старшего к младшему. Затем полублоки Ьг и Ьг Ш С меняются местами и второй бит выбирается аналогично. По значениям полученных битов выбирается одно из четырёх значений, на которое производится циклический сдвиг.
С помощью матрично-графового подхода [5, гл. 10] оценено, а затем экспериментально подтверждено, что для достижения совершенности произведения раундовых подстановок требуется четыре итерации.
При различном количестве итераций я-бокса, разных значениях циклического сдвига и переборе константы С от 0 до 255 проверены первые три характеристики для более чем 16000 подстановок. Минимальная степень нелинейности среди всех координатных функций для большинства подстановок, в том числе для всех подстановок с лучшими разностными характеристиками, равна 15. При фиксации сдвигов значениями 1, 2, 3, 4 и переборе константы от 0 до 255 для всех подстановок, за исключением двух, параметр Л5 равен 14 или 15. Лучшие разностные характеристики для разного количества итераций приведены в табл. 3.
Таблица 3
Количество итераций 8-бокса 4 5 6 7 8
Лучшее значение рэ 200/216 40/216 20/216 20/216 18/216
При дальнейшем увеличении количества итераций не найдено разностной характеристики меньше 18/216. Кроме того, в каждой исследованной подстановке это значение характеристики встречается либо один раз, либо ни разу.
Для некоторых подстановок с лучшими разностными характеристиками исследована линейная характеристика. Для шести раундов для сдвигов 1, 2, 3, 4 при фиксации константы С = 105 (р3 = 20) линейная характеристика равна 83 = 946/215. Для сдвигов 1, 4, 2, 3 при восьми итерациях при фиксации константы С =215 (р3 = 18) линейная характеристика равна 83 = 860/215.
В табл. 4-6 приведено сравнение полученных характеристик с характеристиками известных я-боксов. Производительность оценивалась как скорость обработки большого объема данных одним я-боксом 16x16 и двумя я-боксами 8x8 алгоритма «Кузнечик».
Таблица 4
Сравнение максимальных разностных характеристик построенных Б-боксов
с известными Б-боксами
в-бокс ЛЕБ, 8x8 8к1р]аек, 8x8 «Кузнечик», 8x8 [6], 8x8 Данная работа, 16x16 Табличная реализация из [7], 16x16
Рэ 1,6 • 10-2 4,7 • 10-2 3,1 • 10-2 2,3 • 10-2 2,7 • 10-4 6,1 • 10-5
Таблица 5
Сравнение линейных характеристик Б-боксов из данной работы с известными
Б-боксами
s-бокс AES, SxS Skipjack, «Кузнечик», Sx S [б], SxS s-бокс 16 x 16 на основе NASH s-бокс 16x16 на основе МАГ Табличная реализация из [Т], 16x16
Ss 12,5 ■ 10-2 21,9 ■ 10-2 18,8 ■ 10-2 2,6 • 10-2 2,3 ■ 10-2 0,8 ■ 10-2
Таблица 6
Сравнение производительности построенных s-боксов (Intel Core i7-7700K, 4,2 ГГц)
s-бокс 16x16 на основе МАГ 16x16 на основе NASH 8x8 алгоритма «Кузнечик»
Мбайт/с 136,239 4 раунда 146,719 5 раундов 127,156 6 раундов 105,963 S раундов 76,293 476,837
Выводы
Предложенные s-боксы 16x16 обладают рядом положительных криптографических свойств: высокой степенью нелинейности, низкими максимальной разностной и линейной характеристиками. Они также отличаются простотой программной реализации. Их использование в итеративных алгоритмах блочного шифрования позволит снизить затраты памяти при программной реализации (на хранение прямого и обратного s-боксов 16x16, как, например, в [7], требуется 256 кбайт памяти), а также улучшить перемешивающие свойства раундового преобразования и его стойкость к различным видам криптоанализа. Вместе с тем полученные на данный момент способы алгоритмической реализации s-боксов 16x16 в 3,5-5 раз уступают в производительности табличным реализациям.
ЛИТЕРАТУРА
1. Фомичев В. М., Лолич Д. М., Юзбашев А. В. Алгоритмическая реализация s-боксов на основе модифицированных аддитивных генераторов // Прикладная дискретная математика. Приложение. 2017. №10. С. 102-104.
2. Методические рекомендации ТК26. Задание узлов замены блока подстановки алгоритма шифрования ГОСТ 28147-89. М., 2013. https://tc26.ru/standarts /metodicheskie-rekomendatsii/zadanie-uzlov-zameny-bloka-podstanovki-algoritma-shifrovaniya-gost-28147-89.html
3. Фомичев В. М., Кяжин С. Н, Локальная примитивность матриц и графов // Дискретный анализ и исследование операций. 2017. Т. 24. №1. С. 97-119.
4. Lebedev A., Karondeev A., and Kozlov A. New Block Cipher [Электронный ресурс]. https: //ist.ac.at/eurocrypt2016/slides/121.pdf
5. Фомичев В. М. Методы дискретной математики в криптологии: учеб. пособие. М.: Диалог-МИФИ, 2010.
6. 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
7. Wood C. A. Large Substitution Boxes with Efficient Combinational Implementations. Thesis. Rochester Institute of Technology, 2013.