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

16 страниц

304.00 ₽

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

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

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

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

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

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

 Скачать PDF

Заменен на ГОСТ Р 34.11-2012

Оглавление

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

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

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

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

5 Шаговая функция хэширования

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

Приложение А Проверочные примеры

 
Дата введения01.01.1995
Добавлен в базу21.05.2015
Завершение срока действия01.01.2013
Актуализация01.01.2021

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

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

23.05.1994УтвержденГосстандарт России154
РазработанТК 22 Информационные технологии
РазработанГлавное управление безопасности связи Федерального агентства правительственной связи и информации
ИзданИздательство стандартов1994 г.

Information technology. Cryptographic data security. Hashing 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

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ

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

ФУНКЦИЯ ХЭШИРОВАНИЯ

БЗ 3-94/131


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

ГОССТАНДАРТ РОССИИ М о с к * а

Предисловие

\ РАЗРАБОТАН Главным управлением безопасности связи Федерального агентства правительственной связи и информации н всероссийским научно-исследовательским институтом стандартизации

ВНЕСЕН Техническим комитетом по стандартизации ТК 22 «Информационная технология» и Федеральным агентством правительственной связи и информации

2    ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 23.05.94 № 154

3    ВВЕДЕН ВПЕРВЫЕ

© Издательство стандартов, 1994

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

it

ГОСТ Р 34.11-94

СОДЕРЖАНИЕ

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

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

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

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

5    Шаговая функция хэширования........3

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

Приложение А Проверочные примеры.......6

III

ВВЕДЕНИЕ

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

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

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

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

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

IV

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

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

Функция хэширования

Information technology.

Cryptographic Data Security.

Hashing function

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

1 ОБЛАСТЬ ПРИМЕНЕНИЯ

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

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

2 НОРМАТИВНЫЕ ССЫЛКИ

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

ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритмы криптографического преобразования.

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

3 ОБОЗНАЧЕНИЯ

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

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

В — множество всех конечных слов в алфавите В = {0,1}. Чтение сюв и нумерация знаков алфавита (символов) осуществляются справа налево (номер правого символа в слове равен единице, второго справа — двум и т. д.).

IAI — длина слова А б В*.

Vic(21 — множество всех бинарных слов длины к.

All В — конкатенация слов А, В 6 В* — слово длины |А| + |В|, в котором левые |А| символов образуют слово А, а правые |В| символов образуют слово В. Можно также использовать обозначение А||В~АВ.

А к — конкатенация к экземпляров слова А (А<: В*).

— слово длины к, содержащее двоичную запись вычета N(mod 2“) неотрицательного целого числа N.

А — неотрицательное целое число, имеющее двоичную запись А (А б В*).

0 — побитовое сложение слов одинаковой длины по модулю 2.

0 ' — сложение по правилу А Ф 'В— <А+В>к, (к=|А|=|В|).

М--последовательность двоичных символов, подлежащая хэшированию /сообщение в системах ЭЦП), М б В*.

h — хзш-ф>нкция, отображающая последовательность Мб В* в слове р(М>еУ2бб(2).

ЕК(А) пез>льтат зашифрования слова А на ключе К с использованием алгоритма шифрования по ГОСТ 28147 в режиме простой замены (K6V256 ( 2), А б V64<2)).

Н- стартовый вектор хэширования.

е - g — присвоение параметру е значения g.

4 ОБЩИЕ ПОЛОЖЕНИЯ

Под хэш-функцией h понимается зависящее от параметра г’артового вектора хэширования Н, являющегося словом из

5б (2)1 отображение

1: Сг.......-\W2).

Для определения хэш-функции необходимы:

—    алгоритм вычисления шаговой функции хэширования и, т. е. отображения

*: УгМ) х\\ч<2)........-V>-6<2);

—    описание итеративной процедуры вычисления значения

хэш-функции h.

ГОСТ Р 34.П—М

5 ШАГОВАЯ ФУНКЦИЯ ХЭШИРОВАНИЯ

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

—    генерацию ключей —слов длины 256 битов;

—    шифрующее преобразование — зашифрование 64-битных подслов слова Н на ключах Ki (i=l, 2, 3, 4) с использованием алгоритма по ГОСТ 28147 в режиме простой замены;

—    перемешивающее преобразование результата шифрования,

5.1 Генерация ключей.

РассмотримX=(b2S6, Ь>, .... b,)eV356(2).

Пусть Х = х43|1х2|х,=

=1hehiJ- • - hi =

— ^S2^3ti- • • Pli

где Xi=(bix64.....b(i_i)x&M-i)6Vet(2), i— 1,4;

7li=(b/xH,..b(j-uxi6+i)tV,6(2), J= 1,16;

'it = (bkx8,..b(it—j>X8-ti)6Ve(2), k = 1,32.

Обозначают A(X)=(X|©x2)jxJX;j||x2.

Используют преобразование Р: V25C(2)--------*■ V35G(2)

слова &3J... |g, в слово ;из2)|. ..{5 fi)(

где f(i+l+4(k-I))=8i+k, i=0-+-3, к = 1н-8.

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

—    слова Н, M6V25e(2);

—    параметры: слова Ci (i = 2, 3, 4), имеющие значения С24=0М“ и С, = I ЧУ I 0*Ч1 ЧУ((У1 ®)21 ЧУ((У18)4( 1 ЧУ )*.

При вычислении ключей реализуется следующий алгоритм-

1    Присвоить значения

1: = 1, U: = H, V:=M.

2    Выполнить вычисление

W = U©V, K, = P(W).

3    Присвоить i:-=i + l.

4    Проверить условие i = 5.

При положительном исходе перейти к шагу 7. При отрицательном — перейти к шагу 5.

5    Выполнить вычисление    _

U: = A(U)®C,, V:=A(A(V)), \V:=U,®V, K|=P(W).

6    Перейти к шагу 3.

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

5.2 Шифрующее преобразование

На данном этапе осуществляется зашифрование 64*битных подслов слова Н на ключах К/ (i = l, 2, 3, 4).

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

H-hJhJhJh,, h,0VC4(2), i=M

и набор ключей К», К2, Кз» К*.

Реализуют алгоритм зашифрования и получают слова

Sj^-EkjOij), где 1=1, 2, 3, 4.

Б результате данного этапа образуется последовательность

S=s4}sajsJS|.

о3 Перемешивающее преобразование

г а д* ином этапе осуществляется перемешивание полученной послед вательности с примененном регистра сдвига.

Исходными данными являются:

глоьа Н. McV256 ( 2)    и слово S€ V2se(2).

Пусть отображение

........-+V2S«(2)

преобразует слово

ч.Л- ■ .l4i, 4ievlb(2), 1=Пб"

ь слово

ъФЧзФъёъФЧ1эё1ЬбЬ|«|‘ • -fas-

Тогда в качестве значения шаговой функции хэширования принимается слово

х(М, М)=фр,(Н'Ф'ИМФф,2(5))), где ф1 - i-я степень преобразования ф.

6 ПРОЦЕДУРА ВЫЧИСЛЕНИЯ ХЭШ-ФУНКЦИИ

Исходными данными для процедуры вычисления значения функции h является подлежащая хэшированию последовательность МО Б*. Параметром является стартовый вектор хэширования Н — произвольное фиксированное слово из V2se (2).

ГОСТ Р 54.11-94

Процедура вычисления функции h на каждой итерации использует следующие величины:

М£В* — часть последовательности М, не прошедшая процедуры хэширования на предыдущих итерациях;

H(jV256(2) —текущее значение хэш-функции;

2 6 V25e(2) —текущее значение контрольной суммы;

L6 V256 ( 2) — текущее значение длины обработанной на предыдущих итерациях части последовательности М.

Алгоритм вычисления функции h включает в себя этапы:

Этап 1

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

1.1    М: =М

1.2    Н: = Н

1.3    £:=(РН

1.4    L:=0*M

1.5    Переход к этапу 2

Этап 2

2.1    Проверить условие |М)>256.

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

В противном случае выполнить последовательность вычислений:

2.2    L:==<L+|M|>2ie

2.3    М,:»0?б1 |М

2.4    2:=ЕФ'М'

2.5    Н: = х(М', Н)

2.6    H:=x(L, Н)

2.7    Н:=*(£, Н)

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

Этап 3

3.1    Вычислить подслово Ms6 V256 ( 2) слова М (M = MP||MS). Далее выполнить последовательность вычислений:

3.2    H: = x(Ms, Н)

3.3    L:= <L-r25b>2fig

3.4    Е: = £ф'М,

3.5    М: = МР

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

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

Проверочные примеры для вышеизложенной процедуры вычисления хэш-функцни приведены в приложении А.

5

ПРИЛОЖЕНИЕ А (справочное)

ПРОВЕРОЧНЫЕ ПРИМЕРЫ

Заполнение узлов замены яь л*,. . ,я8 и значение стартового вектора хэширования Н, указанные в данном приложении, рекомендуется использовать только в проверочных примерах для настоящего стандарта А1 Использование алгоритма ГОСТ 28147 В качестве шифрующего преобразования в приводимых ниже примерах используется алгоритм ГОСТ 28147 з режиме простой замены

8

7

6

5

4

3

о

4.

1

0

1

D

4

6

7

5

Е

4

1

F

В

В

С

D

8

В

А

2

D

4

А

/

А

1

4

9

3

0

1

0

1

1

D

С

2

4

5

3

7

5

0

А

6

D

5

7

F

2

F

8

3

D

8

6

А

5

1

Г)

9

4

\

0

7

4

9

D

8

F

2

А

Е

8

9

0

3

4

Е

Е

2

6

9

2

А

6

А

4

F

3

в

10

3

Е

8

9

6

(.

8

1

11

Е

7

5

V.

С

7

1

С

12

6

6

9

0

в

6

0

7

13

В

8

С

3

2

0

7

F

14

8

2

F

в

5

9

5

5

15

С

С

Е

2

3

В

9

3

При этом заполнение узлов замены щ, я8, ... я8 блока подстановки я следующее.

В столбце с номером j, j—1,8, в строке с номером i, i=0,15, приведено значение Я)0) в шестнадцатеричной системе счисления

А 2 Предста вление векторов

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

АЗ Примеры вычисления значения хэ ш-ф у н к ц и и

В качестве стартового вектора хэширования принимают, например, нулевой вектор

Н=ОООООООО 00000000 00000000 00000000

оооооооо оооооооо оооооооо оооооооо

А3 1 Пусть необходимо выполнить хэширование сообщения

М= 73657479 62203233 3D687467 6F.656C20 2С656761 7373656D 20736920 73696854

Выполняют присвоение начальных значений:

текста

М-73657479 **>203233 3D687467 6Е656С20 *>0)56761 7*.СЯ560 20736920 73696854