Режим гаммирования
Режим простой замены
Суть работы алгоритма в режиме простой замены поясним с помощью рис. 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, которая не является секретным элементом шифрования и может храниться в запоминающем устройстве или передаваться в незащищенном виде по каналам связи.