Товары в корзине: 0 шт Оформить заказ
Стр. 1 

28 страниц

456.00 ₽

Купить ГОСТ 28147-89 — бумажный документ с голограммой и синими печатями. подробнее

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

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

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

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

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

 Скачать PDF

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

Оглавление

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

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

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

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

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

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

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

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

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

 
Дата введения01.07.1990
Добавлен в базу01.09.2013
Завершение срока действия01.06.2019
Актуализация01.01.2021

Этот ГОСТ находится в:

Организации:

02.06.1989УтвержденГосударственный комитет СССР по стандартам1409
ИзданИздательство стандартов1989 г.
ИзданИПК Издательство стандартов1996 г.

Information Processing Systems - Cryptographic Security - Cryptographic Processing Algorithm

Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10
Стр. 11
стр. 11
Стр. 12
стр. 12
Стр. 13
стр. 13
Стр. 14
стр. 14
Стр. 15
стр. 15
Стр. 16
стр. 16
Стр. 17
стр. 17
Стр. 18
стр. 18
Стр. 19
стр. 19
Стр. 20
стр. 20
Стр. 21
стр. 21
Стр. 22
стр. 22
Стр. 23
стр. 23
Стр. 24
стр. 24
Стр. 25
стр. 25
Стр. 26
стр. 26
Стр. 27
стр. 27
Стр. 28
стр. 28

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

СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ.

ЗАЩИТА КРИПТОГРАФИЧЕСКАЯ

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

ГОСТ 28147-89

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

ИПК ИЗДАТЕЛЬСТВО СТАНДАРТОВ Moctia

ГОСТ 28147-89

СОДЕРЖАН И Е

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

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

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

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

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

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

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

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

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

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

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

СОЮЗА ССР

ГОСТ

28147-89

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

Алгоритм криптографического преобразования

ОКГ1 40 4000

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

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

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

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

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

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

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

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

ключевое запоминающее устройство (КЗУ) на 256 бит, состоящее из восьми 32-разрядных накопителей (Х0, Xt. Х2, A3 Л4, Х$, Х6, Ху); четыре 32-разрядных накопителя (/V(, N2, Nj, /V4);

Перепечатка воспрещена

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

два 32-разрядных накопителя Л/$,) с записанными в них постоянными заполнениями С2, С\\

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

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

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

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

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

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

1.2.    Блок подстановки А" состоит из восьми узлов замены A’j,

А2, А“з, К4, А5,    А7, А8 с памятью на 64 бита каждый.    Посту

пающий на блок подстановки 32-разрядный вектор разбивается на восемь последовательно идущих 4-разрядных векторов, каждый из которых преобразуется в 4-разрядный вектор соответствующим узлом замены, представляющим собой таблицу из шестнадцати строк, содержащих по четыре бита заполнения в строке. Входной вектор определяет адрес строки в таблице, заполнение данной строки является выходным вектором. Затем 4-разрядные выходные векторы последовательно объединяются в 32-разрядный вектор.

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

1.4.    При записи ключа (И',, W2 ...,    Wqe{0,1), д= N256, в

КЗУ значение W\ вводится в i-й разряд накопителя Xq, значение W2 вводится во 2-й разряд накопителя Л#, ... , значение W^2 вводится в 32-й разряд накопителя Xq; значение W33 вводится в 1-й разряд накопителя Х\у значение вводится во 2-й разряд накопителя Х\у ... , значение WM вводится в 32-й разряд накопителя Х\\ значение W65 вводится в 1-й разряд накопителя Х2 и т.д., значение 1У25Ь вводится в 32-й разряд накопителя Ху.

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

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

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

ГОСТ 28147-89 С. 3

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

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

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

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

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

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

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

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

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

Открытые данные, подлежащие зашифрованию, разбивают на блоки по 64 бита в каждом. Ввод любого блока Т{) = (Д|(0), ^(О), ..., д31(0), я32(0), £|(0), Ь2(0)у ... , Z>32(0)) двоичной информации в накопители N\ и N2 производится так, что значение Д|(0) вводится в 1-й разряд N|, значение а2(0) вводится во 2-й разряд /Vj и т.д , значение я32(0) вводится в 32-й разряд iVj; значение />|(0) вводится в

1- й разряд Л/2, значение Ь2(0) вводится во 2-й разряд N2 и т.д., значение />32(0) вводится в 32-й разряд N2. В результате получают состояние (я32(0), я3|(0), ... , а2(0)у <7|(0)) накопителя yVj и состояние (/>32(0), Ь21(0), ... , />|(0)) накопителя N2.

2.1.2.    В КЗУ вводятся 256 бит ключа. Содержимое восьми 32-раз-рядных накопителей Aq, X\t ... , Xj имеет вид:

^0 = (^32^3.....

*1 =(^64^63, . ^34^33)

*7 = (^56> ^255. ... , И/226, ^225)

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

В первом цикле начальное заполнение накопителя суммируется по модулю 232 в сумматоре СМ\ с заполнением накопителя Xq при этом заполнение накопителя Nj сохраняется.

Результат суммирования преобразуется в блоке подстановки К и полученный вектор поступает на вход регистра /?, где циклически сдвигается на одиннадцать шагов в сторону старших разрядов. Результат сдвига суммируется поразрядно по модулю 2 в сумматоре СМс 32-разрядным заполнением накопителя yV2. Полученный в СМрезультат записывается в N\% при этом старое заполнение N| переписывается в N2. Первый цикл заканчивается.

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

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

ГОСТ 28147-89 С. 5

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

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

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

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

ад, ^2,^},^4>^5,^6»^7, ад, ^2,^3»^4,^5,-^6,^7, ад, ад,ад,ад, ад,ад,ад,ад.

С. 6 ГОСТ 28147-89

В 32 цикле результат из сумматора СЛ/2 вводится в накопитель УУ2, а в накопителе N\ сохраняется старое заполнение.

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

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

J*Cr> »(•</- п 0*0-0 (mode))**©*</- 1)

I Ь(/) = а(/~ I)

при у = I -24;

Г«</) = («</- ОШ Х{гг_п)КЛФЬ(/~ 1)

\bO) — а О — О при / 8* 25 -г 31; а(32) = а (31)

А (32) = (д (31) ffl X0)KRG> Ь (31)

при у = 32,

где д(0) = (а32(0), «з|(0), ... , Д|(0)) — начальное заполнение N\ перед первым циклом зашифрования;

6(0) = (632(0), 63j(0), ... , 6j(0)) — начальное заполнение /У2 перед первым циклом зашифрования;

a(j) = (032(7), 0з|(/)э ... , 0|(/)) — заполнение УУ, после у-го цикла зашифрования;

b(j) = (6з2(/), 63j(/'), ... , 6|(/)) — заполнение /V2 после у-го цикла зашифрования, у = 032.

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

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

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

^(г32»О|>г30>г29>г28>г27>г26»г25>г24>г23’ Г22»ГГ20> ••• »г2*г|)~

=(г21»г20> — » г2*г1 *Г32>Г31 *ГзО»г29*г28*,27э'26э/'25>,24>Г23»,22)*

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

ГОСТ 28147-89 С. 7

тш - (а,<32),02(32),032(32), 6,(32), 62<32),632<32».

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

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

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

Тш - (0,(32),о2(32), ..., 032(32), 6,(32), 62(32), ..., 632(32))

в накопители Л’, и N2 производятся так, что значение дj(32) вводится в 1-й разряд /V,, значение о2(32) вводится во 2-й разряд /V, и т.д., значение a32(32) вводится в 32-й разряд /V,; значение 6,(32) вводится в 1-й разряд N2 и т.д., значение 632(32) вводится в 32-й разряд N2.

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

ад, ад3,ад,ад, ад,,ад,ад,ад0,

ад6,ад4,ад2,ад, ад,ад,ад2,ад.

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

Г д (32 -/) = (д (32 — / + 1) ШЛГ,.,) *ЛФ6(32-/ + 1) b (32 — /) = д (32 — / + 1) при ,/=1+8;

I о(32- /) = (а(32-/М)ШДГ(32_/)(тод8))КЛФЬ(32./М) |6(32-/) = д (32 — / + 1)

при /= 9 + 31;

®(0) — д(1)

Ь(0) = (а (1) ШДГо) ОФй(1)

При J = 32.

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

То = (fli(O), а2(0), ... , Аз2(0)» 6,(0), 62(0), ... , 632(0)), соответствующий блоку зашифрованных данных, при этом значение о,(0) блока 7о соответствует содержимому 1-го разряда yV,, значение 02(0) соот-

С. 8 ГОСТ 28147-89

ветствует содержимому 2-го разряда N\ и т.д., значение Дз2(0) соответствует содержимому 32-го разряда N\; значение 6j(0) соответствует содержимому 1-го разряда значение ^(0) соответствует содержимому 2-го разряда N2 и т.д., значение £зг(0) соответствует содержимому 32-го разряда N2-

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

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

А (Т0) = А (а (0), Ь (0)) = (а (32), Ь (32)) = Тш .

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

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

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

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

Открытые данные, разбитые на 64-раэрядиые блоки Т\}\ 7},2)..., 7})м,,1 7[)М), зашифровываются в режиме гаммирования путем поразрядного суммирования по модулю 2 в сумматоре СЛ/5 с гаммой шифра Гш, которая вырабатывается блоками по 64 бита, т е.

Г _/Л1) Я2)    Лм-1)    ЛМ)\

'ill V1 ш э * ш * • • • » ' Ш » ' * * * ' 111 /»

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

Tjj) — У-й 64-разрядный блок, /« число двоичных разрядов в блоке 7J)M) может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока Г\^] отбрасывастся.

3.1.2.    В КЗУ вводятся 256 бит ключа. В накопители iVj, N2 вводится 64-разрядная двоичная последовательность (синхропосылка) S = (5*1, S2, ... , 5^4), являющаяся исходным заполнением этих накопителей для последующей выработки Мблоков гаммы шифра. Синхропосылка вводится в jV| и Л^так, что значение 5[ вводится в 1-й разряд УУ}, значение S2 вводится во 2-й разряд N\ и т.д., значение ^вводится в 32-й разряд 7V|; значение S33 вводится в 1-й разряд N2, значение 4S34 вводится во 2-й разряд N2 и т.д., значение вводится в 32-й разряд N2.

3.1.3.    Исходное заполнение накопителей /Vj и N2 (синхропосылка .5) зашифровывается в режиме простой замены в соответствии с