15. Алферов А.П., Зубов А.Ю. Основы криптографии: Учеб. пособие. - 2-е изд., испр. и доп.
- М.: Гелиос АРВ, 2002. - 480 с.
16.Мостеллер Ф., Рурке Р. Вероятность. - М.: Мир, 1969. - 435 с.
Самойленко Дмитрий Владимирович
Краснодарское высшее военное училище (ВИ).
E-mail: [email protected].
350035, г. Краснодар, ул. Красина, 4.
Тел.: +79183624109.
Финько Олег Анатольевич
Кубанский государственный технологический университет.
Институт информационных технологий и безопасности.
E-mail: [email protected].
350072, г. Краснодар, ул. Московская, 2.
Тел.: +79615874848.
Samoylenko Dmitry Vladimirovich
Krasnodar higher military school (MI).
E-mail: [email protected].
4, Krasina, Krasnodar, 350035, Russia.
Phone: +79183624109.
Finko Oleg Anatol’evich
Kuban state technological university.
Institute of information technologies and safety.
E-mail: [email protected].
2, Moscow, Krasnodar, 350072, Russia.
Phone: +79615874848.
УДК 519.7
А.К. Вишневский, В.А. Шарай
РЕАЛИЗАЦИЯ ОПЕРАЦИИ ПОДСТАНОВКИ ЛИНЕЙНЫМИ ЧИСЛОВЫМИ ПОЛИНОМАМИ
Исследована возможность представления операции подстановки степени k = 2logk двумя линейными числовыми полиномами на примере первой подстановки криптоалгоритма ГОСТ 28.147-89.
Линейный числовой полином; криптоалгоритм; криптография; подстановка; числовая нормальная форма; полином Жегалкина; алгебраическая нормальная форма; булева функция; булева формула.
A.K. Vishnevsky, V.A. Sharai
REALIZATION OF OPERATION OF SUBSTITUTION BY THE LINEAR NUMERICAL POLYNOMS
Possibility of representation by two linear numerical polynoms of operation of substitution
of degree k = 2logk is investigated on example of the first substitution of crypto algorithm GOST 28.147-89.
Linear numerical polynom; cryptoalgorithm; cryptography; substitution; a numerical normal form; polynom of Gegalkin, an algebraic normal form; boollean function; boollean formula.
Введение. В аппаратных средствах шифрования асимметрические и симметрические криптографические системы (КС) используются совместно, как гибридная КС [1]. При этом асимметрическая КС выполняет функцию шифрования секретных ключей и обмен ими между абонентами. Симметрическая система обеспечивает основной обмен данными между абонентами.
Асимметрическая КС реализуется на спецпроцессорах большой разрядности (в настоящее время актуально 1000 и более), симметрическая КС реализуется на процессорах разрядностью 32 и 64 [1]. Очевидно, что спецпроцессор, реализующий асимметрическую КС, основную часть времени остается в бездействии, так как не участвует в зашифровании и расшифровании открытого (закрытого) текста.
Метод описания булевых функций (БФ) числовыми полиномами (ЧП) [3] предоставляет возможность описания КС обоих классов единым математическим аппаратом, который может быть реализован одним спецпроцессором большой разрядности и, тем самым, задействовать его ресурсы с максимальной производительностью.
Известно, что произвольные БФ и системы n-переменных могут быть однозначно представлены каноническим ЧП в общем случае длиной 2п [3]. Однако известен и более сильный результат - произвольные БФ и системы могут быть представлены не более чем двумя линейными ЧП (ЛЧП) [2-6]. В [6] представлен ряд результатов, демонстрирующих возможность реализации типовых криптографических примитивов каноническими ЧП.
Цель статьи - исследовать возможность реализации логических криптографических функций, в частности подстановок, посредством ЛЧП.
Булевы представления операции подстановки. Операция подстановки степени k = 2logk используется в составе большинства современных криптографических алгоритмов, в частности ГОСТ 28.147-89, Kasumi, Blowfish, CAST-128, SAFER++, Misty-1, Camellia и т.п.
Подстановка - это взаимно однозначное отображение конечного множества в себя. При соответствующей нумерации (или упорядочении) элементов конечного множества, на котором определена подстановка, ее можно свести на некотором подмножестве натуральных чисел [7]:
а =
( 1 2 ... k }
а(1) а(2) ... а(к)
(1)
Таким образом, операцию подстановки степени k = 2logk можно интерпретировать как logk -выходную БФ от logk -переменных:
/1( xx
.f2.®:. • <2)
flogk (X):
где х = [х1 х2 ...хХоък], таблица истинности которой будет иметь вид, представленный табл. 1.
Таблица 1
Таблица истинности log к -выходной БФ от log к -переменных
№ xi x2 Xlogk /i(x) /2(x) /logk (x)
1 0 0 0 f(1)(x) /(1)( x) -/lOi)k(x)
2 0 0 1 /(2)( x) /(2)( x) fit#(x)
K 1 1 1 /(к)(x) /2к)(x) /ogi (x)
Алгоритм 1. Построение ЛЧП-1 (общая схема представлена на рис. 1).
Шаг 1.1. Представление БФ (табл. 1) в алгебраической нормальной форме (полином Жегалкина):
G( x) =
G1(x) = Ф gj,i л (xi л x22 л... л ХЙк ),
к
G2 (Х) = Ф g2,г Л (Х" Л Х22 Л ... Л Xtog к )
Giogк(x) = фglogkjл(xi л x22 л...лxwкX
(3)
получаемых с помощью прямого и обратного матричного преобразования:
ё = А тУ,
У = А 2»ё
где ё = [ё1 ё2 ...ёк] - вектор коэффициентов є{0, 1}; у - вектор значений БФ
в соответствии с таблицей истинности; матрица A n =
~,П-І
является
-ой кронекеровской степенью A n =^ A базовой матрицы A1 =
j=J
І 0 -І І
xi1 лxj л...лx^g^ - попарно различные элементарные конъюнкции, где
і, є{0, 1}.
Шаг 1.2. Линеаризация элементарных конъюнкций:
>,(1) 4г) hZ
/1(х) = х1‘ лх22 ...л^,
f2'(x) = xf Axf ...Л^‘,
(4)
■(*) ,•(*)
№) = х4 лх;2 ...лх,
г(к)
.log к
log к
с помощью формулы [4]
A
0
2
2
n
\о%к
Ц(х) = 2Л - \одк + YJ{iJ + (-1)1 ху}
і=1
\о%к
гДе Л = ^ X х}
І=1
ние системы ЛЧП:
\а \ - наименьшее целое число > а, і є {1, 2,...,к} , и получе-
Ц (х)=с(1,1) + х1‘) + х22) +...+х\0°| к,
-Л 91 і(2) і(2) ;
Ц (х) = с , ) + х,1 + х22 + ...+ х]
і (2) .Чо^к х\оф,
(5)
- Л ¡Л 2 (к) 2 (к) ;
Цк (х) = с(, ) + х,1 + х22 + ...+ х]
2 (к) ,гЪ^к х\овк,
где с(1,І) є 7 .
Шаг 1.3. Построение ЛЧП-1
где c0, си є ^, Ло = 0, обеспечивающего параллельное вычисление значений элементарных конъюнкций (4).
Алгоритм 2. Построение ЛЧП-2 (общая схема представлена на рис. 2).
Шаг 2.1. Переопределение результатов вычисления ЛЧП-1 і!(х):
Я(х) = х;, /2(х) = х2,..., /к(х) = хк.
Шаг 2.2. Линеаризация логических формул, образованных системой полиномов Жегалкина (3)
/(*) =
її (*) = &і,Х ®gl2x2®■■■® 8і,кХ'к > /2 (*) = &2.Х Ф &2,2*2 Ф...Ф ё2,кх'к >
кЪк(*) = 8юЪк,Ж Ф 8ъ%кА Ф • • • Ф 8ъЪкА
с помощью формулы [4]
ц (х') = Х{іі + (-1)21 х; },
і=1
где и,І є{1, 2, ...,\о§к} , и построение системы ЛЧП:
ц;( х') = с(2,1)+х;+х;+...+х’к, Ц2 (х’) =с(2,2) + х; + х2 +...+хк-
Цоек(х’) = с(2,1о®к) + х1 + х2 + ...+ х'к-
где
с(2І є г
где
Шаг 2.3. Построение ЛЧП-2
\о^к
Р2 (х') = X 2Уі-1 Ц'(х') = с'о + X сіх)
І=1
і =1
1о: X х'
cо, с' є 2 > ^о = 0 .
х Ах’ Л...Лх ,
1 2 \ogk
-у-
Ц(х)=с(1Л + хі(1) + хТ +....+хіо:
У'
2Л Ц1( х)
і» і(к) і-’-
х Лхі1 Л...А
Ц (х) =^ +х11к) + ^ +...+хо
У'
2Л-1 ¿к (х)
У
\о: к
Р1(х) = Х 2 ¿і (х) = с0 + X с
і=1
І=1
Рис. 1. Схема построения ЛЧП-1 подстановки а
ёих' ®й.2 х2 ®..-®ё1,кхк
'V'
Л*
2У0 ¿1( х ')
'V'
ё\о:к,1х1 ® ё\о:к,2х2 ®...
к,кхк
Ц;(хО = с 2,1 + х; + х2 +.... + х; Ц, (х) = с2,0 + х; + х2 +....+ х
у-
2По:к-1 -Ц\'о:к (х')
Г
\о: к к
Р2(-' ) = X 2Г'-1 ц;(х' ) = с0 + Xсіхі і=1________________________________________І =1
Рис. 2. Схема построения ЛЧП-2 подстановки а
к
V.. =
и
і=1
к
Алгоритм 3. Реализация ЛЧП-1.
Шаг 3.1. Задание вектора х значений входных переменных хь х2, xlogк
в соответствии с таблицей истинности (табл. 1).
Шаг 3.2. Вычисление ЛЧП-1 р(х) и получение результата, представленного в двоичной системе счисления:
_1 ... «0)2,
(7)
+ ^2 + ■■•Лк —1 Р1(х) = X а 2 =(аЛ1+л2+..л
г=0
где Лу - количество двоичных разрядов, необходимых для представления результатов вычисления ЛЧП (5).
Шаг 3.3. Определение значений у1, у2, ■■■ ук функций /'(х), /2(х), ■■■, /к(х)
+ ■ ■■+ Л Л 1 ГЛ1
с помощью оператора маскирования н 12 1 [3], предназначенного для вы-
членения значения (Л1+Л2 + ■ ■■+Лу — 1) -го двоичного разряда в представлении (7).
Например, в представлении (1 0 0 0)2 получим Н3 = 1. В общем случае:
Ж*)
2
Л +^2 + ...+ Л _1
(mod 2) = /'(х), где і є {1, 2,.. к}.
Алгоритм 4. Реализация ЛЧП-2.
Ша 4.1. Переопределение результатов вычисления ЛЧП-1 Р(х)
Я(х) = х!> Л(х) = х2= ■■■> /(х) = хк■
Шаг 4.2. Вычисление ЛЧП-2 Р2(х') и получение результата, представленного в двоичной системе счисления:
і=0
17 2 +.. •иlogk
1 ... Ь1 Ь0)2,
(8)
где уу- - количество двоичных разрядов, необходимых для представления результатов вычисления ЛЧП (6).
Шаг4.3. Определение значений у{, у2, ■■■,У^к функций
/і(х), /2(х), ..., /\0„к(х) с помощью оператора маскирования
+ Г2 +...+ Гі_і
. В общем
случае:
+у2 +...+^_1 _
( х ')
.2
У1 +У2 +...+ уі_1
(mod 2) = /і(х), где і є {1, 2,... ,^к}, у0 = 0.
Блок-схема условно-аппаратной реализации операции произвольной подстановки посредством ЛЧП-1 и ЛЧП-2 представлена на рис. 3.
Рис. 3. Блок-схема условно-аппаратной реализации операции произвольной
подстановки
Пример. Построение и реализации ЛЧП-1 и ЛЧП-2 первой подстановки криптоалгоритма ГОСТ 28.147-89 (значения подстановки взяты из [8] (табл. 2).
Таблица 2
Значения первой подстановки ГОСТ 28.147-89
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
О: 4 10 9 2 13 8 0 14 6 11 1 12 7 15 5 3
Результат построения таблицы истинности для подстановки с1 в соответствии с табл. 2 представлен в табл. 3.
Таблица 3
Таблица истинности булевого представления подстановки о1
№ х1 х2 х3 х4 № /1( х) /2( х) /3(х) /4(х)
1 0 0 0 0 4 0 1 0 0
2 0 0 0 1 10 1 0 1 0
3 0 0 1 0 9 1 0 0 1
4 0 0 1 1 2 0 0 1 0
5 0 1 0 0 13 1 1 0 1
6 0 1 0 1 8 1 0 0 0
7 0 1 1 0 0 0 0 0 0
8 0 1 1 1 14 1 1 1 0
9 1 0 0 0 6 0 1 1 0
10 1 0 0 1 11 1 0 1 1
11 1 0 1 0 1 0 0 0 1
12 1 0 1 1 12 1 1 0 0
13 1 1 0 0 7 0 1 1 1
14 1 1 0 1 15 1 1 1 1
15 1 1 1 0 5 0 1 0 1
16 1 1 1 1 3 0 0 1 1
Построение ЛЧП-1 (для с1 ГОСТ 28147-89).
Шаг П. 1.1. Представление БФ (табл. 3) в алгебраической нормальной форме:
в( х) =
01 (х) = х4 © х3 © х2 © х2 х4 © х2 х3 х4 © х1 х3 © х1х2 © х1х2 х4,
02 (х) = 1 © х4 © х3 © х3х4 © х2х3 х4 © х1х3 х4 © х1х2х4 © х1х2 х3,
03 (х) = х4 © х2 х4 © х2 х3 х4 © х1 © х1х4 © х1х3 © х1х2 х4,
04 (х) = х3 © х3 х4 © х2 © х2х4 © х1 х4 © х1 х3 х4 © х1х2 х3.
Шаг П.1.2. Линеаризация элементарных конъюнкций и получение системы ЛЧП (табл. 4).
Шаг П.1.3. Построение ЛЧП-1
Р (х) = 1 + 2х4 + 2 х3 + 2 (х3 + х4) + 2 х2 + 2 (х2 + х4) + 2 (х2 + х3 + х4 +1) +
+ 2 х^ + 2 (х^ + х4) + 2 (х^ + хз) + 2 (х^ + хз + х4 +1) + 2 (х^ + х2) +
+ 2 (х^ + х2 + х4 +1) + 2 (х^ + х2 + хз + 1),
Р(х) = 1894016 +19486720 х +19399008 х2 +16859404 х3 + 2167114 х4.
Таблица 4
Линеаризация элементарных конъюнкций
і Представление в логической форме Представление в линейной арифметической форме Ь (х) л і Представление в логической форме Представление в линейной арифметической форме Ь (х) л
1 1 1 1 8 х1 х' 1
2 х4 х4 1 9 х1х4 х' + х4 2
3 х3 Х3 1 10 х,х3 х + х3 2
4 х3х4 х3 + х4 2 11 х1х3х4 х' + х3 + х4 + ' 3
5 х2 х2 1 12 х1х2 х + х2 2
6 х2 х4 х2 + х4 2 13 х1х2 х4 Х1 + х2 + х4 + ' 3
7 х2 х3х4 х2 + х3 + х4 + ' 3 14 х1х2 х3 Х1 + х2 + х3 + ' 3
Построение ЛЧП-2 (для с1 ГОСТ 28147-89).
Шаг П.2.1. Переопределение результатов вычисления ЛЧП-1 р(х)
/1(х) = х'ъ /2(х) = х2, •••, /м© = Хи-
Шаг П.2.2. Линеаризация логических выражений, образованных системой полиномов Жегалкина (табл. 5).
Таблица 5
Линеаризация операции ХОИ
і Функция Линейная арифметическая форма Ц (х') ч
1 / (х) х + 3Х + 5, + 6Х + + о + 2 " + 3 4
2 /2 (х) х1 + х2 + х3 + х4 + х7 + х11 + хІ3 + хІ4 4
3 /3 (х1) 2Х + х + + х + 9, + о + 3 3
4 /4 (х1) х3 + х4 + х5 + х6 + х9 + х'и + х14 3
Шаг П.2.3. Построение ЛЧП-2
Р2 (х) = х2 + х'3 + х5 + х6 + х7 + х{0 + х[ 2 + х,3 +
+ 24 (х, + х2 + х3 + х4 + х7 + х{н + х{ 3 + х, 4) +
+ 28(х2 + х6+ х7 + х8 + х9 + х{ о + х{3) +
іЛІІ/'і ' і ' і ' і ' і 1 і ' \
+ 2 (х3 + х4 + х^ + х6 + х9 + хи + х, 4),
Р2(х) = 16х; + 273х2 + 2605х3 + 2064х4 + 2049х5 + 2305х6 + 273х'7 + 256х8 + + 2304х9 + 257х,0 + 2064х,н + х,2 + 273х,3 + 2064х,4.
Реализация ЛЧП-1 (для с1 ГОСТ 28147-89).
Шаг П.3.1. Задание вектора х значений входных переменных хг =', х2 = 0, х3 =', х4 = 0 из таблицы истинности (см. табл. 3) в ЛЧП-1 Р (х)
Р(х) = 1894016 +19486720 -1 +19399008 • 0 +16859404 -1 + 2167114 • 0.
Шаг П.3.2. Вычисление ЛЧП-1 р (х), получение результата, представленного в двоичной системе счисления:
Р'(х) = 55286285 = (0П0'00'0Ш00П0'00000П0')2.
Шаг П.3.3. Определение значений функций (4) /'(х), /2(х), ..., /'4(х) с помощью оператора маскирования:
Е0 (Р' (х)) = /(х) = 1, Е' (р (х)) = /2 (х) = 0, Е2 (Р' (х)) = /' (х) = 1,
н4(Р'(х)) = /4( х) = 0, Е5 (Р' (х)) = /5 (х) = 0, Е7 (Р' (х)) = /6 (х) = 0,
е'0( Р'( х)) = /7( х) = 0, Е''(Р'( х)) = /8 (х) = 1, Е'3(Р'(х)) = /9 (х) = 0,
е'5( Р( х)) = /о( х) = 1, Е'8(Р'(х)) = /'(х) = 0, Е 20(Р (х)) = //2(х) = 0,
Е 23( Р (х)) = /1 3( х) = 0, Е 26( р (х)) = /[4( х) = 0.
Реализация ЛЧП-2 (для с1 ГОСТ 28147-89).
Шаг П.4.1. Переопределение результатов вычисления ЛЧП-1 Р(х)
/(х) = х, /2 (х) = х2, ..., /4(х) = х4
Р2(х) = 1 6 • 1 + 273 • 0 + 2605 • 1 + 2064 • 0 + 2049 • 0 + 2305 • 0 + 273 • 0 + 256 • 1 + + 2304 • 0 + 257 • 1 + 2064 • 0 + x{ 2 + 273 • 0 + 2064 • 0.
Шаг П.4.2. Вычисление ЛЧП-2 P2(х') и получение результата, представленного в двоичной системе счисления:
P2(x) = 2594 = (001 010001 0001 0)2.
Шаг П.4.3. Определение значений выходных функций:
H°(P2(X')) = f (х) = 0, E4(P2(X')) = f2(х) = 0, Е8 (P2 (X)) = /3 (х) = 0, E11(P2 (х')) = f4 (X) = 1.
Вывод. Таким образом, цель статьи достигнута - доказано, что операцию
подстановки можно реализовать не более, чем двумя ЛЧП. Принцип аппаратной
реализация рассмотренного метода поясняется с помощью рис. 3.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Алферов А.П., Зубов А.Ю. Основы криптографии: Учебное пособие. - 2-е изд., испр. и доп. - М., Гелиос АРВ, 2002. - 480 с.
2. Финько О.А. Модулярная арифметика параллельных логических вычислений: Монография / Под ред. В.Д. Малюгина. - М.: Ин-т проблем управления им. В.А. Трапезникова РАН; 2003. - 224 с. http://www.computer-museam.ru/books/archiv/sokcon26.pdf.
3. Малюгин В.Д. Параллельные логические вычисления посредством арифметических полиномов. М.: ФИЗМАТЛИТ, 1997. - 192 с.
4. Yanushkevich S., Shmerko V., Lyshevski S. Logic design of nanoICs. CRC Press, 2005.
5. Шалыто А.А. Логическое управление. Методы аппаратной и программной реализации алгоритмов. - СПб.: Наука, 2000. - 780 с.
6. Вишневский А.К., Финько О.А. Реализация некоторых криптографических функций линейными числовыми полиномами // 4-я Международная научно-техническая конференция «Инфокоммуникационные технологии в науке, производстве и образовании».
- Ставрополь, 2010. - С. 20-23.
7. Белоусов А.И., Ткачев С.Б. Дискретная математика: Учеб. для вузов / Под ред. В.С. Зарубина, А.П. Крищенко. - 3-е изд., стереотип. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2004. - 744 с. (Сер. Математика в техническом университете. Вып. XIX).
8. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на Си.
- М.: ТРИУМФ, 2003. - 816 с.
Вишневский Артем Константинович
Краснодарское высшее военное училище (ВИ).
E-mail: [email protected].
350035, г. Краснодар, ул. Красина, 4.
Тел.: +79094603415.
Шарай Вячеслав Александрович
Кубанский государственный технологический университет.
Институт информационных технологий и безопасности.
E-mail: [email protected].
350072, г. Краснодар, ул. Московская, 2.
Тел.: +79615874848.
Vishnevsky Artem Konstantinovich
Krasnodar higher military school (MI).
E-mail: [email protected].
4, Krasina, Krasnodar, 350035, Russia.
Phone: +79094603415.
Sharai Viacheslav Aleksandrovich
Kuban state technological university.
Institute of information technologies and safety.
E-mail: [email protected].
2, Moscow, Krasnodar, 350072, Russia.
Phone: +79615874848.
УДК 004.056:378 (06)
С.Э. Бардаев
МНОГОФАКТОРНАЯ БИОМЕТРИЧЕСКАЯ ПОРОГОВАЯ КРИПТОСИСТЕМА
Предложена биометрическая криптосистема, полученная путем интеграции многофакторной биометрии, пороговой криптографии (схема Шамира) и методов преобразования нечетких биометрических параметров в ключевые последовательности, а также обсуждены преимущества такого решения.
Многофакторная биометрия; пороговые криптографические системы; преобразователь «биометрия - код»; биометрическая криптография; схема Шамира.