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

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

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

,

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

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

,

где -й 64-разрядный блок, .

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

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

,

где , ; -й блок 64-разрядного блока зашифрованного текста; ‑ функция шифрования в режиме простой замены; ‑ 32-разрядные двоичные констан­ты; ‑ 32-разрядные двоичные последовательности.

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

,

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

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

 
 

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

.

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

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

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

Исходное заполнение и (синхропосылка шифруется в режиме простой замены. Результат шифрования

переписывается в 32-разрядные накопители и так, что за­полнение переписывается в , а заполнение ‑ в .

Заполнение накопителя суммируют по модулю в сумматоре с 32-разрядной константой из накопителя . Результат записывается в . Заполнение накопителя сумми­руется по модулю в сумматоре с 32-разрядной константой из накопителя . Результат записывается в . Заполнение переписывают в , а заполнение ‑ в , при этом заполнения , сохраняются. Заполнение накопителей шифруется в режиме простой замены.

Полученное в результате шифрования заполнение нако­пителей и образует первый 64-разрядный блок гаммы шифра:

,

который суммируют поразрядно по модулю 2 в сумматоре с первым 64-разрядным блоком откры­тых данных:

.

В результате суммирования по модулю 2 значений и по­лучают первый 64-разрядный блок зашифрованных данных

,

где , .

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

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

.

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

В канал связи или память ЭВМ передаются синхропосылка и блоки зашифрованных данных:

.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: