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

(утв. Приказом Росстандарта от 07.08.2012 N 216-СТ)
Редакция от 07.08.2012 — Действует с 01.01.2013

 

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

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

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

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

Information technology. Cryptographic data security. Hash-function

ГОСТ Р 34.11-2012

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

1 января 2013 года

Предисловие

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

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

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

2. Внесен Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации".

3. Утвержден и введен в действие Приказом Федерального агентства по техническому регулированию и метрологии от 7 августа 2012 г. N 216-ст.

4. Взамен ГОСТ Р 34.11-94.

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

Введение

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

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

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

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

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

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): итеративно используемая функция, преобразующая строку бит длиной  и полученную на предыдущем шаге строку бит длиной  в строку бит длиной .
[ИСО/МЭК 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]

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

3.1.7.

Электронная цифровая подпись (signature); ЭЦП: строка бит, полученная в результате процесса формирования подписи.
[ИСО/МЭК 14888-1, статья 3.12]

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

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

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

V*множество всех двоичных векторов-строк конечной размерности (далее - векторы), включая пустую строку;
|A|размерность (число компонент) вектора  (если A - пустая строка, то |A| = 0);
Vnмножество всех n-мерных двоичных векторов, где n - целое неотрицательное число; нумерация подвекторов и компонент вектора осуществляется справа налево, начиная с нуля;
операция покомпонентного сложения по модулю 2 двух двоичных векторов одинаковой размерности;
A||Bконкатенация векторов A, , т.е. вектор из V|A|+|B| в котором левый подвектор из V|A| совпадает с вектором A, а правый подвектор из V|B| совпадает с вектором B;
Аnконкатенация n экземпляров вектора A;
кольцо вычетов по модулю 2n;
(операция сложения в кольце ;
биективное отображение, сопоставляющее элементу кольца  его двоичное представление, т.е. для любого элемента z кольца , представленного вычетом , где , j = 0, ..., n - 1, выполнено равенство ;
отображение, обратное отображению Vecn, т.е. ;
отображение, ставящее в соответствие вектору , k >= n, вектор ;
a: = bоперация присваивания переменной a значения b;
произведение отображений, при котором отображение  действует первым;
Mдвоичный вектор, подлежащий хэшированию, , |M| < 2512;
функция хэширования, отображающая вектор (сообщение) M в вектор (хэш-код) H(M);
IVинициализационный вектор функции хэширования, .

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

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

5. ЗНАЧЕНИЯ ПАРАМЕТРОВ

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

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

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

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

, (1)

где .

Значения подстановки  записаны ниже в виде массива :

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

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

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

Линейное преобразование l множества двоичных векторов V64 задается умножением справа на матрицу A над полем GF(2), строки которой записаны ниже последовательно в шестнадцатеричном виде. Строка матрицы с номером j, j = 0, ..., 63, записанная в виде , где , i = 0, ..., 15, есть .

8e20faa72ba0b47047107ddd9b505a38ad08b0e0c3282d1cd8045870ef14980e
6c022c38f90a4c073601161cf205268d1b8е0b0е798с13c883478b07b2468764
a011d380818e8f405086e740ce47c9202843fd2067adea1014aff010bdd87508
0ad97808d06cb40405e23c0468365a028c711e02341b2d0146b60f011a83988e
90dab52a387ae76f486dd4151c3dfdb924b86a840e90f0d2125c354207487869
092e94218d243cba8a174a9ec8121e5d4585254f64090fa0accc9ca9328a8950
9d4df05d5f661451c0a878a0a1330aa660543c50de970553302a1e286fc58ca7
18150f14b9ec46dd0c84890ad27623e00642ca05693b9f700321658cba93c138
86275df09ce8aaa8439da0784e745554afc0503c273aa42ad960281e9d1d5215
e230140fc080298471180a8960409a42b60c05ca30204d215b068c651810a89e
456c34887a3805b9ac361a443d1c8cd2561b0d22900e46692b838811480723ba
9bcf4486248d9f5dc3e9224312c8c1a0effa11af0964ee50f97d86d98a327728
e4fa2054a80b329c727d102a548b194e39b008152acb82279258048415eb419d
492c024284fbaec0aa16012142f35760550b8e9e21f7a530a48b474f9ef5dc18
70a6a56e2440598e3853dc371220a2471ca76e95091051ad0edd37c48a08a6d8
07e095624504536c8d70c431ac02a736c83862965601dd1b641c314b2b8ee083

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

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

Результат умножения вектора  на матрицу A есть вектор :

, (2)

где

для всех i = 0, ..., 63.

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

Итерационные константы записаны в шестнадцатеричном виде. Значение константы, записанное в виде , где , i = 0, ..., 127, есть :

6. ПРЕОБРАЗОВАНИЯ

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

, ​​​​​​​, k, ; (3)

, (4)

где , , i = 0, ..., 63;

, (5)

 где , , i = 0, ..., 63;

, (6)

где , ​​​​​​​, i = 0, ..., 7.

7. ФУНКЦИЯ СЖАТИЯ

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

, (7)

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

, (8)

где .

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

; (9)

, i = 2, ..., 13. (10)

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

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

Исходными данными для процедуры вычисления хэш-кода H(M) является подлежащее хэшированию сообщение ​​​​​​​ и  - инициализаторный вектор .

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

8.1. Этап 1

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

1.1. h := IV,

1.2. ;

1.3. ;

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

8.2. Этап 2

2.1. Проверить условие |M| < 512.

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

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

2.2. Вычислить подвектор  сообщения M: M = M'||m. Далее выполнить последовательность вычислений:

2.3. .

2.4. .

2.5. .

2.6. M := M'.

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

8.3. Этап 3

3.1. .

3.2. .

3.3. .

3.4. .

3.5. ​​​​​​​.

3 6. ​​​​​​​

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

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

Приложение А

(справочное)

КОНТРОЛЬНЫЕ ПРИМЕРЫ

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

Векторы из V* записываются в шестнадцатеричном виде. Вектор , записанный в виде , где , i = 0, ..., n - 1, есть ​​​​​​​​​​​​​​.

А.1. Пример 1

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

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

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

;

;

.

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

m = 01323130393837363534333231303938373635343332313039383

73635343332313039383736353433323130393837363534333

2313039383736353433323130.

Вычисляется значение .

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

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

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

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

Итерация 1

Итерация 2

Итерация 3

Итерация 4

Итерация 5

Итерация 6

Итерация 7

Итерация 8

Итерация 9

Итерация 10

Итерация 11

Итерация 12

Итерация 13

Результат выполнения преобразования :

h = fd102cf8812ccb1191ea34af21394f3817a86641445aa9a626488

adb33738ebd2754f6908cbbbac5d3ed0f522c50815c954135793fb1f5

d905fee4736b3bdae2.

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

N = 00000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000

000000000000000001f8,

Результат выполнения преобразования :

h = 5c881fd924695cf196c2e4fec20d14b642026f2a0b1716

ebaabb7067d4d597523d2db69d6d3794622147a14f19a66e7f9037e1d

662d34501a8901a5de7771d7c.

Результат выполнения преобразования :

h = 486f64c1917879417fef082b3381a4e211c324f074654c38823

a7b76f830ad00fa1fbae42b1285c0352f227524bc9ab16254288dd6863

dccd5b9f54a1ad0541b.

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

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

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

;

 ;

.

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

m: = 013231303938373635343332313039383736353433323130

3938373635343332313039383736353433323130393837363534333

2313039383736353433323130.

Вычисляется значение .

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

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

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

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

Итерация 1

Итерация 2

Итерация 3

Итерация 4

Итерация 5

Итерация 6

Итерация 7

Итерация 8

Итерация 9

Итерация 10

Итерация 11

Итерация 12

Итерация 13

Результат выполнения преобразования :

h = e3bbadbf78af3264c9137127608aa510de90ba4d3075665844965

fb611dbb1998d48552a0c0ce6bcba71bc802a4f5b2d2a07b12c22e

25794178570341096fdc7.

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

N = 0000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000

000000000000000001f8,

​​​​​

Результат выполнения преобразования :

h = 70f22bada4cfe18a6a56ec4b3f328cd40db8e1bf8a9d5f711d5

efab11191279d715aab7648d07eddbf87dc79c80516e6ffcbcf5678

b0ac29ea00fa85c8173cc6.

Результат выполнения преобразования :

h = 00557be5e584fd52a449b16b0251d05d27f94ab76cbaa6da890b59

d8ef1e159d2088e482e2acf564e0e9795a51e4dd261f3f667985a2

fcc40ac8631faca1709a.

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

А.2. Пример 2

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

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

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

  

;

;

.

Длина сообщения ​​​​​​​, поэтому сначала преобразуется часть сообщения

m: = fbeafaebef20fffbf0e1e0f0f520e0ed20e8ece0ebe5f0f2f120

fff0eeec20f120faf2fee5e2202ce8f6f3ede220e8e6eee1e8f0f2d

1202ce8f0f2e5e220e5d1.

Вычисляется значение .

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

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

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

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

Итерация 1

Итерация 2

Итерация 3

Итерация 4

Итерация 5

Итерация 6

Итерация 7

Итерация 8

Итерация 9

Итерация 10

Итерация 11

Итерация 12

Итерация 13

Результат выполнения преобразования :

h = cd7f602312faa465e3bb4ccd9795395de2914e938f10f8e127b

7ac459b0c517b98ef779ef7c7a46aa7843b8889731f482e5d221e8

e2cea852e816cdac407c7af.

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

N = 000000000000000000000000000000000000000000000000000

000000000000000000000000000000000000000000000000000000000

00000000000000000200,

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

m: = 000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000000

1fbe2e5f0eee3c820.

Результат выполнения преобразования ​​​​​​​:

h = c544ae6efdf14404f089c72d5faf8dc6aca1db5e28577fc

07818095f1df70661e8b84d0706811cf92dffb8f96e61493 dc382795c6ed7a17b64685902cbdc878e.

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

N = 00000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000000

0000000000000240,

Результат выполнения преобразования :

h = 4deb6649ffa5caf4163d9d3f9967fbbd6eb3da68f916b6a09f41

f2518b81292b703dc5d74e1ace5bcd3458af43bb456e837326088

f2b5df14bf83997a0b1ad8d.

Результат выполнения преобразования :

h = 28fbc9bada033b1460642bdcddb90c3fb3e56c497ccd0f62b8a2

ad4935e85f037613966de4ee00531ae60f3b5a47f8dae06915d5

f2f194996fcabf2622e6881e.

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

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

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

 

;

 ;

.

Длина сообщения , поэтому сначала преобразуется часть сообщения

m: = fbeafaebef20fffbf0e1e0f0f520e0ed20e8ece0ebe5f0f2f120

fff0eeec20f120faf2fee5e2202ce8f6f3ede220e8e6eee1e8f0f2

d1202ce8f0f2e5e220e5d1.

Вычисляется значение .

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

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

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

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

Итерация 1

Итерация 2

Итерация 3

Итерация 4

Итерация 5

Итерация 6

Итерация 7

Итерация 8

Итерация 9

Итерация 10

Итерация 11

Итерация 12

Итерация 13

Результат выполнения преобразования ​​​​​​​:

h = 203cc15dd55fcaa5b7a3bd98fb2408a67d5b9f33a80bb50540852

b204265a2c1aaca5efe1d8d51b2e1636e34f5becc077d930114

fefaf176b69c15ad8f2b6878.

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

N = 0000000000000000000000000000000000000000000000000000

000000000000000000000000000000000000000000000000000000

0000000000000000000200,

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

m = 000000000000000000000000000000000000000000000000000

000000000000000000000000000000000000000000000000000000000

0001fbe2e5f0eee3c820.

Результат выполнения преобразования ​​​​​​​:

h = a69049e7bd076ab775bc2873af26f098c538b17e39a5c027

d532f0a2b3b56426c96b285fa297b9d39ae6afd8b9001d97bb718a65

fcc53c41b4ebf4991a617227.

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

N = 0000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000

00000000000000000240,

Результат выполнения преобразования :

h = aee3bd55ea6f387bcf28c6dcbdbbfb3ddacc67dcc13dbd8d548

c6bf808111d4b75b8e74d2afae960835ae6a5f03575559c9fd839783

ffcd5cf99bd61566b4818.

Результат выполнения преобразования ​​​​​​​:

h = 508f7e553c06501d749a66fc28c6cac0b005746d97537fa85d9

e40904efed29dc345e53d7f84875d5068e4eb743f0793d673f09741f

9578471fb2598cb35c230.

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

БИБЛИОГРАФИЯ <*>


<*> Оригиналы международных стандартов ИСО/МЭК находятся во ФГУП "Стандартинформ" Федерального агентства по техническому регулированию и метрологии.

[1] ИСО 2382-2:1976
(ISO 2382-2:1976)
Системы обработки информации. Словарь. Часть 2. Арифметические и логические операции (Data processing - Vocabulary - Part 2: Arithmetic and logic operations)
[2] ИСО/МЭК 9796-2:2010
(ISO/IEC 9796-2:2010)
Информационные технологии. Методы обеспечения безопасности. Схемы цифровой подписи, обеспечивающие восстановление сообщений. Часть 2. Механизмы на основе целочисленной факторизации (Information technology - Security techniques - Digital signatures with appendix - Part 2: Integer factorization based mechanisms)
[3] ИСО/МЭК 9796-3:2006
(ISO/IEC 9796-3:2006)
Информационные технологии. Методы обеспечения безопасности. Схемы цифровой подписи, обеспечивающие восстановление сообщений. Часть 3. Механизмы на основе дискретного логарифма (Information technology - Security techniques - Digital signature schemes giving message recovery - Part 3: Discrete logarithm based mechanisms)
[4] ИСО/МЭК 14888-1:2008
(ISO/IEC 14888-1:2008)
Информационные технологии. Методы защиты. Цифровые подписи с приложением. Часть 1. Общие положения (Information technology - Security techniques - Digital signatures with appendix - Part 1: General)
[5] ИСО/МЭК 14888-2:2008
(ISO/IEC 14888-2:2008)
Информационные технологии. Методы защиты. Цифровые подписи с приложением. Часть 2. Механизмы, основанные на разложении на множители (Information technology - Security techniques - Digital signatures with appendix - Part 2: Integer factorization based mechanisms)
[6] ИСО/МЭК 14888-3:2006 (ISO/IEC 14888-3:2006)Информационные технологии. Методы защиты. Цифровые подписи с приложением. Часть 3. Механизмы на основе дискретного логарифма (Information technology - Security techniques - Digital signatures with appendix - Part 3: Discrete logarithm based mechanisms)
 [7] ИСО/МЭК 14888-3:2006/Изм.
1:2010 (ISO/IEC 14888-3:2006/
Amd 1:2010)
Информационные технологии. Методы защиты. Цифровые подписи с приложением. Часть 3. Механизмы на основе дискретного логарифма. Изменение 1. Алгоритм русской цифровой подписи эллиптической кривой, алгоритм цифровой подписи Шнорра, алгоритм цифровой подписи Шнорра для эллиптической кривой и полный алгоритм цифровой подписи Шнорра для эллиптической кривой (Information technology - Security techniques - Digital signatures with appendix - Part 3: Discrete logarithm based mechanisms. Amendment 1. Elliptic Curve Russian Digital Signature Algorithm, Schnorr Digital Signature Algorithm, Elliptic Curve Schnorr Digital Signature Algorithm, and Elliptic Curve Full Schnorr Digital Signature Algorithm)
[8] ИСО/МЭК 10118-1:2000
(ISO/IEC 10118-1:2000)
Информационные технологии. Методы защиты информации. Хэш-функции. Часть 1. Общие положения (Information technology - Security techniques - Hash-functions - Part 1: General)
[9] ИСО/МЭК 10118-2:2010
(ISO/IEC 10118-2:2010)
Информационные технологии. Методы защиты информации. Хэш-функции. Часть 2. Хэш-функции с использованием алгоритма шифрования n-битными блоками (Information technology - Security techniques - Hash-functions- Part 2: Hash-functions using an n-bit block cipher)
[10] ИСО/МЭК 10118-3:2004
(ISO/IEC 10118-3:2004)
Информационные технологии. Методы защиты информации. Хэш-функции. Часть 3. Выделенные хэш-функции (Information technology - Security techniques - Hash-functions - Part 3: Dedicated hash-functions)
[11] ИСО/МЭК 10118-4:1998
(ISO/IEC 10118-4:1998)
Информационные технологии. Методы защиты информации. Хэш-функции. Часть 4. Хэш-функции с применением арифметики в остаточных классах (Information technology - Security techniques - Hash-functions - Part 4: Hash-functions using modular arithmetic)