Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2. Часть 1.doc
Скачиваний:
101
Добавлен:
02.06.2015
Размер:
5.54 Mб
Скачать

32, 31, ..., 2, 1  Номер разряда n1

а начальное заполнение накопителя N2 – вид

(b32(32), b31(32), ..., b2(32), b1(32)).

32, 31, ..., 2, 1  Номер разряда n2

Расшифрование осуществляется по тому же алгоритму, что и зашифрование, с тем изменением, что заполнения накопителей X0, Х1, ..., Х7 считываются из КЗУ в циклах расшифрования в следующем порядке:

К0, К1, К2, К3, К4, К5, К6, К7, К7, К6, К5, К4, К3, К2, К1, К0,

К7, К6, К5, К4, К3, К2, К1, К0, К7, К6, К5, К4, К3, К2, К1, К0.

Уравнения расшифрования имеют вид:

при j{1,…,8};

при j{9,…,31};

при j=32.

Полученные после 32 циклов работы заполнения накопителей N1 и N2 образуют блок открытых данных

Т0 = (a1(0), a2(0), ..., a32(0), b1(0), b2(0),..., b32(0)),

соответствующий блоку зашифрованных данных Тш. При этом состояние накопителя N1

(a32(0), a31(0), ..., a2(0), a1(0)),

32, 31, ..., 2, 1  Номер разряда n1

состояние накопителя N2

(b32(0), b31(0), ..., b2(0), b1(0)).

32, 31, ..., 2, 1  Номер разряда n2

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

Если алгоритм зашифрования в режиме простой замены 64-битового блока Т0 обозначить через А, то

А(Т0) = А(a (0), b(0)) = (a (32), b(32))=Тш.

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

Зашифрование открытых данных в режиме гаммирования. Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования, показана на рис. 11. Открытые данные разбивают на 64-разрядные блоки

Т0(1), Т0(2), ..., Т0(i), ..., Т0(m),

где Т0(i) – i-й 64-разрядный блок открытых данных, i{1,…,m}, m определяется объемом шифруемых данных.

Рис. 11. Схема реализации режима гаммирования

Эти блоки поочередно зашифровываются в режиме гаммирования путем поразрядного сложения по модулю 2 в сумматоре СМ5 с гаммой шифра Гш, которая вырабатывается блоками по 64 бита, т.е.

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

где Гш(i) – i-й 64-разрядный блок, i{1,…,m}.

Число двоичных разрядов в блоке Т0(m) может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока Гш(m) отбрасывается.

Уравнение зашифрования данных в режиме гаммирования имеет вид

Тш(i) = Т0(i)  Гш(i),

где Гш(i)=А(Yi–1 ⊞ C2, Zi–1 ⊞´C1), i{1,…,m}; Тш(i) – i-й блок 64-разрядного блока зашифрованного текста; А(·) – функция зашифрования в режиме простой замены; С1, С2 – 32-разрядные двоичные константы; Yi, Zi – 32-разрядные двоичные последовательности.

Величины Yi, Zi определяются итерационно по мере формирования гаммы Гш следующим образом:

(Y0, Z0) = А (),

где – синхропосылка (64-разрядная двоичная последовательность),

(Yi, Zi) = (Yi–1 ⊞ С2, Zi–1 ⊞ C1), i{1,…,m}.

Рассмотрим реализацию процедуры зашифрования в режиме гаммирования. В накопители N6 и N5 заранее записаны 32-разрядные двоичные константы С1 и С2, имеющие следующие значения (в шестнадцатеричной форме):

С1 = 01010104(16), С2 = 01010101(16).

В КЗУ вводится 256 бит ключа; в накопители N1 и N2 – 64-разрядная двоичная последовательность (синхропосылка)

= (S1, S2, ..., S64).

Синхропосылка является исходным заполнением накопителейN1 и N2 для последовательной выработки m блоков гаммы шифра.

Исходное заполнение накопителя N1:

(S32, S31, ...,S2, S1);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]