1 / 13

МЕТОД ТА ЗАСІБ ХЕШУВАННЯ ДАНИХ НА ОСНОВІ моделі кватерніона

МЕТОД ТА ЗАСІБ ХЕШУВАННЯ ДАНИХ НА ОСНОВІ моделі кватерніона. Бакалаврська дипломна робота на тему:. Розробив: студент групи БС-09б Возний Максим. Керівник: д.т.н ., професор Лужецький В. А. КРИПТОГРАФІЧНІ ХЕШ-ФУНКЦІЇ

gail-fowler
Download Presentation

МЕТОД ТА ЗАСІБ ХЕШУВАННЯ ДАНИХ НА ОСНОВІ моделі кватерніона

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. МЕТОД ТА ЗАСІБ ХЕШУВАННЯ ДАНИХ НА ОСНОВІмоделікватерніона Бакалаврська дипломна робота на тему: Розробив: студент групи БС-09б Возний Максим • Керівник:д.т.н., професор • Лужецький В. А.

  2. КРИПТОГРАФІЧНІ ХЕШ-ФУНКЦІЇ Хеш-функція – функція, що перетворює вхідні дані будь-якого розміру в дані фіксованого розміру. h = Н(М) де М – повідомлення довільної довжини, Н(М) – значення функції хешування фіксованої довжини. Властивості криптографічних хеш-функцій • Функція повинна бути застосовною до блоку даних будь-якої довжини. • Функція повинна давати на виході значення фіксованої довжини. • Значення Н(х) повинне обчислюватися відносно легко для будь-якого заданого х. • Для будь-якого даного коду h повинно бути практично неможливо обчислити х, для якого Н(х) = h. Таку властивість іноді називають односторонністю. • Для будь-якого даного блоку х повинно бути практично неможливо обчислити у, для якого Н(х) = Н(у). Таку властивість іноді називають слабкою опірністю колізіям. • Повинно бути практично неможливо обчислити будь-яку пару різних значень х і у, для яких Н(х) = Н(у). Таку властивість іноді називають сильною опірністю колізіям.

  3. ПІДХОДИ ДО ПОБУДОВИ ХЕШ-ФУНКЦІЙ 1.Хеш-функції на основіскладноїматематичноїмоделі; 2. Хеш-функції на основіблоковихшифрів; 3. Хеш-функціїрозробленіз нуля. Хеш-функції на основіскладноїматематичноїмоделі Якщо M = {m1,m2,…,mn} – це інформаційні дані, mi – блок інформаційних даних, hi-1 – попереднє хеш-значення, f(hi-1,mi)–деяка функція,то значення хеш-функції, hi, дорівнюватиме тут g – примітивний елемент, mod p – обчислення за модулем простого числа p.

  4. ПІДХОДИ ДО ПОБУДОВИ ХЕШ-ФУНКЦІЙ Хеш-функції на основіблоковихшифрів Загальна схема, алгоритмівхешування на основіблоковихшифрів: де IH – випадкове початкове значення, A, B і C можуть бути або або константи (можливо рівні 0). Н0 – це деяке випадкове початкове число IH. Чотири безпечні схеми побудови хеш-функцій

  5. ПІДХОДИ ДО ПОБУДОВИ ХЕШ-ФУНКЦІЙ Хеш-функціїрозробленіз нуля Хеш-функції, щорозробляютьсяз нуля, можутьматирізну структуру. Структура хешування Меркле-Дамгаарда Структура Wide-pipe хеш Структурахешуваннягубка

  6. КВАТЕРНІОНИ Кватерніон – це математичний об'єкт вигляду q = a + bi + cj + dk, де a,b,c,d– дійсні числа, i,j,k– уявнікватерніонні одиниці,i2 = j2 = k2 = -1 Правила множеннякватерніонниходиниць: ij = -ji = k, jk = -kj = i, ki = -ik = j. Додавання кватерніонів: q1 = a + bi + cj + dk, q2 = e + fi + gj + hk q1 + q2 = a + e + (b + f)i + (c + g)j + (d + h)k. Віднімання кватерніонів: q1 = a + bi + cj + dk, q2 = e + fi + gj + hk q1- q2 = a - e + (b - f)i + (c - g)j + (d - h)k. Множення кватерніонів: q1 = a + bi + cj + dk, q2 = e + fi + gj + hk q1q2 = (a + bi + cj + dk)( e + fi + gj + hk) = ae - bf - cg - dh + +(af + be)i + (ag + ec)j + (ah + ed)k + (bg - fc)ij + (ch - gd)jk + (df - hb)ki = = ae - bf - cg - dh + (af + be + ch - gd)i+ (ag + ec + df - hb)j + (ah + ed + bg - fc)k.

  7. Метод хешування Дані представляються у вигляді M = {m1,m2,…,mn}. Хеш-функція має вигляд: hi = f(hi-1, mi). Значення hi-1представляється у виглядіhi-1 = {ai-1,bi-1,ci-1,di-1}, або у вигляді кватерніона: hi-1 = ai-1 + bi-1i + ci-1j + di-1k. Блок даних mi представляється у вигляді mi = {ei,fi,gi,hi}, або: mi = ei + fii + gij + hik. Результхеш-функціїhi представляється так: hi = hi-1mi = (ai-1 + bi-1i + ci-1j + di-1k)(ei + fii + gij + hik) = = ai-1ei - bi-1fi - ci-1gi - di-1hi + (ai-1fi + bi-1ei + ci-1hi - gidi-1)i+ + (ai-1gi + eici-1 + di-1f i- hibi-1)j + (ai-1hi + eidi-1 + bi-1gi - fici-1)k, або hi = d{hi-1mi} =d{ai,bi,ci,di}, де: ai = d(ai-1ei - bi-1fi - ci-1gi - di-1hi), bi = d(ai-1f i+ bi-1ei + ci-1hi - gidi-1), ci = d(ai-1gi + eici-1 + di-1fi - hibi-1), di = d(ai-1hi + eidi-1 + bi-1gi - fici-1). Функція d(x) – додавання молодших і старших розрядів аргументах за модулем 2n

  8. СТРУКТУРА ПРИСТРОЮ ХЕШУВАННЯ Пристрій хешування Блок хешування

  9. СТРУКТУРА ПРИСТРОЮ ХЕШУВАННЯ Структурна схема блоку Hash1 Структурна схема блоку Hash2

  10. VHDL-МОДЕЛЬ БЛОКУ ХЕШУВАННЯ

  11. Початок A Введення імені файлу так Зчитування файлу в пам'ять Mi залишились? ні Видалення символів 0х00 і 0хff h0 = H; і = і++ Введення значення Н Встановлення початкового значення h0 Обчислення 4-го коефіцієнта кватерніона Обчислення третього коефіцієнта кватерніона Обчислення першого коефіцієнта кватерніона Обчислення другого коефіцієнта кватерніона Кінець A • Алгоритм роботи програми Вигляд вікна програми для хешування файлу

  12. Порівняльні оцінки Хеш-функцій Порівняння швидкості хешування при обробці 512 бітівінформаційнихданих на 32-х розрядномупроцесорі

  13. Дякую за увагу!

More Related