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

20 страниц

248.00 ₽

Купить Р 50.1.113-2016 — бумажный документ с голограммой и синими печатями. подробнее

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

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

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

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

Рекомендации предназначены для применения в информационных системах, использующих механизмы шифрования и защиты аутентичности данных, с использованием алгоритмов электронной (цифровой) подписи по ГОСТ Р 34.10 и функции хэширования по ГОСТ Р 34.11 в общедоступных и корпоративных сетях для защиты информации, не содержащей сведений, составляющих государственную тайну.

 Скачать PDF

Оглавление

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

2 Нормативные ссылки

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

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

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

4 Описание алгоритмов

     4.1 Алгоритмы НМАС

     4.2 Псевдослучайные функции

     4.3 Алгоритмы согласования ключей VKO

     4.4 Алгоритм диверсификации KDF_GOSTR3411_2012_256

     4.5 Алгоритм диверсификации KDF_TREE_GOSTR3411_2012_256

     4.6 Экспорт и импорт ключей

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

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

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

Этот документ находится в:

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

28.11.2016УтвержденФедеральное агентство по техническому регулированию и метрологии1828-ст
РазработанТК 26 Криптографическая защита информации
ИзданСтандартинформ2016 г.

Information technology. Cryptographic data security. Cryptographic algorithms to accompany the usage of digital signature and hash function algorithms

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

Р 50.1.113—

2016


РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИИ


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

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

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

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

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

Москва

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

2016

Предисловие

1    РАЗРАБОТАНЫ подкомитетом Ne 1 Технического комитета по стандартизации ТК 26 «Криптографическая защита информации»

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

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

4    ВВЕДЕНЫ ВПЕРВЫЕ

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

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

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

P 50.1.113—2016

Алгоритм можно использовать как для статических, так и для эфемерных ключей сторон при битовой длине открытого ключа л. где п 2 512. в том числе и для случая, когда ключи одной из сторон являются статическими, а другой — эфемерными.

UKM используют опционально (иначе величина UKM полагается равной 1) и принимает значение от 1 до г'1'2 - 1. Допускается осуществлять выбор ненулевого значения UKM любой битовой длины, не превосходящей л/2. Использование UKM с битовой длиной не менее 64 рекомендуется в том случае, когда ключи хотя бы одной из сторон являются статическими.

К (x.y.UKM) = (mlq UKM • х modq) (у Р).    (17)

где т и q — параметры используемой эллиптической кривой, соответствующие обозначениям, принятым в разделе 5 ГОСТ Р 34.10-2012 (т — порядок группы точек эллиптической кривой, q — порядок циклической подгруппы). Р— ненулевая точка подгруппы; задается протоколом.

КЕК^о (x.y.UKM) = «256 (К (х.у. UKM)).    (18)

Данный алгоритм определяют по аналогии с подразделом 5.2 в (4). используя вместо хэш-функции Л. определенной в ГОСТ Р 34.11-94 (раздел 6. обозначена в [4] как gos//?3411). хэш-функцию Н2^ и вычисляя К (x.y.UKM) при длинах открытых ключей п £ 512 бит и длине UKM — до л/2 бит.

4.3.2 VKO_GOSTR3410_2012_512

VKO_GOSTR3410_2012_512 является алгоритмом согласования ключей VKO с длиной 512 бит на основе хэш-функции «сдлиной выхода, равной 512 битам, определенной в ГОСТ Р 34.11-2012 (раздел 8). Алгоритм можно выполнять с использованием ключей, определенных в соответствии с ГОСТ Р 34.10—2012 (раздел 5). длиной 512 бит.

Данный алгоритм предназначен для получения ключа шифрования либо ключевого материала длины 512 бит. далее используемых в криптографических протоколах. Ключ либо ключевой материал, обозначаемые KEKvk0 (x.y.UKM). вырабатываются стороной обмена из своего закрытого ключа х. открытого ключа у Р противоположной стороны и величины UKM. рассматриваемой как число.

Алгоритм можно использовать как для статических, так и для эфемерных ключей сторон при битовой длине открытого ключа п. где п > 1024, в том числе и для случая, когда ключи одной из сторон являются статическими, а другой — эфемерными.

UKM используется опционально (иначе величина UKM полагается равной 1) и принимает значение от 1 до 2П/2 -1. Допускается осуществлять выбор ненулевого значения UKM любой битовой длины, не превосходящей л/2. Использование UKM с битовой длиной не менее 128 рекомендуется в случае, когда ключи хотя бы одной из сторон являются статическими.

К (x.y.UKM) = (mlq UKM • х mod q) (у Р).    (19)

где т и д — параметры используемой эллиптической кривой, соответствующие обозначениям, принятым в разделе 5 ГОСТ Р 34.10-2012 (т — порядок группы точек эллиптической кривой, q — порядок циклической подгруппы). Р— ненулевая точка подгруппы; задается протоколом.

КЕК^0 (x.y.UKM) = Н512 (К (х.у. UKM)).    (20)

Данный алгоритм определяют по аналогии с подразделом 5.2 в (4). используя вместо хэш-функции h. определенной в ГОСТ Р 34.11-94 (раздел 6. обозначена в (4) как gostRZA)1). хэш-функцию Н512 и вычисляя К (x.y.UKM) при длинах открытых ключей п 2 1024 бит и длине UKM — ao Ш2 бит.

4.4 Алгоритм диверсификации KDF_GOSTR3411_2012_256

Алгоритм KDF_GOSTR 3411 _2012_256 на основе хэш-функции Нс длиной выхода, равной 256 битам. определенной в ГОСТ Р 34.11-2012 (раздел 8). задает функцию диверсификации для порождения ключевого материала длиной 256 бит. использующую алгоритм HMAC_GOSTR3411_2012_256. описанный в 4.1.1. Результатом работы данного алгоритма является значение функции KDF25$. аргументами которой являются байтовые строки Kin, label и seed.

KDF256 (Km. label и seed) = HMAC2S6 (K,„. 0x01 | label | 0x00 | seed | 0x01 | 0x00).    (21)

где Kin — ключ диверсификации; labe. seed — параметры, задаваемые протоколом, их длины должны быть фиксированы протоколом. Алгоритм диверсификации KDF_GOSTR3411_2012_256 является частным случаем алгоритма KDF_ TREE_GOSTR3411_2012_256. описанной в следующем подразделе.

4.5    Алгоритм диверсификации KDF_TREE_GOSTR3411_2012_256

Алгоритм KDF_TREE_GOSTR3411_2012_256 на основе хэш-функции Н с длиной выхода, равной 256 битам, определенной в ГОСТ Р 34.11-2012 (раздел 8). задает функцию диверсификации, использующую алгоритм НМAC_GOSTR3411 _2012_256. описанный в 4.1.1. Результатом работы данного алгоритма является значение функции KDFTREE ^ аргументами которой являются байтовые строки К, label, seed и R.

KDFtree_256 (К,„. label, seed и R) = К(1) | К(2) | К(3) | К(4) |...;    (22)

К (/) = НШС25б, [/]й | label | 0x00 | seed | (/.]*).    1.    (23)

где Кт — ключ диверсификации;

label, seed — параметры, задаваемые протоколом, их длины должны быть фиксированы протоколом;

R — внешний фиксируемый параметр, с возможными значениями 1. 2. 3. 4;

/ — счетчик числа итераций;

|/]й — байтовое представление счетчика числа итераций, количество байт в представлении равно значению (не более 4 байт), записывается в сетевом порядке байт;

L — необходимая битовая длина вырабатываемого ключевого материала (целое число), не превосходящее 256 (2®R -1);

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

Алгоритм диверсификации KDF_TREE_GOSTR3411_2012_256 предназначен для порождения ключевого материала длины L, не превосходящей 256 • (2®R - 1) бит, и использует общие принципы задания входных параметров и выхода для функций диверсификации, изложенные в 5.1 [7). В качестве псевдослучайной функции выбрана функция НМ АС^ описанная в 4.1.1.

Если R = 1 и L = 256, то алгоритм KDF_TREE_GOSTR3411_2012_256 совпадает с алгоритмом KDF_GOSTR3411_2012_256 из предыдущего подраздела.

Каждый ключ, последовательно полученный из ключевого материала, сформированного с помощью ключа диверсификации К — ключа 0-го уровня, можно затем рассматривать как ключ диверсификации 1-го уровня и также использовать для генерации ключевого материала. Ключевой материал, полученный из ключа диверсификации 1-го уровня, может быть разбит на ключи диверсификации 2-го уровня. Применение данной процедуры приводит к построению ключевого дерева с корневым ключом К и формированию ключевого материала с иерархией по уровням, как описано в разделе 6 [7]. Процедура разбиения ключевого материала на каждом уровне определена в протоколах.

4.6    Экспорт и импорт ключей

При экспорте секретного ключа К с использованием заданного ключа экспорта Ке и случайного набора seed длины от 8 до 16 байт формируется экспортное представление ключа К по следующей схеме:

1)    Порождается случайный набор seed.

(24)

2)    С помощью функции диверсификации, использующей в качестве ключа диверсификации ключ экспорта Кв, производится формирование ключа KEKe(seed):

K£Ke(seed) = KDF^g (К#. label, seed).

8

P 50.1.113—2016

где в качестве функции диверсификации использована функция KDF^ описанная в 4.4. при фиксированном значении

label = (0x26 | 0xBD | 0х88 | 0x78).

3)    Вычисляется значение имитовставки в соответствии с разделом 5 ГОСТ 28147-89 длины 4 байта от данных К на ключе KEKe(seed), синхропосылка при этом полагается равной первым 8 байтам seed. Полученный набор обозначается через СЕК_МАС.

4)    Ключ зашифровывается в соответствии с разделом 2 ГОСТ 28147-89 в режиме простой замены с использованием ключа KEKe(seed). Результат зашифрования обозначается через CEK_ENC.

5)    Экспортным представлением ключа полагается набор (seed \ CEK_ENC \ СЕК_МАС).

При импорте ключа по экспортному представлению ключа и ключу экспорта Ке восстанавливается ключ К по следующей схеме:

1)    Из экспортного представления ключа выделяются наборы seed. CEK_ENC и СЕК_МАС.

2)    С помощью функции диверсификации, использующей в качестве ключа диверсификации ключ экспорта Ке, производится формирование ключа, обозначаемого KEKe(seed):

KEKe(seed) = KDF^ (Ке. label, seed).    (25)

где в качестве функции диверсификации использована функция KDFописанная в 4 4. при фиксированном значении

label = (0x26 | 0xBD | 0x88 | 0x78).

3)    Набор CEK_ENC расшифровывается в соответствии с разделом 2 по алгоритму ГОСТ 28147— 89 в режиме простой замены с использованием ключа KEKe(seecf). Ключ К полагается равным результату расшифрования.

4)    Вычисляется значение имитовставки в соответствии с разделом 5 ГОСТ 28147-89 длины 4 байта от данных К на ключе KEKe(seed). синхропосылка при этом полагается равной первым 8 байтам seed. Если результат отличен от СЕК_МАС. возвращается ошибка.

Данные алгоритмы экспорта и импорта ключей являются модификациями алгоритмов CryptoPro Key \Мар и CryptoPro Key Unwrap, описанных в 6.3 и 6.4 [4).

9

P 50.1.113—2016

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

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

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

1)    HMAC_GOSTR3411_2012_256

Ключ К.

00    01 02 03 04 05 06 07 08 09 0а ОЬ 0с 0d Ое Of 10 11 12 13 14 15 16 17 18 19 la 1Ь 1с Id 1е If

Данные Т

01    26 bd Ь8 78 00 af 21 43 41 45 65 63 78 01 00

Значение НМ АС^ (К, 7):

э1 аа 5f 7d е4 02 d7 ЬЗ d3 23 f2 99 1с 8d 45 34 01 31 37 01 0а 83 75 4f d0 af 6d 7c d4 92 2e d9

2)    HMAC_GOSTR3411_2012_512 Ключ К

00    01 02 03 04 05 06 07 08 09 Oa Ob Oc Od Oe Of 10 11 12 13 14 15 16 17 18 19 la 1b 1c Id 1e If

Данные T

01    26 bd b8 78 00 af21 43 41 45 65 63 78 01 00

Значение ШС512 (К. T)

а5 9b ab 22 ес ае 19 сб 5f bd еб е5 f4 е9 f5 d8 54 9d 31 ГО 37 f9 df 9b 90 55 00 el 71 92 3a 77 3d 5f 15 3012 ed 7e 96 4c Ь2 ее dc 29 e9 ad 2f 3a fe 93 b2 81 4f 79 15 00 Of fc 03 66 c2 51 e6

3)    PRF_TLS_GOSTR3411_2012_256 Ключ К:

00 01 02 03 04 05 06 07 08 09 Oa Ob Oc Od Oe Of

10    11 12 13 14 15 16 17 18 19 la 1b 1c Id 1e If

Данные seed

18 47 Id 62 2d c6 55 c4 d2 d2 26 96 91 ca 4a 56 Ob 50 ab a6 63 55 3a f2 41 fl ad a8 82 c9 f2 9a

Данные label

11    22 33 44 55 Выход Ту

ff 09 66 4a 44 74 58 65 94 4f 83 9e bb 48 96 5f 15 44 ff 1c c8 e8 fl 6f 24 7e e5 f8 a9 eb e9 7f

10

P 50.1.113—2016


Выход T2.

с4 еЗ с7 90 Ое 46 са d3 db 6а 01 64 30 63 04 Ое сб 71 сО fd 5с d9 f9 04 65 23 52 37 bd If 2c 02

4)    PR F_TLS_GOSTR3411 _2012_512 Ключ К

00    01 02 03 04 05 06 07 08 09 Oa Ob Oc Od Oe Of

10    11 12 13 14 15 16 17 18 19 la 1b 1c Id 1e If

Данные seed

18 47 Id 62 2d c6 55 c4 d2 d2 26 96 91 ca 4a 56 Ob 50 ab a6 63 55 3a f2 41 fl ad a8 82 c9 f2 9a

Данные label

11    22 33 44 55 Выход 7,:

f3 51 87 a3 dc 96 55 11 3a Oe 84 dO 6f d7 52 6c 5fc1 fbdecl aO e4 67 3d d6 d7 9d 0b 92 0e 65 ad 1b c4 7b bO 83 b3 85 1c b7 cd 8e 7e 6a 91 la 62 6c Ю 2b 29 e9 e4 a5 8e d7 66 a4 49 a7 29 6d

Выход T2

e6 la 7a 26 c4 dl ca ее cf d8 Oc ca 65 c7 if Of 88 cl f8 22 cO e8 cO ad 94 9d 03 fe el 39 57 9f 72 ba Oc 3d 32 c5 f9 54 fl cc cd 54 08 If c7 44 02 78 cb al fe 7b 7a 17 a9 86 fd ff 5b dl 5d If

5)    PR F_IPSEC_KE Y MAT_GOSTR3411 _2012_256 Клкм K:

c9 a9 a7 73 20 e2 cc 55 9e d7 2d ce 6f 47 e2 19 2c ce a9 5f a6 48 67 05 82 cO 54 cO ef 36 c2 21

Данные S

01    26 bd b8 78 00 Id 80 60 3c 85 44 c7 27 01 00 Выход 7,:

21 01 d8 Oc 47 db 54 be 3c 82 9b 8c 30 7c 47 55 50 88 83 a6 d6 9e 60 1 b f7 aa fb Oa be a4 ed 95

Выход T2

33 b8 4e dO 8f 93 56 f8 Id f8 d2 79 fO 79 c9 02 87 cb 45 2c 81 d4 1e 80 38 43 08 86 cl 92 12 aa

6)    PRF_IPSEC_PRFPLUS_GOSTR3411_2012_256 Ключ К

c9 a9 a7 73 20 e2 cc 55 9e d7 2d ce 6f 47 e2 19 2c ce a9 5f a6 48 67 05 82 cO 54 cO ef 36 c2 21

11


P 50.1.113—2016


Данные S:

01 26 bd Ь8 78 00 Id 80 60 3c 85 44 c7 27 01 00 Выход Ту

2d e5 ее 84 el 3d 7b e5 36 16 67 39 13 37 0a bO 54 cO 74 Ь7 9b 69 a8 a8 46 82 a9 ГО 4f ec d5 87

Выход T2:

29 f6 Od da 45 7b f2 19 aa 2e f9 5d 7a 59 be 95 4d eO 08 14 a5 Od 50 4d bd b6 90 be 68 06 01 53

7) PRF_IPSEC_KEYMAT_GOSTR3411_2012_512

Ключ К

c9 a9 a7 73 20 e2 cc 55 9e d7 2d ce 6147 e2 19 2c ce a9 51 a6 48 67 05 82 cO 54 cO el 36 c2 21

Данные S:

01 26 bd b8 78 00 Id 80 60 3c 85 44 c7 27 01 00 Выход Ту

Ь9 55 5b 29 91 75 4b 37 9d аб 8e 60 9815 b6 Oe df 91 8a 56 20 4Ы113 a8 37 6d 1157 ed b2 34 a5 12 32 81 23 cd 6c 03 Ob 54 14 2e 1e c7 78 2b 03 00 be a5 7c c2 al 4c аЗ Ь4 Ю 85 a4 5c d6 ca

Выход T2:

37 M eO 86 52 43 a4 1b 29 14 8d 27 4d 30 631c M bO 12 14 68 d5 27 e4 3b ca 41 la 6b Ь5 3e c8 dl 21 bf c4 62 3a 2e 76 8b 64 54 03 3e 09 52 32 dl 8c 86 a6 8100 98 d3 31 81 7516 59 05 ae db

7) PRF_IPSEC_ PRFPLUS_GOSTR3411_2012_512

Ключ К

c9 a9 a7 73 20 e2 cc 55 9e d7 2d ce 6147 e2 19 2c ce a9 51 a6 48 67 05 82 cO 54 cO el 36 c2 21

Данные S:

01 26 bd b8 78 00 Id 80 60 3c 85 44 c7 27 01 00 Выход Ту

Sd аб 71 43 a511 2a 6d 6e 47 42 59 6139 24 31 cc 61 57 45 91 5b 32 59 10 06 If 78 a2 08 63 d5 18 8e 4a 1c 17 1b be 70 b9 50 95 73 db 00 5e 96 26 36 98 46 cb 86 19 99 71 6c 16 5d dO 6a 15 85

Выход Г2:

48 34 49 5a 43 74 6c b5 31 Oa ba 3b c4 6e be 18 77 Зс аб 4a d3 43 cl 22 ее 2a 57 75 57 03 81 57 ее 9c 38 8d 96 el 71 d5 8b e5 cl el al al a9 5e be 83 e3 9d 00 el 9a 5d 03 dc d6 Oa 01 be a8 e3

12


P 50.1.113—2016

Содержание

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

2    Нормативные ссылки.................................................................1

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

3.1    Термины и определения...........................................................2

3.2    Обозначения....................................................................2

4    Описание алгоритмов.................................................................2

4.1    Алгоритмы НМАС................................................................3

4.2    Псевдослучайные функции.........................................................4

4.3    Алгоритмы согласования ключей VKO...............................................6

4.4    Алгоритм диверсификации KDF_GOSTR3411_2012_256 ................................7

4.5    Алгоритм диверсификации KDF_TREE_GOSTR3411_2012_256...........................8

4.6    Экспорт и импорт ключей..........................................................8

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

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

P 50.1.113—2016

Введение

Использование национальных криптографических алгоритмов, определенных ГОСТ Р 34 10 и ГОСТ Р 34 11. в средствах защиты информации осуществляют, как правило, в рамках криптографических протоколов, базирующихся на сопутствующих алгоритмах.

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

Необходимость разработки настоящих рекомендаций вызвана потребностью в обеспечении совместимости криптографических протоколов различных производителей, использующих алгоритмы ГОСТ Р 34.10 и ГОСТ Р 34.11.

Примечание — Основная часть настоящих рекомендаций дополнена приложением А

IV

РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИИ

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

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

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

Information technology Cryptographic data security Cryptographic algorithms to accompany the usage of digital signature and hash function algorithms

Дата введения — 2017—06—01

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

Настоящие рекомендации предназначены для применения в информационных системах, использующих механизмы шифрования и защиты аутентичности данных, с использованием алгоритмов электронной (цифровой) подписи по ГОСТ Р 34.10 и функции хэширования по ГОСТ Р 34.11 в общедоступных и корпоративных сетях для защиты информации, не содержащей сведений, составляющих государственную тайну.

2    Нормативные ссылки

В настоящих рекомендациях использованы нормативные ссылки на следующие стандарты:

ГОСТ Р 34.10-2012 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи

ГОСТ Р 34.11-2012 Информационная технология. Криптографическая защита информации. Функция хэширования

Примечание — При пользовании настоящими рекомендациями целесообразно проверить действие ссылочных стандартов (рекомендаций) в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю «Национальные стандарты», который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя «Национальные стандарты» за текущий год Если заменен ссылочный стандарт (рекомендации), на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта (рекомендаций) с учетом всех внесенных в данную версию изменений Если заменен ссылочный стандарт (рекомендации), на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта (рекомендаций) с указанным выше годом утверждения (принятия) Если после утверждения настоящих рекомендаций в ссылочный стандарт (рекомендации), на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения Если ссылочный стандарт (рекомендации) отменен без замены, то положение. в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку

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

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

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

В настоящих рекомендациях применены следующие термины с соответствующими определениями:

3.1.1    код аутентификации сообщения на основе хэш-функции НМАС: Механизм обеспечения аутентичности информации на основе симметричного ключа, построенный с использованием хэш-функции.

3.1.2    ключ К: Произвольный элемент из Vn, если К е Vn. то его длина равна п бит, где п может быть произвольным натуральным числом.

3.1.3    псевдослучайная функция PRF: Отображение, позволяющее вырабатывать псевдослучайные последовательности байтов.

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

3.1.5    выработка ключей обмена VKO: Алгоритм согласования ключей (основан на алгоритме Диффи-Хеллмана и некоторой хэш-функции).

3.1.6    битовое представление: Для элемента W- (w°. w1.....v/-1). W e У/битовым представлением называют вектор (w8,_1t wQr_2.....wv Wq) e VQr где w° = (w7, w6.....w0), w’ = (w15, w14.....Wg).....

v/-y ~ (w8r_i. w6r_2.....w8r_g) являются элементами пространства V8.

3.1.7    байтовое представление: Если л кратно г = л/8, то байтовым представлением элемента

W- (w^,    2.....vvq), We Vn называют байтовый вектор (w°. w1.....v/-1). e V8r. где = (w7. w6.....

Wq), w1 = (w15, w14.....Wg),.... v/-1 = (w^,, Wg,_2.....wsr-d являются элементами пространства VQ.

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

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

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

Vn — конечномерное векторное пространство над GF(2) размерности п с операцией сложения Ф; при л. равном 0. пространство V0 состоит из единственного пустого элемента длины 0; если U — элемент Vn. то в битовом представлении U =    и^_2.....ui- ио)■ ui6 {0.1};

V6r — множествобайтовыхвекторовдлиныг,г> 0; при л=0 пространство У0состоит из единственного пустого элемента длины 0; если W — элемент V6r, г > 0. то в байтовом представлении W = (и/1, w1.....w'-1). где vv°, w1.....v/~y принадлежат пространству V8;

А\В — конкатенация байтовых векторов А и 8; если А - (а0, а1..... а'1"1), А е

В = (б°. б1.....б'2"1). В е IV2. то А|8 = (а0, а1.....а'1"1. б°. б1.....б'2"1). А|8 е VQ* * л\

Н2Ъ6 ~ хэш-функция Н с длиной выхода, равной 256 битам, определенная в ГОСТ Р 34.11-2012 (раздел 8);

H5i2 — хэш-функция Н с длиной выхода, равной 256 битам, определенная в ГОСТ Р 34.11-2012 (раздел 8).

4    Описание алгоритмов

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

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

-    функции, описанные в 4.2;

-    алгоритм диверсификации KDF_TREE_GOSTR3411_2012_256. описанный в 4.5.

2

P 50.1.113—2016

Далее все данные (элементы пространства Vn), если явно не указано иное, считают приведенными в байтовом представлении.

Если используемая функция определена вне настоящего документа (например. Н25б) и ее определение использует аргументы в битовом представлении, то подразумевается, что битовое представление аргументов формируется непосредственно перед вычислением функции (в частности, только после применения операции «|» к байтовому представлению аргументов).

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

4.1    Алгоритмы НМАС

В настоящем подразделе определены алгоритмы вычисления кода аутентификации сообщения НМАС на основе хэш-функции Н. определенной в ГОСТ Р 34 11—2012 (раздел 8) с различными длинами выходных значений.

4.1.1    HMAC_GOSTR3411_2012_256

Алгоритм HMAC_GOSTR3411_2012_256 предназначен для вычисления кода аутентификации сообщения НМАС на основе хэш-функции с длиной выхода, равной 256 битам, определенной в ГОСТ Р 34.11-2012 (раздел 8). и имеет следующий идентификатор:

id-tc26-HMAC-gost-3411-12-256. «1.2.643.7.1.1.4.1».

Результатом работы данного алгоритма является значение функции HMAC^iK.T). вычисление которой для данных Т произвольной длины на ключе К длины п бит состоит в формировании байтовой строки К* длины 64 байта и выполнении преобразований над К* и данными Т с использованием хэш-функции Н^.

Допускаются любые значения длины п из интервала от 256 до 512.

Для формирования ключа К* при п < 512 следует положить строку равной байтовому представлению битовой строки К\А. где А = (0.0.....0)    е    V5:2-n-    если    п    =    512.    положить К* равной байтовому пред

ставлению К. Значение HMAC^iK.T) определено выражением:

НШС25в17) = Н256 (К* Ф opad \ Н^ (К* Ф ipad | Т)).    (1)

где в байтовом представлении

ipad = (0x36 | 0x36 |... | 0x36) <* VBU,

opad = (0x5С | 0х5С |... | 0х5С) е V864.

Данный алгоритм использует Н^ в качестве хэш-функции в конструкции НМАС. описанной в (1). Указанный способ формирования ipad и opad также приведен в (1). Длина выхода НШС256 равна 32 байтам, длина блока итерационной процедуры функции сжатия для Н25в равна 64 байтам (в обозначениях [1]: L = 32. В = 64).

4.1.2 HMAC_GOSTR3411_2012_512

Алгоритм НМAC_GOSTR3411 _2012_512 предназначен для вычисления кода аутентификации сообщения НМАС на основе хэш-функции Нс длиной выхода, равной 512 битам, определенной в ГОСТ Р 34.11-2012 (раздел 8). и имеет следующий идентификатор:

id-tc26-HMAC-gost-3411-12-512. «1.2 643.7.1.1.4.2».

Результатом работы данного алгоритма является значение функции НШС512 (К. 7). вычисление которой для данных Т произвольной длины на ключе К длины п бит состоит в формировании байтовой строки К* длины 64 байта и выполнении преобразований над К* и данными Т с использованием хэш-функции Н512. 1

Допускаются любые значения длины п из интервала от 256 до 512. Рекомендуется использовать значение п, равное 512.

Для формирования ключа К* при п< 512 следует положить строку К* равной байтовому представлению битовой строки К\А, где А = (0. 0.....0) € ^512-л: если п = 512. положить К* равной байтовому

представлению К. Значение НШС512 (К. 7) определено выражением:

НМАСЪУ2(К,Т) - Н512 (К* © opad I н512 (К* Ф /рас/1 Т)).    (2)

где в байтовом представлении

ipad = (0x36 | 0x36 |... | 0x36) е Vg64. opad = (0х5С | 0х5С | ... | 0х5С) е Vg64

Данный алгоритм использует Н512 в качестве хэш-функции в конструкции НМАС, описанной в (1). Указанный способ формирования ipad и opad приведен также в [1] Длина выхода Н/ИАС512 равна 64 байтам, длина блока итерационной процедуры функции сжатия для Н512 равна 64 байтам (в обозначениях (1): L = 64. В = 64).

4.2 Псевдослучайные функции

В настоящем подразделе определены шесть рекомендуемых к использованию преобразований PRF — два для протокола TLS и четыре для протокола IPsec. построенных на основе НМАС.

4.2.1    Псевдослучайные функции протокола TLS

4.2.1.1    PRF_TLS_GOSTR3411_2012_256

Преобразование PRF_TLS_GOSTR3411_2012_256 на основе хэш-функции Н с длиной выхода, равной 256 битам, определенной в ГОСТ Р 34.11-2012 (раздел 8), задает псевдослучайную функцию протокола TLS (версии 1.0 и выше), использующую алгоритм HMAC_GOSTR3411_2012_256, описанный в 4.1.1. Результатом работы данного преобразования явпяется значение функции PRFTLS2S6. аРгУ" ментами которой являются байтовые строки secret, label, seed.

PRFTLS25Q (secret, label, seed) = P256 (secret. label \ seed):    (3)

P2S6 (.secret. S) = HMAC^q (secret. A, | S)| HMAC^ (secret. A2 \ S) |....    (4)

где параметры А, определяют последовательно следующим образом:

А, = H/VfAC256 (secret. Ам),

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

Значения параметров label и seed должны задаваться протоколом, их длины должны быть фиксированы протоколом.

Функция    использует функцию НМАС^ описанную в 4.1.1, и соответствует способу задания

аргументов и выходного значения функции расширения данных Р hash. приведенному в разделе 5 (2) и использованному позднее в (5).

4.2.1.2 PRF_TLS_GOSTR3411_2012_512

Преобразование PRF_TLS_GOSTR3411_2012_512 на основе хэш-функции Н с длиной выхода, равной 512 битам, определенной в ГОСТ Р 34,11—2012 (раздел 8), задает псевдослучайную функцию протокола TLS (версии 1.0 и выше), использующую алгоритм HMAC_GOSTR3411_2012_512. описанный в 4.1.2. Результатом работы данного преобразования является значение функции PRFTLS 512. аргументами которой являются байтовые строки secret, label, seed

4

P 50.1.113—2016

PRFtls 512 (secret. label. see<f) = PS12 (secret. label | seed);

(6)

P512 (secret. S) = НШС512 (secret. A, \ S) \ НМАСЪУ2 (secret. A2 | S) |...,    (7)

где параметры А, определяют последовательно следующим образом:

Ad = S.

(8)

Ai = НШС512 (secret. Л,.,).

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

Значения параметров label и seed должны задаваться протоколом, их длины должны быть фиксированы протоколом.

Функция Р512 использует функцию НМЛС512, описанную в 4.1.2, и соответствует способу задания аргументов и выходного значения функции расширения данных Р hast1, приведенному в разделе 5 [2) и использованному позднее в [5].

4.2.2 Псевдослучайные функции протокола IPsec на основе ГОСТ Р 34.11, 256 бит

4.2.2.1 PRF _IPSEC_KEYMAT_GOSTR3411_2012_256

(9)

Преобразование PRF_IPSEC_KEYMAT_GOSTR3411_2012_256 на основе хэш-функции Н с длиной выхода, равной 256 битам, определенной в ГОСТ Р 34.11-2012 (раздел 8). задает псевдослучайную функцию выработки ключевого материала протокола IPsec, использующую алгоритм НМАС_ GOSTR3411_2012_256, описанный в 4.1.1. Результатом работы данного преобразования является значение функции PRFtpSEC keymat 25б- аргументами которой являются байтовые строки К и S.

prfipsec_keymat_256 (K.S) = Г, | Т2 | Т3 |....

где параметры 7} определяют последовательно следующим образом:

(Ю)

Г, = НМАС^ (K.S).

7) = НМАС^ (К,    |    S),

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

Функция PRFIPSec keymat 2S6 (К-S) использует функцию НМАС256, описанную в 4.1.1. и по схеме задания аргументов в итерациях аналогична функции KEYMAT в (3).

4.2.2 2 PRF_IPSEC_PRFPLUS_GOSTR3411_2012_256

Преобразование PRF_IPSEC_PRFPLUS_GOSTR3411_2012_256 на основе хэш-функции Нс длиной выхода, равной 256 битам, определенной в ГОСТ Р 34.11-2012 (раздел 8), задает псевдослучайную функцию выработки ключевого материала протокола IPsec, использующую алгоритм НМАС_ GOSTR3411_2012_256, описанный в 4.1.1. Результатом работы данного преобразования явпяется значение функции PRFIPSEC prfplus 2S6- аргументами которой являются байтовые строки К и S.

PRFIPSEC_PRFPLl/S_256 (*.S) = Ту \ T2 | Г3 | ....    (11)

где параметры 7\ определяют последовательно следующим образом:

Г, = HMAC25Q (K.S | 0x01),

7)=HMAC2se(K.TM|S|i).

где индекс / изменяется в пределах, обеспечивающих выработку последовательности требуемой длины. определяемой протоколом и не превышающей 255 * 256 бит. что соответствует выходной последовательности Т%29\...\ТШ

5

Функция PRFIPSEC prppujs 256 использует функцию HMAC^. описанную в 4.1.1. и по схеме задания аргументов в итерациях аналогична функции prf+ в (6).

4.2.3 Псевдослучайные функции протокола IPsec на основе ГОСТ Р 34.11, 512 бит

4.2.3.1    PRF_IPSEC_KEYMAT_GOSTR3411_2012_512

(13)

Преобразование PRF_IPSEC_KEYMAT_GOSTR3411_2012_512 на основе хэш-функции Н с длиной выхода, равной 512 битам, определенной в ГОСТ Р 34.11-2012 (раздел 8). задает псевдослучайную функцию выработки ключевого материала протокола IPsec. использующую алгоритм НМАС_ GOSTR3411_2012_512. описанный в 4.1.2. Результатом работы данного преобразования является значение функции PRFipsec КЕУМАТ 512. аргументами которой являются байтовые строки К и S.

PRFIPSEC_КЕУМАТ_Ъ\2    = ^1 I т2 I *3    I

где параметры Т( определяют последовательно следующим образом:

(14)

Г, = НМАСъу2 (K.S).

Т,= НШС512(К. 7M|S).

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

Функция PRFipsec кеумат 5i2 (K.S) использует функцию НМАС512, описанную в 4.1.2. и по схеме задания аргументов в итерациях аналогична функции KEYMAT в (3].

4.2.3.2    PRF_IPSEC_PRFPLUS_GOSTR3411_2012_512

Преобразование PRF_IPSEC_PRFPLUS_GOSTR3411_2012_512 на основе хэш-функции Нс длиной выхода, равной 512 битам, определенной в ГОСТ Р 34.11-2012 (раздел 8), задает псевдослучайную функцию выработки ключевого материала протокола IPsec. использующую алгоритм НМАС_ GOSTR3411_2012_512. описанный в 4.1.2. Результатом работы данного преобразования является значение функции PRFIPSec р&рщ$ 512. аргументами которой являются байтовые строки К и S.

PRFIPSEC_PRFPlUS_ 512

(K.S) - 7, | 72 | 73 |....    (15)

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

(16)

7, = HMAC512(K.S | 0x01). 7( = НМАС512 (К, 7_, |S|r).

где индекс / изменяется в пределах, обеспечивающих выработку последовательности требуемой длины. определяемой протоколом и не превышающей 255 * 512 бит, что соответствует выходной последовательности ^1 I 7*2 I ^3 I — I 7255-

Функция PRFipsec ppfplus si2 использует функцию Н/ИАС512, описанную в 4.1.2, и по схеме задания аргументов в итерациях аналогична функции рг/+ в (6).

4.3 Алгоритмы согласования ключей VKO

В настоящем подразделе определены алгоритмы согласования с использованием ключей, определенных в соответствии с ГОСТ Р 34.10-2012 (раздел 5).

4.3.1 VKO_GOSTR3410_2012_256

VKO_GOSTR3410_2012_256 является алгоритмом согласования ключей VKO с длиной 256 бит на основе хэш-функции Нс длиной выхода, равной 256 битам, определенной в ГОСТ Р 34.11-2012 (раздел 8). Алгоритм можно выполнять с использованием ключей, определенных в соответствии с ГОСТ Р 34.10—2012 (раздел 5). длиной 256 и 512 бит.

Данный алгоритм предназначен для получения ключа шифрования либо ключевого материала длины 256 бит. далее используемых в криптографических протоколах. Ключ либо ключевой материал, обозначаемые KEKvko (x,y,UKM), вырабатываются стороной обмена из своего закрытого ключа х, открытого ключа у Р противоположной стороны и величины UKM. рассматриваемой как число.

6

1