Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RPZ 20.05.2016.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
609 Кб
Скачать
☆

1.1.2 Расшифрование зашифрованных данных в режиме простой замены

Криптосхема, реализующая алгоритм расшифрования в режиме простой замены, имеет тот же вид (см. рисунок 2), что и при зашифровании. В КЗУ вводятся 256 бит того же ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки по 64 бита в каждом.

Ввод любого блока Тш=(а1(32), а2(32), …, а32(32),

b1(32), b2(32), …,

b32(32)) в накопители N1 и N2 производится так,

что значение а1(32) вводится в 1-й разряд N1,

значение a2(32) вводится во 2-й разряд N1,

и т.д., значение a32(32) вводится в 32-й разряд N1;

значение b1(32) вводится в 1-й разряд N2, значение b2(32) вводится во 2-й разряд N2 и т.д.,

значение b32(32) вводится в 32-й разряд N2.

Расшифрование осуществляется по тому же алгоритму, что и зашифрование открытых данных, с тем изменением, что заполнения накопителей Х0, Х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.

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

Т0=(a1(0), a2(0), …, a32(0), b1(0), b2(0), …, b32(0)), соответствующий блоку зашифрованных данных,

при этом значение а1(0) блока Т0 соответствует содержимому 1-го разряда N1, значение а2(0) соответствует содержимому 2-го разряда N1 и т.д.,

значение а32(0) соответствует содержимому 32-го разряда N1;

значение b1(0) соответствует содержимому 1-го разряда N2, значение b2(0) соответствует содержимому 2-го разряда N2, и т.д.,

значение b32(0) соответствует содержимому 32-го разряда N2.

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

2. Режим гаммирования

2.1.1. Зашифрование открытых данных в режиме гаммирования

Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования, должна иметь вид, приведенный на рисунке 1б.

Рисунок 1б

Открытые данные, разбитые на 64-разрядные блоки Т0(1), Т0(2), …, Т0(М-1), Т0(М), зашифровываются в режиме гаммирования путем поразрядного суммирования по модулю 2 в сумматоре СМ5 (рис 1) с гаммой шифра Гш, которая вырабатывается блоками по 64 бита:

Рис. 1 Сумматор СМ5 где:

inf[63…32]- гамма шифра Гш

ab[31…0] – зашифрованные данные , подготовленные для побитного сложения с гаммой шифра Гш

Гш=(Гш(1), Гш(2), …, Гш(М-1), Гш(М)),

где М – определяется объемом шифруемых данных.

Гш(i) – i-й 64-разрядный блок, i=1÷Ì, число двоичных разрядов в блоке Т0(М) может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока Гш(М) отбрасывается.

Рис2. КЗУ.

В КЗУ (Рис.2) вводятся 256 бит ключа. В накопители N1, N2 вводится 64-разрядная двоичная последовательность (синхропосылка) S=(S1, S2, …, S64), являющаяся исходным заполнением этих накопителей для последующей выработки М блоков гаммы шифра.

Синхропосылка вводится в N1 и N2 так, что значение S1 вводится в 1-й разряд N1, значение S2 вводится во 2-й разряд N1, и т.д.,

значение S32 вводится в 32-й разряд N1;

значение S33 вводится в 1-й разряд N2,

значение S34 вводится во 2-й разряд N2 и т.д.,

значение S64 вводится в 32-й разряд N2.

Исходное заполнение накопителей N1 и N2 (синхропосылка S) зашифровывается в режиме простой замены . Результат зашифрования переписывается в 32-разрядые накопители N3 (рис 3) и N4 (рис 4) так, что заполнение N1 переписывается в N3, а заполнение N2 переписывается в N4.

Рис 3. Мультиплексор и накопитель N3 для переключения записи из N1 , и записи просуммированной информации из СМ3

Рис. 4 Мультиплексор и накопитель N4 для переключения записи из N2 , и записи просуммированной информации из СМ4

Заполнение накопителя N4 суммируется по модулю (232-1) в сумматоре СМ4 с 32-разрядной константой С1 из накопителя N6, результат записывается в N4.

Рис. 5 Константы С1 и С2

Заполнение накопителя N3 суммируется по модулю 232 в сумматоре СМ3 (рис 6) с 32-разрядной константой С2 из накопителя N5, результат записывается в N3.

Рис. 6 Сумматор СМ3

Рис. 7 Сумматор СМ4

Суммирование в СМ3 и СМ4 проходит на 2 такте

Заполнение N3 переписывается в N1, а заполнение N4 переписывается в N2, при этом заполнение N3, N4 сохраняется.

Заполнение N1 и N2 зашифровывается в режиме простой замены(п.1.1 переход на схему рис 8) .

Рис. 8 Переход на схему шифрования в режиме простой замены

Полученное в результате зашифрования заполнение N1, N2 образует первый 64-разрядный блок гаммы шифра Гш(1), который суммируется поразрядно по модулю 2 в сумматоре СМ5 с первым 64-разрядным блоком открытых данных Т0(1)=(t1(1), t2(1), …, t63(1), t64(1)). В результате суммирования получается 64-разрядный блок зашифрованных данных Тш(1)=(τ1(1), τ2(1), …, τ63(1), τ64(1)).

Значение τ1(1) блока Тш(1) является результатом суммирования по модулю 2 в СМ5 значения t1(1) из блока Т0(1) 

со значением 1-го разряда N1, значение τ2(1) блока Тш(1) является результатом суммирования по модулю 2 в СМ5 значения t2(1) из блока Т0(1) 

со значением 2-го разряда N1 и т.д., значение τ64(1) блока Тш(1) является результатом суммирования по модулю 2 в СМ5 значения t64(1) из блока Т0(1) со значением 32-го разряда N2.

Для получения следующего 64-разрядного блока гаммы шифра Гш(2) заполнение N4 суммируется по модулю (232-1) в сумматоре СМ4 с константой С1 из N6, заполнение N3 суммируется по модулю 232 в сумматоре СМ3 с константой С2 из N5. Новое заполнение N3 переписывается в N1, а новое заполнение N4 переписывается в N2, при этом заполнение N3 и N4 сохраняется.

Заполнение N1 и N2 зашифровывается в режиме простой замены. Полученное в результате зашифрования заполнение N1, N2 образует второй 64-разрядный блок гаммы шифра Гш(2), который суммируется поразрядно по модулю 2 в сумматоре СМ5 со вторым блоком открытых данных Т0(2). Аналогично вырабатываются блоки гаммы шифра Гш(3), Гш(4) …, Гш(М) и зашифровываются блоки открытых данных Т0(3), Т0(4) …, Т0(М). Если длина последнего М-го блока открытых данных Т0(М) меньше 64 бит, то из последнего М-го блока гаммы шифра Гш(М) для зашифрования используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.

В канал связи или память ЭВМ передаются синхропосылка S и блоки зашифрованных данных Тш(1), Тш(2) …, Тш(М).

 

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