А А Белецкий, А Я Белецкий - Криптографические примитивы основанные на методе скользящего кодирования - страница 1

Страницы:
1  2  3 

УДК 681.3.07

КРИПТОГРАФИЧЕСКИЕ ПРИМИТИВЫ, ОСНОВАННЫЕ НА МЕТОДЕ СКОЛЬЗЯЩЕГО КОДИРОВАНИЯ

А.Я. Белецкий, проф.; А.А. Белецкий, мл. науч. сотрудник

Национальный авиационный университет, г. Киев

 

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

 

ВВЕДЕНИЕ И ПОСТАНОВКА ЗАДАЧИ

Современные методы защиты информации в компьютерных сетях (шифрование) представляют собой математические преобразования (алгоритмы), в которых сообщения рассматриваются как числа или алгебраические элементы [1]. Криптографические алгоритмы отображают область «осмысленных сообщений» (входной или открытый текст) в область «бессмысленных сообщений» (выходной или шифротекст, шифрограмма). С позиций теории сигналов и процессов зашифрование исходного (коррелированного, избыточного, сжимаемого) текста состоит в его «отбеливании», т.е. обращении в некоррелированную последовательность символов (элементов) шифрограммы (практически несжимаемой) с плотностью распределения элементов выходного алфавита, максимально близкой к равномерной.

Криптостойкие системы могут быть построены путем многократного применения относительно простых криптографических преобразований (примитивов), в качестве которых К.Шенон предложил использовать подстановки (substitution) и перестановки (permutation). Схемы, реализующие эти преобразования, называются SP-сетями. Часто используемыми криптографическими примитивами являются также преобразования типа циклический сдвиг (круговая прокрутка блоков), гаммирование и ряд других.

В данной работе вводится новый подкласс обратимых примитивов, названных авторами операциями скользящего кодирования. Схема построения криптопримитивов типа «скользящего кодирования» подобна схемам лево- и правостороннего преобразований Грея [2] «наоборот» в том смысле, что прямому скользящему кодированию отвечают схемы обратных преобразований Грея, а обратному кодированию - схемы прямых преобразований Грея. Криптопримитивы скользящего кодирования можно строить на основе арифметических, логических или смешанных (арифметико-логических) операций преобразования элементов (совокупности п -битных комбинаций) шифруемого текста.

Предлагаемые алгоритмы скользящего кодирования удачно развивают RSB -технологию построения блочных симметричных криптографических систем защиты информации, первое описание которой приведено в [3]. Аббревиатура RSB происходит от ключевых слов КоипсС, Step, Block -подчеркивая тем самым, что основными для криптоалгоритма являются раундовые преобразования (R), разбитые на определенное число шагов ( S ), а действие алгоритма осуществляется над блоками (B) открытого или закрытого текста.


В соответствии с рис. 1 общий ключ CK (Common Key) RSB -шифра образуется конкатенацией r 32-битных раундовых ключей Ki (i = 1, r ). RSB -технология предполагает, что криптопреобразование текста осуществляется за s > 1 шагов, и на каждом шаге шифрования осуществляется частичное обновление (выработка) раундовых ключей за счет круговой прокрутки (влево или вправо в зависимости от режима шифрования) общего ключа.

 

АРИФМЕТИЧЕСКОЕ СКОЛЬЗЯЩЕЕ КОДИРОВАНИЕ

Выберем 32-битный размер элементов шифруемого текста, совпадающий с размером раундового ключа в RSB - алгоритмах. Тем самым мы ориентируемся на реализацию алгоритма шифрования на компьютерных платформах с 32-разрядными шинами. С равным успехом можно было принять, например, 64-битным размер элементов и шин, что не влечет за собой каких-либо принципиальных затруднений. Будем также полагать, что шифруемый текст разбит на блоки, каждый из которых содержит четное число 32-битных элементов. Последнее условие, в частности, означает, что размер блока кратен 64 битам, т.е. может быть ориентирован на обработку процессорами с 64-разрядной шиной, к которой склоняется в последнее время международная практика.


По аналогии с лево- и правосторонним преобразованием Грея [4] введем лево- и правостороннее скользящее кодирование с арифметическими преобразованиями элементов шифрования. Для простоты будем называть их арифметическим скользящим кодированием (АСК). Структурная схема четырехэлементного прямого левостороннего АСК приведена на рис. 2.

На данном рисунке приняты такие обозначения: xi (yi), i = 0,3, -входные (выходные) 32-битные операнды преобразования; | + | - оператор

арифметического суммирования по  mod 232 ;  R  - 32-битный входной

раундовый ключ; R" - 32-битный выходной раундовый ключ, используемый в качестве входного для последующего преобразуемого блока.

Алгоритму прямого левостороннего АСК (т.е. развивающегося по направлению преобразования слева направо) отвечает система линейных модульных алгебраических уравнений:

y3 = (x3 + R') mod m ;

y2=(x2+y3)modm; y1=(x1+y2)modm; y0=(x0+y1)modm,

где m = 232 .

Решая формально систему уравнений операндов xi , получим систему:

x3=(y3-R )modm;

x2=(y2-y3)modm;

x1=(y1-y2)modm; x0=(y0-y1)modm,


(1)

 

 

 

(1)   относительно входных

 

 

 

(2)


которой отвечает (рис. 3) структурная схема четырехэлементного обратного левостороннего АСК.


RSB -технология строится таким образом, что на нечетных шагах шифрования используется процедура левостороннего скользящего кодирования (в соответствии с рис. 2 - на этапах зашифрования и рис. 3 - на этапах расшифрования), тогда как на четных шагах шифрования привлекаются алгоритмы правостороннего АСК. Структурная схема прямого правостороннего АСК для четырехэлементного блока показана на рис. 4.

Алгоритм прямого правостороннего АСК (рис. 4) можно записать в виде следующей системы линейных модульных преобразований:

y0=(x0+R )modm;

y1=(x1+y0)modm; (3)

(3)

y2=(x2+y1)modm;

y3=(x3+y2)modm,решая которую относительно входных операндов приходим к системе модульных уравнений, отвечающей алгоритму правостороннего обратного

АСК:

x0=(y0-R )modm;

(4)

x1=(y1-y0)modm; x2=(y2-y1)modm;

 

Структурная схема обратного правостороннего АСК показана на рис. 5.


Из сопоставления структурных схем левостороннего (рис. 2 и 3) и правостороннего (рис. 4 и 5) АСК следует, что к схемам правосторонних

АСК мы приходим в результате поворота на 180° относительно центральной вертикальной оси схем левосторонних АСК при сохранении неизменными позиций операндов преобразования x и y .

 

ЛОГИЧЕСКОЕ СКОЛЬЗЯЩЕЕ КОДИРОВАНИЕ

К такому виду кодирования (ЛСК) мы приходим в результате логических преобразований элементов блоков, в качестве которых выбрана операция поразрядного суммирования по mod2, эквивалентная логической операции XOR. Структурные схемы ЛСК легко получим заменой оператора арифметического сложения по модулю m = 2 , обозначаемого как | + | , на оператор © поразрядного сложения по mod2 .

В результате указанных замен на рис. 2 приходим к такому виду структурной схемы прямого левостороннего ЛСК (рис. 6).


Схеме преобразования, приведенной на рис. 6, отвечает система линейных модульных уравнений:

y3=x3©R ; y2=x2©y3;

y1 = x1 © y2 ; y0 = x0 © y1 ,


 

(5)причем не следует забывать, что в данном случае операции выполняются поразрядно над каждой парой операндов.

Примем во внимание, что в двоичной арифметике


a © b ° a П b , (6) где a и b - двоичные одноразрядные операнды (биты), а П - оператор поразрядного вычитания по mod2. Тождество (6) дает возможность исключить в схемах обратного ЛСК (рис. 3 и 5) множительные элементы - > - с коэффициентом передачи -1 , что дает возможность, например, следующим образом отобразить структурную схему обратного левостороннего ЛСК (рис. 7).

Система линейных алгебраических уравнений, соответствующая схеме преобразований, представленной на рис. 7, имеет вид:

Хз = уз © R';

Х2 = у2 © у3 ; (7) Х1 = у1 © у2 ; Х0 = у0 © у1 .

Аналогичным образом легко могут быть построены структурные схемы и системы линейных модульных алгебраических уравнений для прямого и обратного правостороннего ЛСК. Обратим внимание на то, что предлагаемые схемы лево- и правостороннего логического скользящего кодирования и отвечающие им системы уравнений являются ничем иным, как соответствующие (по направлениям) обратные преобразования Грея над двоичными кодовыми комбинациями, тогда как обратные ЛСК представляют собой прямые преобразования Грея. Тем самым мы вправе определить ЛСК как преобразования Грея «наоборот».

 

СМЕШАННОЕ СКОЛЬЗЯЩЕЕ КОДИРОВАНИЕ


Данный тип кодирования (ССК) предполагает, что криптографический примитив содержит чередующиеся операции логического и арифметического преобразований так, как это для четырехэлементных блоков шифруемого текста показано на рис. 8 для левостороннего смешанного зашифрования.

Система линейных модульных уравнений, отвечающая прямому левостороннему ССК (рис. 8), имеет вид:

Уз = Хз © R ;

У2 =     + Уз) mod m ;

Страницы:
1  2  3 


Похожие статьи

А А Белецкий, А Я Белецкий - Криптографические примитивы основанные на методе скользящего кодирования