Режим гаммирования с обратной связью
Зашифрование открытых данных в режиме гаммирования с обратной связью. Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования с обратной связью, имеет вид, показанный на рис.3.13. Открытые данные, разбитые на 64-разрядные блоки T0(1), T0(2), …, T0(m), зашифровываются в режиме гаммирования с обратной связью путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бита: Гш=( Гш(1), Гш(2), …, Гш(m)). Число двоичных разрядов в блоке T0(m) может быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из блока Гш(m) отбрасывается. Уравнения зашифрования в режиме гаммирования с обратной связью имеют вид: Здесь - i-й 64-разрядный блок зашифрованного текста; A(∙) - функция зашифрования в режиме простой замены; m - определяется объемом открытых данных. Аргументом функции A(∙) на первом шаге итеративного алгоритма является 64-разрядная синхропосылка , а на всех последующих шагах – предыдущий блок зашифрованных данных . Процедура зашифрования данных в режиме гаммирования с обратной связью реализуется следующим образом. В КЗУ вводятся 256 бит ключа. В накопители N1 и N2 вводится синхропосылка из 64 бит. Исходное заполнение накопителей N1 и N2 зашифровывается в режиме простой замены. Полученное в результате зашифрования заполнение накопителей и образует первый 64-разрядный блок гаммы шифра , который суммируется поразрядно по модулю 2 в сумматоре CM5 с первым 64-разрядным блоком открытых данных . В результате получают первый 64-разрядный блок зашифрованных данных где . Блок зашифрованных данных одновременно является также исходным состоянием накопителей N1, N2 для выработки второго блока гаммы шифра , и поэтому по обратной связи записывается в указанные накопители N1 и N2. Заполнение накопителя N1 Заполнение накопителя N2 Заполнение накопителей N1 и N2 зашифровывается в режиме простой замены. Полученное в результате зашифрования заполнение накопителей N1 и N2 образует второй 64-разрядный блок гаммы шифра , который суммируется поразрядно по модулю 2 в сумматоре CM5 со вторым блоком открытых данных : Выработка последующих блоков гаммы шифра Гш(i) и зашифрование соответствующих блоков открытых данных проводится аналогично. Если длина последнего m-го блока открытых данных меньше 64 разрядов, то из Гш(m) используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются. В канал связи или память ЭВМ передаются синхропосылка и блоки зашифрованных данных Tш(1), Tш(2), …, Tш(m). Расшифрование в режиме гаммирования с обратной связью. При расшифровании криптосхема имеет тот же вид, что и при зашифровании (см.рис.3.13). Уравнения расшифрования: Реализация процедуры расшифрования зашифрованных данных в режиме гаммирования с обратной связью происходит следующим образом. В КЗУ вводят 256 бит того же ключа, на котором осуществлялось зашифрование открытых блоков T0(1), T0(2), …, T0(m). В накопители N1 и N2 вводится синхропосылка . Исходное заполнение накопителей N1 и N2 (синхропосылка ) зашифровывается в режиме простой замены. Полученное в результате зашифрования заполнение N1 и N2 образует первый блок гаммы шифра который суммируется поразрядно по модулю 2 в сумматоре CM5 с блоком зашифрованных данных Tш(1). В результате получается первый блок открытых данных Блок зашифрованных данных Tш(1) является исходным заполнением накопителей N1 и N2 для выработки второго блока гаммы шифра Гш(2): Гш(2)=А(Тш(1)). Полученное заполнение накопителей N1 и N2 зашифровывается в режиме простой замены. Образованный в результате зашифрования блок Гш(2) суммируется поразрядно с по модулю 2 в сумматоре CM5 со вторым блоком зашифрованных данных Тш(2). В результате получают второй блок открытых данных. Аналогично в N1, N2 последовательно записывают блоки зашифрованных данных Tш(2), Tш(3), …, Tш(m), из которых в режиме простой замены вырабатываются блоки гаммы шифра Гш(3), Гш(4), …, Гш(m). Блоки гаммы шифра суммируются поразрядно по модулю 2 в сумматоре CM5 с блоками зашифрованных данных Tш (3), Tш(4), …, Tш(m). В результате получают блоки открытых данных T0(3), T0(4), …, T0(m), при этом последний блок открытых данных T0(m) может содержать меньше 64 разрядов.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|