НАЦІОНАЛЬНИЙ СТАНДАРТ УКРАЇНИ
Інформаційні технології
МЕТОДИ ЗАХИСТУ
ГЕШ-ФУНКЦІЇ
Частина 3. Спеціалізовані геш-функції
(ISO/IEC 10118-3:2004, IDT)
Д
БЗ № 11-2004/635
СТУ ISO/IEC 10118-3:2005Видання офіційне
Київ
ДЕРЖСПОЖИВСТАНДАРТ УКРАЇНИ
2006
ПЕРЕДМОВА
ВНЕСЕНО: Технічний комітет зі стандартизації України «Інформаційні технології» (ТК 20)
ПЕРЕКЛАД і НАУКОВО-ТЕХНІЧНЕ РЕДАГУВАННЯ: А. Анісімов, д-р фіз.-мат. наук (науковий керівник); Т. Аванесов; В. Ткаченко; О. Фаль, канд. фіз.-мат. наук
НАДАНО ЧИННОСТІ; наказ Держспоживстандарту України від 3 березня 2005 р. № 57 з 2006-07-01
З Національний стандарт відповідає міжнародному стандарту ISO/IEC 10118-3:2004 Information technology — Security techniques — Hash-functions — Part 3: Dedicated hash-functions (Інформаційні технології. Методи захисту. Геш-функції. Частина 3. Спеціалізовані геш-функції)
Ступінь відповідності — ідентичний (IDT)
Переклад з англійської (еп)
4 УВЕДЕНО ВПЕРШЕ
Право власності на цей документ належить державі.
Відтворювати, тиражувати і розповсюджувати його повністю чи частково
на будь-яких носіях інформації без офіційного дозволу заборонено.
Стосовно врегулювання прав власності треба звертатися до Держспоживстандарту України
Держспоживстандарт України. 200
6ЗМІСТ
с.
Національний вступ V
Передмова до ISO/IEC 10118-3 VI
Вступ до SO/IEC 10118-3 VI
Сфера застосування 1
Нормативні посилання 1
Терміни та визначення понять 1
Познаки та скорочення 2
Познаки, визначені в ISO/IEC 10118-1 2
Познаки, використані у цьому стандарті 2
Вимоги до об’єкта стандартизації З
Модель спеціалізованих геш-функцій 4
Спеціалізована геш-функція 1 (RIPEMD-160) 4
Параметри, функції та константи 4
Метод заповнювання 6
Опис циклової функції 7
Спеціалізована геш-функція 2 (RIPEMD-128) 8
Параметри, функції та константи 8
Метод заповнювання 9
Опис циклової функції 9
Спеціалізована геш-функція З (SHA-1) 10
Параметри, функції та константи 10
Метод заповнювання 11
Опис циклової функції 11
Спеціалізована геш-функція 4 (SHA-256) 12
Параметри, функції та константи 12
Метод заповнювання 13
Опис циклової функції 13
Спеціалізована геш-функція 5 (SHA-512) 14
Параметри, функції та константи 14
Метод заповнювання 15Опис циклової функції 16
Спеціалізована геш-функція 6 (SHA-384) 17
Параметри, функції та константи 17
Метод заповнювання 18
Опис циклової функції .' 18
Спеціалізована геш-функція 7 (WHIRLPOOL) 18
Параметри, функції та константи 18
Метод заповнювання 20
Опис циклової функції 20
Додаток А Приклади 21
Додаток В Формальні специфікації 68
Додаток С Модуль ASN.1 82
Бібліографія 8
4НАЦІОНАЛЬНИЙ ВСТУП
Цей стандарт є тотожний переклад ISO/IEC 10118-3:2004 Information technology — Security techniques — Hash-functions — Part 3: Dedicated hash-functions (Інформаційні технології. Методи захисту, Геш-функції. Частина 3. Спеціалізовані геш-функції).
Мета цього стандарту — описати основну модель геш-функцій, їх параметри, функції та константи, початкові значення, методи заповнювання, циклові (раундні) функції та узгодження порядку слідування байтів, за допомогою яких будуються спеціалізовані геш-функції.
Відповідальним за міжнародний стандарт ISO/IEC 10118-3:2004 є технічний комітет ISO/IEC JTC 1,
Технічний комітет, відповідальний за національний стандарт в Україні, — ТК 20 «Інформаційні технології».
Багаточастинний міжнародний стандарт ISO/IEC 10118 містить чотири частини під загальною назвою «Information technology — Security techniques — Hash-functions» (Інформаційні технології. Методи захисту. Геш-функції). Цей стандарт описує певні геш-функцій і може бути застосовний для реалізації послуг автентифікації, цілісності та неспростовності.
Частини стандарту ISO/IEC 10118 мають такі назви:
Part 1: General (Частина 1. Загальні положення);
Part 2: Hash-functions using ап л-bit block cipher (Частина 2. Геш-функції, що використовують n-бітовий блоковий шифр);
Part 3: Dedicated hash-functions (Частина 3. Спеціалізовані геш-функції);
— Part 4: Hash-functions using modular arithmetic (Частина 4. Геш-функції, що використовують модульну арифметику).
У частині 1 подано загальну модель геш-функцій та описано геш-функцію, яка перетворює довільні рядки бітів у рядки бітів фіксованої довжини, і методи заповнювання, які використовують для обчислення геш-коду. Ця частина містить визначення, позначення, скорочення та вимоги, що є спільними для решти частин ISO/IEC 10118.
У частині 2 йдеться про геш-функції, в основі яких лежить використання л-бітового блокового алгоритму шифрування. Означено чотири геш-функції, які є сумісними із загальною моделлю, наведеною в ISO/IEC 10118-1.
У частині 3 розглянуто спеціалізовані геш-функції. Геш-функції у цій частині ґрунтовано на ітераційному застосуванні циклової функції, Означено сім різних циклових функцій, використовуваних у цих спеціалізованих геш-функціях.
У частині 4 представлено дві геш-функції, що використовують модульну арифметику. Ці геш-функції, які вважають стійкими до колізій, стискають повідомлення довільної довжини до геш-коду, довжину якого визначають через довжину простого числа, використовуваного у цикловій функції. У цій частині замість терміносполуки «раундова функція» (див. частину 2) використано терміносполуку «циклова функція».
До стандарту внесено такі редакційні зміни:
слова «ця частина ISO/IEC 10118» замінено на «цей стандарт»;
у розділі «Нормативні посилання» подано «Національне пояснення», виділене рамкою;
структурні елементи цього стандарту: «Титульний аркуш», «Передмову», «Національний вступ», «Терміни та визначення понять» і «Бібліографічні дані» — оформлено згідно з вимогами національної стандартизації України;
Додаток С обов'язковий.
Додатки А, В довідкові.
Копії міжнародних стандартів, на які є посилання в цьому стандарті, можна замовити в Головному фонді нормативних документів ДП «УкрНДНЦ».
У цьому стандарті є посилання на ISO/IEC 10118-1:2005 Information technology — Security techniques — Hash-functions — Part 1: General (Інформаційні технології. Методи захисту. Геш- функції. Частина 1. Загальні положення), упроваджений в Україні як національний стандарт з наданням йому добровільного статусу з ідентичним ступенем відповідності.ПЕРЕДМОВА ДО ISO/IEC 10118-3
ISO (the International Organization for Standardization) та IEC (the International Electrotechnical Commission) становлять спеціалізований комплекс всесвітньої стандартизації. Національні організації, які є членами ISO або ІЕС, беруть участь у розроблянні міжнародних стандартів як члени технічних комітетів, що були засновані відповідною організацією та мають справу з конкретною сферою технічної діяльності. Технічні комітети ISO та ІЕС співпрацюють у сферах спільних інтересів. Інші міжнародні організації, державні та недержавні, що пов’язані, з ISO та ІЕС, також беруть участь у роботі. У сфері інформаційних технологій міжнародні організації ISO та ІЕС заснували об’єднаний технічний комітет, ISO/IEC JTC 1.
Міжнародні стандарти розробляють відповідно до положень, установлених в ISO/IEC Directives — Part 2 (ISO/IEC Настанови. Частина 2).
Головне завдання об'єднаного технічного комітету — підготувати міжнародні стандарти. Проекти міжнародних стандартів, прийнятих об’єднаним технічним комітетом, передають до національних організацій для голосування. Для опублікування міжнародного стандарту необхідно, щоб за нього проголосувало не менш 75 % національних організацій, що брали участь у голосуванні.
ISO/IEC 10118-3 був підготований об’єднаним технічним комітетом ISO/IEC JTC 1 «Інформаційні технології», підкомітет SC 27 «Методи захисту ІТ».
Ця третя редакція розроблена на заміну другого видання (ISO/IEC 10118-3:2003), яке було технічно опрацьоване.
ISO/IEC 10118 містить такі частини під загальною назвою «Інформаційні технології. Методи захисту. Геш-функції»:
Частина 1. Загальні положення;
Частина 2. Геш-функції, що використовують л-бітовий блоковий шифр;
Частина 3. Спеціалізовані геш-функції;
Частина 4. Геш-функції, що використовують модульну арифметику.
ВСТУП ДО ISO/IEC 10118-3
Міжнародна Організація зі Стандартизації (ISO) та Міжнародна Електротехнічна комісія (ІЕС) звертають увагу на те, що відповідність цьому міжнародному стандарту може охоплювати використання патентів.
ISO та ІЕС не визначаються стосовно очевидності чинності та сфери застосування цього патентного права.
Патентовласник цього патентного права завіряє ISO/IEC, що він готовий продати ліцензії на прийнятних та недискримінаційних умовах для пошукачів з усього світу. У такому випадку заява патентовласника буде зареєстрована в ISO та ІЕС. Інформацію можна отримати з:
ISO/IEC JTC 1/SC 27 Standing Document 8 (SD8) «Patent Information».
Постійно чинний документ 8 (SD8) загально доступний за адресою http://www.ni.din.de/sc27.
Треба звернути увагу на те, що деякі елементи міжнародного стандарту можуть бути суб’єктом патентних прав, відмінних від зазначених вище. У цьому випадку ISO та ІЕС не несуть відповідальність за визнання деяких або всіх таких патентних прав
НАЦІОНАЛЬНИЙ СТАНДАРТ УКРАЇНИ
ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ
МЕТОДИ ЗАХИСТУ. ГЕШ-ФУНКЦІЇ
Частина 3. Спеціалізовані геш-функції
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
МЕТОДЫ ЗАЩИТЫ. ХЕШ-ФУНКЦИИ
Часть 3. Специализированные хеш-функции
INFORMATION TECHNOLOGY
SECURITY TECHNIQUES. HASH-FUNCTIONS
Part 3: Dedicated hash-functions
Чинний від 2006-07-01
СФЕРА ЗАСТОСУВАННЯ
Цей стандарт визначає спеціалізовані геш-функції, тобто спеціально побудовані геш-функції. Геш-функції в цьому стандарті базовано на повторному використанні циклової функції. Визначено сім різних циклових функцій, які породжують різні спеціалізовані геш-функції.
Перша та третя спеціалізовані геш-функції, наведені у розділах 7 та 9 відповідно, забезпечують геш-коди довжиною до 160 бітів; друга спеціалізована геш-функція, наведена у розділі 8, забезпечує геш-коди довжиною до 128 бітів; четверта спеціалізована геш-функція, наведена у розділі 10, забезпечує геш-коди довжиною до 256 бітів; шоста спеціалізована геш-функція, наведена у розділі 12, забезпечує геш-коди фіксованої довжини 384 бітів; а п’ята та сьома спеціалізовані геш-функції, наведені у розділах 11 та 13 відповідно, забезпечують геш-коди довжиною до 512 бітів,
НОРМАТИВНІ ПОСИЛАННЯ
Наведені нижче документи, на які є посилання у цьому документі. Для датованих посилань застосовують тільки зазначені видання. Для недатованих посилань застосовують лише останню версію видання документа, на який є посилання (охоплюючи всі зміни).
ISO/IEC 10118-1:2000 Information technology — Security techniques — Hash-functions — Part 1: General.
НАЦІОНАЛЬНЕ ПОЯСНЕННЯ
ISO/IEC 10118-1:2000 Інформаційні технології. Методи захисту. Геш-функції. Частина 1. Загальні положення.
ТЕРМІНИ ТА ВИЗНАЧЕННЯ ПОНЯТЬ
У цьому стандарті, використовують визначення, наведені в ISO/IEC 10118-1, а також такі:
блок (block)
Бітовий рядок довжиною L1f тобто довжина першого входу циклової функції
Видання офіційне
слово (word)
Рядок із 32 бітів, використовуваний у спеціалізованих геш-функціях 1, 2, 3 та 4, означених у розділах 7, 8, 9 та 10 відповідно, або рядок з 64 бітів, використовуваний у спеціалізованих геш- функціях 5 та 6, означених у розділах 11 та 12 відповідно
матриця (matrix)
Матриця 8 на 8, у якій кожен елемент — це рядок з 8 бітів, використовуваний у спеціалізованій геш-функції 7, означеній у розділі 13.
ПОЗНАКИ ТА СКОРОЧЕННЯ
Познаки, визначені в ISO/IEC 10118-1
У цій частині стандарту використано познаки та скорочення, означені в ISO/IEC 10118-1:
Bj — байт;
D — дані;
Н — геш-код;
— початкове значення;
Ц — довжина (у бітах) першого з двох вхідних рядків циклової функції Ф;
Z-2 — довжина (у бітах) другого з двох вхідних рядків циклової функції Ф, вихідного рядка
циклової функції Ф та /V;
Lx — довжина (в бітах) бітового рядка X;
Ф — циклова функція, тобто, якщо X, Y — бітові рядки довжиною Ц та L2 відповідно, то Ф (X, У) — рядок, який отримано через застосування Ф до X та У;
X ©У — виключальне ЧИ рядків бітів Хта У (де Lx = LY).
Познаки, використані у цьому стандарті
У цій частині стандарту використано такі познаки та скорочення:
а,-, а- — послідовності індексів, використовуваних для означення циклової функції;
Д' — послідовність постійних матриць, використовуваних для означення циклової
функції, визначеної у розділі 13;
с0 — функція, що приймає рядок з 64 елементів з GF(28) на вході, та видає
матрицю 8 на 8 елементів з GF(2S) на виході, використовувана для означення циклової функції, визначеної у розділі 13;
Сь с2, с3 — функції, що приймають матрицю 8 на 8 елементів з GF(28) на вході та видають матрицю 8 на 8 елементів з GF(23) на виході, використовувані для означення циклової функції, визначеної у розділі 13;
с4 — функція, що приймає дві матриці 8 на 8 елементів з GF(2B) на вході та видає