UkrReferat.com
найбільша колекція україномовних рефератів

Всього в базі: 75850
останнє поновлення: 2016-12-08
за 7 днів додано 17

Реферати на українській
Реферати на російській
Українські підручники

$ Робота на замовлення
Реклама на сайті
Зворотній зв'язок

 

ПОШУК:   

реферати, курсові, дипломні:

Українські рефератиРусские рефератыКниги
НазваMD5 (message digest algorithm) (реферат)
Авторdimich
РозділМатематика, алгебра, геометрія, статистика
ФорматWord Doc
Тип документуРеферат
Продивилось2025
Скачало448
Опис
ЗАКАЧКА
Замовити оригінальну роботу

Реферат на тему:

 

MD5 (message digest algorithm)

 

Алгоритм генерації дайджеста за вхідним повідомленням (MD5 – RFC 1321)

був розроблений Роном Ріверстом в MIT. За останні роки MD5

зарекомендував себе як надійна хеш функція.

 

Входом алгоритму є повідомлення довільної довжини. Виходом є коротке

повідомлення (дайджест) довжиною 128 біт.

 

Рисунок 1. Генерація короткого повідомлення (дайджеста)

 

1. Поширення повідомлення. Повідомлення довжиною K біт поширюється так

щоб його довжина L в бітах стала конгруентною 448 mod 512 (L ? 448 mod

512). Якщо довжина повідомлення вже така, то додається 512 біт.

Інформація, що додається, складається з одиниці та слідуючих за ній

нулів (тобто 100..0). Додаватися може від 1 до 512 біт.

 

2. Додавання довжини. До поширеного повідомлення додається довжина

вихідного повідомлення (число K) як 64 бітове число. Якщо довжина

вихідного повідомлення більша за 264, то додається число K mod 264.

 

3. Ініціалізація MD буферу. 128 бітовий буфер використовується для

зберігання проміжних та кінцевих результатів хеш функції. Буфер являє

собою чотири 32 бітових регістри A, B, C, D. Регістри ініціюються

наступними значеннями:

 

A = 67452301

 

B = EFCDAB89

 

C = 98BADCFE

 

D = 10325476

 

4. Обробка 512 бітового повідомлення. Структура модуля HMD5 зображена на

рисунку 2. Функція стиснення HMD5 складається з чотирьох раундів

подібної структури, але кожний з яких має свою власну логічну функцію –

F, G, H та I.

 

Рисунок 2. Обробка одного 512 бітового блока

 

Кожний раунд приймає на вхід 512 бітовий блок Yq та 128 бітове значення

буферу ABCD. Кожний раунд також використовує четверту частину 64

елементної таблиці T[1..64], яка побудована за допомогою функції сінуса

(T[i] дорівнює цілій частині значення 232 * abs(sin(i)), де значення i

задається в радіанах). Оскільки значення abs(sin(i)) лежить в проміжку

від 0 до 1, то кожний елемент таблиці T є 32 бітовим числом.

 

Резудьтат четвертого раунду додається до входу першого раунда (CVq), в

результаті чого отримується CVq+1. Додавання здійснюється за модулем

232.

 

5. Формування результату. Після обробки всіх L 512 бітових блоків,

результатом алгоритму MD5 (128 бітовим коротким повідомленням або

дайджестом) виступає вихід L – го блоку.

 

Раунд Примітивна функція g g(b, c, d)

 

1 F(b, c, d) (b and c) or ((not b) and d)

 

2 G(b, c, d) (b and d) or (c and (not d))

 

3 H(b, c, d) b xor c xor d

 

4 I(b, c, d) c xor (b or (not d))

 

 

 

b c d F G H I

 

0 0 0 0 0 0 1

 

0 0 1 1 0 1 0

 

0 1 0 0 1 1 0

 

0 1 1 1 0 0 1

 

1 0 0 0 0 1 1

 

1 0 1 0 1 0 1

 

1 1 0 1 1 0 0

 

1 1 1 1 1 1 0

 

 

 

Рисунок 3. Елементарна операція

 

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

послідовності 16 кроків, кожен з яких є наступною операцією над ABCD

буфером:

 

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

 

де <<< s є операцією циклічного зсуву вліво на s біт,

 

X[k] = M[q * 16 + k] – k-те 32 бітове слово в q-ому 512 бітовому блоці

вхідного повідомлення.

 

В кожному раунді значення X[i] використовується лише один раз. До

першого раунда біти надходять в тому ж порядку як вони стоять на вході.

-----> Page:

0 [1]

ЗАМОВИТИ ОРИГІНАЛЬНУ РОБОТУ