Смекни!
smekni.com

Баричев С. Криптография без секретов (стр. 4 из 11)

Для шиф­ро­ва­ния дан­ных с по­мо­щью дат­чи­ка ПСЧ мо­жет быть вы­бран ключ лю­бо­го раз­ме­ра. На­при­мер, пусть ключ со­сто­ит из на­бо­ра чи­сел x(j) раз­мер­но­стью b, где j=1, 2, ..., n. То­гда соз­да­вае­мую гам­му шиф­ра G мож­но пред­ста­вить как объ­е­ди­не­ние не­пе­ре­се­каю­щих­ся мно­жеств H(j).

Датчики М-последовательностей[5]

М-последовательности также популярны, благодаря относительной легкости их реализации.

М-последовательности представляют собой линейные рекуррентные последовательности максимального периода, формируемые k-разрядными генераторами на основе регистров сдвига. На каждом такте поступивший бит сдвигает k предыдущих и к нему добавляется их сумма по модулю 2. Вытесняемый бит добавляется к гамме.

Строго это можно представить в виде следующих отношений:

r1:=r0 r2:=r1 ... rk-1:=rk-2

r0:=a0 r1 Å a1 r2 Å ... Å ak-2 rk-1

Гi:= rk-

Здесь r0 r1 ... rk-1 - k однобитных регистров, a0 a1 ... ak-1 - коэффициенты неприводимого двоичного полинома степени k-1. Гi - i-е значение выходной гаммы.

Период М-последовательности исходя из ее свойств равен 2k-1.

Другим важным свойством М-последовательности является объем ансамбля, т.е. количество различных М-последовательностей для заданного k. Эта характеристика приведена в таблице:

k

Объем ансамбля

5

6

6

8

7

18

8

16

9

48

10

60

16

2048

Очевидно, что такие объемы ансамблей последовательности неприемлемы.

Поэтому на практике часто используют последовательности Голда, образующиеся суммированием нескольких М-последовательно­стей. Объем ансамблей этих последовательностей на несколько порядков превосходят объемы ансамблей порождающих М-последовательностей. Так при k=10 ансамбль увеличивается от 1023 (М-последовательности) до 388000.

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

Воз­мож­ны и дру­гие, бо­лее слож­ные ва­ри­ан­ты вы­бо­ра по­ро­ж­даю­щих чи­сел для гам­мы шиф­ра.

Шиф­ро­ва­ние с по­мо­щью дат­чи­ка ПСЧ яв­ля­ет­ся до­воль­но рас­про­стра­нен­ным крип­то­гра­фи­че­ским ме­то­дом. Во мно­гом ка­че­ст­во шиф­ра, по­стро­ен­но­го на ос­но­ве дат­чи­ка ПСЧ, оп­ре­де­ля­ет­ся не толь­ко и не столь­ко ха­рак­те­ри­сти­ка­ми дат­чи­ка, сколь­ко ал­го­рит­мом по­лу­че­ния гам­мы. Один из фун­да­мен­таль­ных прин­ци­пов крип­то­ло­ги­че­ской прак­ти­ки гла­сит, да­же слож­ные шиф­ры мо­гут быть очень чув­ст­ви­тель­ны к про­стым воз­дей­ст­ви­ям.

Стан­дарт шиф­ро­ва­ния дан­ных ГОСТ 28147-89[6]

Важ­ной за­да­чей в обес­пе­че­нии га­ран­ти­ро­ван­ной безо­пас­но­сти ин­фор­ма­ции в ИС яв­ля­ет­ся раз­ра­бот­ка и ис­поль­зо­ва­ния стан­дарт­ных ал­го­рит­мов шиф­ро­ва­ния дан­ных. Пер­вым сре­ди по­доб­ных стан­дар­тов стал аме­ри­кан­ский DES, пред­став­ляю­щий со­бой по­сле­до­ва­тель­ное ис­поль­зо­ва­ние за­мен и пе­ре­ста­но­вок. В на­стоя­щее вре­мя все ча­ще го­во­рят о не­оп­рав­дан­ной слож­но­сти и не­вы­со­кой крип­то­стой­ко­сти. На прак­ти­ке при­хо­дит­ся ис­поль­зо­вать его мо­ди­фи­ка­ции.

Бо­лее эф­фек­тив­ным яв­ля­ет­ся оте­че­ст­вен­ный стан­дарт шиф­ро­ва­ния дан­ных.

Он ре­ко­мен­до­ван к ис­поль­зо­ва­нию для за­щи­ты лю­бых дан­ных, пред­став­лен­ных в ви­де дво­ич­но­го ко­да, хо­тя не ис­клю­ча­ют­ся и дру­гие ме­то­ды шиф­ро­ва­ния. Дан­ный стан­дарт фор­ми­ро­вал­ся с уче­том ми­ро­во­го опы­та, и в ча­ст­но­сти, бы­ли при­ня­ты во вни­ма­ние не­дос­тат­ки и не­реа­ли­зо­ван­ные воз­мож­но­сти ал­го­рит­ма DES, по­это­му ис­поль­зо­ва­ние стан­дар­та ГОСТ пред­поч­ти­тель­нее. Ал­го­ритм дос­та­точ­но сло­жен и ни­же бу­дет опи­са­на в ос­нов­ном его кон­цеп­ция.

Вве­дем ас­со­циа­тив­ную опе­ра­цию кон­ка­те­на­ции, ис­поль­зуя для нее муль­ти­п­ли­ка­тив­ную за­пись. Кро­ме то­го бу­дем ис­поль­зо­вать сле­дую­щие опе­ра­ции сло­же­ния:

· AÅB - побитовое сложение по модулю 2;

· A[+]B - сложение по модулю 232;

· A{+}B - сложение по модулю 232-1;.

Алгоритм криптографического преобразования предусматривает несколько режимов работы. Во всех режимах используется ключ W длиной 256 бит, представляемый в виде восьми 32-разрядных чисел x(i).

W=X(7)X(6)X(5)X(4)X(3)X(2)X(1)X(0)

Для дешифрования используется тот же ключ, но процесс дешифрования является инверсным по отношению к исходному.

Самый простой из возможных режимов - замена.

Пусть открытые блоки разбиты на блоки по 64 бит в каждом, которые обозначим как T(j).

Очередная последовательность бит T(j) разделяется на две последовательности B(0) и A(0) по 32 бита (правый и левый блоки). Далее выполняется итеративный процесс шифрования описываемый следующими формулами, вид который зависит от :i:

· Для i=1, 2, ..., 24, j=(i-1) mod 8;

A(i) = f(A(i-1) [+] x(j)) Å B(i-1)

B(i) = A(i-1)

· Для i=25, 26, ..., 31, j=32-i;

A(i) = f(A(i-1) [+] x(j)) Å B(i-1)

B(i) = A(i-1)

· Для i=32

A(32) = A(31)

B(32) = f(A(31) [+] x(0)) Å B(31).

Здесь i обозначает номер итерации. Функция f – функция шифрования.

Функция шифрования включает две операции над 32-разрядным аргументом.

Первая операция является подстановкой K. Блок подстановки К состоит из 8 узлов замены К(1)...К(8) с памятью 64 бита каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на 8 последовательно идущих 4-разрядных вектора, каждый из который преобразуется в 4-разрядный вектор соответствующим узлом замены, представляющим из себя таблицу из 16 целых чисел в диапазоне 0...15. Входной вектор определяет адрес строки в таблице, число из которой является выходным вектором. Затем 4-разрядные векторы последовательно объединяются в 32-разрядный выходной.

Вторая операция - циклический сдвиг влево 32-разрядного вектора, полученного в результате подстановки К. 64-разрядный блок зашифрованных данных Т представляется в виде

Т=А(32)В(32).

Остальные блоки открытых данных в режиме простой замены зашифровываются аналогично.

Следует учитывать, что данный режим шифрования обладает ограниченной криптостойкостью.

Другой режим шифрования называется режимом гаммирования.

Открытые данные, разбитые на 64-разрядные блоки T(i) (i=1,2,...,m) (m определяется объемом шифруемых данных), зашифровываются в режиме гаммирования путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит, т.е.

Гш=(Г(1),Г(2),....,Г(m)).

Уравнение шифрования данных в режиме гаммирования может быть представлено в следующем виде:

Ш(i)=A(Y(i-1) Å C2, Z(i-1)) {+} C(1) Å T(i)=Г(i) Å T(i)

В этом уравнении Ш(i) обозначает 64-разрядный блок зашифрованного текста, А - функцию шифрования в режиме простой замены (аргументами этой функции являются два 32-разрядных числа). С1 и С2 - константы, заданные в ГОСТ 28147-89. Величины y(i) и Z(i) определяются итерационно по мере формирования гаммы следующим образом:

(Y(0),Z(0))=A(S), S - 64-разрядная двоичная последовательность

(Y(i),Z(i))=(Y(i-1) [+] C2, Z(i-1) {+} C(1)), i=1, 2, ..., m.

64-разрядная последовательность, называемая синхропосылкой, не является секретным элементом шифра, но ее наличие необходимо как на передающей стороне, так и на приемной.

Режим гаммирования с обратной связью очень похож на режим гаммирования. Как и в режиме гаммирования открытые данные, разбитые на 64-разрядные блоки T(i), зашифровываются путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит:

Гш=(Г(1), Г(2), ..., Г(m)).

Уравнение шифрования данных в режиме гаммирования с обратной связью выглядят следующим образом:

Ш(1)=A(S)ÅT(1)=Г(1)ÅT(1),

Ш(i)=A(Ш(i-1)ÅT(i)=Г(i)ÅT(i), i=2, 3, ..., m.

В ГОСТ 28147-89 определяется процесс выработки имито­вставки, который единообразен для всех режимов шифрования. Имитовставка - это блок из р бит (имитовставка Ир), который вырабатывается либо перед шифрованием всего сообщения. либо параллельно с шифрованием по блокам. Параметр р выбирается в соответствии с необходимым уровнем имитозащищенности.

Для по­лу­че­ния ими­тов­став­ки от­кры­тые дан­ные пред­став­ля­ют­ся так­же в ви­де бло­ков по 64 бит. Пер­вый блок от­кры­тых дан­ных Т(1) под­вер­га­ет­ся пре­об­ра­зо­ва­нию, со­от­вет­ст­вую­ще­му пер­вым 16 цик­лам ал­го­рит­ма ре­жи­ма про­стой за­ме­ны. При­чем в ка­че­ст­ве клю­ча ис­поль­зу­ет­ся тот же ключ, что и для шиф­ро­ва­ния дан­ных. По­лу­чен­ное 64-раз­ряд­но чис­ло сум­ми­ру­ет­ся с от­кры­тым бло­ком Т(2) и сум­ма вновь под­вер­га­ет­ся 16 цик­лам шиф­ро­ва­ния для ре­жи­ма про­стой за­ме­ны. Дан­ная про­це­ду­ра по­вто­рят­ся для всех m бло­ков со­об­ще­ния. Из по­лу­чен­но­го 64-раз­ряд­но­го чис­ла вы­би­ра­ет­ся от­ре­зок Ир дли­ной р бит.