Данный режим похож на режим гаммирования и отличается от него только способом выработки элементов гаммы – очередной элемент гаммы вырабатывается как результат преобразования по циклу предыдущего блока зашифрованных данных, а для шифрования первого блока массива данных элемент гаммы вырабатывается как результат преобразования синхропосылки. Этим достигается так называемое зацепление блоков – каждый блок шифротекста в этом режиме зависит от соответствующего и всех предыдущих блоков открытого текста.
Шифрование данных в режиме гаммирования с обратной связью. Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования с обратной связью, показана на рис. 3. Открытые данные разбиваются на 64-разрядные блоки Т0(1), Т0(2), …, Т0(i), …, Т0(m), зашифровываются в режиме гаммирования с обратной связью путем поразрядного сложения по модую 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бита: Гш = (Гш(1), Гш(2), …, Гш(i), …, Гш(m)).
Число двоичных разрядов в блоке Т0(m) может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока Гш(m) отбрасывается.
Уравнение зашифрования данных в режиме гаммирования имеет вид:
Тш(1) = А(S) + Т0(1) = Гш(1) + Т0(1),
Тш(i) = А(Тш(i-1)) + Т0(i) = Гш(i) + Т0(i), i = 2…m.
где Тш(i) – i-тый блок 64-разрядного блока зашифрованного текста; А(х) – функция зашифрования в режиме простой замены; m определяется объемом открытых данных. Аргументом функции А(х) на первом шаге итеративного алгоритма является 64-разрядная синхропосылка S, а на всех последующих шагах – предыдущий блок зашифрованных данных Тш(i-1).
Процедура зашифрования данных в режиме гаммирования с обратной связью ясна из рис. 3. Отметим, что если длина последнего m-го блока открытых данных Т0(m) меньше 64 разрядов, то из Гш(m) используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.
В канал связи передаются синхропосылка S и блоки зашифрованных данных Тш(1), Тш(2), …, Тш(i), …, Тш(m).
Расшифрование данных в режиме гаммирования с обратной связью. При расшифровании криптосхема имеет тот же вид, что и при зашифровании (рис. 3). Уравнение расшифрования:
Т0(1) = А(S) + Тш(1) = Гш(1) + Тш(1),
Т0(i) = Гш(i) + Тш(i) = А(Тш(i-1)) + Тш(i), i = 1..m.
Для реализации процедуры расшифрования в КЗУ вводят 256 бит того же ключа, на котором осуществлялось зашифрование открытых блоков Т0(1), Т0(2),…, Т0(m). В накопители N1 и N2 вводится синхропосылка S. Далее по схеме… |