Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Біометрія в криптографії

Реферат Біометрія в криптографії





о 0), не обов'язково кратне 8. Для обчислення MD5 хеш-функції необхідно виконати наступні 5 кроків. p align="justify"> Крок 1: вирівнювання потоку.

Вхідний потік вирівнюється так, що б його довжина стала конгруентної (порівнянної) з 448 по модулю 512. Вирівнювання відбувається наступним чином: до потоку додається один біт '1 ', а потім біти '0' до тих пір, поки довжина потоку не буде порівнянна з 448 по модулю 512. Вирівнювання відбувається завжди, навіть якщо довжина потоку була вже порівнянна з 448 по модулю 512. Таким чином до потоку додається мінімум 1 біт, максимум - 512. p align="justify"> Крок 2: додавання довжини.

бітове представлення довжини вхідного потоку (довжини потоку до вирівнюється) додається до результату предидущего кроки. Якщо довжина потоку перевершує 2 ^ 64, то додаються молодші 64 біт. Ці біти додаються як 2 32-бітних слова, молодше слово додається першим. Таким чином на цьому кроці довжина потоку стає кратною 512 бітам або 16 32-бітним словами. Далі будемо розглядати вхідний потік як масив M [0 ... N-1] слів довжиною N.

Крок 3: ініціалізація MD буфера.

Буфер з 4 слів {A, B, C, D} використовується для обчислення хеш функції, який ініціалізується в наступні значення:

A = 0x67452301 = 0xEFCDAB89 = 0x98BADCFE = 0x10325476

Визначимо чотири допоміжні функції, кожна з яких бере три параметри розмірів в слово і виробляє результат - слово.

(x, y, z) = (x & y) | (~ x & z) (x, y, z) = (x & z) | (y & ~ z)

H (x, y, z) = x ^ y ^ z (x, y, z) = y ^ (x | ~ z)


Нагадаємо, що & - побітовое І, | - побітовое АБО, ^ - побітовое виключає АБО, ~ - побітовое заперечення. Функція F для кожного біта дає наступний результат: якщо X, то Y, інакше Z.

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


T = int (4294967296 * abs (sin (i))), де int () - ціла частина. Наприклад:

T [1] = int (4294967296 * abs (sin (i))) = int (3614090360,282 ...) = 3614090360.


Також слід визначити операцію x <<

Код

// обробити вхідний потік блоками по 16 слів

for i = 0 to N/16 - 1 do

{

// копіювати блок i в Xj = 0 to 15 do [j] = M [i * 16 + j]

// Зберегти значення A, B, C, D

AA = A = B = C = D

// прохід 1

// нехай [abcd ksi] позначає операцію

// a = b + ((a + F (b, c, d) + X [k] + T ) <<

//...


Назад | сторінка 3 з 8 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Зміна рівня рідини в резервуарі при миттєвому зміні величини вхідного поток ...
  • Реферат на тему: Оптимізація матеріального потоку
  • Реферат на тему: Проектування швейного потоку
  • Реферат на тему: Аналіз потоку готівкових коштів
  • Реферат на тему: Проектування потоку швейного виробництва