ПЕРЕДМОВА

1ВНЕСЕНО: Технічний комітет зі стандартизації «Інформаційні технології» (ТК 20) при Держ-споживстандарті України і Міжнародний науково-навчальний центр інформаційних технологійта систем НАН України та Міністерства освіти і науки України

ПЕРЕКЛАД І НАУКОВО-ТЕХНІЧНЕ РЕДАГУВАННЯ: А. Анісімов, д-р. фіз.-мат. наук (керівник розробки); Т. Кальчук; Є. Осадчий, канд.техн.наук; В. Ткаченко; О. Фаль, канд. фіз.-мат. наук

  1. НАДАНО ЧИННОСТІ: наказ Держспоживстандарту №235 від 16 грудня 2003 р. з 2005-01-01
  2. Національний стандарт відповідає ISO/IEC 10118-2:2000 Information technology — Securitytechniques — Hash-functions — Part 2: Hash-functions using an n-bit block cipher (Інформаційні технології. Методи захисту. Геш-функції. Частина 2. Геш-функції з використовуванням n-бітового блокового шифру)

Ступінь відповідності — ідентичний (IDТ) Переклад з англійської (en)

4УВЕДЕНО ВПЕРШЕ

ЗМІСТ

Національний вступ

  1. Сфера застосування
  2. Нормативні посилання
  3. Терміни та визначення понять
  4. Познаки та скорочення
  5. Використання загальної моделі
  6. Геш-функція один

  1. Вибирання параметрів
  2. Метод заповнювання
  3. Початкове значення
  4. Раундова функція
  5. Підсумкове перетворення

7Геш-функція два

  1. Вибирання параметрів
  2. Метод заповнювання
  3. Початкове значення
  4. Раундова функція
  5. Підсумкове перетворення

8Геш-функція три

  1. Загальний
  2. Вибирання параметрів
  3. Метод заповнювання
  4. Початкове значення
  5. Раундова функція
  6. Підсумкове перетворення

9 Геш-функція чотири

  1. Загальний
  2. Вибирання параметрів
  3. Метод заповнювання
  4. Початкове значення
  5. Раундова функція
  6. Підсумкове перетворення

Додаток А Використання алгоритму шифрування даних (DEA).

Додаток В Приклади

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

НАЦІОНАЛЬНИЙ ВСТУП

Цей стандарт є тотожний переклад ISO/IES 10118-2:2000 Information technology — Security techniques — Hash-functions — Part 2: Hash-functions using an n-bit block cipher (Інформаційні технології. Методи захисту. Геш-функції. Частина 2. Геш-функції з використовуванням n-бітового блокового шифру).

У стандарті представлено геш-функції, які використовують n-бітовий блоковий шифр, наведено чотири геш-функції, які відповідають загальній моделі, описаній у ДСТУ ISO/IEC 10118-1:2003.

Відповідальний за ISO/IEC 10118-2:2000 технічний комітет 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 an n-bit block cipher (Частина 2. Геш-функції, з використовуванням n -бітового блокового шифру);
  • Part 3: Dedicated hash-functions (Частина 3. Спеціалізовані геш-функції);
  • Part 4: Hash-functions using modular arithmetic (Частина 4. Геш-функції, з використовуванняммодульної арифметики).

У частині 1 подано загальну модель геш-функцій та описано геш-функцію, яка перетворює довільні рядки бітів в рядки бітів фіксованої довжини, і методи заповнювання, використовувані для обчислювання геш-коду. Ця частина містить визначання, познаки, скорочення та вимоги, спільні для інших частин ISO/IEC 10118.

У частині 2 йдеться про геш-функції, які базуються на використовуванні n-бітового блокового алгоритму шифрування. Означено чотири геш-функції, які є сумісні із загальною моделлю, поданою у ISO/IEC 10118-1.

У частині 3 розглянуто спеціалізовані геш-функції. Геш-функції у цій частині ґрунтуються на ітераційному застосуванні раундової функції. Означено три різні раундові функції, які використовуються цими спеціалізованими функціями.

У частині 4 представлено дві геш-функції, що використовують модульну арифметику. Ці геш-функції, які вважаються стійкими до колізій, стискають повідомлення довільної довжини до геш-коду, довжину якого визначають через довжину простого числа, використовуваного у раундовій функції.

Міжнародна організація зі стандартизації (ISO) та Міжнародна електротехнічна комісія (ІЕС) звертають увагу на той факт, що відповідність цій частині ISOMEC 10118 може містити використання патенту, що стосується "Data Authentication Using Modification Detection Codes Based on a Public One Way Encryption Function", (Патент США 4, 908, 861 виданий 1990-03-13).

ISO та ІЕС не займають жодної позиції стосовно доказу, законності та сфери застосування права цього патенту.

Власник права цього патенту запевнив ISO та ІЕС, що він готовий вести переговори щодо ліцензій на прийнятних та недискримінаційних умовах з прохачами з усього світу. Стосовно цього в ISO та ІЕС зареєстрована заява власника права цього патенту. Довідку можна отримати від:

Director of Licensing

International Business Machnies Corporation

500 Columbus Avenue

Thornwood, NY 10594

U.S.A

Треба зазначити, що існує можливість того, що деякі з елементів цієї частини ISOIEC 10118 можуть бути предметом патентних прав, відмінних від означених вище. ISO та ІЕС не несуть відповідальність за ідентифікацію будь-якого патентного права або всіх таких патентних прав.

До стандарту внесено такі редакційні зміни:

  • слова «ця частина ISO/ІЕС 10118» замінено на «цей стандарт»;
  • до розділу 2 «Нормативні посилання» долучено «Національне пояснення», яке виділенорамкою;
  • до «Національного вступу» з «Передмови» та «Вступу» узято те, що безпосередньо стосується цього стандарту;
  • структурні елементи цього стандарту: «Обкладинку», «Передмову», «Національнийвступ», «Бібліографічні дані» та «Терміни та визначення понять» — оформлено згідно з вимогаминаціональної стандартизації України;
  • назву Message Authentication Codes (MACs) використовують в українському перекладі якКоди автентифікації повідомлення (MACs);
  • додатки А і В є невід'ємною частиною цього стандарту.

Необхідно взяти до уваги, що в Україні чинний ДСТУ ISO/IEC 10118-1:2003 Інформаційні технології. Методи захисту. Геш-функції. Частина 1. Загальні положення.

Копії міжнародних стандартів, не чинних в Україні, можна отримати у Головному фонді нормативних документів ДП «УкрНДНЦ».

ДСТУ ISO/IEC 10118-2:2003 НАЦІОНАЛЬНИЙ СТАНДАРТ УКРАЇНИ

Інформаційні технології

Методи захисту. Геш-функції

Частина 2. Геш-функції з використовуванням

n-бітового блокового шифру

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

МЕТОДЫ ЗАЩИТЫ. ХЕШ-ФУНКЦИИ

Часть 2. Хеш-функции с использованием

n-битового блочного шифра

INFORMATION TECHNOLOGY

SECURITY TECHNIQUES. HASH-FUNCTION Part 2. Hash-functions using an n-bit block cipher

Чинний від 2005-01-01

1СФЕРА ЗАСТОСУВАННЯ

Цей стандарт визначає геш-функції, які використовують n-бітовий блоковий алгоритм шифрування. Отже, вони придатні для середовища, у якому такий алгоритм вже реалізовано.

Означено чотири геш-функції. Перша функція надає геш-коди довжиною менші за n або рівні п, де n — довжина використовуваного блоку алгоритму.

Друга функція надає геш-коди довжиною меншою за 2п або рівні 2п; третя функція надає геш-коди довжиною рівною 2п; і четверта функція надає геш-коди довжиною 3п.

Усі чотири геш-функції, подані у цьому стандарті, відповідають загальній моделі, наведеній в ISO/IEC 10118-1.

2НОРМАТИВНІ ПОСИЛАННЯ

Наведені нижче нормативні документи містять положення, які через посилання в цьому тексті становлять положення цього стандарту. Для датованих посилань пізніші зміни до будь-якого з цих видань або перегляд їх не застосовують. Однак, учасників угод, базованих на цьому стандарті, запрошують визначити можливість застосування найостанніших видань нормативних документів, наведених нижче. Для недатованих посилань треба звертатися до найновішого видання нормативних документів. Члени ISO та ІЕС впорядковують каталоги чинних міжнародних стандартів.

ISO/IEC 10116:1997 Information technology — Security techniques — Modes of operation for an n-bit block cipher

ISO/IEC 10118-1:2000 Information technology — Security techniques — Hash-functions — Part 1: General.

НАЦІОНАЛЬНЕ ПОЯСНЕННЯ

ISO/IEC 10116:1997 Інформаційні технології. Методи захисту. Режими функціювання n-бітовмх

блокових шифрів

ISO/IEC 10118-1:2000 Інформаційні технології. Методи захисту. Геш-функції. Частина 1. Загальні положення.

3ТЕРМІНИ ТА ВИЗНАЧЕННЯ ПОНЯТЬ

Усі терміни, наведені в цьому стандарті, а також терміни та визначення понять ISO/IEC 10118-1, призначені для застосовування в цьому стандарті.

3.1 n-бітовий блоковий шифр (n-bit block cipher)

Блоковий шифр — шифр, блоки відкритих та зашифрованих текстів якого мають довжину n бітів (див. ISO/IEC 10116).

4ПОЗНАКИ ТА СКОРОЧЕННЯ

5ВИКОРИСТАННЯ ЗАГАЛЬНОЇ МОДЕЛІ

Геш-функції, які розглянуто в наступних чотирьох розділах, надають геш-коди Η довжиною LH. Геш-функція відповідає загальній моделі, наведеній в ISO/IEC 10118-1. Через це для кожної з поданих нижче чотирьох геш-функцій необхідно лише визначити:

  • параметри L1, L2;
  • метод заповнювання;
  • початкове значення IV;
  • раундову функцію φ;
  • підсумкове перетворення Т.

Застосування геш-функції, яку визначають з використанням загальної моделі, вимагає також вибирання параметра LH.

6ГЕШ-ФУНКЦІЯ ОДИН

6.1Вибирання параметрів

Параметри Ц, L2, LH геш-функції, представленої у даному розділі, мають відповідати умовам: L1 = L2 = п та LH — менша або рівна п.

6.2Метод заповнювання

Вибирання методу заповнювання для використання у цій геш-функції є поза межами цього стандарту. Приклади методів заповнювання подано у додатку A ISO/IEC 10118-1.

6.3Початкове значення

Вибирання IV для використання у цій геш-функції є поза межами цього стандарту. Значення IV має бути узгоджене і зафіксоване користувачами геш-функції.

6.4 Раундова функція

Раундова функція φ з'єднує блок заповнених даних Dj (завдовжки L1 = n бітів) з результатом попереднього застосування раундової функції Нj-1, (завдовжки L2 = n бітів), внаслідок чого отримуємо Нj. Як частину геш-функції слід вибрати (функцію и, яка перетворює n-бітовий блок у ключ для використання з блоковим алгоритмом е. Вибір функції и для використання у цій геш-функції є поза межами цього стандарту (див. додаток А для настанови).

Раундову функцію визначають як:

Рисунок 1 — Раундова функція геш-функції один

6.5 Підсумкове перетворення

Підсумковим перетворенням Т є просте відтинання, тобто геш-код Η утворюється з LH крайніх лівих бітів заключного блоку Hq

7 ГЕШ-ФУНКЦІЯ ДВА

7.1Вибирання параметрів

Параметри L1, L2, LH геш-функції, означеної в даному розділі, мають відповідати: L1 = n, L2 = 2n, і LH — менша або рівна 2п.

7.2Метод заповнювання

Вибирання методу заповнювання для використання в цій геш-функції є поза межами цього стандарту. Приклади методів заповнювання подано у додатку A ISO/IEC 10118-1.

7.3Початкове значення

Вибирання IV (завдовжки 2n) для використання в цій геш-функції є поза межами цього стандарту. Значення IV має бути узгоджене і зафіксоване користувачами геш-функції. Проте, IV треба вибрати такою, щоб и (IVL) та и (IVR) були різними.

7.4Раундова функція

Раундова функція φ з'єднує блок заповнених даних D; (завдовжки L1 = n бітів) з результатом попереднього застосування раундової функції Ηj-1, (завдовжки L2 = 2n бітів), внаслідок чого отримуємо Нj. Як частину раундової функції треба вибрати два перетворення и та и'. Ці перетворення використовують для того, щоб перетворити підсумковий блок у два LK-бiтовi ключі алгоритму е. Означування и та и' є поза межами цього стандарту. Проте треба взяти до відома те, що вибір и та и’ впливає на якість геш-функції (див. Додаток А).

Рисунок 2 — Раундова функція геш-функції два

Покладемо, HL0 та HR0 рівними IVL та IVRвідповідно. Підсумкові блоки обчислюють для j = 1 до q ітераційно таким чином:

Рандову функцію показано на рисунку 2.

Рисунок За — Раундова функція геш-функції три

Рисунок Зb — Лінійне відображення γ1 геш-функції три

8.6 Підсумкове перетворення

відповідно

Після обробляння заповненого повідомлення, зв'язувальні змінні величини приймають значення. Здійснимо чотири додаткові ітерації раундової функції з вхідними даними:

Результат LH обчислення геш-функції складається з Підсумкове перетворення вимагає 26 зашифровувань (в останній ітерації необхідно здійснити лише два зашифровування).

9 ГЕШ-ФУНКЦІЯ ЧОТИРИ

Геш-функція, розглянута в цьому розділі, надає геш-коди довжиною LH , де LH дорівнює 3n для парних значень n.

9.1Загальний

Див. 8.1 стосовно певних визначень, що мають відношення до цієї геш-функції.

9.2Вибирання параметрів

Параметри L1, L2, та LH геш-функції, наведеної у даному розділі, повинні задовольняти: L1 = 3n, L2 = 9n, LH дорівнює 3п.

9.3Метод заповнювання

Метод заповнювання для використання з цією геш-функцією має бути таким, як означено в розділі А.3 ISO/IEC 10118-1, причому r = n.

9.4Початкове значення

Вибір IV (завдовжки 9п) для використання в цій геш-функції є поза межами цього стандарту. Значення IV має бути узгоджене і зафіксоване користувачами геш-функції.

9.5Раундова функція

Раундову функцію пояснено на рисунку 4а, а лінійне відображення γ2 — на рисунку 4b.

Рисунок 4а — Раундова функція геш-функції чотири

9.6 Підсумкове перетворення

Після обробляння заповненого повідомлення, зв'язувальні змінні величини приймають значення . Здійснимо чотири додаткові ітерації раундової функції з вхідними повідомленнями:

ВІДПОВІДНО.

Результат обчислення геш-функції складається з .

Підсумкове перетворення вимагає ЗО зашифровувань (на останній ітерації необхідно здійснити лише три зашифровування).