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

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

,

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

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

,

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

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

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

,

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

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

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

,

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

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

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

.

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

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

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

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

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

Заполнение накопителя N4 суммируют по модулю в сумматоре с 32-разрядной константой С1 из накопителя N6. Результат записывается в N4. Заполнение накопителя N3 суммируется по модулю в сумматоре с 32-разрядной константой С3 из накопителя N5. Результат записывается в N3. Заполнение N3 переписывают в N1, а заполнение N4 ‑ в N2, при этом заполнения N3, N4 сохраняются. Заполнение накопителей шифруется в режиме простой замены.

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

,

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

.

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

,

где , .

Для получения следующего 64-разрядного блока гаммы шифра заполнение N4 суммируется по модулю в сумматоре с константой С1 из N6. Результат записывается в N4. Заполнение N3 суммируется по модулю в сумматоре с константой С2 из N5. Результат записывается в N3. Новое заполнение N3 переписывают в N1, а новое заполнение N4 ‑ в N2, при этом заполнения и сохраняют. Заполнения N1, N2 шифруют в режиме простой замены.

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

.

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

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

.








Дата добавления: 2015-09-07; просмотров: 752;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.