Разделы презентаций


МОДУЛЬ № 5 ВИКОРИСТАННЯ ХЕШ-ФУНКЦІЙ ДЛЯ ЗАБЕЗПЕЧЕННЯ ЦІЛІСНОСТІ ДАНИХ

Содержание

Лекція № 28ЗАХИСТ ЦІЛІСНОСТІ ДАНИХ З ВИКОРИСТАННЯМ ХЕШ-ФУНКЦІЇ MESSAGE DIGEST (MD5) 2

Слайды и текст этой презентации

Слайд 1МОДУЛЬ № 5

ВИКОРИСТАННЯ ХЕШ-ФУНКЦІЙ ДЛЯ ЗАБЕЗПЕЧЕННЯ ЦІЛІСНОСТІ ДАНИХ (ПОВІДОМЛЕНЬ)
1

МОДУЛЬ № 5ВИКОРИСТАННЯ ХЕШ-ФУНКЦІЙ ДЛЯ ЗАБЕЗПЕЧЕННЯ ЦІЛІСНОСТІ ДАНИХ (ПОВІДОМЛЕНЬ)1

Слайд 2Лекція № 28

ЗАХИСТ ЦІЛІСНОСТІ ДАНИХ З ВИКОРИСТАННЯМ ХЕШ-ФУНКЦІЇ MESSAGE DIGEST

(MD5)
2

Лекція № 28ЗАХИСТ ЦІЛІСНОСТІ ДАНИХ З ВИКОРИСТАННЯМ ХЕШ-ФУНКЦІЇ MESSAGE DIGEST (MD5) 2

Слайд 3ПИТАННЯ ЛЕКЦІЇ № 28

1. Структура алгоритму ітератив ного хешування MD5
2.

Структура функції стиску алго ритму MD5
3. Логіка роботи кожного раунду

функції стиску алгоритму MD5

Література: Л3, с. 177 – 181.

3

ПИТАННЯ ЛЕКЦІЇ № 281. Структура алгоритму ітератив ного хешування MD52. Структура функції стиску алго ритму MD53. Логіка

Слайд 4
1. СТРУКТУРА АЛГОРИТМУ ІТЕРАТИВНОГО ХЕШУВАННЯ MD5
4

1. СТРУКТУРА АЛГОРИТМУ ІТЕРАТИВНОГО ХЕШУВАННЯ MD54

Слайд 5 MD (Message Digest Algorithm) – сі мейство ітеративних криптографічних хеш

-функцій, які розроблені Рональдом Риве том з Массачусетского технологічного інс

титуту (RSA Laboratories).
MD2 хеш-функція розроблена в 1989 році. Розмір хеша - 128 біт. Розмір блоку вхідних даних - 512 біт. Число ітерацій – 18.
MD4 хеш-функція розроблена в 1990 році. Розмір хеша - 128 біт. Розмір блоку вхідних даних - 512 біт. Число ітерацій – 3.

5

MD (Message Digest Algorithm) – сі мейство ітеративних криптографічних хеш -функцій, які розроблені Рональдом Риве том з

Слайд 6 MD5 хеш-функція розроблена в 1991 році. Розмір хеша - 128

біт. Розмір блоку вхідних даних - 512 біт. Число ітерацій

– 4.
MD6 хеш-функція розроблена в 2008 році. Розмір хеша - змінний: від 0 до 512 біт. Розмір блоку вхідних даних - 512 біт. Чис ло ітерацій – змінне, без ключа = 40+[n/4], із ключем = max (80, 40+(n/4)). Пропонується на зміну менш доскональному MD5.

6

MD5 хеш-функція розроблена в 1991 році. Розмір хеша - 128 біт. Розмір блоку вхідних даних - 512

Слайд 7 MD5 - це односпрямована хеш-функ ция. Алгоритм хешування бере в

якості вхідних даних повідомлення довільної довжини й видає на виході

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

7

MD5 - це односпрямована хеш-функ ция. Алгоритм хешування бере в якості вхідних даних повідомлення довільної довжини й

Слайд 88
Рис. 28.1. Обчислення дайджесту (профілю) повідомлення MD5

8Рис. 28.1. Обчислення дайджесту (профілю) повідомлення MD5

Слайд 99
Крок 1. Додавання значення довжини.
До результату виконання кроку 1 до

дається 64-бітове значення довжини в бі тах вихідного повідомлення (тобто

пові домлення, яким воно було перед додаван ням заповнювача), причому найменш зна чимий байт записується першим. Якщо довжина вихідного повідомлення переви щує 264, то використовуються тільки мо лодші 64 біта значення довжини.
Таким чином відповідне поле буде міс тити довжину вихідного повідомлення за модулем 264.
9	Крок 1. Додавання значення довжини.	До результату виконання кроку 1 до дається 64-бітове значення довжини в бі тах

Слайд 1010
Крок 1. Додавання бітів заповнювача.
Повідомлення доповнюється так, щоб його загальна

довжина в бітах була порів нянної зі значенням 448 за

модулем 512, тобто

де nM – довжина повідомлення в бітах;
nД – довжина доповнення в бітах.

10	Крок 1. Додавання бітів заповнювача.	Повідомлення доповнюється так, щоб його загальна довжина в бітах була порів нянної зі

Слайд 1111
Операція доповнення виконується завжди, навіть якщо повідомлення вже ви являється

необхідної довжини.
Наприклад, якщо довжина повідомлен ня рівна 448 бітам, то

до повідомлення до дається ще 512 бітів, у результаті чого довжина доповненого повідомлення вияв ляється рівної 960 бітам. Тому число бітів, що додаються повинне бути від 1 до 512.
Структура бітів заповнювача наступ на:
перший біт рівний 1;
всі інші рівні 0.
11	Операція доповнення виконується завжди, навіть якщо повідомлення вже ви являється необхідної довжини.	Наприклад, якщо довжина повідомлен ня рівна

Слайд 1212
У результаті виконання перших двох етапів виходить повідомлення, довжина якого

кратна 512 бітам.
На рис. 26.1 доповнене повідомлення представлене як послідовність

512-бітових блоків

Y0, Y1, ... , YL-1,

так що в підсумку довжина повідомлення виявляється рівної L х 512 бітів.
Це значить також, що довжина допов неного повідомлення кратна довжині блоку з 16-ти 32-бітових слів.
12	У результаті виконання перших двох етапів виходить повідомлення, довжина якого кратна 512 бітам.	На рис. 26.1 доповнене повідомлення

Слайд 1313
Нехай М[0...N-1] означає слова допо вненого повідомлення, тоді N буде

кратне числу 16. Таким чином, N = L х 16.

13	Нехай М[0...N-1] означає слова допо вненого повідомлення, тоді N буде кратне числу 16. Таким чином, N =

Слайд 1414

2. СТРУКТУРА ФУНКЦІЇ СТИСКУ АЛГОРИТМУ ІТЕРАТИВНОГО ХЕШУВАННЯ MD5
Серцем алгоритму хешування

MD5 є функція стиску, яка складається із чоти рьох "раундів"

обробки. На рис. 28.1 цей модуль позначений HMD5, а логіка роботи модуля показана на рис. 28.2.
142. СТРУКТУРА ФУНКЦІЇ СТИСКУ АЛГОРИТМУ ІТЕРАТИВНОГО ХЕШУВАННЯ MD5	Серцем алгоритму хешування MD5 є функція стиску, яка складається із

Слайд 1515
Рис. 28.2.
Обробка одного 512 -бітового блоку в MD5

15Рис. 28.2.Обробка одного 512 -бітового блоку в MD5

Слайд 1616
Крок 3. Ініціалізація буфера MD.
Для того щоб зберігати проміжні й

кін цеві результати функції хешування, вико ристовується 128-бітовий буфер. Буфер

можна представити у вигляді чотирьох 32 -бітових регістрів (А, В, С, D).
Ці регістри ініціалізуються наступними 32-бітовими цілими значеннями (у шістнад цятирічному вигляду):

А = 67452301,
В = EFCDAB89,
С = 98BADCFE,
D = 10325476.
16	Крок 3. Ініціалізація буфера MD.	Для того щоб зберігати проміжні й кін цеві результати функції хешування, вико ристовується

Слайд 1717
Ці значення зберігаються у форматі прямого порядку записи байтів, коли

най менш значимий байт слова перебуває в по зиції з

молодшою адресою.
Як 32-битові рядки, значення ініціалі зації (у шіснадцятковому запису) будуть мати вигляд

слово А: 01234567,
слово В: 89ABCDEF,
слово З: FEDCBA98,
слово D: 76543210.
17	Ці значення зберігаються у форматі прямого порядку записи байтів, коли най менш значимий байт слова перебуває в

Слайд 1818
Крок 4. Обробка повідомлення 512 -бітовими блоками (блоками по 16

32-роз рядних слів).
Усі чотири раунди мають подібну структуру, але в

кожному з них використо вується своя примітивна логічна функція (на рис. 28.2 відповідні функції позначені F, G, Н и I).
У кожному раунді на вхід подається поточний 512-бітовий блок (Yq) і 128-бітове значення буфера ABCD і, крім того, обнов ляється зміст буфера.
18	Крок 4. Обробка повідомлення 512 -бітовими блоками (блоками по 16 32-роз рядних слів).	Усі чотири раунди мають подібну

Слайд 1919
У кожному раунді використовується також четверта частина 64-елементної таб лиці

T[1...64], складеної зі значень функції синуса.
У таблиці T i-й елемент,

якій позна чується T[i], дорівнює цілої частини числа

T[i] = 232∙abs(sin(i)),

де i відповідає значенню кута в радіанах.
Через те, що abs(sin(i)) лежить у діапа зоні між 0 і 1, кожний елемент T є цілим чи слом, яке можна представити в 32-бітово му записі.
19	У кожному раунді використовується також четверта частина 64-елементної таб лиці T[1...64], складеної зі значень функції синуса.	У таблиці

Слайд 2020
Таблиця забезпечує "рандомізовану" множину 32-бітових кодів, які призначені "подавити" будь-які

регулярності даних, які вводяться.
Список значень Т[i] представлений у табл. 28.1.

20	Таблиця забезпечує

Слайд 2121
Таблиця 28.1
Ключові елементи MD5, створювані на основі значень синуса

21Таблиця 28.1Ключові елементи MD5, створювані на основі значень синуса

Слайд 2323
Поточний 512-бітовий блок (Yq) на вході обробки розбивається на

16 32-роз рядних слова X[k], k = 0…15.
Порядок використання цих

32-розряд них слів у раундах і кроках визначається відповідно до табл. 28.2.
23	 Поточний 512-бітовий блок (Yq) на вході обробки розбивається на 16 32-роз рядних слова X[k], k =

Слайд 2424
Таблиця 28.2
Порядок використання 16 32-розрядних
слова X[k] в 64 раундах

24Таблиця 28.2Порядок використання 16 32-розряднихслова X[k] в 64 раундах

Слайд 2525
Таблиця 28.2
Порядок використання 16 32-розрядних
слова X[k] в 64 раундах

25Таблиця 28.2Порядок використання 16 32-розряднихслова X[k] в 64 раундах

Слайд 2626
Вихідне значення четвертого раунду додається до вхідного значення першого раунду

(CVq), у результаті чого виходить CVq+1.
Додавання виконується по модулю 232

незалежно для кожного із чотирьох слів бу фера з відповідними словами CVq.

Крок 5. Вивід
Після обробки всіх L 512-бітових бло ків на виході L-й стадії обробки виходить 128-бітовий профіль (дайджест) повідом лення.
26	Вихідне значення четвертого раунду додається до вхідного значення першого раунду (CVq), у результаті чого виходить CVq+1.	Додавання виконується

Слайд 2727
У цілому роботу алгоритму MD5 можна описати наступними формулами:

q =

0;
CVq = IV,
RFF (Yq, CVq),
RFG[Yq, RFF(●)],
RFH[Yq, RFG(●)],
RFI[Yq, RFH(●)],
CVq+1 = SUM32[CVq,

RFI(●)],


MD = CVL.


27	У цілому роботу алгоритму MD5 можна описати наступними формулами:q = 0;CVq = IV,RFF (Yq, CVq),RFG[Yq, RFF(●)],RFH[Yq, RFG(●)],RFI[Yq,

Слайд 2828
RFX - функція раунду, що використовує примітивну логічну функцію X;
MD

- вихідне значення профілю пові домлення;
SUM32 - додавання по модулю

232, ви конуване окремо для кожного слова з пари значень.
28	RFX - функція раунду, що використовує примітивну логічну функцію X;	MD - вихідне значення профілю пові домлення;	SUM32 -

Слайд 2929

3. ЛОГІКА РОБОТИ КОЖНОГО З РАУНДІВ ФУНКЦІЇ СТИСКУ АЛГОРИТМУ ІТЕРАТИВНОГО

ХЕШУВАННЯ MD5
Логіка роботи модуля показана на рис. 28.3.

293. ЛОГІКА РОБОТИ КОЖНОГО З РАУНДІВ ФУНКЦІЇ СТИСКУ АЛГОРИТМУ ІТЕРАТИВНОГО ХЕШУВАННЯ MD5	Логіка роботи модуля показана на рис.

Слайд 3030
Рис. 28.3.
Елементарна операція MD5

30Рис. 28.3.Елементарна операція MD5

Слайд 3131
Розглянемо деталі логіки кожного із чотирьох раундів обробки одного 512-біто

вого блоку. Кожний раунд складається з послідовності 16 операцій з

даними буфера ABCD. Кожна така операція має вигляд

b ← b ((a g(b,c,d) X[k] T[i] <<< s),

де a, b, c, d - чотири слова буфера в пев ному порядку, що змінюються в процесі роботи;
g - одна із примітивних функцій F, G, H, I;
31	Розглянемо деталі логіки кожного із чотирьох раундів обробки одного 512-біто вого блоку. Кожний раунд складається з послідовності

Слайд 3232

s бітів;
X[k] - k-е 32-бітове слово в q-м 512-бі товому

блоці повідомлення, тобто M[q∙16+k];
T[i] - i-е 32-битове слово в матриці T;
- додавання по модулю 232.

Порядок, у якому використовується чотири слова (а, b, с, d), забезпечує на рівні слів циклічний зсув вліво на одне слово на кожному кроці.
32

Слайд 3333
У кожному із чотирьох раундів алго ритму використовується своя примітивна

логічна функція. Така примітивна функція одержує на вхід три 32-бітових

слова й ви дає на виході одне 32-бітове слово.
Кожна така функція виконує ряд побі тових логічних операцій, тобто n-й біт ви хідного значення є функцією n-х бітів трьох значень, що вводяться.
33	У кожному із чотирьох раундів алго ритму використовується своя примітивна логічна функція. Така примітивна функція одержує на

Слайд 3434
Функції мають такий вигляд
Тут логічні операції AND, OR, NOT, XOR

представляються символами ^, v, ¬, від повідно.
Функція F є

умовним вираженням: якщо b, те c, інакше d.
34	Функції мають такий вигляд	Тут логічні операції AND, OR, NOT, XOR представляються символами ^, v, ¬,  від

Слайд 3535
Точно так само G можна представити в такому виді: якщо

d, те b, інакше с.
Функція Н дає біт парності.
Значення всіх

чотирьох функцій пред ставлені в табл. 28.3.
Циклічний зсув вліво (поворот) 32 -бітового аргументу на s бітів залежить від номера раунду та кроку (див. табл. 28.4).
35	Точно так само G можна представити в такому виді: якщо d, те b, інакше с.	Функція Н дає

Слайд 3636
Таблиця 28.3
Ключові елементи MD5, значення логічних функцій

36Таблиця 28.3Ключові елементи MD5, значення логічних функцій

Слайд 3737
Таблиця 28.4
Порядок використання циклічного
зсуву вліво у 64 кроках

37Таблиця 28.4Порядок використання циклічногозсуву вліво у 64 кроках

Слайд 3838
ВИСНОВКИ
Алгоритм MD5 володіє властивістю, що кожний біт хеш-кода залежить від

усіх бітів входу. Складне багаторазове викорис тання базових функцій (F,

G, Н, I) у резуль таті дає гарне перемішування, а це значить, що практично неймовірно, щоб два наудачу обраних повідомлення породили той са мий хеш-код, навіть якщо ці повідомлення виявляються подібними за структурою.
38ВИСНОВКИ	Алгоритм MD5 володіє властивістю, що кожний біт хеш-кода залежить від усіх бітів входу. Складне багаторазове викорис тання

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика