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

Режим простой замены

Суть работы алгоритма в режиме простой замены поясним с помощью рис. 4.19.

Открытые данные, предназначенные для шифрования, разбиваются на блоки по 64 бит в каждом, которые обозначим через TOi [i = 1(1 )m], где m — число 64-разрядных блоков передаваемых открытых данных. После этого выполняются следующие про­цедуры:

Q первая последовательность бит Т01 разделяется на две последовательности и записывается в накопители: в накопитель Н2 — старшие разряды, в накопитель HI — младшие разряды;

Q в ключевое запоминающее устройство вводится ключевая последовательность длиной 256 бит;

Q выполняется итеративный процесс шифрования, состоящий из 32-х циклов.

Первый цикл происходит в следующей последовательности:

1. Содержимое накопителя HI суммируется по модулю 232 в сумматоре СМ1 с содержимым строки ХО из ключевого запоминающего устройства.

2. Результат суммирования из сумматора СМ 1 поступает на блок подстановки, где происходит поблочная замена результата по 4 бита в таблице замен.

3. С выхода блока подстановки шифруемые данные сдвигаются на 11 разрядов вле­во в регистре сдвига и поступают на сумматор СМ2.

4. В сумматоре СМ2 содержимое регистра сдвига складывается по модулю 2 с со­держимым накопителя Н2.

5. Начальное содержимое накопителя HI поступает в накопитель Н2, а результат суммирования в сумматоре СМ2 заносится в накопитель HI.

Следующие 31 цикл аналогичны первому, за исключением того, что для выполне­ния очередного цикла из ключевого запоминающего устройства выбирается ключ в последовательности, представленной на рис. 4.20.

После выполнения 32-го, последнего цикла, полученный результат из сумматора СМ2 поступает в накопитель Н2, а в накопителе HI сохраняется результат предыду­щего цикла. Информация, содержащаяся в накопителях HI и Н2, представляет собой первый 64-разрядный блок зашифрованных данных. Остальные блоки открытых дан­ных шифруются в режиме простой замены аналогично.

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

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

Гш={Г1, Г2,..., Гт}={П}т, [i=l(l)m],

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

Процесс шифрования данных в рассматриваемом режиме работы алгоритма пояс­ним с помощью рис. 4.16.

В ключевое запоминающее устройство вводится ключевая последовательность дли­ной 256 бит и формируется синхропосылка S в виде 64-разрядной двоичной последо­вательности S = {S1,... , 864} = (Si}64, которая записывается в накопители HI и Н2 следующим образом:

Q S1 — в первый разряд накопителя HI;

Q S2 — во второй разряд накопителя Н2;

а ............... ;

01 S32 — в 32-й разряд накопителя HI; Q S33 — в первый разряд накопителя Н2;

а ............... ;

01 S64 — в 32-й разряд накопителя Н2.

Полученная синхропосылка S затем шифруется в режиме простой замены. Резуль­тат шифрования из накопителя HI переписывается в накопитель НЗ, а из накопителя Н2 — в накопитель Н4.

Содержимое накопителя Н4 суммируется по модулю 232-1 с константой С1 в сум­маторе СМ4, результат суммирования записывается в накопитель Н4.

Содержимое накопителя НЗ суммируется по модулю 232 с константой С2 в сумма­торе СМЗ, результат суммирования записывается в накопитель НЗ.

Далее содержимое накопителя Н4 переписывается в накопитель Н2, а содержи­мое накопителя НЗ — в накопитель HI. Полученные таким образом данные в нако­пителях HI и Н2 шифруются в режиме простой замены, а результатом шифрова-

ния является формирование в этих же накопителях 64-разрядного блока гамма-шифра П.

Полученный гамма-шифр Г1 суммируется поразрядно по модулю 2 с первым 64-раз­рядным блоком открытых данных Т01 в сумматоре СМ5. Результат суммирования — пер­вый 64-разрядный блок зашифрованных данных Тш1.

Шифрование второго и последующих блоков открытых данных осуществляется с помощью формирования второго и последующих гамма-шифров в соответствии с рас­смотренными преобразованиями режима простой замены. Если в последнем m блоке открытых данных число двоичных разрядов меньше 64, неиспользованная часть гам­ма-шифра Гш просто отбрасывается.

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