Слайд 1НАВЧАЛЬНА ДИСЦИПЛІНА
ПРИКЛАДНА КРИПТОГРАФІЯ
Частина II
ЗАБЕЗПЕЧЕННЯ ЦІЛІСНОСТІ ТА АУТЕНТИЧНОСТІ ДАНИХ
Слайд 2МОДУЛЬ № 5
ВИКОРИСТАННЯ ХЕШ-ФУНКЦІЙ ДЛЯ ЗАБЕЗПЕЧЕННЯ ЦІЛІСНОСТІ ДАНИХ (ПОВІДОМЛЕНЬ)
1
Слайд 3Лекція № 27
ПРИНЦИПИ ПОБУДОВИ ХЕШ-ФУНКЦІЙ ДЛЯ ЗАБЕЗПЕЧЕННЯ
ЦІЛІСНОСТІ ДАНИХ (ПОВІДОМЛЕНЬ)
2
Слайд 4ПИТАННЯ ЛЕКЦІЇ № 27
1. Ітеративна хеш-функція
2. Прості хеш-функції
3. Формування електронного
(цифрового) конверту
Література: Л3, с. 174 – 176 .
3
Слайд 6 Усі криптографічні хеш-функції повин ні створювати дайджест фіксованого розмі ру
з повідомлення змінного розміру.
Застосовувати таку функцію найкраще, використовуючи ітерацію.
Замість хеш-функції
з веденням змін ного розміру створена й використовується необхідна кількість раз функція з веденням фіксованого розміру, називана функцією стиску (стискання).
5
Слайд 7 Функція стиску стискає n-бітовий вхідної рядок і створює m-бітовий рядок,
де n завжди більше чому m.
Ця схема відома як ітеративна
крипто графічна функція.
6
Слайд 81.1. Схема ітеративної криптографічної функції
Меркеля-Дамгарда (Merkle-Damgard)
7
Схема Меркеля-Дамгарда - ітеративна хеш-функція,
яка є функцією стиску, стійкої до колізії. Схема показана на
рис. 27.1.
Слайд 98
Рис. 27.1. Схема ітеративної криптографічної функції Меркеля-Дамгарда
Слайд 109
Схема використовує наступні кроки:
1. Довжина повідомлення й доповнен ня додаються
в кінець повідомлення, щоб створити збільшене повідомлення, яке мо же
бути рівномірно розділене на n-бітові блоки; тут n - розмір блоку, який буде об роблений функцією стиску.
2. Повідомлення тоді розглядають як t блоків, розмір кожного складається з n біт. Ми позначимо кожний блок М1, ..., Мt.
Ми позначаємо дайджест, створений при t ітераціях, - H1, H2, .... , Ht.
Слайд 1110
3. Перед стартом ітерації дайджест H0 установлюється на фіксоване значення,
звичайно називане IV (початкове значення або початковий вектор).
4. Функція стиску
при кожній ітерації обробляє Hi-1 і М, створюючи новий Hi.
Інакше кажучи, ми маємо
Hi = f (Hi-1, Мi),
де f - функція стиску.
5. Ht - функція криптографічного хе шування первісного повідомлення, тобто h(M).
Слайд 1211
Якщо функція стиску в схемі Меркеля-Дамгарда стійка до колізії, хеш-функція
та кож стійка до колізії.
Схема Меркеля-Дамгарда сьогодні – підстава для
багатьох функцій криптогра фічного хешування. Єдина річ, яку ми по винні зробити, - розробити функцію стис ку, яка є стійкою до колізій, і вставити її в схему Меркеля-Дамгарда.
Існує тенденція використовувати два різні підходи в розробці хеш-функції.
Слайд 1312
У першому підході функція стиску зроблена на "порожньому місці": вона
розроблена тільки для цієї мети.
У другому підході блоковий шифр із
симетричними ключами служить функцією стиску.
Множина ітеративних функцій крип тографічного хешування використовує функції стиску, які зроблені "на порожньо му місці".
Ці функції стиску спеціально створені для цілей, яким вони служать.
Слайд 1413
Ітеративна функція криптографічно го хешування може використовувати бло ковий шифр
із симетричними ключами як функцію стиску.
Основна ідея такого підходу
- є кілька безпечних блокових шифрів із симетрич ними ключами, таких як трикратний DES, AES або ГОСТ, які можуть використовува тися для створення однобічної функції за-мість того, щоб створювати нову функцію стиску.
Блоковий шифр у цьому випадку тіль ки виконує шифрування.
Слайд 1514
Ітеративна хеш-функція, запропонова на Рабином, дуже проста.
Схема Рабина базується на
схемі Мер келя-Дамгарда.
Функція стиску заміняється будь-яким алгоритмом шифрування. Блок повідом
лення використовується як ключ; попе редньо створений дайджест використо вується як вихідний текст.
1.2. Схема ітеративної криптографічної функції Рабина
Слайд 1615
Зашифрований текст - новий дайд-жест повідомлення.
Зверніть увагу, що розмір дайджесту
- це розмір блокового шифру даних в ос новній криптографічній
системі.
Наприклад, якщо DES використо вується як блоковий шифр, розмір дайд жесту - тільки 64 біта.
Хоча схема дуже проста, вона може бу-ти розкрита за допомогою атаки "відомості до середини", оскільки супротивник може застосувати алгоритм дешифрування крип тографічної системи.
Рис. 27.2 показує схему Рабина.
Слайд 1716
Рис. 27.2. Схема ітеративної криптографічної функції Рабина
Слайд 1817
1.3. Схема ітеративної криптографічної функції Девиса-Мейера (Davies-Mayer)
Схема Девиса-Мейера (Davies-Mayer) в
основному повторює схему Рабина, за ви нятком того, що використовує
прямий зв'я зок для захисту від атаки "відомості по се редині".
Схема показана на рис. 27.3.
Слайд 1918
Рис. 27.3. Схема ітеративної криптографічної функції Девиса-Мейера
Слайд 2019
Схема Матиса-Мейера-Осеаса (Metyas Mayer-Oseas) - це версія схеми Девиса -Мейера:
блоки повідомлення застосо вуються як ключі криптосистеми. Схема може бути
використана, якщо блоки даних і ключ шифрування мають той самий роз мір.
1.4. Схема ітеративної криптографічної функції Матиса-Мейера-Осеаса
(Metyas-Mayer-Oseas)
Слайд 2120
Наприклад, AES добре підходить для цієї мети.
Схема показана на рис.
27.4.
Слайд 2221
Рис. 27.4. Схема ітеративної криптографічної функції
Матиса-Мейера-Осеаса
Слайд 2322
Схема Миагучи-Пренеля - розширена версія схеми Матиса-Мейера-Осеаса.
Щоб зробити алгоритм більш
стійким до атаки, вихідний текст, ключ шифру й зашифрований текст
складаються за допо-могою xor й створюють новий дайджест.
1.5. Схема ітеративної криптографічної функції Миагучи-Пренеля
Слайд 2423
Ця схема використовується в Whirlpool для створення геш-функции.
На рис. 27.5
показана схема Миагучи-Пренеля.
Слайд 25Рис. 27.5. Схема ітеративної криптографічної функції Миагучи-Пренеля
24
Слайд 26ВИСНОВКИ
1. Усі функції криптографічного хешу вання повинні створювати дайджест фіксо
ваного розміру з повідомлення змінного розміру. Створення такої функції найкраще
може бути досягнуте застосуванням ітера ції.
2. Схема Меркеля-Дамгарда (Merkle Damgard) - ітеративна функція крипто графічного хешування, стійка до колізій, якщо при цьому функція стиску стійка до колізій.
25
Слайд 27ВИСНОВКИ
3. Множина ітеративних функцій криптографічного хешування використо вують функції стиску,
які зроблені на "по рожньому місці". Ці функції стиску спе
ціально розроблені для цієї мети, яку вони обслуговують.
4. Ітеративна функція криптогра фічного хешування може використовувати блоковий шифр із симетричними ключами замість функції стиску.
26
Слайд 2928
Усі функції хешування побудовані на наступних загальних принципах.
Значення, що вводиться
(повідомлен ня, файл і т.п.) розглядається як послі довність n-бітових
блоків.
Дані, що вводяться, обробляються послідовно блок за блоком, щоб у резуль таті одержати n-бітове значення функції хе шування.
Однієї з найпростіших функцій хешу вання є зв'язування всіх блоків операцією xor (порозрядного "виключаючого АБО").
,
Слайд 3029
де Сi - i-й біт хеш-коду, 1 ≤ i ≤
n;
m - число n-бітових блоків вводу;
bij - i-й біт в
j-м блоці;
- операція xor.
Схема процедури показана на рис. 27.6.
Це можна записати в наступному виді:
Слайд 3130
Рис. 27.6. Проста функція хешування, що використовує операцію XOR
Слайд 3231
Процедура здійснює простий побіто вий контроль парності й звичайно нази
вається поздовжнім контролем парності. Така процедура виявляється досить ефективної для
контролю цілісності даних довільного виду.
Найпростіше вдосконалити таку схему, розглянувши можливість виконання одно бітового циклічного зсуву (повороту) зна чення функції хешування після завершення обробки кожного чергового блоку.
Така процедура складається з наступ них етапів.
Слайд 3332
1. Початкова ініціалізація n-бітового значення функції хешування нульовим зна ченням.
2.
Послідовна обробка n-бітових бло ків даних за наступним правилом.
3. Виконання
циклічного зсуву поточ ного значення функції хешування вліво на один біт.
4. Додавання поточного блоку до зна чення функції хешування за допомогою операції xor.
Слайд 3433
Результатом процедури є "рандоміза ція" даних, що вводяться і руйнування
ре гулярності, яка може мати для них місце.
Слайд 3534
3. ФОРМУВАННЯ ЕЛЕКТРОННОГО (ЦИФРОВОГО) КОНВЕРТА
Слайд 3635
Як правило реалізації симетричних ал горитмів шифрування (DES, IDEА й
т.п.) є досить швидкими на відміну від реалізацій алгоритмів з
відкритими ключами (неси метричних).
Тому при передачі повідомлень вони зашифровуються за допомогою симетрич ного алгоритму й секретного ключа (нап риклад, алгоритму AES).
З використанням вихідного повідом лення визначається хеш-функція (дайджест повідомлення), наприклад з використанням хеш-функції SHA.
Слайд 3736
Зашифроване повідомлення й значен ня дайджесту повідомлення (значення хеш функції)
розміщуються в одному електрон ному конверті (документі) і відправляються тому
для якого він призначений (рис. 27.7).
Слайд 3837
Рис. 27.7. Структурна схема формування електронного конверта при забезпеченні цілісності
даних (повідомлень)
Слайд 3938
Користувач, що одержав електронний конверт, розшифровує повідомлення за до помогою
секретного ключа.
Далі обчислює з його допомогою хеш -функцію й звіряє
обчислене значення хеш -функції з отриманим значенням в електрон ному конверті.
Слайд 4039
Відправка підписаного і зашифрованого повідомлення
Рис. 25.8
Слайд 4140
Рис. 9.5
Отримання підписаного і зашифрованого повідомлення