Email
Пароль
?
Войти Регистрация
Семинар


ДСТУ ISO 10118-2:2003 Інформаційні технології. Методи захисту. Геш-функції. Частина 2. Геш-функції з використовуванням n-бітового блокового шифру

Название (рус.) ДСТУ ISO 10118-2:2003 Інформаційні технології. Методи захисту. Геш-функції. Частина 2. Геш-функції з використовуванням n-бітового блокового шифру
Кем принят Не определен
Тип документа ДСТУ ISO (Державний Стандарт України – видано ISO)
Рег. номер 10118-2:2003
Дата принятия 01.01.1970
Статус Действующий
Скачать этот документ могут только зарегистрированные пользователи в формате MS Word




 


ПЕРЕДМОВА

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

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

  1.  НАДАНО ЧИННОСТІ: наказ Держспоживстандарту №235 від 16 грудня 2003 р. з 2005-01-01
  2.  Національний стандарт відповідає ISO/IEC 10118-2:2000 Information technology Security
    techniques
    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

Треба зазначити, що існує можливість того, що деякі з елементів цієї частини ISO\IEC 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 Підсумкове перетворення

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

ВІДПОВІДНО.

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

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


Рисунок 4b  Лінійне відображення ?2 геш-функції чотири


ДОДАТОК А
(довідковий)

ВИКОРИСТАННЯ АЛГОРИТМУ ШИФРУВАННЯ ДАНИХ (DEA)

А.1 Загальний

Цей додаток надає спосіб використання DEA (ANSI X3.92) стосовно операцій гешування, означених у цьому стандарті. DEA відомий також під назвою як стандарт шифрування даних (DES). Нумерування бітів таке, як в ANSI X3.92 [2]. Ці методи описано в [3]. Параметрами DEA є n = 64 та    LK = 64.

А.2 Геш-функція один

Таблиця А.1 Геш-функція три. Значення бітів № 1, 2, 3, 4 та 5 ключа у восьми підфункціях

Підфункція і

Підстановка i

1

00101

2

01001

3

10001

4

00110

5

01010

6

10010

7

01100

8

10100

Примітка. Вважається, що знаходження суперечностей для цієї раундової геш-функції вимагає 251    DES-зашифровувань.

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

Див. розділ 9.

Таблиця А.2 Геш-функція чотири. Значення бітів № 1, 2, 3, 4 та 5 ключа у дев'яти підфункціях

Підфункція /

Підстановка /

1

00101

2

01001

3

10001

4

00110

5

01010

6

10010

7

01100

8

10100

Примітка. Вважається, що знаходження суперечностей для цієї раундової геш-функції вимагає 276     DES-зашифровувань.

А.6 Мотивування

DEA має деякі властивості, які, як відомо, є небажаними у разі, якщо алгоритм використовують для будування геш-функції. Існують перш за все, 4 слабких ключі, для яких функція зашифровування дорівнює функції розшифровування. До того ж, для цих 4 слабких ключів існують 232 нерухомих точок, тобто значень відкритого тексту, які зашифровуються самі у себе. По-друге, існують 16 пар напівслабких ключів, для яких функція зашифровування, що відповідає одному ключеві, дорівнює функції розшифровування, що відповідає іншому ключеві. DES має також властивість доповнювання: якщо відкритий текст та ключ одночасно доповнюються, то зашифрований текст також буде доповненим.

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

усі значення мають бути різні;

кожне із значень унеможливлює використання як слабкого так і напівслабкого ключа.

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

Геш-функція три вимагає 8 зафіксованих значень, а геш-функція чотири вимагає 9 зафіксованих значень. Ці значення повинні мати такі властивості:

усі значення мають бути різні;

кожне із значень унеможливлює використання як слабкого так і напівслабкого ключа;

жодне із значень не є доповненням іншого значення.

Той факт, що наведені вище умови є відповідними, можна встановити з наступного спостерігання. Розглянемо 5 бітів ключа на позиціях 1, 2, 3, 4 та 5. Для всіх слабких та напівслабких ключів DEA ці 5 бітів приймають одне з таких значень: 00000, 11111, 00011 або 11100.

ДОДАТОК В
(довідковий)

ПРИКЛАДИ

8.1 Загальний

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

7-бітовий код ASCII, який описано в [8] (без парності), для "Now_is_the_time_for_all_", де "_" позначає проміжок в шістнадцятковому записі є рядок даних:

'4E6F77206973207468652074696D6520666F7220616C6C20'

8.2 Геш-функція один

Див. А.2.

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

B.4 Геш-функція три

Див. А.4.

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



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

Дивись А.5.

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


БІБЛІОГРАФІЯ

  1.  ISO/IEC 9979:1999 Information technology Security techniques Procedures for the registration of cryptographic algorithms
  2.  ANSI X3.92:1981 Data Encryption Algorithm (укр. назва Алгоритм зашифровування даних)
  3.  S. М. Matyas Key Processing with Control Vectors. J. of Cryptology, Vol. 2, 1991, pp. 113136
  4.  L.R. Knudsen, B. Preneel Hash-functions based on block ciphers and quaternary codes. Advances in Cryptology, Proc. AsiaCrypt'96, LNCS 1163. K.Kim, T. Matsumoto, Eds., Springer-Verlag, 1996, pp. 7790
  5.  L. R. Knudsen, B. Preneel Fast and secure hashing based on codes. Advances in Cryptology,
    Proc. Crypto'97, LNCS
    1294. B. Kaliski, Ed., Springer-Verlag, 1997, pp. 485498
  6.  US patent 4,908,861 Data Authentication Using Modification Detection Codes based on A Public One way Encryption Function. Issued March 13, 1990
  7.  Don Coppersmith Stephen M. Matyas, Mohammed Peyravian. Rationale for Bit Fixing in the MDC-2 Algorithm. IBM T.J.Watson Research Center, Yorktown Heights, N.Y., 10598. Research Report RC21471, May 71999
  8.  ISO 646:1991 Information technology ISO 7-bit coded character set for information  interchange.

Ключові слова: геш-функція, геш-код, загальна модель, раундова функція, підсумкове перетворення, початкове значення.