Рисунок 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.
Метод заповнювання З
БІБЛІОГРАФІЯ
Ключові слова: геш-функція, геш-код, загальна модель, раундова функція, підсумкове перетворення, початкове значення.