Сертификация: тел. +7 (495) 175-92-77
Стр. 1
 

28 страниц

456.00 ₽

Купить официальный бумажный документ с голограммой и синими печатями. подробнее

Официально распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО "ЦНТИ Нормоконтроль".

Наши цены ниже, чем в других местах, потому что мы работаем напрямую с поставщиками документов.

Способы доставки

  • Срочная курьерская доставка (1-3 дня)
  • Курьерская доставка (7 дней)
  • Самовывоз из московского офиса
  • Почта РФ

Устанавливает единый алгоритм криптографического преобразования для систем обработки информации в сетях электронных вычислительных машин (ЭВМ), отдельных вычислительных комплексах и ЭВМ, который определяет правила шифрования данных и выработки имитовставки

Оглавление

1. Структурная схема алгоритма криптографического преобразования

2. Режим простой замены

3. Режим гаммирования

4. Режим гаммирования с обратной связью

5. Режим выработки имитовставки

Приложение 1. Термины, применяемые в настоящем стандарте, и их определения

Приложение 2. Значение констант С1, С2

Приложение 3. Схемы программной реализации алгоритма криптографического преобразования

Приложение 4. Правила суммирования по модулю 2 в степени 32 и по модулю 2 в степени 32 минус 1

Показать даты введения Admin

Страница 1

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗ А С С Р

СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ. ЗАЩИТА КРИПТОГРАФИЧЕСКАЯ

АЛГОРИТМ КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ ГОСТ 28147-89

Издание официальное

ПИК ИЗДАТЕЛЬСТВО СТАНДАРТОВ Москва

Страница 2

ГОСТ 28147-89

СОДЕРЖАНИЕ

1.    Структурная    схема алгоритма криптографического    преобразования......... 1

2.    Режим простой замены........................................4

3.    Режим гаммирования............................................S

4.    Режим гаммирования с обратной связью.............................. 11

5.    Режим выработки имиlOBCiaBKii.................................... 14

Приложение I. Термины, применяемые в настоящем стандарте, и их определения.............................................16

Приложение 2.    Значения констант Cl, С2.............................. IS

Приложение 3.    Схемы программной реализации алгоритма криптографического

преобразовании......................................... 19

Приложение 4.    Правила суммирования по модулю    и по модулю (2*1 — I)..... 25

Страница 3

УДК 681.325.6:006.354    Группа    П85

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР

СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ ЗАЩ И ТА К PH II ТО Г РАФ И Ч ЕС КАЯ

ГОСТ

28147-89

Л.ш>рптм крпвюграфическою преобразования

ОКГ1 4» 4000

Дата введении 01.07.90

Настоящий стандарт устанавливает единый алгоритм криптографического преобразования для систем обработки информации в сетях электронных вычислительных машин (ЭВМ), отдельных вычислительных комплексах и ЭВМ, который определяет правила шифрования данных и выработки имитовставки.

Алгоритм криптографического преобразования предназначен для аппаратной или программной реализации, удоатетворяет криптографическим требованиям и по своим возможностям не накладывает ограничений на степень секретности защищаемой информации.

Стандарт обязателен для организаций, предприятий и учреждений, применяющих криптографическую защиту данных, хранимых и передаваемых в сетях ЭВМ, в отдельных вычислительных комплексах или в ЭВМ.

Термины, применяемые в настоящем стандарте, и их определения приведены в приложении I.

1. СТРУКТУРНАЯ СХЕМА АЛГОРИТМА КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ

1.1. Структурная схема алгоритма криптографического преобразования (криптосхема) содержит (см.черт.1):

ключевое запоминающее устройство (КЧУ) на 256 бит, состоящее из восьми 32-разрядных накопителей (Хй. Хх, Х2. Х3 Л"4, Х5. Х6, Х7); четыре 32-разрядных накопителя (Л',, Л^, Nj, Л'4);

И ч.шис официальное    Перепечатка    восп    решена

© Издательство стандартов, 1989 © И ПК Издательство стандартов, 1996

Страница 4

С. 2 ГОСТ 28147-89

два 32-разрядных накопителя (Л'5, .'V6,) с записанными в них постоянными заполнениями С’2, С,;

два 32-разрядных сумматора по модулю 232 (С’Л/,, С'А/3);

32-разрядпый сумматор поразрядного суммирования по модулю 2

<СЛ/2);

32-разрядный сумматор по модулю (2й — I) (СЛ/4);

сумматор по модулю 2(СЛ/5), ограничение на разрядность сумматора СА/5 не накладывается;

блок подстановки (А);

регистр циклического сдвига на одиннадцать шагов в сторону старшего разряда (R).

1.2.    Блок подстановки К состоит из восьми узлов замены А',, А2, А3. К4, К5, Кь, А7, Ак с памятью на 64 бита каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на восемь последопательно идущих 4-разрядных векторов, каждый из которых преобразуется в 4-разрядиый вектор соответствующим узлом замены, представляющим собой таблицу из шестнадцати строк, содержащих по четыре бита заполнения в строке. Входной вектор определяет адрес строки в таблице, заполнение данной строки является выходным вектором. Затем 4-разрядные выходные векторы последовательно объединяются в 32-разрядный вектор.

1.3.    При сложении и циклическом сдвиге двоичных векторов старшими разрядами считаются разряды накопителей с большими номерами.

1.4.    При записи ключа (W,, W2    W^e{0,l},    q = 1-256, в

КЗУ значение \VX вводится в 1-й разряд накопителя Х0, значение W2 вводится во 2-й разряд накопителя Х0, ..., значение Wi2 вводится в 32-й разряд накопителя А-,,; значение IV33 вводится в 1-й разряд накопителя Хх, значение вводится во 2-й разряд накопителя Xt, ... , значение WM вводится в 32-й разряд накопителя А",; значение lVbS вводится в 1-й разряд накопителя Х2 и тл., значение W2S6 вводится в 32-Й разряд накопителя Х7.

1.5.    При перезаписи информации содержимое р-го разряда одного накопителя (сумматора) переписывается в /?-й разряд другого накопителя (сумматора).

1.6.    Значения постоянных заполнений С',, С2 ( констант) накопителей Л'6, /V5 приведены в приложении 2.

1.7.    Ключи, определяющие заполнения КЗУ и таблиц блока подстановки К. являются секретными элементами и посташмются в установленном порядке.

Страница 5

ГОСТ 28147-89 С. 3

Заполнение таблиц блока подстановки К является долговременным ключевым элементом, общим для сети ЭВМ.

Организация различных видов связи достигается построением соответствующей ключевой системы. При этом может быть использована возможность выработки ключей (заполнений КЗУ) в режиме простой замены и зашифрования их в режиме простой замены с обеспечением имнтозащиты для передачи по каналам связи или хранения в памяти ЭВМ.

1.8. В криптосхеме предусмотрены четыре вида работы: зашифрование (расшифрование) данных в режиме простой замены; зашифрование (расшифрование) данных в режиме гаммировання;

Страница 6

С. 4 ГОСТ 28147-89

зашифрование (расшифрование) данных в режиме гаммирования с обратной связью;

режим выработки имитовставки.

Схемы программной реализации алгоритма криптографического преобразования приведены в приложении 3.

2. РЕЖИМ ПРОСТОЙ ЗАМЕНЫ

2.1.    'Зашифрование открытых данных в режиме простой замены

2.1.1.    Криптосхема, реализующая алгоритм зашифрования в режиме простой замены, должна иметь вид, указанный на черт.2.

Открытые данные, подлежащие зашифрованию, разбивают на блоки по 64 бита в каждом. Ввод любого блока 7J, = (о,(0), я2(0),..., а3,(0), ап(0), 6,(0), Л2(0), ... , />32(0)) двоичной информации в накопители Nx и i\2 производится так, что значение <7,(0) вводится в 1-й разряд Af|, значение £г2(0) вводится во 2-й разряд Л', и т.д., значение a32(0) вводится в 32-й разряд jV,; значение />,(()) вводится в

1-й    разряд ~\'2, значение />,(0) вводится 1Ю 2-й разряд N2 и т.д., значение 632(6) вводится в 32-й разряд ЛЧ. В результате получают состояние (а32(0), я3,(0), ..., о2(0), а,(0)) накопителя JV, и состояние (632(0), Л3,(()), ... , Л,(0)) накопителя jV2.

*2.1.2. В КЗУ вводятся 256 бит ключа. Содержимое восьми 32-раз-рядных накопителей ЛЬ, Х\, ... , Х1 имеет виде

^-(И'л,Н'э„...,И'2,И'1)

.....^34-^3)

*7 = (И"256.    •»,    ^26.    W22S)

2.1.3. Алгоритм зашифрования 64-разрядного блока открытых данных в режиме простой замены состоит из 32 циклов.

В первом цикле начальное заполнение накопителя N{ суммируется по модулю 2з: в сумматоре С'Л/, с заполнением накопителя A0 при этом заполнение накопителя /V, сохраняется.

Результат суммирования преобразуется в блоке подстановки К и полученный вектор поступает на вход регистра R. где циклически сдвигается на одиннадцать шагов в сторону старших разрядов. Результат сдвига су ммируется поразрядно по модулю 2 в сумматоре СМ2 с 32-разрядным заполнением накопителя Л2. Полученный в СЛ/2 результат записывается в Л”,, при этом старое заполнение Л', переписывается в i\2• Первый цикл заканчивается.

Последующие циклы осуществляются аналогично, при этом во

2-м    цикле из КЗУ считывается заполнение А',, в 3-м цикле из КЗУ

Страница 7

ГОСТ 28147-89 С. 5

считывается заполнение Х2 и тд.. п 8-м цикле из КЗУ считывается заполнение Х7. В циклах с~9-го но 16-й, а также в циклах с 17-го но 24-й заполнения из КЗУ считываются в том же порядке:

ад, ад,ад,ад.

В последних восьми циклах с 25-го по 32-й порядок считывания заполнений КЗУ обратный:

ад,ад.ад,ад.

Таким образом, при зашифровании в 32 циклах осуществляется следующий порядок выбора заполнений накопителей:

ад, ад,ад,ад, ад, ад,ад,ад, ад, ад,ад,ад, ад,ад,ад,ад.

4cpt. 2

Страница 8

С. 6 ГОСТ 28147-89

В 32 цикле результат из сумматора СМг вводится в накопитель N2, а в накопителе N, сохраняется старое заполнение.

Полученные после 32-го цикла зашифрования заполнения накопителей i\\ и Л2 являются блоком зашифрованных данных, соответствующим блоку открытых данных.

2.1.4.    Уравнения зашифрования в режиме простой замены имеют вид:

Х»0)=И/- 1)Ш*о    ,)    (mod*,    >**©*(/    О

\b(j) = a(j-l)

при у= 1+24;

Г о (j) = (a (J 1)ШДГ(„.Л)А'ЛФ*(/-1)

\*о) -л (/- о

при / = 25 + 31;

а (32) = а (31) Ь (32) - (а(31)(В X0)KR®b(3\)

при j = 32,

где а(0) = (032(О), <731(0), ... , А|(0)) — началыюе заполнение W, перед первым никлом зашифрования;

/>(0) = (632(0), Л3|(0), ... , Л,(0)) — начальное заполнение AS перед первым никлом зашифрования;

a(j) = (а32(У), ay\(j).....a\(J)) — заполнение jV| после j-го цикла

зашифрования;

h(j) - (*32(/), b3l(f), ... , Ьхф) — заполнение iV, после j-го цикла зашифрования, j = 1+32.

Знак ф означает поразрядное суммирование 32-разрядных векторов по модулю 2.

Знак Ш означает суммирование 32-разрядных векторов по модулю 2-12. Правила суммирования по модулю 232 приведены в приложении 4;

R — операция циклического сдвига на одиннадцать шагов в сторону старших разрядов, т.е.

— •О»*"i )=

••• * r2^rl'-r32'>r3l'.r)0>r19^rl^rl?'-rlbir2itrI*^r23^r22)-

2.1.5.    64-разрядный блок зашифрованных данных Тш выводится из накопителей Л',. М2 в следующем порядке: из 1-го, 2-го,... , 32-го разрядов накопителя‘jV,, затем из 1-го, 2-го, ... , 32-го разрядов накопителя Л'2, т.е.

Страница 9

ГОСТ 28147-89 С. 7

Гш а (я,(32),а2(32), ..., flJ2(32), Л,(32), 6,(32),..., Л32(32)).

Остальные блоки открытых данных в режиме простой замены зашифровываются аналогично.

2.2. Расшифрование зашифрованных данных в режиме простой замены

2.2.1.    Криптосхема, реализующая алгоритм расшифрования в режиме простой замены, имеет тот же вид (см.черт.2), что и при зашифровании. В КЗУ вводятся 256 бит того же ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки по 64 бита в каждом. Ввод любого блока

Тш ^ (0,(32),а,(32).....а32(32), Л,(32), />,(32).....*Л2(32»

в накопители Aft и ЛЧ производятся так. что значение tfj(32) вводится в 1-й разряд Л',, значение о2(32) вводится во 2-й разряд Л", и тд., значение л32(32) вводится в 32-й разряд Л1,; значение 6,(32) вводится в 1-й разряд ЛГ2 и тл., значение 632(32) вводится в 32-й разряд Л'2.

2.2.2.    Расшифрование осушестатяется по тому же алгоритму, что и зашифрование открытых данных, с тем изменением, что заполнения накопителей Х0. Х{, ... , Х7 считываются из КЗУ и циклах расшифрования в следующем порядке:

ад, адлЛЛА адЛЛЛ-адА,

адлдлад л-

2.2.3.    У|>апнения расшифрования имеют вид:

Га(32-л - (а(32 /+ I) (ВАу_,) АТ? <2> /> (32 — / + 1)

|б(32-/> = а(32-/ + 1)

при j = 1 + 8;

Го(32- /) = (а(32- / + 1)    (inwJ8)) А* ©*(32-/ + 1)

|*(32—/) = а (32 — / ♦ О

при /=9 4-31;

<з(0) =в(1)

i><0) = (а (1)ЗЛ-0)Л-Ле*(1)

при j = 32.

2.2.4.    Полученные после 32 циклов работы заполнения накопителей /V, и jV2 составляют блок открытых данных.

7о = (tfi(O), tfi(O),..., flji(O), Л|(0), *2(0),...,    соответствую

щий блоку зашифрованных данных, при этом значение at(0) блока Т0 соответствует содержимому 1-го разряда Ль значение соот-

Страница 10

С. 8 ГОСТ 28147-89

ветствует содержимому 2-го разряда А| и т.д., значение «32<0) соответствует содержимому 32-горазряда Л’,; значение />,(())соответствует содержимому I-го разряда А2, значение Ь2(0) соответствует содержимому 2-го разряда AS и т.д., значение Ь32(0) соответствует содержимому 32-го разряда А2.

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

2.3.    Алгоритм зашифрования в режиме простой замены 64-битового блока 7J, обозначается через А, т.е.

Л (Т0) а А {а (0), b (0)) л (а (32), b (32)) * Тш .

2.4.    Режим простой замены допускается использовать для зашифрования (расшифрования) данных только в случаях, приведенных в п. 1.7.

3. РЕЖИМ ГАММИРОВАНИЯ

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

3.1.1.    Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования, имеет вид, указанный на черт.З.

Открытые данные, разбитые на 64-разрядные блоки 7J,", 7J>2> '/J,41'", 7'(|м', зашифровываются в режиме гаммирования путем поразрядного суммирования по модулю 2 в сумматоре СЛ/5 с гаммой шифра /'ш, которая вырабатывается блоками по 64 бита, т.е.

..... /TV-, С’К

где Л/ — определяется объемом шифруемых данных.

Г\» — l-й 64-разрядный блок, 1= 1 -А/, число двоичных разрядов в блоке 7{,М) может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока /‘J^1 отбрасывается.

3.1.2.    В КЗУ вводятся 256 бит ключа. В накопители Л',, А2 вводится 64-разрядная двоичная последовательность (синхропосылка) S = (.V,, 52,..., £м), являющаяся исходным заполнением этих накопителей для последующей выработки Мблоков гаммы шифра. Синхро-посылка вводится в А, и А, так, что значение 5, вводится в 1-й разряд JV,, значение S2 вводится во 2-й разряд Л', и т.д., значение 532вволится в 32-й разряд N\\ значение S33 вводится в 1-й разряд А2, значение S34 вводится во 2-й разряд N2 и т.д., значение 5^ вводится в 32-й разряд А2.

3.1.3.    Исходное заполнение накопителей А, и А2 (синхропосылка S) зашифровывается в режиме простой замены в соответствии с

Страница 11

ГОСТ 28147-89 С. 9

требованиями п.2.1. Результат зашифрования A(S) = У0, Z^) переписывается в 32-разрядиые накопители N3 и так, что заполнение W, подписывается в ,V3, а заполнение Л\ переписывается в Л/4.

3.1.4. Заполнение накопителя Л'4 суммируется по модулю (232—1) в сумматоре СЛ/4 с 32-разрядной константой С, из накопителя N6, результат записывается в /V4. Правила суммирования по модулю (232—1) приведены в приложении 4. 'Заполнение накопителя суммируется по модулю 232 в сумматоре СМу в 32-разрядной константой С2 из накопителя >VS. результат записывается в N3.

Заполнение Лг3 переписыпается в iV,,a заполнение N4 переписывается в i\2, при этом заполнение jV,, Л4 сохраняется.

Заполнение Лг, и /\2 зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Полученное в результате за-

Страница 12

С. 10 ГОСТ 28147 — 89

шифрования заполнение A',. As образует первый 64-разрядный блок гаммы шифра который суммируется поразрядно по модулю 2 в сумматоре СМ5 с первым 64-разрядиым блоком открытых данных

.....4V. 4V)-

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

л".....

Значение т',11 блока 7{*' является результатом суммирования по модулю 2в СМ5 значения /\'> из блока 7'}," со значением 1-го разряда Л'|, значение т'2" блока 7'^’ является результатом суммирования по модулю 2 в С'Л/5 значения i J,1' из блока Т\}> со значением 2-го разряда jV, и т.д.. значение

блока ГЦ* является результатом суммирования по модулю 2 в СЛ/5 значения /& из блока Гу со значением 32-го разряда /\2.

3.1.5.    Дая получения следующего 64-разрядного блока гаммы шифра /’[^ заполнение Л?4 суммируется по модулю (232— I) в сумматоре СЛ/4 с константой С, из iV6. заполнение N3 суммируется по модулю 2з: в сумматоре СЛ/3 с константой С2 из Af5. Йовое заполнение Л'з переписывается в Л',, а новое заполнение N4 переписывается в AS. при этом заполнение \!3 и N4 сохраняется.

Заполнение Л', и As зашифровывается в режиме простои замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение N\, AS образует второй 64-разрядный блок гаммы шифра который суммируется поразрядно по модулю 2 в сумматоре СМ5 со вторым блоком открытых данных Ttf*. Аналогично вырабатываются блоки гаммы шифра /Ц>, ... , /’<“• и зашифровываются блоки открытых данных    ... , Т^. Если длина

последнего Л/-го блока открытых данных 7'{,“> меньше 64 бит, то из последнего Л/-гоблока гаммы шифра /'|)>для зашифрования используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.

3.1.6.    В канал связи или память ЭВМ передаются синхропосылка

S и блоки зашифрованных данных 7'^J>, 7'j*1.....Т£К

3.1.7.    Уравнение зашифрования имеет вид:

г,п° -'‘(^_1яСь2^|ш,с1)Фгв<'>

Страница 13

ГОСТ 28147-89 С. II

где В ' — означает су ммирование 32-разрядных заполнений по модулю (232 — 1);

0 — поразрядное суммирование по модулю 2 двух заполнений;

У/ — содержимое накопителя Л'3 после зашифрования /-го блока открытых данных ТЦ>;

Zj — содержимое накопителя jV4 после зашифрования /-го блока открытых данных Т%>\

^ ^0» ^П|) ~ ^ (Ф-

3.2. Расшифрование зашифрованных данных в режиме гаммирова-ния

3.2.1.    При расшифровании крнптосхема имеет тот же вид, что

и при зашифровании (см .черт. 3). В КЗУ вводятся 256 бит ключа, с помощью которого осуществлялось зашифрование данных Г'*\ Т$\ ..., 7‘ом'. Синхропосылка S вводится в накопители jV( и jV2 и аналогично пп.3.1.2—3.1.5 осушествляется процесс выработки М блоков гаммы шифра Г{'\ Г£>, ... , Блоки зашифрованных данных '/'U», Гjj,... , '/'£> суммируются поразрядно по модулю 2 в сумматоре СМ5 с блоками гаммы шифра, в результате получаются блоки открытых данных    ...,    Гу1,    при    этом    ГЦ*> может

содержать меньше 64 разрядов.

3.2.2.    Уравнение расшифрования имеет вид:

rtf-л(У, , ОЭC2.Z. . ШЧ’,)фГ(0 = /(0 ® Т((>.

О    ' I— 1    1    I-    I    Ш    LU    ш

(= 1 *м

1

РЕЖИМ ГАММИРОВАНИЯ С ОБРАТНОЙ СВЯЗЬЮ

4.1.    Зашифрование открытых данных в режиме гаммирования с обратной связью

4.1.1.    Крипстосхема. реализующая алгоритм зашифрования в режиме гаммирования с обратной связью, имеет вид, указанный на черт.4.

Открытые данные, разбитые на 64-разрядные блоки Г},1', ... , /'(“>, зашифровываются в режиме гаммирования с обратной связью путем поразрядного суммирования по модулю 2 в сумматоре СЛ/5 с гаммой шифра Гш. которая вырабатывается блоками по 64 бита,

т.е. /ш =    Г£>.....где М определяется объемом открытых

данных. Г'* — /-Й 64-разрядный блок, I - 1-Л/. Число двоичных разрядов в блоке Г},*0 может быть меньше 64.

Страница 14

С. 12 ГОСТ 28147-89

4.1.2.    В КЗУ вводятся 256 бит ключа. Синхропосылка Л' = (5,,

S2, ... ,    1,3    64 бит вводится в Л', и Л1, аналогично п.3.1.2.

4.1.3.    Исходное заполнение Л', и i\2 зашифровывается п режиме

простой замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение jV, и Л'2 образует первый 64-разрядный блок гаммы шифра = A(S), который суммируется поразрядно по модулю 2 в сумматоре СМ5 с первым 64-разрядным блоком открытых данных Д" - (г\и,    ..... /$).

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

О-

4.1.4.    Блок зашифрованных данных 7'^' одновременно является также исходным состоянием /V,, Лг2 дня выработки второго блока гаммы шифра /*£> и по обратной связи записывается в указанные

Страница 15

ГОСТ 28147-89 С. 13

накопители. При этом значение ту» вводится в 1-й раздел N'1, значение tf,11 вводится во 2-й разряд N1 и т.д., значение т$ вводится в 32-й разряд N1; значение вводится в I-й разряд N2. значение тДО вводится во 2-й разряд N2 и т.д., значение вводится в 32-й разряд N2.

Заполнение jV,, М2 зашифровывается в режиме простой замены в соответствии с требованиями п.2.1. Полученное в результате зашифрования заполнение jV,, i\2 образует второй 64-разрядный блок гаммы шифра Г<*\ который суммируется поразрядно по модулю 2 в сумматоре СЛ/5 со вторым блоком открытых данных TtfK

Выработка последующих блоков гаммы шифра и зашифрование соответствующих блоков открытых данных Г#> (/= 3-М) производится аналогично. Если длина последнего ЛУ-го блока открытых данных T'jj*'1 меньше 64 разрядов, то из /*<“• используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.

4.1.5.    Уравнения зашифрования в режиме гаммирования с обратной связью имеют вид:

ТШ = A (S) © Г„(1>» rjl) ® 70(,)

= А (Т« 0) ©    = Гш(,)    Л/.

4.1.6.    В канал связи или память ЭВМ передаются синхропосылка S и блоки зашифрованных данных ГЦ>, rg1, ... , 7]“).

4.2. 1>аси1ифроваиие дешифрованных данных в режиме гаммирования с обратной связью

4.2.1.    При расшифровании криптосхема имеет тот же вид (см. черт.4), что и при зашифровании.

В КЗУ вводятся 256 бит того же ключа, на котором осуществлялось зашифрование Г^>- /    ..., Т^>. Синхропосылка S вводится в

jV, и i\2 аналогично п.3.1.2.

4.2.2.    Исходное заполнение Л',, N2 (синхропосылка S) зашифровывается в режиме п|х>стой замены согласно подразделу 2.1. Напученное в результате зашифрования заполнение Л',, Л1, образует первый блок гаммы шифра Г = A(S), который суммируется поразрядно по модулю 2 в сумматоре С’А/5 с блоком зашифрованных данных ГЦ». В результате получается первый блок открытых данных

П".

Страница 16

С. 14 ГОСТ 28147-89

4.2.3.    Блок зашифрованных данных ТМ> является исходным заполнением jV| , jV2 для выработки второго блока гаммы шифра Г<*>. Блок 7',111,1 записывается в Л'|, )\2 в соответствии с требованиями п.4.1.4. Полученное заполнение jVj, ,V2 зашифровывается в режиме простой замены в соответствии с требованиями п.2.1, полученный в результате блок /’[^ суммируется поразрядно по модулю 2 в сумматоре СМ5 со вторым блоком зашифрованных данных 7*g>. В результате получается блок открытых данных 7'£*.

Аналогично в Л',, Л'2 последовательно записываются блоки зашифрованных данных 7*g>, Т\*\ ... ,    из    которых в режиме

простой замены вырабатываются блоки гаммы шифра Г... , 7'1^>. Блоки гаммы шифра суммируются поразрядно по модулю 2 в сумматоре СМ5 с блоками зашифрованных данных Т[?>, Г'*\ ... , Г{“>,

в результате получаются блоки открытых данных Г#\ /'J,4'.....при

этом длина последнего блок;) открытых данных может содержать меньше 64 разрядов.

4.2.4.    Уравнения расшифрования в режиме гаммировання с обратной связью имеют вид:

= л (.?> ® г<»> -/ <*> ® тО>

Г<0 = А (7-^- 1 > ) @ Г“> = /</> Ф 7 </>, / - 2 + М

5. РЕЖИМ выгльотки имнтовстлвки

5.1.    Дня обеспечения имитозашиты открытых данных, состоящих

из Л/ 64-разрядных блоков Т^\ Т\?\ ... ,    Afe2. вырабатывается

дополнительный блок из / бит (имитовставка Я,). Процесс выработки имитовставкн единообразен для всех режимов шифрования.

5.2.    Первый блок открытых данных

7J," - (/,'>• 1?>..... О - «(0). ct}' (0).....(0), И?' (0),

/А» (0), ..., ДО (0)) записывается в накопители Л', и i\2, при этом значение вводится в 1-й разряд Л’,, значение    (0) вводится во 2-й

разряд jV, и т.д., значение    0)    вводится в 32-Й разряд .V,;

Страница 17

ГОСТ 28147-89 С. 15

значение f$e&\'>(0) вводится в 1-Й разряд и Т-Д-» значение (0) вводится в 32-й разряд Л2.

5.3. Заполнение Л', „ N, подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены (см.подраздел 2.1). В КЗУ при этом находится тот же ключ, которым зашифровываются блоки открытых данных Г о”. Т\> \ ..., 'Г'*' в соответствующие блоки зашифрованных данных

7*И) Г( 2)    Т< ы|

Ш’ «>•••» * IIIе

Полученное после 16 инклов работы заполнение и Л'2, имеющее вид    6. fli" (1 0..........(1 0,    (1    0.    W1    (1    6..... Д& (1 6,

суммируется    в СЛ/5 по модулю 2 со вторым блоком

Гр =    /$).

Результат суммирования

(a,<'>(l6)®f,0>, *,«> (16)® ,,<*).....(|6)9 ,„(»

*,<*> (16)    *,<«>    (16)© /м<2>.....*„<«» (J6»@ гв«0>) =

-    (О).    (0)...., «м<*> (0).    (0).    Ь,<» (О).....(0))

заносится в Л’, и Лг2 и подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены.

Полученное заполнение Л', и \2 суммируется по СЛ/5 по модулю 2 с третьим блоком Г},11 и т.д., последний блок ГЦ*1 * V\Hi, /у»..., /$'. при необходимости дополненный до полного 64-разряд-ного блока нулями, суммируется в СА/5 по модулю 2 с заполнением jV„ >\2

«•'» (16),    (16).....a'& 'Mie). " (16).ЛМ “ (16).....11 (16)).

Результат суммирования

(йг/*-- *> (16>© /,<м\ «2<м ‘>(16)@/г(м).....

(16) ©/„<">.*,<” ■> (16) © /М<м>    '>    (16) Ф /м(м)) =

- («.<м) (0),в2> (0).....а„М (0)./,,<м) (0).ftj<M> (0).....(0))

заносится в JV,, iV2 и зашифровывается в режиме простой замены по первым 16 циклам работы алгоритма. Из полученного заполнения накопителей    и N2

W(16),(16),...,^*(16), 4f"(l6MF>(16).....ДОПб»

Страница 18

С. 16 ГОСТ 28147-89

выбирается отрезок И, (имитовставка) длиной / бит:

«,6><    («6),    - , 4$ (16)|.

Имитовставка //, передается по каналу связи или в память ЭВМ в конце зашифрованных данных, т.е. 7'^, Г'*,..., Иь

5.4. Поступившие зашифрованные данные Т™,... ,Т%' расшифровываются. из полученных блоков открытых данных Т\}\ Т$>, ... , 7'},*" аналогично п.5.3 вырабатывается имитовставка И,, которая затем сравнивается с имитовставкои И,, полученной вместе с зашифрованными данными из канала связи или из памяти ЭВМ. В случае несовпадения имитовставок полученные блоки открытых данных П", Т$}, ..., Т[>*" считают ложными.

Выработка имитовставки И, (И,) может производиться или перед зашифрованием (после расшифрования) всего сообщения, или параллельно с зашифрованием (расшифрованием) по блокам. Первые блоки открытых данных, которые участвуют в выработке имитовстав-кн. могут содержать служебную информацию (адресную часть, отметку времени, синхропосылку и др.) и не зашифровываться.

Значение параметра I (число двоичных разрядов в имитовставке) определяется действующими криптографическими требованиями, при этом учитывается, что вероятность навязывания ложных данных равна 2_/.

ПРИЛОЖЕНИИ I Спрапочнос

ТЕРМИНЫ. ПРИМЕНЯЕМЫЕ В НАСТОЯЩЕМ СТАНДАРТЕ.

И их ОПРЕДЕЛЕНИЯ

Термин

Определение

Алгоритм Гиммнро ванне

Гамма шифра

По ГОСТ 19781

Процесс наложения по определенному икону гаммы шифра па открытые данные

Псевдослучайная двоичная последовательное!ь, вырабатываемая по таданному алгоритму хтя зашифрования открытых данных и расшифрования зашифрованных данных

Страница 19

ГОСТ 28147-89 С. 17

Продолжение

Термин

Определение

Данные

По ГОСТ 15971

3auiифровлнне ланных

Процесс преобразования открытых данных в зашифрованные при помощи шифра

И митоза щи га

Зашита системы шифрованной связи от навязывания ложных данных

И митовегавка

Отрезок информации фиксированной длины, полученной по определенному правилу их открытых данных и ключа и добавленный к зашифрованным лай-ным для обеспечения им иго зашиты

Канал спи us

По ГОСТ 17657

Ключ

Конкретное секретное состояние некоторых параметров алгоритма криптографическою преобразования данных, обеспечивающее выбор одною преобра-юваиия из совокупности всевозможных для данною алгоритма преобразований

Крип тографическая

Зашита данных при помоши криптографическою

зашита

преобразования данных

Крип юграфичсскае

Преобразование данных при помоши шифрования

преобразование

и (иди) выработки имитовставки

Расшифровка данных

Процесс преобразования зашифрованных данных в открытые при помоши шифра

Синхропосылка

Значения исходных открытых параметров алгоритма криптографического преобразования

Уравнение

Соотношение, выражающее процесс образования

дешифрования

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

Уравнение

Соотношение, иыражаюшее процесс образования

расшифрования

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

Ш ифр

Совокупность обратимых преобразований мно жества возможных открытых данных на множество возможных зашифрованных данных, осуществляемых по определенным правилам с применением ключей

Шифрование

Процесс дешифрования или расшифрования

Страница 20

С. 18 ГОСТ 28147-89

ПРИЛОЖЕНИИ 2 Обязательное

ЗНЛЧКННЯ КОНСТАНТ Cl, С2

I. Константа С1 имеет вид:

Ра spiu накопителя jV*

32

31

30

29

28

27

26

25 24 23 22 21

20 19 18

Значение рлфяла

0

0

о

0

0

0

0

1 0 0 0 0

0 0 0

Ра фяд накопителя jVb

17

16

15

14

13

12

11

10 9 8 7 6 5 4

3 2 1

Значение рлфяда

1

0

0

0

0

0

0

0 1 0 0 0 00

1 00

2. Константа С2 имеет вид:

Рафяд накопителя jVs

32

31

30

29

28

27

26

25 24 23 22 21

20 19 18

Значение ра-фяла

0

0

0

0

0

0

0

10 0 0 0

0 0 0

Рафил накопи геля iVs

17

16

15

14

13

12

11

10 9 8 7 6 5 4

3 2 1

Значение разряда

1

0

0

0

0

0

0

0 1 00000

00 1

Страница 21

ГОСТ 28147-89 С. 19

ПРИЛОЖЕНИЕ 3 Скраночнвс

СХЕМЫ ПРОГРАММНОЙ РЕАЛИЗАЦИИ АЛГОРИТМА КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ

I. Схема изною пик.и шифрованна

Черт.5

Страница 22

С. 20 ГОСТ 28147 — 89


3. Схема 32-х пик.шп расшифрования


2. Схема 32-х и ни.ton шшифроалшм

С ЦимЯ-3 )


Г Цикл J2-Р )




I    Л' 2 - ,V 1    I

I Af/»W2==H j


Al.


Hecn


JZ-t


J


7/-7

г:


II UUKfii/T) П f    N2 = m    |

I    Ш'Смг    I


Hem^

йа


I h-h » f I


Ла


||    ^лус.у/Щ

I    N2*N1    I

I    Nt*CM2    I

I    J

I    I


Hem


I •//s7 I

||    1    II

1    ,V^/V?    I

I    K!*CM2    I



Hem


I "V/-'    )


. ЛД II HuMfJt) ||

I NZ'CMZ I

I '

( RETURN )


I    HZ*C MZ I

I

С RETURN )


Черт. 7


Черт. 6


Страница 23

4. Схема алгоритма зашифрования * режиме простой имени

I Запомит ХЗУ |


Черт.8

5. Схема а.иоритма расшифропапня > режиме простой имени

Черт .9

Страница 24

С. 22 ГОСТ 28147-89

6. Схем» алюритма ташифроваиня в режиме гамчироаания

7. Схема алгоритма расшифрования а режиме гаммнрования


( Нячам )

r    I

I Заполните кзу \8«tcmS8m.HZ | || Uuim\z-} || I    NJ-Nt    |

С


( Hava/a )

| Заполнит КЗУ

I '

I    I

II    ЦиклМ-3 II



—1-

N4-N2


С


]



■ да II ЦццР2-зЦ


. Aa

11 Uu«t}Z-3 ||


Га/'' С'® HI

I    I


J


С^гЛ'е m

r<i>

±


l-i*l

u~


Черг.Ю

Черт. II

Страница 25

ГОСТ 28147-89 С. 23

8. Схема алгоритма дешифрования в режиме гаммнрования с обрати» свя|ью

9. Схема а.норитма расшифрования в режиме гаммнроиаиня с обрашон

СВЯЗЬЮ


( Начале )

QftwajO )

[


Заполнить КЗУ Т


[


Заполнит» кзу\



8Securu S 5 м, ыг



Страница 26

С. 24 ГОСТ 28147-89


10. Схем» алгоритма криптографического лре обраютаиия * режиме выработки имитовстааки


ti i«»h


Страница 27

ГОСТ 28147-89 С. 25

ПРИЛОЖЕНИЕ 4 Скропочнос

ПРАВИЛА СУММИРОВАНИЯ ПО МОДУЛЮ 2й И ПО МОДУЛЮ <2*2-!)

1.    Дьа целых числа а. Ь. где О £ а, Ь £    -1, представленные и двоичном виде

<Mair аи.....ау ах).    Ьи.....Ь2. Д|К

t. е.    2)1«0^|    •    2^+ ... +<т^ 21 «г,.    2^t ... *b^ 2

суммируются но модулю 2*2 (операции В ) no следующему правилу

а Ш Ь-и*Ь. если <iffc<2*5, t; El b-aib-2™. если о+Ъъ2**%

где операция ♦(—) есть арифметическая сумма (разиосгь) двух целых чисел.

2.    Два целых числа а. b. где 0 5 д. b £ 231 -1, представленные в двоичном виде

— * а}' д|)« — «1*2'

суммируются по модулю (2^—1> (операиия Q ' ) но следующему правилу:

а И * &=г/*6, если о+Ь< а И    если    о+Ыг2й.

Страница 28

С. 26 ГОСТ 28147-89

ИНФОРМАЦИОННЫЕ ДАННЫЕ

1. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по стандартам от 02.06.89 № 1409

2.    ВВЕДЕН ВПЕРВЫЕ

3.    ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ

Обо течение И 1,1. нд который л.ш» ссылки

Номер пункта

ГОСТ 15971-90

Приложение 1

ГОСТ 17657-79

Приложение 1

ГОСТ I97SI —90

Приложение 1

5. Переиздание, апрель 1996 г.

Релак юр Т.Н. Исмаилова Технический редактор 0.11 Власова Корректор В II. Варспцооа Компьютерная верстка В.II Грисиепко

Изд. лиц. .Ч'02МЮ? от I0.0S.95. Сдано в набор 14.02.96. Подписано в печать 22.04.96. ^£^3S6^^aKii^S4^^^_ ИПК И ада тел ьство стандартов, 107076, Москва, Колодезный пер.. 14.

Набрано в Издательстве на ПЭВМ Филиал ИПК Издательство стандартов — тин. ‘Московский печатник" Москва. Лилин пер.. 6.