Г _/Л1) Л2) /|м-1) Лмц
1 Ш Vі ш ’ 1 Ш ’ ’ 1 Ш ’ ' ш
где М — определяется объемом шифруемых данных.
ГО — /-й 64-разрядный блок, і— 1Л/, число двоичных разрядов в блоке 7})М) может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока fjj4’ отбрасывается.
В КЗУ вводятся 256 бит ключа. В накопители N{, N2 вводится 64-разрядная двоичная последовательность (синхропосылка) 5і = (5], S2, ■■■ , ^4), являющаяся исходным заполнением этих накопителей для последующей выработки М блоков гаммы шифра. Синхропосылка вводится в А| и N2 так, что значение 5| вводится в 1 -й разряд А|, значение S2 вводится во 2-й разряд N и т.д., значение ^вводится в 32-й разряд А|; значение 533 вводится в 1-й разряд N2, значение 534 вводится во 2-й разряд N2 и т.д., значение 5^4 вводится в 32-й разряд N2.
Исходное заполнение накопителей А] и N2 (синхропосылка ,5) зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Результат зашифрования A(S) = Ко, 2q) переписывается в 32-разрядные накопители N$ и N4, так, что заполнение 7V| переписывается в Ny, а заполнение TV2 переписывается в N4.
Заполнение накопителя N4 суммируется по модулю (232— 1) в сумматоре СМ4 с 32-разрядной константой С из накопителя N^, результат записывается в N4. Правила суммирования по модулю (232— 1) приведены в приложении 4. Заполнение накопителя N3 суммируется по модулю 232 в сумматоре СМу в 32-разрядной константой С2 из накопителя Ny результат записывается в Ny
А 'ш і 'о /
СМ5+Т° [Тш 1
L-T
Заполнение Ny переписывается в /V], а заполнение N4 переписывается в N2, при этом заполнение Ny N4 сохраняется.
Заполнение N и TV2 зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение NhN2 образует первый 64-разрядный блок гаммы шифра 1$, который суммируется поразрядно по модулю 2 в сумматоре СЛ/5 с первым 64-разрядным блоком открытых данных
7р = (/М
В результате суммирования получается 64-разрядный блок зашифрованных данных
7W = (tV>, тр, - , гй.т^).
Значение тр блока Др является результатом суммирования по модулю 2 в СЛ/5 значения /р из блока со значением 1-го разряда Nl, значение тр блока является результатом суммирования по модулю 2 в СЛ/5 значения t р из блока со значением 2-го разряда и т.д.. значение тр блока Т<£> является результатом суммирования по модулю 2 в СЛ/5 значения t $ из блока Гр со значением 32-го разряда У2.
Для получения следующего 64-разрядного блока гаммы шифра заполнение А4 суммируется по модулю (232— 1) в сумматоре СЛ/4 с константой С( из N& заполнение суммируется по модулю 232 в сумматоре СМу с константой С2 из N5. Новое заполнение переписывается вЛ|,а новое заполнение N4 переписывается в N2, при этом заполнение и N4 сохраняется.
Заполнение N[ и У2 зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение 2Vl, N2 образует второй 64-разрядный блок гаммы шифра который суммируется поразрядно ио модулю 2 в сумматоре СЛ/5 со вторым блоком открытых данных Гр. Аналогично вырабатываются блоки гаммы шифра 1ў, /р, ... , Гр и зашифровываются блоки открытых данных Гр, Гр, ... , Гр. Если длина последнего Л/-го блока открытых данных Гр меньше 64 бит, то из последнего Л/-го блока гаммы шифра Гр для зашифрования используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.
В канал связи или память ЭВМ передаются синхропосылка S и блоки зашифрованных данных Г<б, Гр, ... , Гр.
Уравнение зашифрования имеет вид:
Т(0=Л(У. ,fflC2,Z. .Щ'САФГ*0 ш '1-І * ’ 1- 1 I ' о ш 0
t = 1 ...М,
где0 ' — означает суммирование 32-разрядных заполнений по модулю (232 — I);
Е) — поразрядное суммирование по модулю 2 двух заполнений;
У, — содержимое накопителя Nt, после зашифрования /-го блока открытых данных ГЦ;
Z, — содержимое накопителя N4 после зашифрования /-го блока открытых данных Т§;
(Дь 4) =A (*$)•
3.2. Расшифрование зашифрованных данных в режиме гаммирова- ния
При расшифровании криптосхема имеет тот же вид, что и при зашифровании (см.черт.З). В КЗУ вводятся 256 бит ключа, с помощью которого осуществлялось зашифрование данных Гр, Гр, ..., ГЦ). Синхропосылка S вводится в накопители N и W2 и аналогично пп.3.1.2—3.1.5 осуществляется процесс выработки М блоков гаммы шифра Гр, Гр, ... , Др. Блоки зашифрованных данных Гр, Гр, ... , Г<р суммируются поразрядно по модулю 2 в сумматоре СЛ/5 с блоками гаммы шифра, в результате получаются блоки открытых данных Гр, Гр, ..., ГЦ>, при этом ГЦ> может содержать меньше 64 разрядов.
Уравнение расшифрования имеет вид:
ГР = Л(У. , EJ'CJ © Г(/> =Г(0 ф Г(0,
0 v і— 1 /- 1 * 1234 ш ш ш
i=l+M
Черт. 4
В КЗУ вводятся 256 бит ключа. Синхрогюсылка = (А";, S2, ... , S64) из 64 бит вводится в /V] и N2 аналогично п.3.1.2.
Исходное заполнение и зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение и N2 образует первый 64-разрядный блок гаммы шифра = A(S), который суммируется поразрядно по модулю 2 в сумматоре СМ$ с первым 64-разрядным блоком открытых данных = ... , /^).
В результате получается 64-разрядный блок зашифрованных данных
71’’= (tV>, tS1’, - , т^).
Блок зашифрованных данных одновременно является также исходным состоянием N, N2 для выработки второго блока гаммы шифра и по обратной связи записывается в указанные накопители. При этом значение тў> вводится в 1-й раздел N1, значение вводится во 2-й разряд N1 и т.д., значение вводится в 32-й разряд N1; значение вводится в 1-й разряд N2, значение тЭД вводится во 2-й разряд N2 и т.д., значение т^> вводится в 32-й разряд N2.
Заполнение 2Vb TV2 зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение У2 образует второй 64-разр.чдный блок гаммы шифра который суммируется поразрядно по модулю 2 в сумматоре СЛ/5 со вторым блоком открытых данных 7’р.
Выработка последующих блоков гаммы шифра Г*;) и зашифрование соответствующих блоков открытых данных 7ф'' {і - 3- М) производится аналогично. Если длина последнего Л7-го блока открытых данных 7’()м) меньше 64 разрядов, го из П”' используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.
Уравнения зашифрования в режиме гаммирования с обратной связью имеют вид:
Гш(0 = А (5) ф Го(1) = Ф То(1)
~ А (Г£- ° ) ф Го<:) = ф Го<'>, і = 2 - м.
В канал связи или память ЭВМ перелаются синхропосылка 5 и блоки зашифрованных данных Г*,1/, Т$, ... , ТЭДй.
4.2. Расшифрование зашифрованных данных в режиме гаммирова- иия с обратной связью
При расшифровании криптосхема имеет тот же вид (см. черт.4), что и при зашифровании.
В КЗУ вводятся 256 бит того же ключа, на котором осуществлялось зашифрование 7'^’. Т^2), ... , 7'^-. Смнхропосылка 5 вводится в Л) и N2 аналогично п.3.1.2.
Исходное заполнение /V], N2 (синхропосылка Л*) зашифровывается в режиме простой замены согласно подразделу 2.1. Полученное в результате зашифрования заполнение N, /У2 образует первый блок гаммы шифра Г$ - А($), который суммируется поразрядно по модулю 2 в сумматоре СМ$ с блоком зашифрованных данных 7’^*. В результате получается первый блок открытых данных П'>-
Блок зашифрованных данных является исходным заполнением УУ|, Аг для выработки второго блока гаммы шифра Г$. Блок Г<б записывается в /V15 в соответствии с требованиями п.4.1.4. Полученное заполнение /V), /V2 зашифровывается в режиме простой замены в соответствии с требованиями п.2.1, полученный в результате блок суммируется поразрядно по модулю 2 в сумматоре СМ$ со вторым блоком зашифрованных данных Т$. В результате получается блок открытых данных Т$.
Аналогично в TV], А2 последовательно записываются блоки зашифрованных данных Т$, Tf-p, ... . Г’”-1», из которых в режиме простой замены вырабатываются блоки гаммы шифра Г$, ... ,
Блоки гаммы шифра суммируются поразрядно по модулю 2 в сумматоре СЛ/5 с блоками зашифрованных данных Т$, Т$, ... , в результате получаются блоки открытых данных ..., при
этом длина последнего блока открытых данных Т^м) может содержать меньше 64 разрядов.
Уравнения расшифрования в режиме гаммирования с обратной связью имеют вид:
= л (5) ф = г<1”Фг<1,)
Г<о = А (Г<^- * > ) ф Г<? = Г</> Ф Тt=* 2 - М
S. РЕЖИМ ВЫРАБОТКИ ИМИТОВСТАВКИ
Для обеспечения имитозащиты открытых данных, состоящих из М 64-разрядных блоков Т$ ... , Т^м), Л/>2, вырабатывается дополнительный блок из /бит (имитовставка И{). Процесс выработки имитовставки единообразен для всех режимов шифрования.
Первый блок открытых данных
7Ь’> = (^- 6°, - - 4V) = И” (0), (0),..., (0), (0),
^’(0), ... , эд(о»
записывается в накопители А] и Л/2, при этом значение = д^)(0) вводится в 1-й разряд /Vi( значение /^> = д^)(0) вводится во 2-й разряд N и т.д., значение tty = вводится в 32-й разряд N’, значение t$ = bl>(0) вводится в 1-й разряд У2и Т-Д-, значение = b $ (0) вводится в 32-й разряд N2.
Заполнение NtиN2 подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены (см.подраздел 2.1). В КЗУ при этом находится тот же ключ, которым зашифровываются блоки открытых данных Тр, ... , в соответствующие блоки зашифрованных данных 70) т(2) 7(м)
Полученное после 16 циклов работы заполнение 7V| и N2, имею щее вид (оў' (1 6, (1 б, (1 б, (1 б, ^1* (1 б, (1 б, суммируется в СМ^ по модулю 2 со вторым блоком Тф = ((?>■ t?,... , ГВ
Результат суммирования
(в,с) (16)® z,(2), Oj(i) (16) ® i2m в32(» (16)® /32<2>,
*1(О (16) ® z33O), ftj(i) (16) ф г,/2) (16)® г6/2)) =
= (а/2) (0), a/2) (0) азаО) (0), б/2» (0). *2<2) (0) 632О) (0))
заносится в W| и и подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены.
Полученное заполнение N2 суммируется по СЛ/5 по модулю 2 С третьим блоком Т§} И Т.Д., последний блок Г})м’ = (гм>, Г(м»... , при необходимости дополненный до полного 64-разряд- ного блока нулями, суммируется в СЛ/5 по модулю 2 с заполнением У,, У2
(^м '»(16), ^м“'»(16) ^”(16), (16),МГ1’ (16), ... , ^-‘>(16)).
Результат суммирования
(а,(м- (16) Ф /,<*•>, а/м- *) (16) Ф Г2<м).... ,л32(м - 1} (16) ® I32(ы>,
(16) Ф/33(М).Л2(М- ° (16) Ф (j/M> І)/М-!'(16)ФІ64,М)) =
= (a/M) (0),a/M> (О), ... ,Дз2<м> (0), Мм) (0), Ь^м) (0) *зо<м> (0))
заносится в N2 и зашифровывается в режиме простой замены по первым 16 циклам работы алгоритма Из полученного заполнения накопителей 7V] и N2
«’ (16), (16), ... , (16), (16)ДМ> (16), ... , (1С))
выбирается отрезок (имитовставка) длиной / бит:
= I^/+i (16), </+2 (16),..., (16)].
Имитовставка И[ передается по каналу связи или в память ЭВМ в конце зашифрованных данных, т.е. Т$, Г^>, ... , Г<*>, И/.
Поступившие зашифрованные данные Г<б, Г1^', ... ,Г<£> расшифровываются, из полученных блоков открытых данных Г{,6, Гр, ... , Г^'* аналогично п.5.3 вырабатывается имитовставка И/, которая затем сравнивается с имитовставкой И/, полученной вместе с зашифрованными данными из канала связи или из памяти ЭВМ. В случае несовпадения имитовставок полученные блоки открытых данных Гр, Гр, ... , Г^ считают ложными.
Выработка имитовставки И/ (И,) может производиться или перед зашифрованием (после расшифрования) всего сообщения, или параллельно с зашифрованием (расшифрованием) по блокам. Первые блоки открытых данных, которые участвуют в выработке имитовставки, могут содержать служебную информацию (адресную часть, отметку времени, синхропосылку и др.) и не зашифровываться.
Значение параметра I (число двоичных разрядов в имитовставке) определяется действующими криптографическими требованиями, при этом учитывается, что вероятность навязывания ложных данных равна 2~~1.
ПРИЛОЖЕНИЕ і Справочное