УДК 004.032.26
ИССЛЕДОВАНИЕ И ПРИМЕНЕНИЕ ВЗАИМНО-ОБРАТНЫХ ПЕРЕСТАНОВОК НА ОСНОВЕ НЕЙРОСЕТЕВЫХ ОПЕРАЦИОННЫХ БЛОКОВ В БЛОЧНОМ ШИФРОВАНИИ
© 2012 О. И. Лапшиков1, В. Н. Лопин2
1 аспирант каф. программного обеспечения и администрирования информационных систем факультета ИВТ e-mail: [email protected] 2докт. техн. наук,
профессор каф. программного обеспечения и администрирования информационных систем, e-mail: [email protected]
Курский государственный университет
Приведено описание нейросетевых логических модулей, построенных на основе иерархических нейросетей, реализующих операцию подстановки в бинарном информационном потоке. Рассмотрена организация блочного шифрования с использованием взаимно-обратных управляемых перестановок.
Ключевые слова: бинарный поток, нейросетевые логическое модули, блочный шифр, управляемые перестановки.
Ранее авторами настоящей статьи были рассмотрены вопросы шифрования бинарного потока с использованием нейросетевых логических модулей [Лопин, Захаров 2004; Лопин, Захаров 2004а]. Для реализации шифрования была предложена система шифрования (рис. 1) с иерархической структурной организацией управляемых нейросетевых логических модулей NETm , NETn.
В соответствии с алгоритмом функционирования системы, исходный бинарный поток Z представлялся последовательностью блоков длиной 2” бит, к которым периодически применялся некоторый фиксированный набор операций подстановки для реализации перестановок в этих блоках. Особенностью этого подхода [Лопин, Захаров 2004а] являлась возможность формирования любой последовательности периодических перестановок для блоков бинарного потока Z путем задания соответствующих функций активации структуры с помощью настроек (T^..., Tn).
В работах [Молдовян, Молдовян, Еремеев 2004; Молдовян, Молдовян, Советов 2001] была показана эффективность использования различных управляемых операций для проектирования блочных шифров. Дальнейшее развитие подхода, основанного на использовании нейросетевых управляемых логических модулей, позволило предложить вариант блочного шифрования с использованием взаимно-обратных управляемых перестановок.
На рисунке 2 представлена схема одного раунда такого блочного шифрования.
Рис. 1. Система шифрования
В этой схеме используется перенастраиваемый нейросетевой операционный блок, представленный функцией у = ЫОБм (А, Б) и предназначенный для реализации двух взаимно-обратных управляемых перестановок:
(Г(В),Г~А\В)): Г(Г-А\В)) = ГАХ¥а(В))
-і/
7-1,
(1)
Здесь: МЄ (ЯД' [) - матрица настройки блока, определяющая настройку операционного блока на управляемую перестановку Ел (В) при M=R или на управляемую перестановку Е-1(Б) при M=R1; А - вектор управления перестановками; B -вектор входа; 7- вектор выхода. В раунде шифрования используются ключи К,- и О,-.
> А]-1 1 ' ВП
ыовм
С \ *
У *
с ■у •
)* •
твж*(4,в>
,4 и
•а
Рис. 2. Схема раунда
Можно доказать, что процедуры шифрования и расшифрования отличаются лишь распределениями (расписаниями) этих ключей по раундам шифрования и расшифрования. Очевидно, что независимо от числа раундов такое доказательство достаточно рассмотреть на двух раундах, выполняющих соответственно шифрование и расшифрование.
Для этого доказательства рассмотрим некоторую гипотетическую систему, включающую в свой состав последовательно раунд шифрования и раунд расшифрования, определяемые схемой на рисунке 2. Для раундовых ключей такой системы введем следующее распределение:
(K}, Qj, QJ+i,KJ+i):(Qj+i= Qj, KJ+i= K). (2)
Докажем, что на втором раунде такой системы будет выполнена процедура расшифрования, то есть будут выполнены условия
Aj+- = Aj--, bj+i =bj-i. (3)
Действительно, для первого раунда шифрования в соответствии со схемой раунда можно записать следующие преобразования:
Aj = F(Aj.i, Bj.0 ® Kj , Bj = F-(Aj, Aj., Ф Qj). (4)
Для второго раунда расшифрования выполняются преобразования:
Aj+1 = F(Aj, Bj) Ф Qj+1 , Bj+i = F-(Aj+-, Aj Ф Kj+,). (5)
Таким образом, на втором раунде, учитывая свойства (1) взаимно-обратных управляемых перестановок, можно записать:
Aj+, = F(Aj, Bj) ® Qj+, = F(Aj, F'(Aj, Aj., ® Qj)) ® Qj+, =Aj,,
Bj+, - F^A^,, Aj ® Kj+,) - F‘(Aj+,, F(Aj-,, в-,) ® Kj ® Kj+, - Вj-, . (6)
Следовательно, условия расшифрования (3) на втором раунде предлагаемой системы блочного шифрования выполняются.
Нейросетевой операционный блок NOBM (A, B), как и приведенная ранее система шифрования (рис. 1), может быть реализован в базисе управляемых нейросетевых логических модулей NETm , NETn
Было показано [Лопин, Захаров 2004а], что в любом нейросетевом логическом модуле NETk, k £ (n,m), представленном на рисунке 4, управление перестановками в бинарном потоке Z можно задавать графом переходов вектора X.
X NETk Y
i Z i
Рис. 4. Нейросетевой логический модуль: X = (х15...,xn);Z = (Zj,...,z2„);Y = (jj,...,y2„)
Действительно, любой граф переходов (рис. 5) ОХДсу];1 0 (0,1,...,2П-
1);]0(1,2,...,2“!) однозначно определяет соот-ветствующую операцию подстановки для 2П разрядного блока в бинарном потоке 2.
Таким образом, любому графу GXj[Cij] можно поставить в соответствие некоторую операцию подстановки Pj и наоборот. Известно [Лопин 2004], что иерархический нейросетевой модуль NET может реализовать любую булеву функцию k переменных Y = fz(X), где Z = (zu...z ) - вектор настройки модуля. Следовательно,
оказывается возможным в базисе иерархических нейросетевых модулей организовать управление графами переходов GXj[cj и, соответственно, операциями подстановки Pj. На рисунке б представлена структура операционного блока NOBM (A, B) в базисе нейросетевых модулей NE1*.
Z1
ФФФФ ^
NFTj ч NET?
X, ‘ фф»»-^
АСП bit-------fbn
4J
t—t
п П
NET.j NETnj
:ni
a-і a
n
Рис. б. Структура операционного блока NOBM (A,B): A=(a1,., a„); B=(b1,..., b„); Y=(y1,..., y„); M=(R;R-1)=(R1],..., Rnj,Ru-1,..., Rj-1), j=(1,..., d)
Вектор инициализации 2=(21,..., 2,) задается фиксированным графом (рис. 7) переходов 01[к];к1 =г, /0(0,1,...,2(1-1).
Представленный операционный блок NOBM (A, B) реализует перестановку
Fa(B) при M=(R)=(Rlj,..., Rnj) и перестановку F~\B) при M=(RI)=(Rlj Rnj -1).
Таким образом, обе взаимно-обратные управляемые перестановки реализуются одним операционным блоком, допускающим перенастройку двух возможных режимов.
Из структуры, представленной на рисунке 6 следует, что для реализации операционного блока NOBM(A,B) при A=(a1,..., ay) и B=(b1,..., bn) необходимо использовать Sd =(I+ log2n) модулей NET и Sn= (wlog2n) модулей NET.
Учитывая, что аппаратная реализация раунда преобразования блока длиной n требует применения двух операционных блоков NOBM (A, B), можно определить структурную сложность S аппаратной реализации раунда следующим выражением:
S=(2Sd+2Sn):Sd=(I+log2n),Sn=(^log2n). (6)
Таким образом, в операционном блоке NOBM (A, B) можно использовать однородные базисные нейросетевые модули двух типов: NET и NET , отличающиеся лишь числом информационных и настроечных входов.
Очевидно, что предлагаемая структурная организация операционных блоков, основанная на применении однородных базисных нейросетевых модулей двух типов, в значительной степени отвечает возможности их аппаратной реализации в виде СБИС.
Библиографический список
Лопин В. Н., Захаров И. С. Применение иерархических нейросетей для шифрования бинарного информационного потока // Телекоммуникации. М.: Наука и технологии, 2004. № 11. С. 36-40.
Лопин В. Н., Захаров И. С. Шифрование бинарного информационного потока методом периодических перестановок на основе нейросетевых логических модулей. // Телекоммуникации. М.: Наука и технологии, 2004. № 12. С. 31-35.
Молдовян Н. А., Молдовян А. А., Еремеев М. А. Криптография от примитивов к синтезу алгоритмов. СПб.: БХВ-Петербург, 2004. 448 с.
Молдовян Н. А., Молдовян А. А., Советов Б. Я. Криптография. СПб.: Лань, 2001.
224 с.