ЛИТЕРАТУРА
1. Агибалов Г. П. Методы решения систем полиномиальных уравнений над конечным полем // Вестник Томского государственного университета. Приложение. 2006. № 17. С. 4-9.
2. Courtois N. and Meier W. Algebraic attacks on stream ciphers with linear feedback // Eurocrypt 2003. LNCS. 2003. V. 2656. P. 345-359.
3. Meier W, Pasalic E., and Carlet C. Algebraic attacks and decomposition of Boolean functions // Eurocrypt 2004. LNCS. 2004. V.3027. P. 474-491.
4. Carlet C. On the algebraic immunities and higher order nonlinearities of vectorial Boolean functions // Enhancing Cryptographic Primitives with Techniques from Error Correcting Codes. Amsterdam: IOS Press, 2009. P. 104-116.
5. Покрасенко Д. П. О максимальной компонентной алгебраической иммунности векторных булевых функций // Дискретный анализ и исследование операций. 2016. Т. 23. №2. С.88-99.
УДК 512.13 Б01 10.17223/2226308Х/10/22
СПОСОБ ПРЕДСТАВЛЕНИЯ ПОДСТАНОВОК £16 С ПОМОЩЬЮ АЛГЕБРАИЧЕСКИХ ПОРОГОВЫХ ФУНКЦИЙ
Д. А. Сошин
Предлагается алгоритм представления подстановок на множестве элементов {0,1,..., 15} с помощью линейных комбинаций алгебраических пороговых функций. Получаемые задания могут быть использованы для эффективной реализации на перспективной оптической элементной базе нелинейных преобразований узлов переработки информации.
Ключевые слова: алгебраические пороговые функции, геометрические типы, подстановки, блочные шифры.
Определение 1. Функцию к-значной логики f : Пп ^ Пк назовём алгебраической пороговой (АПФ), если существуют целочисленные наборы с = (со, с1,..., сп), Ь = (60,61,..., Ьд) и натуральный модуль т, такие, что для любого а £ Пд выполняется
f (х1,Х2,...,Хп)= а & Ьа ^ гт(со + С1Х1 + С2Х2 + ... + СпХп) < Ьа+1,
где гт(х) —функция взятия остатка числа х по модулю т, гт(х) £ {0,1,... ,т — 1}; Пк = {0,1,..., к — 1}. Тройку (с, Ь, т) будем называть структурой функции f.
В случае двузначной логики АПФ будем задавать следующим образом: f =1 & Гт(Со + С1Х1 + С2Х2 +-----+ СпХп) ^ Ь
и писать f : ((с0, С1, С2,..., Сп); Ь; т).
В [1] исследован вопрос реализации булевых функций трёх переменных функциями из класса АПФ. Для этого доказана замкнутость данного класса относительно операций перестановки переменных, инвертирования переменных и инвертирования функции (геометрическая замкнутость). Геометрическим типом функции f назовём класс эквивалентности относительно указанных преобразований. Для булевых функций от трёх переменных доказано, что только геометрический тип с представителем f * (х1, Х2, Х3) = Х1Х3 V Х2Х3 не задаётся через АПФ. Для булевых функций от четырёх
переменных существует 222 геометрических типа, из них 70 представителей содержат в качестве подфункции функцию от трёх переменных f * и поэтому не относятся к классу АПФ. Для 101 из оставшихся 152 геометрических типов найдено задание в виде АПФ. Важно отметить, что класс АПФ замкнут относительно фиксации переменных и включает в себя все линейные функции к-значной логики.
Любое преобразование Г : ^ ^2, порождающее подстановку степени 16, задаётся набором координатных функций Г = (Л0, Д, Л2, fз), где fi : ^ П2, г = 0,1, 2, 3.
Определение 2. АПФ-реализацией преобразования Г будем называть некоторое задание его координатных функций через булевы линейные комбинации АПФ:
Л , Л , ]2 , Jз I
■^и-1
(
\а0
-1
1-1
г-1
*0 \
^ е АТ|,
а
е
где АТ42— множество всех АПФ от четырех переменных двузначной логики.
Утверждение 1. Для любого преобразования Г : ^2 ^ существует АПФ-реализация.
Построение АПФ-реализаций подстановок представляет собой сложную задачу дискретной математики, для решения которой может быть предложен алгоритм 1.
Алгоритм позволяет находить с высокой вероятностью АПФ-реализации подстановок, у которых в линейных комбинациях участвуют только пять АПФ.
В алгоритме используется подмножество О (Л0, Ль Л2, Лз) множества всех подфункций координатных функций Ло,ЛьЛ2,Лз подстановки п, формируемое по одному из следующих правил.
Способ 1. О (Ло, Л1, Л2, Лз) = Л л Л : г = з}-
с п о с о б 2. О (f0| f1| л2, лз) = {# : # Л Л = ^ Ы = 4}, где Ы — вес фУнкЦии, г е {1,..., 4} — фиксированное.
1. Результаты применения алгоритма 1 к подстановкам алгоритмов блочного шифрования Магма и 2-ГОСТ
Задания подстановок алгоритмов блочного шифрования Магма и 2-ГОСТ получены в [2]. Предложенные в данной работе АПФ-реализации отличаются тем, что для каждой подстановки используется система из пяти АПФ и линейные комбинации каждой координатной функции используют не более чем две из них. Задания подстановок алгоритмов блочного шифрования Магма и 2-ГОСТ можно найти в [3, 4], ниже используются обозначения из работы [2]. В табл. 1 и 2 предложены АПФ-реализации данных подстановок. В табл. 1 для каждой подстановки пг указана функция Л из множества О (Ло, л 1, л2, Лз), с использованием которой получена АПФ-реализация.
0
1
2
а
а
а
а
а
а
а
1
1
1
1
1
2
а
а
Алгоритм 1. Алгоритм нахождения АПФ-реализаций подстановок Вход: функции Л, Л1, Л2, Лз, множество О (Ло, Л1, Л2, Лз).
Выход: АПФ-реализации Л = ^ а^ <г, З = 0,1, 2, 3, где <г — АПФ, либо сообщение
г
«Не успех». 1: Из всех АПФ вида
во Л © вЛ © в2Л2 © взЛз
формируем множество V, где во,във2,вз е П2. 2: Находим максимальную линейно независимую подсистему V' множества V. Если
она содержит 4 функции, то переходим на шаг 3, иначе на шаг 4. 3: Пусть V' = {<о, <, <2, <з}. Найдём решение системы
/4 /4 /4 /4\
Л , Л ,Л,Л I
<о,<1 ,<2,<з
/«о
ао
«о \«о
а1 а,
а а1
аг
1
а1 а2
а
ао\
аз
а а
1/
Найденное решение подаём на выход. Конец алгоритма. 4: Если О (Ло, Л, Л, Лз) = 0, то выдаём сообщение «Неуспех» и завершаем алгоритм. Иначе исключаем из множества О (Ло, Л1, Л2, Лз) произвольную функцию д и переходим на шаг 5. 5: Формируем множество V, состоящее из всех АПФ вида
во Ло © вЛ © в2 Л © взЛз © в4д.
6: Находим максимальную линейно независимую подсистему V' множества V. Если V' = {<о, <, <2, <з, <4}, то на выход подаём решение системы
<4 <4 ¿4 ¿4
Ло , Л1 , Л2 , Лз
ао1 ао
ао1 а11 а21 аз
а2 а21 а22 аз
а§ аз1 аз аз
ао4 а41 а24
В противном случае переходим на шаг 4.
Таблица 1
АПФ-реализации подстановок алгоритма блочного шифрования Магма
по : /4 = / Л /0;
П1 : /4 = /о1 л /?;
((0,1, 3, 2, 6); 2 ((0, 2, 3, 3,1); 6 ((1, 6, 7, 2, 5);4 ((1, 7, 6, 5, 5); 6 ((4, 2, 7, 2, 5); 4
7); /о0
8); /0
8); /2
8); /о
8).
/о0 = ^0 ® V? ® ^0 Ф ^4 Ф ^4.
/I = (1100000010100000) С /2;
V?
^4
((0, 3,1, 3, 0); 2 ((1, 3,1, 5, 6);6 ((3,4, 2, 6, 3); 2 ((4, 3, 7, 5, 2); 4 ((5, 7, 5, 2, 5); 4
/о? =
/0 = /121
/231
^3ф ^4
V? ф ^2
^0 ф v4
= Vо.
П2
п3 : /43 = /3 Л /23;
2
v0
V* 2
v2 v3 v4
((0,1,1,1, 3); 4; 6) ((0, 3, 7, 2, 5); 4; 8) ((3,1, 3, 5,1); 2; 6) ((3, 2,1, 4, 3); 3; 6) ((4, 6, 3, 6, 7); 4; 8).
/02 = V2 ф v3; /2 = V2 ф v2; /2 = V*;
/3 = V2 ф V!.
-Ж/
((0,1, 2,1,0); 3 ((0, 2,1, 3,0); 2 ((0, 2, 7, 5,4); 6 ((1, 7, 3, 2, 2); 4 ((6,1, 3, 3, 6); 6
V3
V? 3
v3 v4
((0, 2, 3,1, 2); 2; 4) ((0, 5, 5, 5, 2); 3; 6) ((1,3,5,4,1); 6; 8) ((1, 6, 3, 2, 4); 5; 7) ((2,4,1,2,1); 2; 6).
/03 = V3 ф V?
/?3 = V3 ф v3 /23 = V! ф v4 /3 = V3 ф v4.
П4
/44
4
v0
V?!
4
VI
4
v3
4
V4
п5 : /5 = (0011010000000010) С /5;
/04 = v! ф v4
/4 = vо ф v4 /4 = v3 ф v4
/34 = V?.
(0001010000001001) С /6;
V® ((5,4,1, 2, 6) 3 8)
V? ((0,1, 6, 5, 4) 6 8)
V5 ((0,3,0, 3, 2) 2 4)
v3 ((0, 3,4, 5,1) 3 6)
v4 ((5, 2, 5, 6, 7) 3 8)
/447 = /о7 л /7;
7 v0 ((4, 3, 7, 6, 5) 4 8)
V? ((3, 3,1, 5, 6) 2 8)
7 V7 ((3, 3, 2, 5, 5) 3 6)
7 v3 ((5, 2, 6, 3,1) 4 8)
v4 ((6, 3, 6, 5, 4) 6 8)
/05 = V? ф v4
/5 = V2 ф v3
/2 = Vо ф V2 /35 = V? ф V2
П6
/46
Vо V?
v2 v3 v4
П7 :
((0,0,1, 0,1); 1 ((0, 5, 2, 4,1); 3 ((0, 5, 7, 6,4); 5 ((2,4, 3, 2,1); 2 ((6, 2, 3,1, 6); 5
v3 ф v4
/6 /о
/6 = v0 ф V?
/6 = v0 ф v2
/36 = V? ф v3
/о7 = v0; /7 = V7 ф v4;
/27 = V7 ф v3; /37 = V7 ф v4.
Таблица 2
АПФ-реализации подстановок алгоритма блочного шифрования 2-ГОСТ
п' : п'' :
Vо ((0,1, 5, 2, 2) ; 6; 9); /0 /? /2' /3' Vо' ((6, 5, 5, 2,1) ; 6; 8); /0' /?' /2' /3' = vз ф v4'; = vо Ф v3'; = vо ф v2'; = Vо ф V?'.
V? ((0, 5, 5,1, 6) ; 2; 7); = V4; ' V?' ((3, 2, 4,1, 5) ; 6; 8);
v2 ((7, 6, 5, 6,1) ; 4; 8); = V2; = v2ф v3; = v0 ф V?. v2' ((3,1, 6, 3,4) ; 5; 7);
v3 ((2, 5, 7, 3, 2) ; 4; 8); v3' ((2,1, 6, 3, 2) ; 4; 8);
v4 ((3, 5,1, 2, 3) ; 4; 8). v4' ((0, 3, 2, 2,1) ; 4; 8).
ЛИТЕРАТУРА
1. Сошин Д. А. Представление геометрических типов булевых функций от трех переменных алгебраическими пороговыми функциями // Прикладная дискретная математика. 2016. №1(31). С. 32-45.
2. Сошин Д. А. Задание подстановок алгоритмов блочного шифрования Магма и 2-ГОСТ с помощью алгебраических пороговых функций // Прикладная дискретная математика. 2016. №3(33). С. 53-66.
3. ГОСТ Р 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры. М.: Стандартинформ, 2015.
4. Дмух А. А, Дыгин Д. М., Маршалко Г. Б. Пригодная для низкоресурсной реализации модификация блочного шифра ГОСТ // Математические вопросы криптографии. 2014. Т. 5. №2. С. 47-55.