ГОСТ 34.11-2018
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
Информационная технология
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Функция хэширования
Information technology. Cryptographic data security. Hash-function
МКС 35.040
Дата введения 2019-06-01
Предисловие
Цели, основные принципы и основной порядок проведения работ по межгосударственной стандартизации установлены в ГОСТ 1.0-2015 "Межгосударственная система стандартизации. Основные положения" и ГОСТ 1.2-2015 "Межгосударственная система стандартизации. Стандарты межгосударственные, правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия, обновления и отмены"
Сведения о стандарте
1 РАЗРАБОТАН Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества "Информационные технологии и коммуникационные системы" (ОАО "ИнфоТеКС")
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
3 ПРИНЯТ Межгосударственным советом по метрологии, стандартизации и сертификации (протокол от 29 ноября 2018 г. N 54)
За принятие проголосовали:
Краткое наименование страны | Код страны | Сокращенное наименование национального органа по стандартизации |
Армения | AM | Минэкономики Республики Армения |
Киргизия | KG | Кыргызстандарт |
Россия | RU | Росстандарт |
Таджикистан | TJ | Таджикстандарт |
Туркмения | ТМ | Главгосслужба "Туркменстандартлары" |
(Поправка. ИУС N 1-2021).
4 Приказом Федерального агентства по техническому регулированию и метрологии от 4 декабря 2018 г. N 1060-ст межгосударственный стандарт ГОСТ 34.11-2018 введен в действие в качестве национального стандарта Российской Федерации с 1 июня 2019 г.
5 Настоящий стандарт подготовлен на основе применения ГОСТ Р 34.11-2012
6 ВВЕДЕН ВПЕРВЫЕ
Информация об изменениях к настоящему стандарту публикуется в ежегодном информационном указателе "Национальные стандарты", а текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячном информационном указателе "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
ВНЕСЕНА поправка, опубликованная в ИУС N 1, 2021 год
Поправка внесена изготовителем базы данных
Введение
Настоящий стандарт содержит описание алгоритма и процедуры вычисления хэш-функции для любой последовательности двоичных символов, которые применяются в криптографических методах защиты информации, в том числе в процессах формирования и проверки электронной цифровой подписи.
Необходимость разработки настоящего стандарта вызвана потребностью в создании на межгосударственном уровне хэш-функции, соответствующей современным требованиям к криптографической стойкости и требованиям межгосударственного стандарта ГОСТ 34.10.
Настоящий стандарт терминологически и концептуально увязан с международным стандартом ИСО 2382* [1], а также международными стандартами серий ИСО/МЭК 9796 [2], [3], ИСО/МЭК 14888 [4]-[6] и ИСО/МЭК 10118 [7]-[10].
________________
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - .
Примечание - Основная часть стандарта дополнена приложением А "Контрольные примеры".
1 Область применения
Настоящий стандарт определяет алгоритм и процедуру вычисления хэш-функции для любой последовательности двоичных символов, которые применяются в криптографических методах обработки и защиты информации, в том числе для реализации процедур обеспечения целостности, аутентичности, электронной цифровой подписи (ЭЦП) при передаче, обработке и хранении информации в автоматизированных системах.
Определенная в настоящем стандарте функция хэширования используется при реализации систем электронной цифровой подписи на базе асимметричного криптографического алгоритма по ГОСТ 34.10.
Стандарт рекомендуется использовать при создании, эксплуатации и модернизации систем обработки информации различного назначения.
2 Нормативные ссылки
В настоящем стандарте использована нормативная ссылка на следующий стандарт:
ГОСТ 34.10-2018 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи
Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочного стандарта в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если ссылочный стандарт заменен (изменен), то при пользовании настоящим стандартом следует руководствоваться заменяющим (измененным) стандартом. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
3 Термины, определения и обозначения
3.1 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
3.1.1 дополнение (padding): Приписывание дополнительных бит к строке бит.
Примечание - Адаптировано из ИСО/МЭК 10118-1 [7].
3.1.2 инициализационный вектор (initializing value): Вектор, определенный как начальная точка работы функции хэширования.
Примечание - Адаптировано из ИСО/МЭК 10118-1 [7].
3.1.3 сообщение (message): Строка бит произвольной конечной длины.
Примечание - Адаптировано из ИСО/МЭК 14888-1 [4].
3.1.4 функция сжатия (round function): Итеративно используемая функция, преобразующая строку бит длиной
Примечания
1 Адаптировано из ИСО/МЭК 10118-1 [7].
2 В настоящем стандарте понятия "строка бит длиной L" и "двоичный вектор-строка размерности L" считаются тождественными.
3.1.5 хэш-код (hash-code): Строка бит, являющаяся выходным результатом хэш-функции.
Примечание - Адаптировано из ИСО/МЭК 10118-1 [7].
3.1.6 хэш-функция (collision-resistant hash-function): Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам:
1) по данному значению функции сложно вычислить исходные данные, отображаемые в это значение;
2) для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции;
3) сложно вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение.
Примечания
1 Адаптировано из ИСО/МЭК 10118-1 [7].
2 В настоящем стандарте в целях сохранения терминологической преемственности по отношению к нормативным документам, действующим на территории государства, принявшего настоящий стандарт, и опубликованным ранее на русском языке научно-техническим изданиям установлено, что термины "хэш-функция", "криптографическая хэш-функция", "функция хэширования" и "криптографическая функция хэширования" являются синонимами.
3.1.7 [электронная цифровая] подпись (signature); ЭЦП: Строка бит, полученная в результате процесса формирования подписи.
Примечания
1 Адаптировано из ИСО/МЭК 14888-1 [4].
2 В настоящем стандарте в целях сохранения терминологической преемственности по отношению к нормативным документам, действующим на территории государства, принявшего настоящий стандарт, и опубликованным ранее на русском языке научно-техническим изданиям установлено, что термины "электронная подпись", "цифровая подпись" и "электронная цифровая подпись" являются синонимами.
3.2 Обозначения
В настоящем стандарте применены следующие обозначения:
V* - множество всех двоичных векторов-строк конечной размерности (далее - векторы), включая пустую строку;
|А| - размерность (число компонент) вектора
А||В - конкатенация векторов A,
а := b - операция присваивания переменной a значения b;
М - двоичный вектор, подлежащий хэшированию, M
IV - инициализационный вектор функции хэширования,
4 Общие положения
Настоящий стандарт определяет две функции хэширования
5 Значения параметров
5.1 Инициализационные векторы
Значение инициализационного вектора IV для функции хэширования с длиной хэш-кода 512 бит равно 0
5.2 Нелинейное биективное преобразование множества двоичных векторов
Нелинейное биективное преобразование множества двоичных векторов
где
Значения подстановки
5.3 Перестановка байт
Значения перестановки
5.4 Линейное преобразование множества двоичных векторов
Линейное преобразование
8e20faa72ba0b470 6c022c38f90a4c07 a011d380818e8f40 0ad97808d06cb404 90dab52a387ae76f 092e94218d243cba 9d4df05d5f661451 18150f14b9ec46dd 86275df09ce8aaa8 e230140fc0802984 456c34887a3805b9 9bcf4486248d9f5d e4fa2054a80b329c 492c024284fbaec0 70a6a56e2440598e 07e095624504536c | 47107ddd9b505a38 3601161cf205268d 5086e740ce47c920 05e23c0468365a02 486dd4151c3dfdb9 8a174a9ec8121e5d c0a878a0a1330aa6 0c84890ad27623e0 439da0784e745554 71180a8960409a42 ac361a443d1c8cd2 c3e9224312c8c1a0 727d102a548b194e aa16012142f35760 3853dc371220a247 8d70c431ac02a736 | ad08b0e0c3282d1c 1b8е0b0е798с13c8 2843fd2067adea10 8c711e02341b2d01 24b86a840e90f0d2 4585254f64090fa0 60543c50de970553 0642ca05693b9f70 afc0503c273aa42a b60c05ca30204d21 561b0d22900e4669 effa11af0964ee50 39b008152acb8227 550b8e9e21f7a530 1ca76e95091051ad c83862965601dd1b | d8045870ef14980e 83478b07b2468764 14aff010bdd87508 46b60f011a83988e 125c354207487869 accc9ca9328a8950 302a1e286fc58ca7 0321658cba93c138 d960281e9d1d5215 5b068c651810a89e 2b838811480723ba f97d86d98a327728 9258048415eb419d a48b474f9ef5dc18 0edd37c48a08a6d8 641c314b2b8ee083 |
Здесь в одной строке записаны четыре строки матрицы А, при этом в строке с номером i, i=0,..., 15, записаны строки матрицы А с номерами 4i+j, j=0, ..., 3 в следующем порядке (слева направо):
4i+0, 4 i+1, 4 i+2, 4i+3.
Результат умножения вектора
где
для всех i=0, ..., 63.
5.5 Итерационные константы
Итерационные константы записаны в шестнадцатеричном виде. Значение константы, записанное в виде
4b7се09192676901a2422a08a460d31505767436cc744d23dd806559f2a64507;
9ab5176b12d699585cb561c2db0aa7ca55dda21bd7cbcd56e679047021b19bb7;
d3e20fe490359eb1c1c93a376062db09c2b6f443867adb31991e96f50aba0ab2;
a9d72c82ed03d675d8b71333935203be3453eaa193e837f1220cbebc84e3d12e;
bfcd1747253af5a3dfff00b723271a167a56a27ea9ea63f5601758fd7c6cfe57;
cffaa6b71c9ab7b40af21f66c2bec6b6bf71c57236904f35fa68407a46647d6e;
0992abc52d822c3706476983284a05043517454ca23c4af38886564d3a14d493;
f4892bcb929b069069d18d2bd1a5c42f36acc2355951a8d9a47f0dd4bf02e71e;
800a440bdbb2ceb17b2b8a9aa6079c540e38dc92cb1f2a607261445183235adb;
9fe76702af69334b7a1e6c303b7652f43698fad1153bb6c374b4c7fb98459ced;
8a1d71efea48b9caefbacd1d7d476e98dea2594ac06fd85d6bcaa4cd81f32d1b;
5d80ef9d1891cc86e71da4aa88e12852faf417d5d9b21b9948bc924af11bd720.
6 Преобразования
При вычислении хэш-кода Н(М) сообщения
где
где
где
7 Функция сжатия
Значение хэш-кода сообщения
значение которой вычисляется по формуле
где
Значения
8 Процедура вычисления хэш-функции
Исходными данными для процедуры вычисления хэш-кода Н(М) является подлежащее хэшированию сообщение
Алгоритм вычисления функции Н состоит из следующих этапов.
8.1 Этап 1
Присвоить начальные значения текущих величин:
Шаг 1.1 - присвоить h := IV;
Шаг 1.2 - присвоить
Шаг 1.3 - присвоить
Шаг 1.4 - перейти к этапу 2.
8.2 Этап 2
Шаг 2.1 - проверить условие |М|<512.
При положительном исходе перейти к этапу 3.
В противном случае выполнить последовательность вычислений по 2.2-2.7;
Шаг 2.2 - вычислить подвектор
Шаг 2.3 - присвоить
Шаг 2.4 - присвоить
Шаг 2.5 - присвоить
Шаг 2.6 - присвоить М :=М';
Шаг 2.7 - перейти к шагу 2.1.
8.3 Этап 3
Шаг 3.1 - присвоить
Шаг 3.2 - присвоить
Шаг 3.3 - присвоить
Шаг 3.4 - присвоить
Шаг 3.5 - присвоить
Шаг 3.6:
Шаг 3.7 - конец работы алгоритма.
Значение величины h, полученное на шаге 3.6, является значением функции хэширования Н(М).
Приложение А
(справочное)
Контрольные примеры
А.1 Общие положения
Настоящее приложение носит справочный характер и не является частью нормативных положений настоящего стандарта.
Векторы из V* записываются в шестнадцатеричном виде. Вектор
А.2 Пример 1
А.2.1 Условие
Необходимо вычислить хэш-код сообщения
3130393837363534333231303938373635343332313039383736353433323130.
А.2.2 Функция хэширования с длиной хэш-кода 512 бит
Присваиваются значения:
Длина сообщения
m :=0132313039383736353433323130393837363534333231303938373635343332
3130393837363534333231303938373635343332313039383736353433323130.
Вычисляется значение
После преобразования S:
после преобразования Р:
после преобразования L:
b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574.
Затем выполняется преобразование Е (K, m):
Итерация 1
b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574,
82b3c516f9e2904080b1cd1ef7ec924286b7cf1cffe49c4c84b5c91afde69444,
2492ac996667e0ebdf45d95fc0beec2c432f8914b62d4efd3e5e37f14b097aea,
c0b64bc266c0b64bbe2d092067be2d09ec4e7ab0e0ec4e7a2cfdea48eb2cfdea,
ce78a8df475c2fd4fc43fc4b71c01e35be465fb20dad2cf690cdf65028121bb9,
f8ff1cbf5cb3cc7511c1d6266ab47661b6f5881802a0e8576e0399773c72e073,
d1b6143b9c9288357758f8ef78278aa155f4d717dda7cb12b211e87e7f19203d,
e104207d9c78dd7f5f450f709227a719575335a1888acb20336f96d735a1123d,
88be14f0b2da27973569cd2ba051301036f728bd1d7eec33f4d18af70c46cf1e.
Итерация 2
88be14f0b2da27973569cd2ba051301036f728bd1d7eec33f4d18af70c46cf1e,
d91854ea7df8f863d46333673f62ff2d3efae1cd966f8e2a74ce49902799aad4.
Итерация 3
1a9387ecc257930e2d61014a1b5c9fc9e24e7d636eb1607e816dbaf927b8fca9,
a22a7ea56e21814619e8749b308214575489d4d465539852cd4b0cd3829bef39.
Итерация 4
df9f8055ffe3c004c8cde3b8bf78f95f3370d0a3d6194ac5782487defd83ca0f,
898a35b13e1878abe119e4dffb9de4889738ca74d064cd9eb732078c1fb25e04.
Итерация 5
2fd97d7493784779046388469ae195c436fa7cba93f8239ceb5ffc818826470c,
109379bb9c1a1ffd0ad81fce7b45ccd54501e7d127e32874b5d7927b032de7a1.
Итерация 6
3e1135cfbefe244237555c676c153d99459bc382573aee2d85d30d99f286c5e7,
389a121501fa71a65067916b0c06f6b87ce18de1a2a98e0a64670985f47d73f1.
Итерация 7
6c8207594714e8e9c9c7aad694edc922d6b01e17285eb7e61502e634559e32f1,
32b43d941b77ffd476103338e9bd5145d9c1e18b1f262b58a81dcefff6fc6535.
Итерация 8
4c47f7a9e13bb1db56c342034773023d617ff01cc546728e71dff8de5d128cac,
1f290cf992eb398894424bf681636968c167e870967b1dd9047293331956daba.
Итерация 9
d4d710445389671291d70103f48fd4d4c01fc415e3fb7dc61c6088afa1a1e735,
15415a15031fd20ddefb5bc61b96671d6902f49df4d2fd346ceebda9431cb075.
Итерация 10
a5e61bb4654599581dd30c24c1ab877ad0687948286cfefaa7eef99f6068b315,
691cb6896f3e00b87f71d37a584c35b9cd8789fad55a46887e5b60e124b51a61.
Итерация 11
e374f088f2e5c29496e9695ce8957837107bb3aa56441af11a82164893313116,
7b9b08b58b4fbdd6154ed7b366fd3ee778ce647726ddb3c7d48c8ce8866a8435.
Итерация 12
c9a1eab800fb8cc5760b251f4db5cdef427052fa345613fd076451901279ee4c,
61e620bac75b367370605f474ddc006003bec4c4d7ce59a73fbe6766934c55a2.
Итерация 13
7782ef127cd6b98290bf612558b4b60aa3cbc28fd94f95460d76b621cb45be70,
1664cfa8bb8d8ff1e0df3e621568b66aa075064b0e81cce132c8d1475809ebd2.
Результат выполнения преобразования
h=fd102cf8812ccb1191ea34af21394f3817a86641445aa9a626488adb33738ebd
2754f6908cbbbac5d3ed0f522c50815c954135793fb1f5d905fee4736b3bdae2.
Изменяются значения переменных N и
N=0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000001f8,
3130393837363534333231303938373635343332313039383736353433323130.
Результат выполнения преобразования
h=5c881fd924695cf196c2e4fec20d14b642026f2a0b1716ebaabb7067d4d59752
3d2db69d6d3794622147a14f19a66e7f9037e1d662d34501a8901a5de7771d7c.
Результат выполнения преобразования
h=486f64c1917879417fef082b3381a4e211c324f074654c38823a7b76f830ad00
fa1fbae42b1285c0352f227524bc9ab16254288dd6863dccd5b9f54a1ad0541b.
Хэш-кодом сообщения
fa1fbae42b1285c0352f227524bc9ab16254288dd6863dccd5b9f54a1ad0541b.
A.2.3 Функция хэширования с длиной хэш-кода 256 бит
Присваиваются значения:
Длина сообщения
m :=0132313039383736353433323130393837363534333231303938373635343332
3130393837363534333231303938373635343332313039383736353433323130.
Вычисляется значение
После преобразования S:
ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее,
после преобразования Р:
ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее,
после преобразования L:
23c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f15.
Затем выполняется преобразование E(K,m):
Итерация 1
23c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f15,
12f5d778874d6a2110f7df708943682316f1dd72814b662d14f3db7483496e25,
f0f4fe6dc93a7818e9c061327951f35a99a6d819f5a29a0193d290ffa92ab25c,
79f5a9a8c979f5a951a22acc3a51a22af39ab29d78f39ab25a015c21185a015c,
55650121b7aa6d7b3e7d09d46ac4358adaa6ae44fa3b0402c4166d2c3eb2ef02,
68b90ed1221c36148187c448141b8c0026b39a767c0f1236fe458b1942dd1a12,
f3a3041b65148f93f5c986f293bb7cfcef92288ac34df08f63c8f6362cd8f1f0,
26320aac6593c32c455fd36314bb4dd8a85a03508f7cf0f139fa119b93fc8ff0,
da22de93a66a66b19c7e6b5eea633511e611d68c8401bfcd0c7d0cc39d4a5eb9.
Итерация 2
da22de93a66a66b19c7e6b5eea633511e611d68c8401bfcd0c7d0cc39d4a5eb9,
c2b45089c62e9d82edf1ef45230db9a23c9e1c521113376628a5f6a5dbc041b2.
Итерация 3
ce0913f1253e7757915000cd674be12cc7f68e73ba26fb00fd74af4101805f2d,
772e36b03d4b9aa471037212cde93375226552392ef4d83010a007e1117a07b5.
Итерация 4
cd801ea9dd743a0d98d01ef0602b0e332067fb5ddd6ac1568200311920839286,
a850a0ff48026dd47c1e88ec813ed2eb1186059d842d8d17f0bfa259e56655b1.
Итерация 5
169bd540af75e1610a546acd63d960bad595394cc199bf6999a5d5309fe73d5a,
7f1f7347cb77da0f6ba30c85848896c3bac240ab14144283518b89a33d0caf07.
Итерация 6
62615d907eb0551ad170990a86602088af98c83c22cdb0e2be297c13c0f7a156,
64459516967cee4e648e8cfbf81f56dc8da6811c469091be5123e6a1d5e28c73.
Итерация 7
c89eb6b35167f159b7b005a43e5959a651a9b18cfc8e4098fcf03d9b81cfbb8d,
55a5afc15ffef03165263c4fdb36933aa982016471fbac9419f892551e9e568b.
Итерация 8
018287e5a9f509c78d6c746adcd5426fb0a0ad5790dfb73fc1f191a539016daa,
67cb9145519884a24de6db736a5cb1430da7458e5e51b80be5204ba5b2600177.
Итерация 9
bb4c9d580a224e9cd82e0e2069fc49ed367d5f94374435382b8fb6a8f5dd0409,
55c96bdae6ee97055cc7e857267c2ccf28c8f5dd95ed58a9a68c12663bb28967.
Итерация 10
f0b35d80a7317a7f76f83022f2526791ca8fdf678fcb337bd74fe5393ccb05d2,
b3b83е7325е50а19bd2d56b061b5de39235c9c9fd95e071a1a291a5f24e8c774.
Итерация 11
d6a1dae9a6dc6ddf52ce34af272f96d3159c8c624c3fe6e13d695c0bfc89add5,
646350cff4e90e7b63c5cc325e9b441081935f282d4648d9584f71860538f03b.
Итерация 12
b55f30c79982ca45628e8365d8798477e75a49c68199112a1d7b5a0f7655f2db,
a9cb71ecff25ed2a91bdcf8f649907c110cb76ff2e43100cdd4ba8a147a572f5.
Итерация 13
14b21cffc51e3fa319ff433e76ef6adb0ef9f5e03c907fa1fcf9eca06500bf03,
bd796d133a3bd28988428cb112766d1a1e32831f12d36fad21b2440122a5cdf6.
Результат выполнения преобразования
h=e3bbadbf78af3264c9137127608aa510de90ba4d3075665844965fb611dbb199
8d48552a0c0ce6bcba71bc802a4f5b2d2a07b12c22e25794178570341096fdc7.
Изменяются значения переменных N и
N=0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000001f8,
3130393837363534333231303938373635343332313039383736353433323130.
Результат выполнения преобразования
h=70f22bada4cfe18a6a56ec4b3f328cd40db8e1bf8a9d5f711d5efab11191279d
715aab7648d07eddbf87dc79c80516e6ffcbcf5678b0ac29ea00fa85c8173cc6.
Результат выполнения преобразования
h=00557be5e584fd52a449b16b0251d05d27f94ab76cbaa6da890b59d8ef1e159d
2088e482e2acf564e0e9795a51e4dd261f3f667985a2fcc40ac8631faca1709a.
Хэш-кодом сообщения
A.3 Пример 2
A.3.1 Условие
Пусть необходимо вычислить хэш-код сообщения
20faf2fee5e2202ce8f6f3ede220e8e6eee1e8f0f2d1202ce8f0f2e5e220e5d1.
A.3.2 Функция хэширования с длиной хэш-кода 512 бит
Присваиваются значения:
Длина сообщения
________________
* Текст документа соответствует оригиналу. - .
m :=fbeafaebef20fffbf0e1e0f0f520e0ed20e8ece0ebe5f0f2f120fff0eeec20f1
20faf2fee5e2202ce8f6f3ede220e8e6eee1e8f0f2d1202ce8f0f2e5e220e5d1.
Вычисляется значение
После преобразования S:
fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc,
после преобразования Р:
fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc,
после преобразования L:
b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574.
Затем выполняется преобразование E(K, m):
Итерация 1
b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574b383fc2eced4a574,
93790ed02b3685585b750fc32cf44d925d6214de3c0585585b730ecb2cf440a5,
de5404e1428fa8bf47354d408be63aecb79693857f6ea8bf473d04e48be6eb00,
18985cf9428b7f8be6e684068fe66ee613c80ca8a83aa8eb03e843a8bfecbf00,
e83e273745c25b7b8f4a83a7436f6353753cbbbe492262cd3a868eace0104af1,
f8ff1cbf5cb3cc7511c1d6266ab47661b6f5881802a0e8576e0399773c72e073,
d1b6143b9c9288357758f8ef78278aa155f4d717dda7cb12b211e87e7f19203d,
e104207d9c78dd7f5f450f709227a719575335a1888acb20336f96d735a1123d,
88be14f0b2da27973569cd2ba051301036f728bd1d7eec33f4d18af70c46cf1e.
Итерация 2
88be14f0b2da27973569cd2ba051301036f728bd1d7eec33f4d18af70c46cf1e,
021ac0b62600a495950c628354ffce1161c68b7be7e0c58af090ce6b45e49f16.
Итерация 3
1a9387ecc257930e2d61014a1b5c9fc9e24e7d636eb1607e816dbaf927b8fca9,
59ceff03fbb353147a9c948786582df78a34c9bde3f72b3ca41b9179c2cceef3.
Итерация 4
df9f8055ffe3c004c8cde3b8bf78f95f3370d0a3d6194ac5782487defd83ca0f,
daf8f49da7b66f3e05815045fbd39c991cb0dc536e09505fd62d3c2cd00b0f57.
Итерация 5
2fd97d7493784779046388469ae195c436fa7cba93f8239ceb5ffc818826470c,
dd5ff9c97865e08c1ac66f47392b578e21266e323a0aacedeec3ef0314f517c6.
Итерация 6
3e1135cfbefe244237555c676c153d99459bc382573aee2d85d30d99f286c5e7,
98b318622412af7e999a3eff45e6d61609a7f2ae5c2ff1ab7ff3b37be7011ba2.
Итерация 7
6c8207594714e8e9c9c7aad694edc922d6b01e17285eb7e61502e634559e32f1,
8a1a400cf48521c7ce27fb1e94452fb54de23118f53b364ee633170a62f5a8a9.
Итерация 8
4c47f7a9e13bb1db56c342034773023d617ff01cc546728e71dff8de5d128cac,
51b72779c3087141f1a15ab57f96d7da6c7ee38ed25befbdef631216356ff59c.
Итерация 9
d4d710445389671291d70103f48fd4d4c01fc415e3fb7dc61c6088afa1a1e735,
5d542278a696523a8036af0f1c2902e9cbc585de803ee4d26649c9e1f00bda31.
Итерация 10
a5e61bb4654599581dd30c24c1ab877ad0687948286cfefaa7eef99f6068b315,
7ccb676dd809e7cb1eb2c9ebd016561570801a4e9ce17a438b85212f4409bb5e.
Итерация 11
e374f088f2e5c29496e9695ce8957837107bb3aa56441af11a82164893313116,
85f5771088f1fb0f943d949f22f1413c991eafb51ab8e5ad8644770037765aec.
Итерация 12
c9a1eab800fb8cc5760b251f4db5cdef427052fa345613fd076451901279ee4c,
cf976a726ef33dc4dfcda94033e741a463770861a5b25fefcb07281eed629c0e.
Итерация 13
7782ef127cd6b98290bf612558b4b60aa3cbc28fd94f95460d76b621cb45be70,
b8158560122584464f72c8656b53f7aec0bccaee7cfdcaa9c6719e3f2627227e.
Результат выполнения преобразования
h=cd7f602312faa465e3bb4ccd9795395de2914e938f10f8e127b7ac459b0c517b
98ef779ef7c7a46aa7843b8889731f482e5d221e8e2cea852e816cdac407c7af.
Изменяются значения переменных N и
N=0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000200,
20faf2fee5e2202ce8f6f3ede220e8e6eee1e8f0f2d1202ce8f0f2e5e220e5d1.
Длина оставшейся части сообщения меньше 512, поэтому происходит дополнение неполного блока.
m :=0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000001fbе2е5f0еее3с820.
Результат выполнения преобразования
h=c544ae6efdf14404f089c72d5faf8dc6aca1db5e28577fc07818095f1df70661
e8b84d0706811cf92dffb8f96e61493dc382795c6ed7a17b64685902cbdc878e.
Изменяются значения переменных N и
N=0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000240,
20faf2fee5e2202ce8f6f3ede220e8e6eee1e8f0f2d1202ee4d3d8d6d104adf1.
Результат выполнения преобразования
h=4deb6649ffa5caf4163d9d3f9967fbbd6eb3da68f916b6a09f41f2518b81292b
703dc5d74e1ace5bcd3458af43bb456e837326088f2b5df14bf83997a0b1ad8d.
Результат выполнения преобразования
h=28fbc9bada033b1460642bdcddb90c3fb3e56c497ccd0f62b8a2ad4935e85f03
7613966de4ee00531ae60f3b5a47f8dae06915d5f2f194996fcabf2622e6881e.
Хэш-кодом сообщения
7613966de4ee00531ae60f3b5a47f8dae06915d5f2f194996fcabf2622e6881e.
A.3.3 Функция хэширования с длиной хэш-кода 256 бит
Присваиваются значения:
Длина сообщения
m := fbeafaebef20fffbf0e1e0f0f520e0ed20e8ece0ebe5f0f2f120fff0eeec20f1
20faf2fee5e2202ce8f6f3ede220e8e6eee1e8f0f2d1202ce8f0f2e5e220e5d1.
Вычисляется значение
После преобразования S:
ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее,
после преобразования Р:
ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее,
после преобразования L:
23c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f15.
Затем выполняется преобразование E(K,m):
Итерация 1
23c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f1523c5ee40b07b5f15,
033f1cbe55997f39cb331dad525bb7f3cd2406b042aa7f39cb351ca5525bbac4,
111f14950ce8570be4aecd9f0e472fd2d9e231ad2c38570be46a14000e47a586,
87c8475d0c0e2c0e47470abce8473847a73b4157572f57a56cd15b2d0bd20b86,
aa71d352dcbce288e9a39718a727f6fd4c5da5d0bc10fac3707ccd127fe45475,
68b90ed1221c36148187c448141b8c0026b39a767c0f1236fe458b1942dd1a12,
f3a3041b65148f93f5c986f293bb7cfcef92288ac34df08f63c8f6362cd8f1f0,
26320aac6593c32c455fd36314bb4dd8a85a03508f7cf0f139fa119b93fc8ff0,
da22de93a66a66b19c7e6b5eea633511e611d68c8401bfcd0c7d0cc39d4a5eb9.
Итерация 2
da22de93a66a66b19c7e6b5eea633511e611d68c8401bfcd0c7d0cc39d4a5eb9,
8674afdac5c62ca352d77556145ca7bc758679fbe1fbd32313ca8268a4a603f1.
Итерация 3
ce0913f1253e7757915000cd674be12cc7f68e73ba26fb00fd74af4101805f2d,
3116eae14fd81b14bb47f2c06fd283cb6c5e61924edfaf971b78d771858d5310.
Итерация 4
cd801ea9dd743a0d98d01ef0602b0e332067fb5ddd6ac1568200311920839286,
76811d324f01fd7a75e0b669e8a22a4d056ce6af3e876453a9c3c47c767e5712.
Итерация 5
169bd540af75e1610a546acd63d960bad595394cc199bf6999a5d5309fe73d5a,
b78e406c4efab98ac5529be0021b4d58fa26f01621eb10b43de4c4c47b63f615.
Итерация 6
62615d907eb0551ad170990a86602088af98c83c22cdb0e2be297c13c0f7a156,
713f97ea7339927893eacf2b474a482cadd9ac2e58f09bcb440cf36c2d14a9b6.
Итерация 7
c89eb6b35167f159b7b005a43e5959a651a9b18cfc8e4098fcf03d9b81cfbb8d,
cec25879f7f1a8cca4c793d5f2888407aecb188bda375eae586a8cfd0245c317.
Итерация 8
018287e5a9f509c78d6c746adcd5426fb0a0ad5790dfb73fc1f191a539016daa,
2b4434163f214cf7ce6164a75731bcea5819e6a6a6fea99da9222951d2a28e01.
Итерация 9
bb4c9d580a224e9cd82e0e2069fc49ed367d5f94374435382b8fb6a8f5dd0409,
f71823337ef71513e57a700eb1672a685578e45dad298ee2223d4cb3fda8262f.
Итерация 10
f0b35d80a7317a7f76f83022f2526791ca8fdf678fcb337bd74fe5393ccb05d2,
dd71cb2195b1cfab8dcaaf6f3a65c8bb0079847a0800e4427d3a0a815f40a644.
Итерация 11
d6a1dae9a6dc6ddf52ce34af272f96d3159c8c624c3fe6e13d695c0bfc89add5,
9095ca396e9fb78a2bf4781c44e845e447b8fc75b788284aae27582212ec23ee.
Итерация 12
b55f30c79982ca45628e8365d8798477e75a49c68199112a1d7b5a0f7655f2db,
9f83b1fe3c704f3c116bdfe660704f3b9c8a1d0531baaffaa3940ae9090a33ab.
Итерация 13
14b21cffc51e3fa319ff433e76ef6adb0ef9f5e03c907fa1fcf9eca06500bf03,
8b31ad01f96e709f08949cd8169f25e09273e8e50d2ad05b5f6de6496c0a8ca8.
Результат выполнения преобразования
h=203cc15dd55fcaa5b7a3bd98fb2408a67d5b9f33a80bb50540852b204265a2c1
aaca5efe1d8d51b2e1636e34f5becc077d930114fefaf176b69c15ad8f2b6878.
Изменяются значения переменных N и
N=0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000200,
20faf2fee5e2202ce8f6f3ede220e8e6eee1e8f0f2d1202ce8f0f2e5e220e5d1.
Длина оставшейся части сообщения меньше 512, поэтому происходит дополнение неполного блока:
т=0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000001fbе2е5f0еее3с820.
Результат выполнения преобразования
h=a69049e7bd076ab775bc2873af26f098c538b17e39a5c027d532f0a2b3b56426
c96b285fa297b9d39ae6afd8b9001d97bb718a65fcc53c41b4ebf4991a617227.
Изменяются значения переменных N и
N=0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000240,
20faf2fee5e2202ce8f6f3ede220e8e6eee1e8f0f2d1202ee4d3d8d6d104adf1.
Результат выполнения преобразования
h=aee3bd55ea6f387bcf28c6dcbdbbfb3ddacc67dcc13dbd8d548c6bf808111d4b
75b8e74d2afae960835ae6a5f03575559c9fd839783ffcd5cf99bd61566b4818.
Результат выполнения преобразования
h=508f7e553c06501d749a66fc28c6cac0b005746d97537fa85d9e40904efed29d
c345e53d7f84875d5068e4eb743f0793d673f09741f9578471fb2598cb35c230.
Хэш-кодом сообщения
Библиография
Примечание - Оригиналы международных стандартов ИСО и ИСО/МЭК находятся в национальных (государственных) органах по стандартизации* государств, принявших настоящий стандарт.
______________
* В Российской Федерации оригиналы международных стандартов ИСО/МЭК находятся в Федеральном информационном фонде стандартов.
[1] | ИСО 2382:2015 (ISO 2382:2015) | Информационная технология. Словарь (Information technology - Vocabulary) |
[2] | ИСО/МЭК 9796-2:2010 (ISO/IEC 9796-2:2010) | Информационные технологии. Методы обеспечения безопасности. Схемы цифровой подписи, обеспечивающие восстановление сообщений. Часть 2. Механизмы на основе целочисленной факторизации (Information technology - Security techniques - Digital signature schemes giving message recovery - 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:2016 (ISO/IEC 14888-3:2016) | Информационная технология. Методы и средства обеспечения безопасности. Цифровые подписи с приложением. Часть 3. Механизмы на основе дискретного логарифма (Information technology - Security techniques - Digital signatures with appendix - Part 3: Discrete logarithm based mechanisms) |
[7] | ИСО/МЭК 10118-1:2016 (ISO/IEC 10118-1:2016) | Информационная технология. Методы защиты информации. Хэш-функции. Часть 1. Общие положения (Information technology - Security techniques - Hash-functions - Part 1: General) |
[8] | ИСО/МЭК 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) |
[9] | ИСО/МЭК 10118-3:2004 (ISO/IEC 10118-3:2004) | Информационные технологии. Методы защиты информации. Хэш-функции. Часть 3. Выделенные хэш-функции (Information technology - Security techniques - Hash-functions - Part 3: Dedicated hash-functions) |
[10] | ИСО/МЭК 10118-4:1998 (ISO/IEC 10118-4:1998) | Информационные технологии. Методы защиты информации. Хэш-функции. Часть 4. Хэш-функции с применением арифметических операций над абсолютными значениями чисел (Information technology - Security techniques - Hash-functions - Part 4: Hash-functions using modular arithmetic) |
УДК 681.3.06:006.354 | МКС 35.040 |
Ключевые слова: информационная технология, криптографическая защита информации, функция хэширования, хэш-функция, электронная цифровая подпись, асимметричный криптографический алгоритм, системы обработки информации, защита сообщений, подтверждение подписи |
Редакция документа с учетом
изменений и дополнений подготовлена