Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Диплом / 7_Розділ 3

.docx
Скачиваний:
32
Добавлен:
20.02.2016
Размер:
68.64 Кб
Скачать

53

Розділ 3. ЕКСПЕРИМЕНТАЛЬНЕ ДОСЛІДЖЕННЯ УДОСКОНАЛЕНОГО АЛГОРИТМУ ХЕШУВАННЯ

3.1. Методика експерименту

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

Правильний вибір методики експерименту займає особливе значення при його проведенні. Методика експерименту – визначена послідовність процесів, у результаті якої досягається мета дослідження. Цінність експерименту визначає правильність розробки методики його дослідження.

Перший крок у проведенні експериментального дослідження займає складання плану – програми дослідження:

1. Мета та задачі експерименту: а) порівняння швидкостей алгоритму хешування MD5 та розробленого алгоритму; б) перевірка на стійкість розробленого алгоритму.

2. Вибір вхідних та вихідних параметрів: вхідні параметри: а) розроблений програмний засіб для хешування даних; б) згенероване повідомлення розміром 35168449307016 біт; вихідні параметри: а) швидкісні характеристики алгоритму хешування MD5 та розробленого алгоритму; б) таблиці із значеннями хеш-кодів.

3. Послідовність дій: а) обирається один з п’яти комп’ютерів, запускається програма; б) генеруються файли певного діапазону, для кожного з них визначається хеш-код.

4. Використовувані засоби: Borland С++ Builder 6 (для створення програмних засобів, що дозволяють провести дослідження); мова програмування С++.

5. Аналіз результатів наведено п.3.3 роботи.

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

Відповідно до обраної методики проведено експериментальні дослідження, опис та обробка яких містяться в п.3.3.

3.2. Розробка ПЗ

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

Програмний засіб написаний на мові програмування С++, на платформі Borland С++ Builder 6. ПЗ підтримують такі ОС: Windows XP, Windows 7. Можлива оптимізація під ОС Ubuntu.

Вікно програми розробленого ПЗ зображене на Рис. 3.2.

Рис. 3.2. Вікно програми розробленого ПЗ

Інструкція користувача

  1. Вибір файлу. Натиснути клавішу «…», обрати потрібний файл.

  2. Вибір алгоритму хешування. Обрати алгоритм із запропонованих, натиснувши кружочок напроти потрібного алгоритму.

  3. Накладання хеш-коду. Натиснути клавішу «Накласти хеш-код».

  4. Перевірка хеш-коду. Натиснути клавішу «Перевірити хеш-код».

3.3. Верифікація запропонованої хеш-функції

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

3.3.1. Перевірка на колізії другого роду

Серед безлічі існуючих хеш-функцій прийнято виділяти криптографічно стійкі, які застосовуються в криптографії. Для того, щоб хеш-функція вважалася криптографічно стійкою, вона повинна задовольняти трьом основним вимогам, на яких засновано більшість застосувань хеш-функцій в криптографії:

  • Незворотність: для заданого значення хеш-функції повинно бути обчислювально нездійсненно знайти блок даних, для якого .

  • Стійкість до колізій першого роду: для заданого повідомлення повинно бути обчислювально нездійсненно підібрати інше повідомлення, для якого.

  • Стійкість до колізій другого роду: має бути обчислювально нездійсненно підібрати пару повідомлень  , що мають однаковий хеш.

Дані вимоги не є незалежними:

  • Оборотна функція нестійка до колізій першого і другого роду.

  • Функція, нестійка до колізій першого роду, нестійка до колізій другого роду; зворотне невірно.

Отже, якщо функція стійка до колізій другого роду, то вона також стійка до колізій першого роду та відповідає вимозі незворотності.

Для перевірки стійкості розробленої функції до колізій другого роду, було випадково обрано різних повідомлень довжиною від 1024 біт до 1Мбіт (повідомлення генерувалися спеціальною розробленою програмою). Для кожного з повідомлень вироблено хеш-код.

Результати верифікації наведені в табл. 3.1.

Таблиця 3.1.

Результати верифікації

Діапазон повідомлення

Кількість повідомлень

Об’єм повідомлень, біт

1024-5120

1024

3145728

5121-2562

960

14746080

25601-1283

979

75187689,5

128001-644

991

380544495,5

640001-325

949

1822080474,5

3200001-166

846

8121600423

16000001-87

759

36432000379,5

80000001-48

810

194400000405

400000001-29

891

1069200000445,5

2000000001-109

828

4968000000414

10000000001-509

963

28890000000481,5

Об’єм всієї пам’яті повідомлень – 35168449307016 біт

В результаті чого, не вдалося знайти такі пари повідомлень  , для яких .

3.3.2. Порівняння швидкісних характеристик запропонованої хеш-функції та хеш-функції MD5

Для підтвердження досягнення поставленої мети був проведений порівняльний тест швидкісних характеристик алгоритму хешування MD5 та розробленого алгоритму хешування (в однакових умовах). MD5 було розроблено самостійно.

Тестування проводилося на п’яти ЕОМ, серед яких:

  1. Двоядерний процесор AMD Dual-Core A6-4400M (3.2 ГГц);

  2.  Двоядерний процесор Intel Core i3-3120M (2.5 ГГц);

  3.  Одноядерний процесор Intel Core i7-2630QM (2 ГГц)

  4. Двоядерний процесор Intel Celeron B830 (1.8 ГГц);

  5. Одноядерний процесор Intel Atom N450 (1.66 ГГц);

Результати наведені у табл. 3.2.

Таблиця 3.2.

Порівняння швидкісних характеристик

Алгоритм

хешування

Процесор

1, Мбайт/с

2, Мбайт/с

3, Мбайт/с

4, Мбайт/с

5, Мбайт/с

MD5

8,863

7,312

6,084

4,937

3,506

Розроблений

10,635

8,628

7,308

5,776

4,207

Швидкість розробленого алгоритму склала в середньому 6,14 Мбайт/с, в той час, як швидкість MD5 - 7,31 Мбайт/с. Отже, розроблений криптоалгоритм показав кращі показники швидкості у порівнянні з алгоритмом MD5 приблизно на 20%.

    1. Висновки до розділу 3

В даному розділі було виконано наступне:

  • описана методика експерименту;

  • розроблено ПЗ;

  • проведена верифікація запропонованої хеш-функції на зменшених моделях алгоритму

  • проведено порівняння швидкісних характеристик запропонованої хеш-функції та хеш-функції MD5;

В результаті проведеної роботи не вдалося підібрати такі пари повідомлень , для яких , що означає, що хеш-функція стійка до колізій другого роду. Також розроблений криптоалгоритм показав кращі показники швидкості у порівнянні з алгоритмом MD5 приблизно на 20%.

Соседние файлы в папке Диплом