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

29 страниц

456.00 ₽

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

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

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

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

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

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

 Скачать PDF

Оглавление

1 Область применения

2 Термины, определения и обозначения

     2.1 Термины и определения

     2.2 Обозначения

3 Общие положения

4 Вспомогательные операции

     4.1 Дополнение сообщения

     4.1.1 Процедура 1

     4.1.2 Процедура 2

     4.1.3 Процедура 3

     4.2 Выработка начального значения

     4.3 Процедура усечения

5 Режимы работы алгоритмов блочного шифрования

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

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

     5.3 Режим гаммирования с обратной связью по выходу

     5.4 Режим простой замены с зацеплением

     5.5 Режим гаммирования с обратной связью по шифртексту

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

Приложение А (справочное) Контрольные примеры

Библиография

 
Дата введения01.01.2016
Добавлен в базу01.02.2017
Актуализация01.01.2021

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

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

19.06.2015УтвержденФедеральное агентство по техническому регулированию и метрологии750-ст
РазработанЦентр защиты информации и специальной связи ФСБ России
РазработанОАО ИнфоТеКС
ИзданСтандартинформ2016 г.

Information technology. Cryptographic data security. Block ciphers operation modes

Стр. 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
Стр. 29
стр. 29

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

ГОСТР

34.13-

2015

НАЦИОНАЛЬНЫЙ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

Информационная технология

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

Режимы работы блочных шифров

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

Москва

Стандартинформ

2016


Предисловие

1    РАЗРАБОТАН Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества «Информационные технологии и коммуникационные системы» (ОАО «ИнфоТеКС»)

2    ВНЕСЕН Техническим комитетом по стандартизации ТК 26 «Криптографическая защита информации»

3    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 19 июня 2015 г. № 750-ст

4    ВЗАМЕН ГОСТ Р ИСО/МЭК 10116—93

Правила применения настоящего стандарта установлены в ГОСТ Р 1.0-2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)

©Стандартинформ, 2016

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

II

ГОСТ P 34.13—2015

5.1.2 Расшифрование

Шифртекст представляется в виде: С=С1||С2|| ...||Сф С,е\/П, / = 1, 2.....q. Блоки открытого текста

(2)

вычисляются по следующему правилу:

P(=dK(C,),/ = 1,2,

Исходный (дополненный) открытый текст имеет вид:

P=Pll|P2ll-IP<r

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

Рисунок 2 — Расшифрование в режиме простой замены


Расшифрование в режиме простой замены проиллюстрировано на рисунке 2.

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

Параметром режима гаммирования является целочисленная величина s 0<s<n. При использовании режима гаммирования не требуется применение процедуры дополнения сообщения.

Для зашифрования (расшифрования) каждого отдельного открытого текста на одном ключе используется значение уникальной синхропосылки IVs V„.

(3)

Зашифрование в режиме гаммирования заключается в покомпонентном сложении открытого текста с гаммой шифра, которая вырабатывается блоками длины s путем зашифрования последовательности значений счетчика С7Р,е Vn, /= 1, 2, .... базовым алгоритмом блочного шифрования с последующим усечением. Начальным значением счетчика является С7/?1 = 1„(Д/)=Д/||0г). Последующие значения счетчика вырабатываются с помощью функции Add: Vn—> Vn следующим образом:

С77?/+1 = Add (СTRj) =Vec„(lnt„(C7R,)ffln1).

5.2.1 Зашифрование

Открытый текст Ре V* представляется в виде

P=Pll|P2ll -l|Pg. P/S14. ' = 1,2,..., <7-1, Pg€ Vn r<S.

Блоки шифртекста вычисляются по следующему правилу:

ГС( = Р(®Ts(eK(C7P()),    i = 1,2,..., (/—I,    (4)

\cq = Pg®Tr(eK(C7Rc/)).

Результирующий шифртекст имеет вид:

7

ГОСТ P 34.13—2015

Зашифрование в режиме гаммирования проиллюстрировано на рисунке 3.

С1 С2

Рисунок 3 — Зашифрование в режиме гаммирования

5.2.2 Расшифрование

Шифртекст представляется в виде: С=С1||С2||...||Сф С, е \/s, /=1, 2,    q-1,    CqsVn    r<s.

Блоки открытого текста вычисляются по следующему правилу:

ГР/ = С,®Ts(eK(CTR/)), /=1,2.....Q-1,    (5)

\ Pq = Cq®Jr(eK(CTRq)).

Исходный открытый текст имеет вид

P=Pll|P2ll-l|P,-

Расшифрование в режиме гаммирования проиллюстрировано на рисунке 4.

P^

Р2

Рисунок 4 — Расшифрование в режиме гаммирования

5.3 Режим гаммирования с обратной связью по выходу

Параметрами режима гаммирования с обратной связью по выходу являются целочисленные величины s и /п, 0<s<n, m=n z, z> 1 —целое число.

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

8


При шифровании на одном ключе для каждого отдельного открытого текста используется значение уникальной или непредсказуемой (случайной или псевдослучайной) синхропосылки Л/е Vm.

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

Зашифрование в режиме гаммирования с обратной связью по выходу заключается в покомпонентном сложении открытого текста с гаммой шифра, которая вырабатывается блоками длины s. При вычислении очередного блока гаммы выполняется зашифрование п разрядов регистра сдвига с большими номерами базовым алгоритмом блочного шифрования. Затем заполнение регистра сдвигается на п бит в сторону разрядов с большими номерами, при этом в разряды с меньшими номерами записывается полученный выход базового алгоритма блочного шифрования. Блок гаммы вычисляется путем усечения выхода базового алгоритма блочного шифрования.

5.3.1 Зашифрование

Открытый текст Ре V* представляется в виде P=Pil|P2ll-||P<?- Р,е Vs, /=1, 2, ..., q-1, Pqe Vn r<s. Блоки шифртекста вычисляются по следующему правилу:


Pi =IV


Yj= eK(MSB„(P()),


C/=P/®ts(v;),

P/+1= LSBm_„(P()ll Y(,

Yq= e/<(MSB„(P(?)), Cq=Pq®Tr(Yq).


/ = 1,2, ..., </-1,


(6)


Результирующий шифртекст имеет вид:


С=С1||С2||...||С(?.

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


Cl

Рисунок 5 — Зашифрование в режиме гаммирования с обратной связью по выходу


с2


9


5.3.2 Расшифрование

Шифртекст представляется в виде: С= С1||С2||...||С(?, C,e\/S, /= 1, 2, ..., g-1, CqeVr, r<s. Блоки открытого текста вычисляются по следующему правилу:


Ri=/K


Y,.= eK(MSBn(R()), R/+1 = LSBm_„(R,)IIY„


/ = 1,2,    g-1,


(7)


Pq=Cq®Tr(YJ.


Исходный открытый текст имеет вид


P=Pll|P2ll-rq-


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


Р1

Р2

Рисунок 6 - Расшифрование в режиме гаммирования с обратной связью по выходу


5.4 Режим простой замены с зацеплением

Параметром режима простой замены с зацеплением является целочисленная величина m,m = n z, z > 1 — целое число.

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

При шифровании на одном ключе для каждого отдельного открытого текста используется значение непредсказуемой (случайной или псевдослучайной) синхропосылки IV е Vm.

При шифровании в режиме простой замены с зацеплением используется двоичный регистр сдвига R длины т. Начальным заполнением регистра является значение синхропосылки IV.


ГОСТ P 34.13—2015


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

5.4.1 Зашифрование

Открытый и, при необходимости, дополненный текст Ре Vе, \P\ = n q представляется в виде: Р= Pill^ll - ll^ Р/£ Vn, /= 1,2,..., q. Блоки шифртекста вычисляются по следующему правилу:

= IV,


Г C;=eK(P(eMSBn(P^), \ Ri+, = LSBm_n(R)HCh


/' = 1,2, ..., q-1,


(8)


Cq=eK(Pq®MSBn(Rj).

Результирующий шифртекст имеет вид:

С=С1||С2||...||С(?.

Зашифрование в режиме простой замены с зацеплением проиллюстрировано на рисунке 7.


С1    С2    Cq

Рисунок 7 — Зашифрование в режиме простой замены с зацеплением 5.4.2 Расшифрование

Шифртекст представляется в виде: С=С1||С2||...||Сф С, е Vn, /'= 1,2,..., q. Блоки открытого текста вычисляются по следующему правилу:

Ri = /K


fp/=dK(C/)0MSBn(^, \RM = LSBm_n(R)Kh

Pq= dK(Cq)®MSBn(R^.


11


Исходный (дополненный) открытый текст имеет вид:

P=Pll|P2ll-l|P,-

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

Р1

Р2

Рисунок 8 — Расшифрование в режиме простой замены с зацеплением



Расшифрование в режиме простой замены с зацеплением проиллюстрировано на рисунке 8.

5.5 Режим гаммирования с обратной связью по шифртексту

Параметрами режима гаммирования с обратной связью по шифртексту являются целочисленные величины s и т,0 < s < п, п< т.

В конкретной системе обработки информации на длину сообщения Р может как накладываться ограничение |Р| = s-<7, так и не накладываться никаких ограничений. В случае если такое ограничение накладывается, к исходному сообщению, при необходимости, должна быть предварительно применена процедура дополнения.

При шифровании на одном ключе для каждого отдельного открытого текста используется значение непредсказуемой (случайной или псевдослучайной) синхропосылки IV€ Vm.

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

Зашифрование в режиме гаммирования с обратной связью по шифртексту заключается в покомпонентном сложении открытого текста с гаммой шифра, которая вырабатывается блоками длины s. При вычислении очередного блока гаммы выполняется зашифрование п разрядов регистра сдвига с большими номерами базовым алгоритмом блочного шифрования с последующим усечением. Затем заполнение регистра сдвигается на s разрядов в сторону разрядов с большими номерами, при этом в разряды с меньшими номерами записывается полученный блок шифртекста, являющийся результатом покомпонентного сложения гаммы шифра и блока открытого текста.

5.5.1 Зашифрование

Открытый текст Ре V* представляется в виде Р= P^^W-WPq, Pi Vs, i = 1, 2.....q-1, Pqe Vn r< s.

Блоки шифртекста вычисляются по следующему правилу:

12

ГОСТ P 34.13—2015


Ri = IV,

(10)

Cci=Pi®Js(eK(MSBn(R))), ^R(+1 = LSBm_s(R,)IIC„

Cg = Pq ® Jr(eK( MS Bn(f?g))).

Результирующий шифртекст имеет вид:

С=С1||С2||...||С(?.

Ci    С2    Cq

Рисунок 9 — Зашифрование в режиме гаммирования с обратной связью по шифртексту


Зашифрование в режиме гаммирования с обратной связью по шифртексту проиллюстрировано на рисунке 9.

5.5.2 Расшифрование

Шифртекст представляется в виде: С= С,11С211...ЦС^ С, е Vs, /= 1, 2,.... <7 -1. Блоки открытого текста вычисляются по следующему правилу:

= IV,

(Pl=Ci® Js(eK(MSBn(R))),

^R/+1 = LSBm_s(/^IIC,    ,    = 1'2.....Я~Х    (11)

Pq= Cq®Jr(eK(MSBn(Rqj)).

Исходный открытый текст имеет вид:

P=P^P2\\-\\Pq-

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

13

Расшифрование в режиме гаммирования с обратной связью по шифртексту проиллюстрировано на рисункеЮ.

Р1    Р2    Ря

Рисунок 10 — Расшифрование в режиме гаммирования с обратной связью по шифртексту

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

Режим выработки имитовставки, описание которого представлено ниже, реализует конструкцию ОМАС1 (стандартизован в ISO под названием СМАС [1]).

Параметром режима является длина имитовставки (в битах) 0 < s < п.

5.6.1 Выработка вспомогательных ключей

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

Процедура выработки вспомогательных ключей может быть представлена в следующей форме

R = eK(O');

если MSB1(R)=0, иначе;

если MSB1(K1)=0, иначе;

где В64 = 059|| 11011, В128= 012°||10000111.

Если значение п отлично от 64 и 128, следует использовать следующую процедуру определения значения константы В„. Рассмотрим множество примитивных многочленов степени п над полем GF(2) с наименьшим количеством ненулевых коэффициентов. Упорядочим это множество лексикографически по возрастанию векторов коэффициентов и обозначим через f„(x) первый многочлен в этом упорядоченном множестве.

Рассмотрим поле GF(2”)[x]/(fn(x)), зафиксируем в нем степенной базис и будем обозначать операцию умножения в этом поле символом ф. Вспомогательные ключи К, и К2 вычисляются следующим образом:

ГОСТ P 34.13—2015


R = eK(0%

(12)

Ki =Poly-1(Poly„(R)0x), K2 = Poly “1 (Polyn(R) 0 x2),

Примечание — Вспомогательные ключи Кь К2 и промежуточное значение R наряду с ключом /(являются секретными параметрами. Компрометация какого-либо из этих значений приводит к возможности построения эффективных методов анализа всего алгоритма.

5.6.2 Вычисление значения имитовставки

Процедура вычисления значения имитовставки похожа на процедуру зашифрования в режиме простой замены с зацеплением при т = тл инициализации начального заполнения регистра сдвига значением 0": на вход алгоритму шифрования подается результат покомпонентного сложения очередного блока текста и результата зашифрования на предыдущем шаге. Основное отличие заключается в процедуре обработки последнего блока: на вход базовому алгоритму блочного шифрования подается результат покомпонентного сложения последнего блока, результата зашифрования на предыдущем шаге и одного из вспомогательных ключей. Конкретный вспомогательный ключ выбирается в зависимости от того, является ли последний блок исходного сообщения полным или нет. Значением имитовставки MAC является результат применения процедуры усечения к выходу алгоритма шифрования при обработке последнего блока.

Исходное сообщение Ре V*, для которого требуется вычислить имитовставку, представляется в виде:

Р=Р,\\Р2\\-\\РЯ-

где Р,€ Vn, /= 1,2, ..., q-'\, Pqe V„ r<n.

Процедура вычисления имитовставки описывается следующим образом:

С0 = 0",

C/ = eK(P/©Cw)1i = 1121...,q-1,    (13)

MAC = Ts(eK(P* 0 C^i 0K*)),

где

.[/<!,    если | Pq\=n,

2,    иначе

Р* — последний блок сообщения, полученного в результате дополнения исходного сообщения с помощью процедуры 3.

MAC

Рисунок 11 — Вычисление значения имитовставки - общий вид


Процедура вычисления имитовставки проиллюстрирована на рисунках 11—13.

Примечание — Настоятельно рекомендуется не использовать ключ режима выработки имитовставки в других криптографических алгоритмах, в том числе в режимах, обеспечивающих конфиденциальность, описанных в 5.1—5.5.

15

ГОСТ P 34.13—2015


Pi    P2    Ръ



MAC


Рисунок 12 — Вычисление значения имитовставки — случай полного последнего блока


MAC


Рисунок 13 — Вычисление значения имитовставки — случай с дополнением последнего блока


16


ГОСТ P 34.13—2015

Содержание

1    Область применения............................................................................................................................................1

2    Термины, определения и обозначения .............................................................................................................1

2.1    Термины и определения ................................................................................................................................1

2.2    Обозначения ...................................................................................................................................................3

3    Общие положения ................................................................................................................................................4

4    Вспомогательные операции ...............................................................................................................................5

4.1    Дополнение сообщения............................................................................................................................5

4.1.1    Процедура 1 ........................................................................................................................................5

4.1.2    Процедура2 ........................................................................................................................................5

4.1.3    Процедура 3 ........................................................................................................................................5

4.2    Выработка начального значения ...............................................................................................................5

4.3    Процедура усечения ....................................................................................................................................6

5    Режимы работы алгоритмов блочного шифрования......................................................................................6

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

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

5.3    Режим гаммирования с обратной связью по выходу .............................................................................8

5.4    Режим простой замены с зацеплением..................................................................................................10

5.5    Режим гаммирования с обратной связью по шифртексту...................................................................12

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

Приложение А (справочное) Контрольные примеры .........................................................................................17

Библиография ..........................................................................................................................................................23

III

ГОСТ P 34.13—2015

Приложение А (справочное)

Контрольные примеры

Данное приложение носит справочный характер и не является частью настоящего стандарта.

В данном приложении содержатся примеры для зашифрования и расшифрования сообщений, а также выработки имитовставки, с использованием режимов работы шифра, определенных в данном стандарте. Параметр s выбран равным п с целью упрощения проводимых вычислений, а параметр т выбирался из соображений демонстрации особенностей каждого режима шифрования. Двоичные строки из V*, длина которых кратна 4, записываются в шестнадцатеричном виде, а символ конкатенации ("||") опускается. То есть, строка а е убудет представлена в виде аг_^аг_2...а0, где з,€{0, 1, ..., 9, a, b, с, d, е, f}, /' = 0,1,.... г-1.

В А.1 приведены примеры для блочного шифра с длиной блока п = 128 бит («Кузнечик»), В А.2 приведены примеры для блочного шифра с длиной блока п = 64 бит («Магма»).

А.1 Блочный шифр с длиной блока п = 128 бит

Примеры используют следующие параметры:

Ключ

К = 8899aabbccddeeff0011223344556677fedcba98765432100123456789abcdef.

Открытый текст-четыре 128-битных блока:

Рл = 1122334455667700ffeeddccbbaa9988,

Р2 = 00112233445566778899aabbcceeff0a,

Р3 = 112233445566778899aabbcceeff0a00,

Рл = 2233445566778899aabbcceeff0a0011.

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

Таблица А.1 — Зашифрование в режиме простой замены

Открытый текст

Шифртекст

1122334455667700ffeeddccbbaa9988

7f679d90bebc24305a468d42b9d4edcd

00112233445566778899aabbcceeff0a

b429912c6e0032f9285452d76718d08b

112233445566778899aabbcceeff0a00

TOca33549d247ceef3f5a5313bd4M57

2233445566778899aabbcceeff0a0011

d0b09ccde830b9eb3a02c4c5aa8ada98

А.1.2 Режим гаммирования А.1.2.1 Зашифрование

s = n = 128,

IV = 1234567890abcef0.

Таблица А.2 — Зашифрование в режиме гаммирования

/

1

2

Pi

1122334455667700ffeeddccbbaa9988

00112233445566778899aabbcceeff0a

Входной блок

1234567890abcef00000000000000000

1234567890abcef00000000000000001

Выходной блок

e0b7ebfa9468a6db2a95826efb173830

85ffc500b2f4582a7ba54e08f0ab21 ее

С,

fl 95d8bec1 Oedl dbd57b5fa240bda1 b8

85eee733f6a13e5df33ce4b33c45dee4

Окончание таблицы А.2

/

3

4

Pi

112233445566778899aabbcceeff0a00

2233445566778899aabbcceeff0a0011

Входной блок

1234567890abcef00000000000000002

1234567890abcef00000000000000003

Выходной блок

b4c8dbcfb353195b4c42cc3ddb9ba9a5

e9a2bee4947b322f7b7d1db6dfb7ba62

С/

a5eae88be6356ed3d5e877f13564a3a5

cb91fab1f20cbab6d 1 c6d 15820bdba73

Введение

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

Стандарт разработан взамен ГОСТ Р ИСО/МЭК10116—93 «Информационная технология. Режимы работы для алгоритма п -разрядного блочного шифрования». Необходимость разработки настоящего стандарта вызвана потребностью в определении режимов работы блочных шифров, соответствующих современным требованиям к криптографической стойкости.

Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО/МЭК 9797-1 [1], ИСО/МЭК 10116 [2], ИСО/МЭК 10118-1 [3], ИСО/МЭК 18033 [4], ИСО/МЭК 14888-1 [5].

Примечание — Основная часть стандарта дополнена приложением А.

IV

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ Режимы работы блочных шифров

Information technology. Cryptographic data security. Block ciphers operation modes

Дата введения —2016—01—01

1    Область применения

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

Настоящим стандартом следует руководствоваться, если информация конфиденциального характера подлежит защите в соответствии с законодательством Российской Федерации.

2    Термины, определения и обозначения

2.1    Термины и определения

В настоящем стандарте применены следующие термины с соответствующими определениями.

2.1.1

алгоритм зашифрования (encryption algorithm): Алгоритм, реализующий зашифрование, т.е. преобразующий открытый текст в шифртекст.

[ИСО/МЭК 18033-1, статья 2.19]

алгоритм расшифрования (decryption algorithm): Алгоритм, реализующий расшифрование, т.е. преобразующий шифртекст в открытый текст.

[ИСО/МЭК 18033-1, статья 2.14]


2.1.2

2.1.3

базовый блочный шифр (basic block cipher): Блочный шифр, реализующий при каждом фиксированном значении ключа одно обратимое отображение множества блоков открытого текста фиксированной длины в блоки шифртекста такой же длины.

блок (block): Строка бит определенной длины. [ИСО/МЭК 18033-1, статья 2.6]


2.1.4

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

ГОСТ P 34.13—2015

2.1.5

блочный шифр (block cipher): Шифр из класса симметричных криптографических методов, в котором алгоритм зашифрования применяется к блокам открытого текста для получения блоков шифртекста.

[ИСО/МЭК 18033-1, статья 2.7]

Примечание — В настоящем стандарте установлено, что термины «блочный шифр» и «алгоритм блочного шифрования» являются синонимами.

2.1.6

дополнение (padding): Приписывание дополнительных бит к строке бит.

[ИСО/МЭК 10118-1, статья 3.9]

зацепление блоков (block chaining): Шифрование информации таким образом, что каждый блок шифртекста криптографически зависит от предыдущего блока шифртекста.

[ИСО/МЭК 10116, статья 3.1]


2.1.7

зашифрование (encryption): Обратимое преобразование данных с помощью шифра, который формирует шифртекст из открытого текста.

[ИСО/МЭК 18033-1, статья 2.18]


2.1.8

2.1.9

имитовставка (message authentication code): Строка бит фиксированной длины, полученная применением симметричного криптографического метода к сообщению, добавляемая к сообщению для обеспечения его целостности и аутентификации источника данных.

[ИСО/МЭК 9797-1, статьи 3.9, 3.10]

2.1.10

ключ (key): Изменяемый параметр в виде последовательности символов, определяющий криптографическое преобразование.

[ИСО/МЭК 18033-1, статья 2.21]

Примечание — В настоящем стандарте рассматриваются ключи только в виде последовательности двоичных символов (битов).

2.1.11

начальное значение (starting variable): Значение, возможно, полученное из синхропосылки и используемое для задания начальной точки режима работы блочного шифра.

[ИСО/МЭК 10116, статья 3.12]

открытый текст (plaintext): Незашифрованная информация. [ИСО/МЭК 10116, статья 3.11]


2.1.12

2.1.13

расшифрование (decryption): Операция, обратная к зашифрованию.

[ИСО/МЭК 18033-1, статья 2.13]

Примечание — В настоящем стандарте в целях сохранения терминологической преемственности по отношению к опубликованным научно-техническим изданиям применяется термин «шифрование», объединяющий операции, определенные терминами «зашифрование» и «расшифрование». Конкретное значение термина «шифрование» определяется в зависимости от контекста упоминания.

2.1.14

симметричный криптографический метод (symmetric cryptographic technique): Криптографический метод, использующий один и тот же ключ для преобразования, осуществляемого отправителем, и преобразования, осуществляемого получателем.

[ИСО/МЭК 18033-1, статья 2.32]


2.1.15

синхропосылка (initializing value): Комбинация знаков, передаваемая по каналу связи и предназначенная для инициализации алгоритма шифрования.


2.1.16


сообщение (message): Строка бит произвольной конечной длины. [ИСО/МЭК 14888-1 статья 3.10]


2.1.17

счетчик (counter): Строка бит длины, равной длине блока блочного шифра, используемая при шифровании в режиме гаммирования.

[ИСО/МЭК 10116, статья 3.4]


2.1.18


шифр (cipher): Криптографический метод, используемый для обеспечения конфиденциальности данных, включающий алгоритм зашифрования и алгоритм расшифрования.

[ИСО/МЭК 18033-1, статья 2.20]


2.1.19


шифртекст (ciphertext): Данные, полученные в результате зашифрования открытого текста с целью скрытия его содержания.

[ИСО/МЭК 10116, статья 3.3]


2.2 Обозначения


В настоящем стандарте используются следующие обозначения:


V* — множество всех двоичных строк конечной длины, включая пустую строку;

\/s — множество всех двоичных строк длины s, где s— целое неотрицательное число; нумерация подстрок и компонент строки осуществляется справа налево начиная с нуля;

|Л| — число компонент (длина) строки А € V* (если А — пустая строка, то |А| = 0);

А||В — конкатенация строк А,В е V*, т.е. строка из 1/|А| + |в|’ в которой подстрока с большими номерами компонент из \/|A| совпадает со строкой А, а подстрока с меньшими номерами компонент из \/|В| совпадает со строкой В;

0Г — строка, состоящая из г нулей;

ф — операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины;

Z2s — кольцо вычетов по модулю 2s;


операция сложения в кольце Ж2^


х mod £ — операция вычисления остатка от деления целого числа х на целое положительное число £;


3


ГОСТ P 34.13—2015

MSBs: \/* \    V/ —> \/^ — отображение, ставящее в соответствие строке

'"°    Zm- 1-l|Zi||Z0 , m>s, строку Zm_1||... ||zm_s+1||zm_s,

s1    z( e Vb / = 0,1,    /Г7-1;

LSBs: \/* \    \// —»— отображение, ставящее в соответствие строке

'"°    zm- 1-l|Zi||Z0 , m>s, строку zs_!II ...II^IIzq,

Z/€ Vbi = 0,1, ..., /Т7-1;

Л«г» — операция логического сдвига строки А на г компонент в сторону компонент, имеющих большие номера.

Если Ле \/s, то А «г € \/s, причем

A<<r= \ LSBs_,-H) ||O'”, если r<s,

) 0s,    ecnnr>s;

Polys: \/s—>GF(2)[x] — отображение, ставящее в соответствие строке

s-1

Z = (zs_ 11I ... ||z0) е \/s многочлен Polys(z)=^z/x/;

/=0

Vecs: 12s^Vs — биективное отображение, сопоставляющее элементу кольца Z2«eго двоичное представление, т. е. для любого элемента zeZ2s, представленного

в виде z = z0 + 2 z1 + ... +2S_1 -zs_b

где z,e {0,1}, /= 0,1, .... s-1, выполнено равенство

Vecs(z) = zs_1||...||z1||z0;

lnts: \/s-> %2S — отображение, обратное к отображению Vecs, т. е.

lnts=Vecs-1;

к — параметр алгоритма блочного шифрования, называемый длиной ключа;

п — параметр алгоритма блочного шифрования, называемый длиной блока;

Е: VnxVk—>Vn — отображение, реализующее базовый алгоритм блочного шифрования и осуществляющее преобразование блока открытого текста Ре 1/пс использованием ключа (шифрования)

К е Vk в блок шифртекста С е Vn е V\ Е(Р,К) = С;

ек:    >    Vn    —    отображение,    реализующее    зашифрование    с использованием ключа

К е Vk, т. е. ек(Р) = Е(Р,К) для всех Р е Vn\

: Vn—> Vn — отображение, реализующее расшифрование с использованием ключа

К е Vk, т. е. dK=e^.

3 Общие положения

Настоящий стандарт определяет следующие режимы работы алгоритмов блочного шифрования:

-    режим простой замены (Electronic Codebook, ЕСВ);

-    режим гаммирования (Counter, CTR);

-    режим гаммирования с обратной связью по выходу (Output Feedback, OFB);

-    режим простой замены с зацеплением (Cipher Block Chaining, СВС);

ГОСТ P 34.13—2015

-    режим гаммирования с обратной связью по шифртексту (Cipher Feedback, CFB);

-    режим выработки имитовставки (Message Authentication Code algorithm).

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

4 Вспомогательные операции

4.1    Дополнение сообщения

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

Пусть Р s V* исходное сообщение, подлежащее зашифрованию.

4.1.1    Процедура 1

Пусть |Р| = г mod £. Положим

если г= 0, иначе.

Примечание — Описанная процедура в некоторых случаях не обеспечивает однозначного восстановления исходного сообщения. Например, результаты дополнения сообщений Рь такого что |Р.,| = ^<7-1 для некоторого <7, и P2=^il|0 будут одинаковы. В этом случае для однозначного восстановления необходимо дополнительно знать длину исходного сообщения.

4.1.2 Процедура 2

Пусть |P|=r mod £. Положим

Р*=Р Ц1Ц0*-*-1

Примечание — Данная процедура обеспечивает однозначное восстановление исходного сообщения. При этом если длина исходного сообщения кратна £, то длина дополненного сообщения будет увеличена.

4.1.3 Процедура 3

Пусть |Р|= г mod (.

В зависимости от значения г возможны случаи:

-    если г = п, то последний блок не изменяется Р*= Р;

-    если г < п, то применяется процедура 2.

Примечания

1    Данная процедура обязательна для режима выработки имитовставки (5.6) и не рекомендуется для использования в других режимах (5.1—5.5).

2    Выбор конкретной процедуры дополнения предоставляется разработчику информационной системы и/ или регламентируется другими нормативными документами.

4.2 Выработка начального значения

В некоторых режимах работы используются величины, начальное значение которых вычисляется на основании синхропосылки IV] обозначим через т суммарную длину указанных величин. Будем обозначать процедуру выработки начального значения через \т: V\,v^Vm и называть процедурой инициализации. Будем называть процедуру инициализации тривиальной, если \щ=1У. Если не оговорено иное, будем считать, что используется тривиальная процедура инициализации на основе синхропосылки необходимой длины.

5

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

-    Значения синхропосылки для режимов простой замены с зацеплением и гаммирования с обратной связью по шифртексту необходимо выбирать случайно, равновероятно и независимо друг от друга из множества всех допустимых значений. В этом случае значение каждой используемой синхропосылки /\/должно быть непредсказуемым (случайным или псевдослучайным): зная значения всех других используемых синхропосылок, значение IVнельзя определить с вероятностью большей, чем

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

-    Значение синхропосылки для режима гаммирования с обратной связью по выходу должно быть либо непредсказуемым (случайным или псевдослучайным), либо уникальным.

Примечание — Режим простой замены не предусматривает использования синхропосылки.

4.3 Процедура усечения

В некоторых режимах используется усечение строк длины п до строк длины s, s<n, с использованием функции Ts=MSBs, т.е. в качестве операции усечения используется операция взятия бит с большими номерами.

5 Режимы работы алгоритмов блочного шифрования

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

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

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

5.1.1    Зашифрование

Открытый и, при необходимости, дополненный текст Ре V*, \P\=nq, представляется в виде: P=Pil|P2ll ■■■ЦРф Р,€ Ц). / = 1,2,..., q. Блоки шифртекста вычисляются по следующему правилу:

С,=ек(Р^/ =1,2.....q.    (1)

Результирующий шифртекст имеет вид:

С=С1||С2|| ...||Cq.

Зашифрование в режиме простой замены проиллюстрировано на рисунке 1.

р\ Р2

С'|    С2    Cq

Рисунок 1 — Зашифрование в режиме простой замены