У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Реферат - Цифрові підписи
15



Цифрові підписи

Цифрові підписи

Цифрові підписи є електронними відповідниками традиційних підписів. Власти-вості, що їх повинні задовольняти цифрові підписи, такі:

1. лише особа А може створити підпис особи А (підробка підпису не може бути реалізованою);

2. можливість однозначно ствердити, що цифровий підпис зроблений саме під
конкретним документом (копіювання підпису з одного документа на інший
не може бути реалізованим).

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

Найпростіший спосіб реалізації цифрових підписів полягає у дотриманні такого протоколу. Нехай kD - приватний ключ особи А. Одночасно є відомими відповідний до ключа kD публічний ключ kЕ і асиметричний алгоритм, до якого належать ці ключі.

Підписують документ М так:

особа А утворює криптограму з документа М за допомогою ключа kD. Отри-
ману криптограму особа А публікує як підпис; оригінальний документ пересилається разом з підписом; абонент, який хоче перевірити підпис особи А, перетворює криптограму за до-помогою ключа kЕ. У такий спосіб він отримує текст, який підписала особа А.

Схема має ту ваду, що цифровий підпис є надто довгим. Проте маємо гарантію, що підпис не може бути перенесений на інші документи.

У розглянутому способі можна виділити три окремі етапи.

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

Утворення підпису. Виконуються обчислення, під час яких утворюється послі-довність, що є підписом конкретного документа.

Верифікація підпису. Перевіряють як автентичність підпису автора, так і автен-тичність підписаного документа. Верифікація має вигляд тесту, який витримує лише справжній підпис.

Приклад 6.1. Нехай р = 59 і q = 71. Тоді п = 4189 і ф(п) = 4060. Вибираємо є = 1229. Обчислюємо за допомогою алгоритму Евкліда НСД (1229, 4060) = 1.

Одночасно обчислюємо d= 1229-1 mod 4060 = 849. Згенеровано ключі алгоритму RSA: 1229, 4189 - публічний ключ, 849 - приватний ключ.

Що робить користувач А, коли хоче надіслати особі В повідомлення Перерахуйте сто тисяч ТОВ Роги і копита і додати до нього цифровий підпис? (Цифрове зобра-ження цього повідомлення, ігноруючи пропуски між словами, має вигляд 19062006200025231322062122182210213227220918022018031011141819102200).

Розбиває повідомлення на блоки по чотири цифри з огляду на значення модуля п: 1906 2006 2000 2523 1322 0621 2218 2210 2132 2722 0918 0220 1803
1011 1418 1910 2200. Використовуючи свій приватний ключ d і число п, обчислює:

сторона А пересилає стороні В разом з повідомленням:*

Для перевірки цифрового підпису абонент В використовує публічний ключ є = 1229 абонента А:

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

Хешувальні функції

Хешувальною (вкорочувальною) функцією (hash-function) називають процедуру перетворення інформації, що відображає початкову послідовність бітів довільної дов-жини, в послідовність бітів фіксованої довжини.

Нагадаємо (див. 1.2.4), що Л є однонапрямленою хешувальною функцією, якщо виконуються такі умови:

для кожного тексту X легко обчислити значення h(X); h(X) має однакову довжину для всіх текстів X (тому довжина h(X) не дає жодної інформації про текст X);

3) практично неможливо для заданого У знайти таке X, що h(X) = Y.
Послідовність h{X) повинна бути досить довгою для того, щоб систематичний

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

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

Хешувальні функції повинні задовольняти три головні вимоги:

за відомим значенням функції h(X) повинно бути неможливо (дуже складно в
обчислювальному сенсі) знайти її аргумент X. Таку функцію називають стій-кою в сенсі обернення; для заданого аргументу X повинно бути неможливим знайти такий інший ар-гумент Х1, що h{X) - h(X1). Таку функцію називають стійкою в сенсі обчислення колізій; з погляду практичного застосування алгоритми обчислення хешувальних
функцій повинні бути швидкими, а ще ліпше - бути оптимізованими під кон-кретне апаратне обчислювальне середовище.

У контексті криптографічних застосувань ці функції можна використати у разі

зберігання паролів (гасел); цифрових підписів; засвідчення документів.

Пункти стосовно цифрових підписів та засвідчення документів буде розглянуто в розділах 6, 7, а тут розглянемо пункт, що стосується зберігання паролів.

Одна із широко вживаних у такому випадку технік є зберігання не паролів, а зна-чень певної хешувальної функції h на паролях:

користувач А подає свій пароль х; операційна система обчислює h(x) і порівнює зі значенням, записаним у від-
повідній області для А; саме значення х в той же час усувається з пам'яті
процесора;*

якщо значення збігаються, то відкривається сесія користувача А.

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

спочатку обчислюють значення функції А для слів з великого словника, який
охоплює слова з різних мов, географічні й власні назви. Крім того, добре увес-ти в словник слова, записані з невеликими змінами або помилками. Список
цих значень можна заготувати наперед; копіюють область, яка містить значення функції h для паролів користувачів (у
багатьох системах вона доступна для читання); на власному комп'ютері порівнюють зчитані та обчислені значення. Відшукавши відповідну пару, можна ідентифікувати пароль одного користувача.

З метою захисту паролів від атаки діють так. Для кожного користувача А утво-рюють запис, який складається з компонентів:

випадково вибраної послідовності
Сторінки: 1 2 3 4 5