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

25 страниц

396.00 ₽

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

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

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

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

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

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

 Скачать PDF

Оглавление

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

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

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

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

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

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

5 Значения параметров

     5.1 Инициализационные векторы

     5.2 Нелинейное биективное преобразование множества двоичных векторов

     5.3 Перестановка байт

     5.4 Линейное преобразование множества двоичных векторов

     5.5 Итерационные константы

6 Преобразования

7 Функция сжатия

8 Процедура вычисления хэш-функции

     8.1 Этап 1

     8.2 Этап 2

     8.3 Этап 3

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

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

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

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

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

07.08.2012УтвержденФедеральное агентство по техническому регулированию и метрологии216-ст
РазработанОАО ИнфоТеКС
ИзданСтандартинформ2013 г.

Information technology. Cryptographic data security. Hash function

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

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

ГОСТР

34.11-

2012

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

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

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

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

Москва

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

2013

Предисловие

Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. № 184-ФЗ «О техническом регулировании», а правила применения национальных стандартов Российской Федерации — ГОСТ Р 1.0-2004 «Стандартизация в Российской Федерации. Основные положения»

Сведения о стандарте

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

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

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

4    ВЗАМЕН ГОСТ Р 34.11-94

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

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

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

II

ГОСТ Р 34.11-2012

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

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

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

Векторы из V записываются в шестнадцатеричном виде. Вектор AeV4n, записанный в виде ап_1...а0, где а,- е Z16, / = 0,...,л- 1, есть Vec4(an_1)||...||Vec4(a0).

А.1 Пример 1

Необходимо вычислить хэш-код сообщения

М1 = 32313039383736353433323130393837363534333231303938373635343332313039383736353433323130 3938373635343332313039383736353433323130.

А.1.1 Для функции хэширования с длиной хэш-кода 512 бит Присваиваются значения:

h \= IV= О512;

N := О512;

Е := О512.

Длина сообщения \М^\ = 504 < 512, поэтому происходит заполнение неполного блока: т : = 01323130393837363534333231303938373635343332313039383736353433323130393837363534333231 303938373635343332313039383736353433323130.

Вычисляется значение К := LPS(h © N) = LPS(О512).

После преобразования S:

S(h © N) =

fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc, после преобразования Р:

PS(h © N) =

fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc, после преобразования L

К := LPS{h Ф N) =

b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383

fc2eced4a574b383fc2eced4a574.

Затем выполняется преобразование Е(К, т)\

Итерация 1

Кл = b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced 4a574b383fc2eced4a574b383fc2eced4a574,

ХЩ(т) =

Ь2Ы cdl ef7ec924286b7cf1 cffe49c4c84b5c91 afde694448abbcb18fbe0964682b3c516f9e2904080b1 cdl ef7ec924286b7cf 1 cffe49c4c84b5c91 afde69444,

SX [Kj ](m) =

4645d95fc0beec2c432f8914b62d4efd3e5e37f14b097aead67de417c220b0482492ac996667e0ebdf45d95fc0beec2c432f 8914b62d4efd3e5e37f14b097aea,

PSX[Kj](m) =

46433ed624df433e452f5e7d92452f5ed98937e4acd989375f14f117995H 4f1 C0b64bc266c0b64bbe2d092067be2d09ec4e 7ab0e0ec4e7a2cfdea48eb2cfdea,

LPSX[K^](m) =

e60059d4d8e0758024c73f6f3183653f56579189602ae4c21 e7953ebc0e212a0ce78a8df475c2fd4fc43fc4b71 cOI e35be46 5fb20dad2cf690cdf65028121bb9,

© C1 =

028ba7f4d01 e7f9d5848d3af0eb1 d96b9ce98a6de0917562c2cd44a3bb516188f8ff1 cbf5cb3cc7511 cl d6266ab47661 b6f58 81802a0e8576e0399773c72e073,

S(K, ®c,) =

ddf644e6e15f5733bff249410445536f4e9bd69e200f3596b3d9ea737d70a1 d7d1 b6143b9c9288357758f8ef78278aa155f4 d717dda7cb12b211e87e7f19203d,

PS{Ki ©C,) =

ddbf4eb3d17755b2f6f29bd9b658f4114449d6ea14f8d7e8e6419e733bef177ee104207d9c78dd7f5f450f709227a71957533 5a1888acb20336f96d735a1123d,

7

LPS{K^ © C.|) =

d0b00807642fd78f13f2c3ebc774e80de0e902d23aef2ee9a73d010807dae9c188be14f0b2da27973569cd2ba051301036f 728bd1d7eec33f4d18af70c46cf1e.

Итерация 2

K2 = d0b00807642fd78f13f2c3ebc774e80de0e902d23aef2ee9a73d010807dae9c188be14f0b2da27973569cd2ba0 51301036f728bd1 d7eec33f4d18af70c46cf1 e,

LPSX[K2] LPSX[Kj](m) =

18e77571e703d19548075c574ce5e50e0480c9c5b9f21d45611 ab86cf32e352ad91854ea7df8f863d46333673f62ff2d3efa el cd966f8e2a74ce49902799aad4.

Итерация 3

K3 = 9d4475c7899f2d0bb0e8b7dac6ef6e6b44ecf66716d3a0f16681105e2d 13712a1 a9387ecc257930e2d61014a 1b 5c9fc9e24e7d636eb1607e816dbaf927b8fca9,

LPSX[K3] ... LPSX[Kj](m) =

03dc0a9c64d42543ccdb62960d58c17e0b5b805d08a07406ece679d5f82b70fea22a7ea56e21814619e8749b308214575 489d4d465539852cd4b0cd3829bef39.

Итерация 4

K4 = 5c283daba5ec1f233b8c833c48e1c670dae2e40cc4c3219c73e58856bd96a72fdf9f8055ffe3c004c8cde3b8bf78 f95f3370d0a3d6194ac5782487defd83ca0f,

LPSX[K4] ... LPSX[Kj](m) =

dbee312ea7301b0d6d13e43855e85db81608c780c43675bc93cfd82c1Ь4933Ь3898а35Ы 3e1878abe119e4dffb9de 4889738ca74d064cd9eb732078c1fb25e04.

Итерация 5

K5= 109f33262731f9bd569cbc9317baa551d4d2964fa18d42c41fab4e37225292ec2fd97d7493784779046388469a el 95c436fa7cba93f8239ceb5ffc818826470c,

LPSX[K5] ... LPSX[K^](m) =

7fb3f15718d90e889f9fb7c38f527bec861 c298afb9186934a93c9d96ade20df109379bb9c1 al ffd0ad81 fce7b45ccd54501 e7 d127e32874b5d7927b032de7a1.

Итерация 6

K6 = Ь32с9Ь02667911 Cf8f8a0877be9a170757e25026ccf41 e67c6b5da70b1 Ь874743е1135cfbefe244237555c676c 153d99459bc382573aee2d85d30d99f286c5e7,

LPSX[K6] ... LPSX[Kj](m) =

95efa4e104f235824bae5030fe2d0f170a38de3c9b8fc6d8fa1 a9adc2945c413389a121501 fa71 a65067916b0c06f6b87ce1 8de1 a2a98e0a64670985f47d73f1.

Итерация 7

K7 = 8a13c1b195fd0886ac49989e7d84b08bc7b00e4f3f62765ece6050fcbabdc2346c8207594714e8e9c9c7aad694 edc922d6b01e17285eb7e61502e634559e32f1,

LPSX[K7] ... LPSX[K^](m) =

7ea4385f7e5e40103bfb25c67e404c7524eec43e33b1d06557469c604985430432b43d941b77ffd476103338e9bd5145d9 cl el 8Ы f262b58a81 dcefff6fc6535.

Итерация 8

K8 =52cec3b11448bb8617d0ddfbc926f2e88730cb9179d6decea5acbffd323ec3764c47f7a9e13bb1db56c34203477 3023d617ff01 cc546728e71 dff8de5d128cac,

LPSX[K8] ... LPSX[Kj](m) =

b2426da0e58d5cfe898c36e797993f902531579d8ecc59f8dd8a60802241a4561f290cf992eb398894424bf681636968c16 7e870967b1dd9047293331956daba.

Итерация 9

Kg = f38c5b7947e7736d502007a05ea64a4eb9c243cb82154aa138b963bbb7f28e74d4d710445389671291 d70103f 48fd4d4c01 fc415e3fb7dc61 c6088afa1 al e735,

LPSX[Kg] ... LPSX[Kj](m) =

5e0c9978670b25912dd1 ede5bdd1 cfl 8ed094d14c6d973b731 d50570d0a9bca215415a15031 fd20ddefb5bc61 b96671 d69 02f49df4d2fd346ceebda9431 cb075.

ГОСТ P 34.11—2012

Итерация 10

Кю = 0740b3faa03ed39b257dd6e3db7c1 bf56b6e18e40cdaabd30617cecbaddd618еа5е61 bb4654599581 dd30c24 Clab877ad0687948286cfefaa7eef99f6068b315,

LPSX[Kj0]... LPSX[K^](m) =

cl ddd840fe491393a5d460440e03bf451794e792c0c629e49ab0c1001782dd37691 Cb6896f3e00b87f71 d37a584c35b9cd 8789fad55a46887e5b60e124b51a61.

Итерация 11

Ku = 185811cf3c2633aec8cfdfcae9dbb29347011bf92b95910a3ad71e5fca678e45e374f088f2e5c29496e9695ce89 57837107bb3aa56441 afl 1 a82164893313116,

LPSX[KU]... LPSX[K^](m) =

3f75beaf2911 C35d575088e30542b689c85b6b1607f8b800405941 f5ab7042847b9b08b58b4fbdd6154ed7b366fd3ee778c e647726ddb3c7d48c8ce8866a8435.

Итерация 12

K12 = 9d46bf66234a7ed06c3b2120d2a3f15e0fedd87189b75b3cd2f206906b5ee00dc9a1eab800fb8cc5760b251f4d b5cdef427052fa345613fd076451901279ee4c,

LPSX[Kn]... LPSX[K^](m) =

f35b0d889eadfcff73b6b17f33413a97417d96f0c4cc9d30cda8ebb7dcd5d1b0 61e620bac75b367370605f474ddc006003be c4c4d7ce59a73fbe6766934c55a2.

Итерация 13

Кл з = 0f79104026b900d8d768b6e223484c9761 e3c585b3a405a6d2d8565ada926c3f7782ef127cd6b98290bf6125 58b4b60aa3cbc28fd94f95460d76b621cb45be70,

X[K13]... LPSX[K1](/7?) =

fc221dc8b814fc27a4de079d10097600209e5375776898961f70bded0647bd8f1664cfa8bb8d8ff1e0df3e621568b66aa075 064b0e81ccel32c8d1475809ebd2.

Результат выполнения преобразования gN(h, m):

h = fd 102cf8812ccb 1191 ea34af21394f3817a86641445aa9a626488adb33738ebd2754f6908cbbbac5d3ed0f522c 50815c954135793fb1f5d905fee4736b3bdae2.

Изменяются значения переменных N и £:

N=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000001f8,

I = 0132313039383736353433323130393837363534333231303938373635343332313039383736353433323130 3938373635343332313039383736353433323130.

Результат выполнения преобразования g0(h, N):

h — 5c881 fd924695cf196c2e4fec20d14b642026f2a0b1716ebaabb7067d4d597523d2db69d6d3794622147a14f19a 66e7f9037e1 d662d34501 a8901 a5de7771 d7c.

Результат выполнения преобразования g0(h, Е):

h = 486f64c1917879417fef082b3381 a4e2110324f074654c38823a7b76f830ad00fa1fbae42b1285c0352f227524bc 9ab16254288dd6863dccd5b9f54a1ad0541 b.

Хэш-кодом сообщения W1 является значение

H(M^) = 486f64c1917879417fef082b3381a4e211c324f074654c38823a7b76f830ad00fa1fbae42b1285c0352f 227524bc9ab16254288dd6863dccd5b9f54a1ad0541b.

A.1.2 Для функции хэширования с длиной хэш-кода 256 бит

Присваиваются значения:

h =IV= (00000001 )64;

N := О512;

Е := О512.

Длина сообщения |/W 11 = 504 < 512, поэтому происходит заполнение неполного блока: т : = 01323130393837363534333231303938373635343332313039383736353433323130393837363534333231 303938373635343332313039383736353433323130.

Вычисляется значение К := LPS(h ® N) = LPS((00000001)64).

После преобразования S:

S(h © N) =

еееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее

еееееееееееееееееееееееееееееееее,

9

после преобразования Р:

PS(h © N) =

еееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее

еееееееееееееееееееееееееееееееее,

после преобразования L:

К = LPS(h © N) =

23c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c 5ee40b07b5f1523c5ee40b07b5f15.

Затем выполняется преобразование E(K, m):

Итерация 1

/С, = 23c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b0 7b5f1523c5ee40b07b5f1523c5ee40b07b5f15,

X[Ki](m) =

22f7df708943682316f1 dd72814b662d14f3db7483496e251 afdd976854f6c2712f5d778874d6a2110f7df708943682316f1 d d72814b662d14f3db7483496e25,

SX[K^](m) =

65c061327951 f35a99a6d819f5a29a0193d290ffa92ab25cf14b538aa8cc9d21f0f4fe6dc93a7818e9c061327951 f35a99a6d 819f5a29a0193d290ffa92ab25c,

PSXlK^m) =

659993f1 TOe99993c0a6d24bf4c0a6d261d89053fe61 d8903219ff8a6d3219ff79f5a9a8c979f5a951 a22acc3a51 a22af39ab2 9d78f39ab25a015c21185a015c,

LPSX[K1](m) =

e549368917a0a2611 d5e08c9c2fd5b3c563f18c0f68c410d84ae9d5fbdfb934055650121 b7aa6d7b3e7d09d46ac4358adaa 6ae44fa3b0402c4166d2c3eb2ef02,

/С, 0 O, =

92cdb59aaeb185fcc80ec1 cl 701 e230a0caf98039e3e8ro3528b56cdc5fe9be968b90ed1221 c36148187c448141 b8c0026b 39a767c0f1236fe458b1942dd 1 a 12,

S(K^ 0 0^ =

ecd95e282645a83930045858325f5afa2341dc110ad303110ef676d9ac63509bf3a3041b65148f93f5c986f293bb7cfcef922 88ac34df08f63c8f6362cd8f1 ГО,

ps(k1 © q) =

ec30230ef3f5ef63d90441f6a3c992c85e58dc76048628f6285811d91bf28a3626320aac6593c32c455fd36314bb4dd8a85a 03508f7cf0f139fa119b93fc8ff0,

LPS{Ki © C1) =

18ee8f3176b2ebea3bd6cb8233694cea349769df88be26bf451cfab6a904a549da22de93a66a66b19c7e6b5eea633511 e6 11 d68c8401 bfcd0c7d0cc39d4a5eb9.

Итерация 2

K2 = 18ee8f3176b2ebea3bd6cb8233694cea349769df88be26bf451cfab6a904a549da22de93a66a66b19c7e6b5ee a633511 e611 d68c8401 bfcd0c7d0cc39d4a5eb9,

LPSX[K2]LPSX[K,](m) =

O502dab7e79eb94013fcd1ba64def3b916f18b63855d43d22b77fca1452f9866c2b45089c62e9d82edf1ef45230db9a23c9e 1 c521113376628a5f6a5dbc041 b2.

Итерация 3

K3 = aaa4cf31 a265959157aec8ce91 e7fd46bf27dee21164c5e3940bba1 a519e9d1 fce0913f1253e7757915000cd67 4be12cc7f68e73ba26fb00fd74af4101805f2d,

LPSX[K3]... LPSX[K,](m) =

8e5a4fe41 fc790af29944f027aa2f10105d65cf60a66e442832bb9ab5020dc54772e36b03d4b9aa471037212cde93375226 552392ef4d83010a007e1117a07b5.

Итерация 4

K4 = 61fe0a65cc177af50235e2afadded326a5329a2236747bf8a54228aeca9c4585cd801ea9dd743a0d98d01ef060 2b0e332067fb5ddd6ac1568200311920839286,

LPSX[K4]... LPSX[K^](m) =

dee0b40df69997afef726f03bdc13cb6ba9287698201296f2fd8284f06d33ea4a850a0ff48026dd47c1 e88ec813ed2eb11860 59d842d8d17f0bfa259e56655b1.

ГОСТ P 34.11—2012

Итерация 5

К5 = 9983685f4fd3636f1fd5abb75fbf26a8e2934314aa2ecb3ee4693c86c06c7d4e169bd540af75e1610a546acd63d 960bad595394cc199bf6999a5d5309fe73d5a,

LPSX[K5] ... LPSX[Kj](m) =

675ea894d326432e1af7b201bc369f8ab021f6fa58da09678ffc08ef30db43a37f1f7347cb77da0f6ba30c85848896c3bac24 Oabl 4144283518b89a33d0caf07.

Итерация 6

K6 = TO5772ae2ce7f025156c9a7fbcc6b8fdf1 e735d613946e32922994e52820ffea62615d907eb0551 adl 70990a866 02088af98c83c22cdb0e2be297c13c0f7a156,

LPSX[K6] ... LPSX[Kj](m) =

1 bc204bf9506ee9b86bbcf82d254a112aea6910b6db3805e399cb718d1 b3319964459516967cee4e648e8cfbf81 f56dc8da 6811c469091be5123e6a1d5e28c73.

Итерация 7

K7 = 5ad144c362546e4e46b3e7688829fbb77453e9c3211974330b2b8d0e6be2b5acc89eb6b35167f159b7b005a4 3e5959a651a9b18cfc8e4098fcf03d9b81cfbb8d,

LPSX[K7] ... LPSX[K^](m) =

f30d791ed78bdee819022a3d78182242124efcdd54e203f23fb2dc7f94338ff955a5afc15ffef03165263c4fdb36933aa98201 6471 fbac9419f892551 e9e568b.

Итерация 8

K8 = 6a6cec9a1ba20a8db64fa840b934352b518c638ed530122a83332fe0b8efdac9018287e5a9f509c78d6c746adc d5426fb0a0ad5790dfb73fc1 fl 91 a539016daa,

LPSX[K8] ... LPSX[Kj](m) =

1 fc20f1 e91 al 801 a4293d3f3aa9e91560fcc381 Obbl 5f3ee9741 c9b87452519f67cb9145519884a24de6db736a5cb1430da 7458e5e51b80be5204ba5b2600177.

Итерация 9

K9 = 99217036737aa9b38a8d6643f705bd51f351531 f948f0fc5e35fa35fee9dd8bdbb4c9d580a224e9cd82e0e2069f C49ed367d5f94374435382b8fb6a8f5dd0409,

LPSX[K9] ... LPSX[Kj](m) =

1 a52f09d1 e81515a36171 eObl a2809c50359bed90f2e78cbd89b7d4afa6d046655c96bdae6ee97055cc7e857267c2ccf28c 8f5dd95ed58a9a68c12663bb28967.

Итерация 10

Кю = 906763c0fc89fa1ae69288d8ec9e9dda9a7630e8bfd6c3fed703c35d2e62aeaff0b35d80a7317a7f76f83022f25 26791 ca8fdf678fcb337bd74fe5393ccb05d2,

LPSX[K^0]... LPSX[K^](m) =

764043744a0a93687e65aba8cfc25ec8714fb8e1bdc9ae2271e7205eaaa577c1 ЬЗЬ83е7325е50а19bd2d56b061b5de392 35c9c9fd95e071 al a291 a5f24e8c774.

Итерация 11

= 88ce996c63618e6404a5c8e03ee433854e2ae3eee68991bbbff3c29d38dadb6ed6a1dae9a6dc6ddf52ce34af2 72f96d3159c8c624c3fe6e13d695c0bfc89add5,

LPSX[K^] ... LPSX[К^](m) =

9Ы ce8ff26b445cb288c0aeccf84658eea91 dbdfl 4828bf70110a5c9bd146cd9646350cff4e90e7b63c5cc325e9b441081935 f282d4648d9584f71860538f03b.

Итерация 12

КЛ2 = 3e0a281ea9bd46063eec550100576f3a506aa168cf82915776b978fccaa32f38b55f30c79982ca45628e8365d 8798477e75a49c68199112a1 d7b5a0f7655f2db,

LPSX[K^2]... LPSX[К^](m) =

133aeecede251 eb81914b8ba48dcbc0b8a6fc63a292cc49043c3d3346b3f0829a9cb71 ecff25ed2a91 bdcf8f649907c110cb 76ff2e43100cdd4ba8a147a572f5.

11

Итерация 13

K13 = f0b273409eb31aebe432fbae1867212262c848422b6a92f93f6cbab54ed18b8314b21cffc51e3fa319ff433e76ef 6adb0ef9f5e03c907fa1fcf9eca06500bf03,

X[K13]... LPSX[K^](m) =

e3889d8e40960453fd26431450bb9d29e8a78e78024656697caf698125ee83aabd796d133a3bd28988428cb112766d1a1 e32831f12d36fad21 b2440122a5cdf6.

Результат выполнения преобразования gN{h, m)\

h = e3bbadbf78af3264c9137127608aa510de90ba4d3075665844965fb611 dbbl 998d48552a0c0ce6bcba71 bc802a 4f5b2d2a07b12c22e25794178570341096fdc7.

Изменяются значения переменных N иЕ:

N= 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000001f8,

S = 0132313039383736353433323130393837363534333231303938373635343332313039383736353433323130 3938373635343332313039383736353433323130.

Результат выполнения преобразования gQ(h, N):

h = 70f22bada4cfe18a6a56ec4b3f328cd40db8e1bf8a9d5f711d5efab11191279d715aab7648d07eddbf87dc79c805 16e6ffcbcf5678b0ac29ea00fa85c8173cc6.

Результат выполнения преобразования g0(h, S):

h = 00557be5e584fd52a449b16b0251d05d27f94ab76cbaa6da890b59d8ef1e159d2088e482e2acf564e0e9795a51 e4dd261 f3f667985a2fcc40ac8631 faca 1709a.

Хэш-кодом сообщения M1 является значение:

НЩ) = 00557be5e584fd52a449b16b0251 d05d27f94ab76cbaa6da890b59d8ef1 el 59d.

A.2 Пример 2

Пусть необходимо вычислить хэш-код сообщения

М2 = fbe2e5f0eee3c820fbeafaebef20fffbf0e1 e0f0f520e0ed20e8ece0ebe5f0f2f120fff0eeec20f120faf2fee5e2202ce8 f6f3ede220e8e6eee 1 e8TOf2d 1202ce8TOf2e5e220e5d 1.

A.2.1 Для функции хэширования с длиной хэш-кода 512 бит

Присваиваются значения:

h=IV= О512;

N := О512;

S := О512.

Длина сообщения \М2\ = 576 > 512, поэтому сначала преобразуется часть сообщения

т : = fbeafaebef20fffbf0e1e0f0f520e0ed20e8ece0ebe5f0f2f120fff0eeec20f120faf2fee5e2202ce8f6f3ede220e8e6e eel e8f0f2d 1202ce8f0f2e5e220e5d 1.

Вычисляется значение К := LPS{h © N) = LPS{О512).

После преобразования S:

S(h © N) =

после преобразования Р:


fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc,

PS(h © N) =

fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc,

после преобразования L

LPS(h © N) =

b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383

fc2eced4a574b383fc2eced4a574.

Затем выполняется преобразование £ (К, т):

Итерация 1

/С| = b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced 4a574b383fc2eced4a574b383fc2eced4a574,

Х[К^](т) =

486906c521f45a8f43621cde3bf44599936b10ce2531558642a303de2038858593790ed02b3685585b750fc32cf44d925d6

214de3c0585585b730ecb2cf440a5,

SX [Kj ](m) =

f29131 acl 8e613035196148598e6c8e8de6fe9e75c840c432c731185f906a8a8de5404e1428fa8bf47354d408be63aecb79 693857f6ea8bf473d04e48be6eb00,

ГОСТ P 34.11—2012

PSX[K^]{m) =

f251 de2cde47b74791966f735435963d3114e911044d9304ac85e785e14085e418985cf9428b7f8be6e684068fe66ee613c 80ca8a83aa8eb03e843a8bfecbf00,

LPSX [К^ ](m) =

909aa733e1f52321a2fe35bfb8f67e92fbc70ef544709d5739d8faaca4acf126e83e273745c25b7b8f4a83a7436f6353753cb bbe492262cd3a868eace0104af1,

Кл Ф C1 =

028ba7f4d01 e7f9d5848d3af0eb1 d96b9ce98a6de0917562c2cd44a3bb516188f8ff1 cbf5cb3cc7511 cl d6266ab47661 b6f58 81802a0e8576e0399773c72e073,

S(K, ©c,) =

ddf644e6e15f5733bff249410445536f4e9bd69e200f3596b3d9ea737d70a1 d7d1 b6143b9c9288357758f8ef78278aa155f4 d717dda7cb12b211e87e7f19203d,

PS{Ki e q) =

ddbf4eb3d17755b2f6f29bd9b658f4114449d6ea14f8d7e8e6419e733bef177ee104207d9c78dd7f5f450f709227a71957533 5a1888acb20336f96d735a1123d,

LPS{K1 © C.,) =

d0b00807642fd78f13f2c3ebc774e80de0e902d23aef2ee9a73d010807dae9c188be14f0b2da27973569cd2ba051301036f 728bd1d7eec33f4d18af70c46cf1e.

Итерация 2

K2 = d0b00807642fd78f13f2c3ebc774e80de0e902d23aef2ee9a73d010807dae9c188be14f0b2da27973569cd2ba0 51301036f728bd1 d7eec33f4d18af70c46cf1 e,

LPSX[K2]LPSX[K^]{m) =

301 aadd761 dl 3df0b473055b14a2f74a45f408022aecadd4d5f19cab8228883a021 ac0b62600a495950c628354ffce1161 c6 8b7be7e0c58af090ce6b45e49f16.

Итерация 3

K3 = 9d4475c7899f2d0bb0e8b7dac6ef6e6b44ecf66716d3a0f16681105e2d13712a1 a9387ecc257930e2d61014a1 b5c9fc9e24e7d636eb1607e816dbaf927b8fca9,

LPSX[K3] ... LPSX[Kj](m) =

9b83492b9860a93cbca1c0d8e0ce59db04e10500a6ac85d4103304974e78d32259ceff03fbb353147a9c948786582df78a 34c9bde3f72b3ca41 b9179c2cceef3.

Итерация 4

K4 = 5c283daba5ec1 f233b8c833c48e1 c670dae2e40cc4c3219c73e58856bd96a72fdf9f8055ffe3c004c8cde3b8bf78 f95f3370d0a3d6194ac5782487defd83ca0f,

LPSX[K4] ... LPSX[Kj](m) =

e638e0a1677cdea107ec3402f70698a4038450dab44ac7a447e10155aa33ef1 bdaf8f49da7b66f3e05815045fbd39c991 cb 0dc536e09505fd62d3c2cd00b0f57.

Итерация 5

K5 = 109f33262731f9bd569cbc9317baa551d4d2964fa18d42c41fab4e37225292ec2fd97d7493784779046388469a el 95c436fa7cba93f8239ceb5ffc818826470c,

LPSX[K5] ... LPSX[Kj](m) =

1 c7c8e19b2bf443eb3adc0c787a52a173821 a97bc5a8efea58fb8b27861829f6dd5ff9c97865e08c1 ac66f47392b578e2126 6e323a0aacedeec3ef0314f517c6.

Итерация 6

K6 = b32c9b02667911cf8f8a0877be9a170757e25026ccf41e67c6b5da70b1b874743e1135cfbefe244237555c676c 153d99459bc382573aee2d85d30d99f286c5e7,

LPSX[K6] ... LPSX[Kj](m) =

48fecfc5b3eb77998fb39bfcccd 128cd42fccb714221 be1e675a1c6fdde7e31198b318622412af7e999a3eff45e6d61609a7f2 ae5c2ff1 ab7ff3b37be7011 ba2.

Итерация 7

K7 = 8a13c1b195fd0886ac49989e7d84b08bc7b00e4f3f62765ece6050fcbabdc2346c8207594714e8e9c9c7aad694 edc922d6b01el7285eb7e61502e634559e32f1,

13

LPSX[K7]... LPSX[K^](m) =

a48f8d781 c2c5be417ae644cc2e15a9f01 fcead3232e5bd53f18a5ab875cce1 b8a1 a400cf48521 c7ce27fb1 e94452fb54de2 3118f53b364ee633170a62f5a8a9.

Итерация 8

K8 = 52cec3b11448bb8617d0ddfbc926f2e88730cb9179d6decea5acbffd323ec3764c47f7a9e13bb1 db56c3420347 73023d617ff01 cc546728e71 dff8de5d128cac,

LPSX[K8] ... LPSX[K,](m) =

e8a31 b2e34bd2ae21 b0ecf29cc4c37c75c4d11 d9b82852517515c23e81 e906a451 b72779c3087141 fl al 5ab57f96d7da6c 7ee38ed25befbdef631216356ff59c.

Итерация 9

K9 = f38c5b7947e7736d502007a05ea64a4eb9c243cb82154aa138b963bbb7f28e74d4d710445389671291 d70103f 48fd4d4c01 fc415e3fb7dc61 c6088afa1 al e735,

LPSX[Kg]... LPSX[K^](m) =

34392ed32ea3756e32979cb0a2247c3918e0b38d6455ca88183356bf8e5877e55d542278a696523a8036af0f1c2902e9cb

C585de803ee4d26649c9e1f00bda31.

Итерация 10

K10 = 0740b3faa03ed39b257dd6e3db7c1 bf56b6e18e40cdaabd30617cecbaddd618ea5e61 bb4654599581 dd30c24 cl ab877ad0687948286cfefaa7eef99f6068b315,

LPSX[K|0]... LPSX[Kj](m) =

6a82436950177fea74cce6d507a5a64e54e8a3181458e3bdfbdbc6180c9787de7ccb676dd809e7cb1 eb2c9ebd016561570 801 a4e9ce17a438b85212f4409bb5e.

Итерация 11

Клл = 185811cf3c2633aec8cfdfcae9dbb29347011bf92b95910a3ad71e5fca678e45e374f088f2e5c29496e9695ce89 57837107bb3aa56441 afl 1 a82164893313116,

LPSX[KU]... LPSX[K<\](m) =

7b97603135e2842189b0c9667596e96bd70472ccbc73ae89da7d1599c72860c285f5771088f1fb0f943d949f22f1413c991

eafb51 ab8e5ad8644770037765aec.

Итерация 12

K12 = 9d46bf66234a7ed06c3b2120d2a3f15e0fedd87189b75b3cd2f206906b5ee00dc9a1eab800fb8cc5760b251f4d b5cdef427052fa345613fd076451901279ee4c,

LPSX[KU\... LPSX[K^](m) =

39ec8a88db635b46c4321adf41fd9527a39a67f6d7510db5044f05efaf721db5cf976a726ef33dc4dfcda94033e741a463770

861a5b25fefcb07281eed629c0e.

Итерация 13

K13 = 0179104026b900d8d768b6e223484c9761e3c585b3a405a6d2d8565ada926c3f7782ef127cd6b98290bf6125 58b4b60aa3cbc28fd94f95460d76b621cb45be70,

X[K13]... LPSX[K1](m) =

36959ac8fdda5b9e135aac3d62b5d9b0c279a27364f50813d69753b575e0718ab8158560122584464f72c8656b53f7aec0 bccaee7cfdcaa9c6719e3f2627227e.

Результат выполнения преобразования gN(h, m):

h = Cd7f602312faa465e3bb4ccd9795395de2914e938f10f8e127b7ac459b0c517b98ef779ef7c7a46aa7843b88897 31 f 482e5d221e8e2cea852e816cdac407c7af.

Изменяются значения переменных N и S:

N=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000200,

Е = fbeafaebef20fffbf0e1 e0f0f520e0ed20e8ece0ebe5f0f2f120fff0eeec20f120faf2fee5e2202ce8f6f3ede220e8e6eee 1 e8f0f2d 1202ce8f0f2e5e220e5d 1.

Длина оставшейся части сообщения меньше 512, поэтому происходит заполнение неполного блока. т : = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000001 fbe2e5f0eee3c820.

Результат выполнения преобразования gN(h, т):

h = C544ae6efdf14404f089c72d5faf8dc6aca1db5e28577fc07818095f1df70661e8b84d0706811cf92dffb8f96e61493 dc382795c6ed7a17b64685902cbdc878e.

14

ГОСТ P 34.11—2012

Изменяются значения переменных N и S:

Л/= 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000240,

S = fbeafaebef20fffbf0e1 e0f0f520e0ed20e8ece0ebe5f0f2f120fff0eeec20f120faf2fee5e2202ce8f6f3ede220e8e6eee 1 e8f0f2d 1202ee4d3d8d6d 104adf1.

Результат выполнения преобразования g0(h, N):

h = 4deb6649ffa5caf4163d9d3f9967fbbd6eb3da68f916b6a09f41f2518b81292b703dc5d74e1ace5bcd3458af43bb4 56e837326088f2b5df14bf83997a0b1ad8d.

Результат выполнения преобразования g0(h, Z):

h = 28fbc9bada033b1460642bdcddb90c3fb3e56c497ccd0f62b8a2ad4935e85f037613966de4ee00531ae60f3b5a4 7f8dae06915d5f2f194996fcabf2622e6881 e.

Хэш-кодом сообщения M2 является значение:

Н(М2) = 28fbc9bada033b1460642bdcddb90c3fb3e56c497ccd0f62b8a2ad4935e85f037613966de4ee00531ae60f3 b5a47f8dae06915d5f2f194996fcabf2622e6881 е.

A.2.2 Для функции хэширования с длиной хэш-кода 256 бит

Присваиваются значения:

h =IV= (00000001 )64;

N := О512;

£ := О512.

Длина сообщения |М2| = 576 > 512, поэтому сначала преобразуется часть сообщения

т : = fbeafaebef20fffbf0e1e0f0f520e0ed20e8ece0ebe5f0f2f120fff0eeec20f120faf2fee5e2202ce8f6f3ede220e8e6e ее 1 e8f0f2d 1202ce8f0f2e5e220e5d 1.

Вычисляется значение К := LPS(h © N) = LPS((00000001J64).

После преобразования S:

S(h 0 N) =

ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее

ееееееееееееееееееееееееееееееее,

после преобразования Р:

PS(h 0 N) =

ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее

ееееееееееееееееееееееееееееееее,

после преобразования L:

К := LPS(h © Л/) =

23c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c 5ee40b07b5f1523c5ee40b07b5f15.

Затем выполняется преобразование £ (К, т)\

Итерация 1

Кл = 23c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b0 7b5f1523c5ee40b07b5f1523c5ee40b07b5f15,

X[K,](m) =

d82f14ab5f5ba0eed3240eb0455bbff8032d02a05b9eafe7d2e511b05e977fe4033f1cbe55997f39cb331dad525bb7f3cd240 6b042aa7f39cb351 ca5525bbac4,

SX [К^ ](m) =

8d4f93828747a76c49e204adc8473bd11101 dda7470a415b832b77ad5dbc572d111 fl 4950ce8570be4aecd9f0e472fd2d9e 231ad2c38570be46a14000e47a586,

PSX[Kj](m) =

8d49118311 e4d9e44fe2012Ы faee26a9304dd7714cd311482ada7ad959fad0087c8475d0c0e2c0e47470abce8473847a7 3b4157572f57a56cd15b2d0bd20b86,

LPSX [К^ ](m) =

a3a72a2e0fb5e6f812681222fec037b0db972086a395a387a6084508cae13093aa71 d352dcbce288e9a39718a727f6fd4c5 da5d0bc10fac3707ccd127fe45475,

© C1 =

92cdb59aaeb185fcc80ec1 cl 701 e230a0caf98039e3e8f03528b56cdc5fe9be968b90ed1221 c36148187c448141 b8c0026b 39a767c0f1236fe458b1942dd1 al 2,

S{Ki © q) =

ecd95e282645a83930045858325f5afa2341dc110ad303110ef676d9ac63509bf3a3041b65148f93f5c986f293bb7cfcef922

88ac34df08f63c8f6362cd8f1f0,

15

PS{K^ 0 0,) =

ec30230ef3f5ef63d90441f6a3c992c85e58dc76048628f6285811d91 bf28a3626320aac6593c32c455fd36314bb4dd8a85a 0350817cfOfl 39fa119b93fc8ff0,

LPS{K1 © 0,) =

18ee8f3176b2ebea3bd6cb8233694cea349769df88be26bf451 Cfab6a904a549da22de93a66a66b19c7e6b5eea633511 e6 11 d68c8401 bfcd0c7d0cc39d4a5eb9.

Итерация 2

K2 = 18ee8f3176b2ebea3bd6cb8233694cea349769df88be26bf451 Cfab6a904a549da22de93a66a66b19c7e6b5ee a633511 e611 d68c8401 bfcd0c7d0cc39d4a5eb9,

LPSX[K2] LPSX[Kj](m) =

9f50697b1d9ce23680db1f4d35629778864c55780727aa79eb7bb7d648829cba8674afdac5c62ca352d77556145ca7bc75 8679fbe1fbd32313ca8268a4a603f1.

Итерация 3

K3 = aaa4cf31 a265959157aec8ce91 e7fd46bf27dee21164c5e3940bba1 a519e9d1 fce0913f1253e7757915000cd67 4be12cc7f68e73ba26fb00fd74af4101805f2d,

LPSX[K3] ... LPSX[Kj](m) =

4183027975b257e9bc239b75c977ecc52ddad82c091 e694243c9143a945b4d853116eae14fd81 Ы 4bb47f2c06fd283cb6c 5e61924edfaf971 b78d771858d5310.

Итерация 4

K4 = 61fe0a65cc177af50235e2afadded326a5329a2236747bf8a54228aeca9c4585cd801ea9dd743a0d98d01ef060 2b0e332067fb5ddd6ac1568200311920839286,

LPSX[K4] ... LPSX[K^](m) =

0368c884fcee489207b5b97a133ce39a1ebfe5a3ae3cccb3241de1e7ad72857e76811d324f01fd7a75e0b669e8a22a4d056 ce6af3e876453a9c3c47c767e5712.

Итерация 5

K5 = 9983685f4fd3636f1fd5abb75fbf26a8e2934314aa2ecb3ee4693c86c06c7d4e169bd540af75e1610a546acd63d 960bad595394cc199bf6999a5d5309fe73d5a,

LPSX[K5] ... LPSX[Kj](m) =

c31433ceb8061 e46440144e65553976512e5a9806ac9a2c771 d5932d5f6508c5b78e406c4efab98ac5529be0021 b4d58fa 26Ю1621 ebl 0b43de4c4c47b63f615.

Итерация 6

K6 = TO5772ae2ce7f025156c9a7fbcc6b8fdf1 e735d613946e32922994e52820ffea62615d907eb0551 adl 70990a866 02088af98c83c22cdb0e2be297c13c0f7a156,

LPSX[K6] ... LPSX[Kj](m) =

5d0ae97f252ad04534503fe5f52e9bd07f483ee3b3d206beadc6e736c6e754bb713f97ea7339927893eacf2b474a482cadd 9ac2e58f09bcb440cf36c2d 14a9b6.

Итерация 7

K7 = 5ad144c362546e4e46b3e7688829fbb77453e9c3211974330b2b8d0e6be2b5acc89eb6b35167f159b7b005a4 Зе5959а651 a9b18cfc8e4098fcf03d9b81 cfbb8d,

LPSX[K7] ... LPSX[Kj](m) =

a59aa21e6ad3e330deedb9ab9912205c355b1c479fdfd89a7696d7de66fbf7d3cec25879f7f1a8cca4c793d5f2888407aecb 188bda375eae586a8cfd0245c317.

Итерация 8

K8 = 6a6cec9a1ba20a8db64fa840b934352b518c638ed530122a83332fe0b8efdac9018287e5a9f509c78d6c746adc d5426fb0a0ad5790dfb73fc1 fl 91 a539016daa,

LPSX[K8] ... LPSX[Kj](m) =

9903145a39d5a8c83d28f70fa1fbd88f31b82dc7cfe17b54b50e276cb2c4ac682b4434163f214cf7ce6164a75731bcea5819 e6a6a6fea99da9222951 d2a28e01.

Итерация 9

Kg = 99217036737aa9b38a8d6643f705bd51f351531f948f0fc5e35fa35fee9dd8bdbb4c9d580a224e9cd82e0e2069f C49ed367d5f94374435382b8fb6a8f5dd0409,

16

ГОСТ P 34.11—2012

Содержание

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

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

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

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

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

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

5    Значения параметров.................................................................3

5.1    Инициализационные векторы.......................................................3

5.2    Нелинейное биективное преобразование множества двоичных векторов...................3

5.3    Перестановка байт................................................................4

5.4    Линейное преобразование множества двоичных векторов...............................4

5.5    Итерационные константы...........................................................4

6    Преобразования......................................................................5

7    Функция сжатия......................................................................5

8    Процедура вычисления хэш-функции....................................................6

8.1    Этап 1...........................................................................6

8.2    Этап 2...........................................................................6

8.3    Этап 3...........................................................................6

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

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

III

ГОСТ P 34.11—2012

LPSX[K9] ... LPSX[K,](m) =

ЗЗОебсЫ d04961826aa263f2328f15b4f3370175a6a9fd6505b286efed2d8505f71823337ef71513e57a700eb1672a68557 8e45dad298ee2223d4cb3fda8262f.

Итерация 10

Кю = 906763c0fc89fa1ae69288d8ec9e9dda9a7630e8bfd6c3fed703c35d2e62aeaff0b35d80a7317a7f76f83022f25 26791 ca8fdf678fcb337bd74fe5393ccb05d2,

LPSX[K^0]... LPSX[K^](m) =

ad347608443ab9c9bbb64f633a5749ab85c45d4174bfd78f6bc79fc4f4ce9ad1 dd71 cb2195Ы cfab8dcaaf6f3a65c8bb00798 47a0800e4427d3a0a815f40a644.

Итерация 11

К^ = 88ce996c63618e6404a5c8e03ee433854e2ae3eee68991bbbff3c29d38dadb6ed6a1dae9a6dc6ddf52ce34af2 72f96d3159c8c624c3fe6e13d695c0bfc89add5,

LPSX[K^] ... LPSX[К^](m) =

a065c55e2168c31576a756c7ecc1 a9129cd3d207f8f43073076c30e111fd5f119095ca396e9fb78a2bf4781 c44e845e447b8f c75b788284aae27582212ec23ee.

Итерация 12

КЛ2 = 3e0a281ea9bd46063eec550100576f3a506aa168cf82915776b978fccaa32f38b55f30c79982ca45628e8365d 8798477e75a49c68199112a1 d7b5a0f7655f2db,

LPSX[K^2]... LPSX[К^](m) =

2a6549f7a5cd2eb4a271a7c71762c8683e7a3a906985d60f8fc86f64e35908b29f83b1fe3c704f3c116bdfe660704f3b9c8a1 d0531 baaffaa3940ae9090a33ab.

Итерация 13

/<13 = f0b273409eb31 aebe432fbae1867212262c848422b6a92f93f6cbab54ed18b8314b21 cffc51 e3fa319ff433e76ef 6adb0ef9f5e03c907fa1fcf9eca06500bf03,

X[Kn]... LPSX[K^]{m) =

dad73ab73b7e345f46435c690f05e94a5cb272d242ef44f6b0a4d5d1ad8883318b31ad01f96e709f08949cd8169f25e09273

e8e50d2ad05b5f6de6496c0a8ca8.

Результат выполнения преобразования gN{h, m)\

/7 = 203cc15dd55fcaa5b7a3bd98fb2408a67d5b9f33a80bb50540852b204265a2c1aaca5efe1d8d51b2e1636e34f5becc 077d930114fefaf176b69c15ad8f2b6878.

Изменяются значения переменных N и S:

N =0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000200,

S = fbeafaebef20fffbf0e1 e0f0f520e0ed20e8ece0ebe5f0f2f120fff0eeec20f120faf2fee5e2202ce8f6f3ede220e8e6eee 1 e8f0f2d 1202ce8f0f2e5e220e5d 1.

Длина оставшейся части сообщения меньше 512, поэтому происходит заполнение неполного блока:

т = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000001fbe2e5f0eee3c820.

Результат выполнения преобразования gN{h, т)\

h = a69049e7bd076ab775bc2873af26f098c538b17e39a5c027d532f0a2b3b56426c96b285fa297b9d39ae6afd8b90 01 d97bb718a65fcc53c41 b4ebf4991 a617227.

Изменяются значения переменных N и S:

N =0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000240,

S = fbeafaebef20fffbf0e1e0f0f520e0ed20e8ece0ebe5f0f2f120fff0eeec20f120faf2fee5e2202ce8f6f3ede220e8e6ee el e8f0f2d1202ee4d3d8d6d104adf1.

Результат выполнения преобразования g0(h, Л/):

h = aee3bd55ea6f387bcf28c6dcbdbbfb3ddacc67dcc13dbd8d548c6bf808111d4b75b8e74d2afae960835ae6a5f035 75559c9fd839783ffcd5cf99bd61566b4818.

Результат выполнения преобразования g0(h, S):

h = 508f7e553c06501d749a66fc28c6cac0b005746d97537fa85d9e40904efed29dc345e53d7f84875d5068e4eb743 f0793d673f09741 f9578471fb2598cb35c230.

Хэш-кодом сообщения M2 является значение:

Н{М2) = 508f7e553c06501d749a66fc28c6cac0b005746d97537fa85d9e40904efed29d.

17

Введение

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

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

Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО 2382—2 [1], ИСО/МЭК 9796 [2—3], серии ИСО/МЭК 14888 [4—7] и серии ИСО/МЭК 10118 [8—11].

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

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

IV

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

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

Information technology. Cryptographic data security. Hash-function

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

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

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

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

Стандарт рекомендуется использовать при создании, эксплуатации и модернизации систем обработки информации различного назначения.

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

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

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

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

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

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

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

3.1.1 _

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

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

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

3.1.2_

инициализационный вектор (initializing value): Вектор, определенный как начальная точка работы функции хэширования.

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

3.1.3_

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

3.1.4_

функция сжатия (round-function): Итеративно используемая функция, преобразующая строку бит длиной L1 и полученную на предыдущем шаге строку бит длиной L2 в строку бит длиной /_2. [ИСО/МЭК 10118-1, статья 3.10]

Примечание — В настоящем стандарте понятия «строка бит длиной L» и «двоичный вектор-строка размерности L» считаются тождественными.

3.1.5

хэш-код (hash-code): Строка бит, являющаяся выходным результатом хэш-функции.

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

3.1.6

хэш-функция (collision-resistant hash-function): Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам:

1)    по данному значению функции сложно вычислить исходные данные, отображаемые в это значение;

2)    для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции;

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

[ИСО/МЭК 14888-1, статьи 3.2, 3.7]

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

электронная цифровая подпись (signature); ЭЦП: Строка бит, полученная в результате процесса формирования подписи.

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


3.1.7

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

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

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

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

|/4| размерность (число компонент) вектора AeV* (если А — пустая строка, то |/4| = 0);

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

ГОСТ P 34.11—2012

0

А\\В

Ап

^2П

ш

Vec„ : Z2„ -» Vn

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

конкатенация векторов А, В е V, т. е. вектор из У|д|+|в|> в котором левый подвектор из У|Л| совпадает с вектором А, а правый подвектор из совпадает с вектором В;

конкатенация п экземпляров вектора А; кольцо вычетов по модулю 2п\

операция сложения в кольце Z2„;

биективное отображение, сопоставляющее элементу кольца 1>2п его двоичное представление, т. е. для любого элемента z кольца Z2„, представленного вычетом z0 + 2z1 + ... + 2n-1 zn_p где z( 6 {0, 1}, j = 0, ..., n - 1, выполнено равенство Vec„(z) = z„_1||... ||Zl||z0;

lnt„ : Vn —» Z2„ MSB„ \V*^Vn

a: = b M

H : V*^> Vn IV

отображение, обратное отображению Vecn, т. e. Int„ = Vec"1;

отображение, ставящее в соответствие вектору z/c_111 ... Uz^lzg, к > n, вектор zfc-111 ■■■ llzfc-n+1 Wzk-rv

операция присваивания переменной а значения Ь;

произведение отображений, при котором отображение ¥ действует первым; двоичный вектор, подлежащий хэшированию, М е v*, |М| < 2512; функция хэширования, отображающая вектор (сообщение) М в вектор (хэш-код) Н{М)\

инициализационный вектор функции хэширования, IV е \/512.

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

Настоящий стандарт определяет две функции хэширования Н: V* Vn с длинами хэш-кода п = 512 бит и п = 256 бит.

5 Значения параметров

5.1    Инициализационные векторы

Значение инициализационного вектора IV для функции хэширования с длиной хэш-кода 512 бит равно О512. Значение инициализационного вектора IV для функции хэширования с длиной хэш-кода 256 бит равно (00000001 )64.

5.2    Нелинейное биективное преобразование множества двоичных векторов

Нелинейное биективное преобразование множества двоичных векторов \/8 задается подстановкой

7i Vec87i Intg. Vq —^ Vq,    (1)

где п': Z2s Z2s.

Значения подстановки ж' записаны ниже в виде массива ж' = (ж\0), л’(1),..., 7t'(255)): т£ = (252, 238, 221, 17, 207, 110, 49, 22, 251, 196, 250, 218, 35, 197, 4, 77, 233, 119, 240, 219, 147, 46, 153, 186, 23, 54, 241,187, 20, 205, 95, 193, 249, 24, 101,90, 226, 92, 239, 33, 129, 28, 60, 66, 139, 1, 142, 79, 5, 132, 2, 174, 227, 106, 143, 160, 6, 11,237, 152, 127, 212, 211, 31,235, 52, 44, 81,234, 200, 72, 171, 242, 42, 104, 162, 253, 58, 206, 204, 181, 112, 14, 86, 8, 12, 118, 18, 191, 114, 19, 71,156, 183, 93, 135, 21, 161, 150, 41, 16, 123, 154, 199, 243, 145, 120, 111, 157, 158, 178, 177, 50, 117, 25, 61, 255, 53, 138, 126, 109, 84, 198, 128, 195, 189, 13, 87, 223, 245, 36, 169, 62, 168, 67, 201,215, 121,214, 246, 124, 34, 185, 3, 224, 15, 236, 222, 122, 148, 176, 188, 220, 232, 40, 80, 78, 51, 10, 74, 167, 151, 96, 115, 30, 0, 98, 68, 26, 184, 56, 130, 100, 159, 38, 65, 173, 69, 70, 146, 39, 94, 85, 47, 140, 163, 165, 125, 105, 213, 149, 59, 7, 88, 179, 64, 134, 172, 29, 247, 48, 55, 107, 228, 136, 217, 231, 137, 225,27, 131,73, 76, 63, 248, 254, 141,83,

170, 144, 202, 216, 133, 97, 32, 113, 103, 164, 45, 43, 9, 91,203, 155, 37, 208, 190, 229, 108, 82, 89, 166, 116, 210, 230, 244, 180, 192, 209, 102, 175, 194, 57, 75, 99, 182).

5.3    Перестановка байт

Значения перестановки т, заданной на множестве {0, ..., 63}, записаны ниже в виде массива т = (т(0), т(1).....т(63)):

т = (0, 8, 16, 24, 32, 40, 48, 56, 1,9, 17, 25, 33, 41,49, 57, 2, 10, 18, 26, 34, 42, 50, 58, 3, 11, 19, 27, 35, 43, 51,59, 4, 12, 20, 28, 36, 44, 52, 60, 5, 13, 21,29, 37, 45, 53, 61,6, 14, 22, 30, 38, 46, 54, 62, 7, 15, 23, 31,39, 47, 55, 63).

5.4    Линейное преобразование множества двоичных векторов

Линейное преобразование / множества двоичных векторов V64 задается умножением справа на матрицу А над полем GF(2), строки которой записаны ниже последовательно в шестнадцатеричном виде. Строка матрицы с номером j,j = 0,...,63, записанная в виде ау15 ...ау0, где ау ,• eZ16,/ = 0, ...,15, есть Vec4(ay^ 5) 11... 11Vec4(ay 0).

8e20faa72ba0b470

47107ddd9b505a38

ad08b0e0c3282d1 c

d8045870ef14980e

6c022c38f90a4c07

3601161 cf205268d

1Ь8е0Ь0е798с13c8

83478b07b2468764

а0116380818e8f40

5086e740ce47c920

2843fd2067adea10

14aff010bdd87508

0ad97808d06cb404

05e23c0468365a02

8c711e02341b2d01

46b60f011a83988e

90dab52a387ae76f

486dd4151c3dfdb9

24b86a840e90f0d2

125C354207487869

092e94218d243cba

8a174a9ec8121e5d

4585254f64090fa0

accc9ca9328a8950

9d4df05d5f661451

C0a878a0a1330aa6

60543c50de970553

302a1e286fc58ca7

18150f14b9ec46dd

0c84890ad27623e0

0642ca05693b9f70

0321658cba93c138

86275df09ce8aaa8

439da0784e745554

afc0503c273aa42a

d960281e9d1d5215

e230140fc0802984

71180a8960409a42

b60c05ca30204d21

5b068c651810a89e

456c34887a3805b9

ac361a443d1c8cd2

561b0d22900e4669

2b838811480723ba

9bcf4486248d9f5d

c3e9224312c8c1 aO

effa11af0964ee50

f97d86d98a327728

e4fa2054a80b329c

727d102a548b194e

39b008152acb8227

9258048415eb419d

492c024284fbaec0

aa16012142f35760

550b8e9e21f7a530

a48b474f9ef5dc18

70a6a56e2440598e

3853dc371220a247

1ca76e95091051ad

0edd37c48a08a6d8

07e095624504536c

8d70c431ac02a736

C83862965601ddl b

641c314b2b8ee083

Здесь в одной строке записаны четыре строки матрицы А, при этом в строке с номером /, / = 0,...,15, записаны строки матрицы А с номерами 4/ + j,j = 0,...,3, в следующем порядке (слева направо):

4/ + 0, 4/ + 1,4/ + 2, 4/ + 3.

Результат умножения вектора b = b63...bQ е V64 на матрицу А есть вектор с е V64.

С = ^6з(^еС4(аО,15)11-"11^еС4(аО,о)) ©■■■© Ь0(\/еС46з 15)||...||VeC4(a63 0)),    (^)

О64,    еслиЬ/=0,

Vec4(a63_/15)||...||Vec4(a63_/ о)) еслиЬ, =1,


где Ь/(Vec463_/,is)ll---IIVec4(a63_0)) для всех/ = 0,...,63.


5.5 Итерационные константы

Итерационные константы записаны в шестнадцатеричном виде. Значение константы, записанное в виде а127...а0, где аeZ16, / = 0,., 127, есть Vec4(a127)lI■ ■ ■ IIVec4(a0):

ГОСТ P 34.11—2012

C-i = M 085bda1 ecadae9ebcb2f81 c0657c1 f2f6a76432e45d016714eb88d7585c4fc4b7ce09192676901 a2422a08a460d31505767436cc744d23dd806559f2a64507;

C2 = 6fa3b58aa99d2f1 a4fe39d460f70b5d7f3feea720a232b9861 d55e0f16b501319ab5176Ы 2d699585cb 561c2db0aa7ca55dda21bd7cbcd56e679047021M9bb7;

C3 = f574dcac2bce2fc70a39fc286a3d843506f15e5f529c1 f8bf2ea7514Ы 297b7bd3e20fe490359eb1 c 1 c 93a376062db09c2b6f443867adb31991 e96f50aba0ab2;

C4 = efl fdfb3e81566d2f948e1 a05d71 e4dd488e857e335c3c7d9d721 Cad685e353fa9d72c82ed03d675d 8b71333935203be3453eaa193e837f1220cbebc84e3d12e;

C5 = 4bea6bacad4747999a3f410c6ca923637f151 cl fl 686104a359e35d7800fffbdbfcd1747253af5a 3dfff00b723271 al 67a56a27ea9ea63f5601758fd7c6cfe57;

C6 = ae4faeae1 d3ad3d96fa4c33b7a3039c02d66c4f95142a46c187f9ab49af08ec6cffaa6b71 c9ab7b 40af21 f66c2bec6b6bf71 C57236904f35fa68407a46647d6e;

C7 = f4c70e16eeaac5ec51ac86febf240954399ec6c7e6bf87c9d3473e33197a93c9 0992abc52d822c37 06476983284a05043517454ca23c4af38886564d3a14d493;

C8 = 9b1 f5b424d93c9a703e7aa020c6e41414eb7f8719c36de1 e89b4443b4ddbc49af4892bcb929b0690 69d 18d2bd 1 a5c42f36acc2355951 a8d9a47f0dd4bf02e71 e;

C9 = 378f5a541631229b944c9ad8ec165fde3a7d3a1 b258942243cd955b7e00d0984800a440bdbb2ceb 17b2b8a9aa6079c540e38dc92cb1 f2a607261445183235adb;

о = abbedea680056f52382ae548b2e4f3f38941 e71 cff8a78db1 fffel 8a1 b336103 9fe76702af69334b7a 1e6c303b7652f43698fad1153bb6c374b4c7fb98459ced;

C!= 7bcd9ed0efc889fb3002c6cd635afe94d8fa6bbbebab076120018021148466798a1 d71 efea48b9ca efbacd1d7d476e98dea2594ac06fd85d6bcaa4cd81f32d1b;

С., 2 = 378ee767f11631 bad21380b00449b17acda43c32bcdf1 d77f82012d430219f9b5d80ef9d1891 cc86e 71 da4aa88e12852faf417d5d9b21 b9948bc924af11 bd720.

6 Преобразования

При вычислении хэш-кода Н(М) сообщения М е V* используются следующие преобразования:

Х[к]\ \/512 -> У512. Х[к](а) = к © а, к, а е \/512;    (3)

S: \/512 -> V512, S(a) = S(a63||...||a0) = 7с(а63||...||тс(а0),    (4)

где а = а6з||...||а0 е V5]2, а,-е V8,/= 0,..., 63;

Р[ ^512    ^512> Р(а) = Р(%з11 —Нао) = ах(63)11---Иах(0)-    (5)

где а = а63||...||ао е \/512, а, е \/8, / = 0,..., 63;

L: \/512 -► \/512, Ца) = Ца7||...||а0) = /(а7)||...||/(а0),    (6)

где а = а7||...||а0 е \/512, а, £ VM, i = 0,...,7.

7 Функция сжатия

Значение хэш-кода сообщения М е V* вычисляется с использованием итерационной процедуры. На каждой итерации вычисления хэш-кода используется функция сжатия:

9n- V5M Х ^512    ^512’    N 6    (7)

значение которой вычисляется по формуле

gN(h, т) = E(LPS(h ® /V), т) © h © т,    (8)

где Е(К, т)=Х[К]3] LPSX[KU] ... LPSX[K2]LPSX[K^](m).

Значения е \/512, / = 1.....13,    вычисляются следующим образом:

К, = К;    (9)

Kj = LPS(Ki_ 1 © С,_ 1), / = 2,...,13.    (10)

Для краткости вместо 0О512 будем использовать обозначение д0.

5

ГОСТ P 34.11—2012

8 Процедура вычисления хэш-функции

Исходными данными для процедуры вычисления хэш-кода Н(М) является подлежащее хэшированию сообщение Me V* и IV е \/512-инициализационный вектор.

Алгоритм вычисления функции Н состоит из следующих этапов.

8.1    Этап 1

Присвоить начальные значения текущих величин:

1.1    h:=IV;

1.2    N := О512 е У512;

1.3    £:=0512 € V512;

1.4    Перейти к этапу 2.

8.2 Этап 2

2.1    Проверить условие \М\ < 512.

При положительном исходе перейти к этапу 3.

В противном случае выполнить последовательность вычислений по 2.2—2.7.

2.2    Вычислить под вектор те \/512 сообщения М: М = М'\\т. Далее выполнить последовательность вычислений:

2.3    h := gN(h, т).

2.4    W:=Vec512(lnt512(A/)EEl512).

2.5    £ := VeCg^2 (lnt512(£) Щ lnt512(m)).

2.6    M := M'.

2.7    Перейти к шагу 2.1.

8.3 Этап 3

3.1    т := 0511-1м1||1||М.

3.2    h := gN(h, т).

3.3    N := Vec512(lnt512(/V)B3 |М|).

3.4    £ := Vec512(lnt512(£) FRInt^1?|rn|).

3.5    h ■= g0(h, N).

Г gQ{h, £),    для функции хэширования с длиной хэш-кода 512 бит;

{MSB256(g0(/7- s))> Для функции хэширования с длиной хэш-кода 256 бит.

3.7    Конец работы алгоритма

Значение величины h, полученное на шаге 3.6, является значением функции хэширования Н(М).