Рисунок 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. 113—136
  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. 77—90
  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. 485—498
  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.

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