Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторна криптографія.doc
Скачиваний:
9
Добавлен:
09.12.2018
Размер:
266.24 Кб
Скачать

Додаток е. Функція хешування

Функцією хешування (хеш-функцією або вкорочуючей функцією) називається перетворення даних, що переводить рядок бітів M довільної довжини в рядок бітів h(M) деякої фіксованої довжини (кілька десятків чи сотень біт).

Хеш-функція h(M) повинна задовольняти наступним умовам:

  1. хеш-функція h(M) повинна бути чутливою до будь-яких змін вхідної послідовності M;

  2. для даного значення h(M) повинно бути неможливо знайти значення M;

  3. для даного значення h(M) повинно бути неможливо знайти значення MM таке, що h(M) = h(M) .

Ситуація, за якої для різних вхідних послідовностей M , Mспівпадають значення їх хеш-образів: h(M) = h(M), називається колізією.

При побудові хеш-образу, вхідна послідовність M розбивається на блоки Mi фіксованої довжини і оброблюється поблочно за формулою

Hi = f(Hi-1 , Mi).

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

В якості прикладу розглянемо спрощений варіант хеш-функції із рекомендацій МККТТ Х.509:

Hi = (Hi-1 + Mi )2 mod n ,

де n = pq, p і q – великі прості числа, H0 - довільний початковий вміст, Mi - i-тий блок повідомлення M = M1 M2 … Mk .

Додаток ж. Електронний цифровий підпис

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

При розробці механізму цифрового підпису виникають наступні задачі:

  • створити підпис таким чином, щоб її неможливо було підробити;

  • мати можливість перевірки того, що підпис дійсно належить вказаному власнику;

  • мати можливість запобігти відмові від підпису.

Класична схема створення цифрового підпису

При створенні цифрового підпису за класичною схемою відправник

  1. застосовує до вихідного повідомлення хеш-функцію;

  2. обчислює цифровий підпис за хеш-образом повідомлення з використанням секретного ключа створення підпису;

  3. формує нове повідомлення, яке складається з вихідного повідомлення та доданого до нього цифрового підпису.

Отримувач, отримавши підписане повідомлення,

  1. відділяє цифровий підпис від основного повідомлення;

  2. застосовує до основного повідомлення хеш-функцію;

  3. з використанням відкритого ключа перевірки підпису здобуває хеш-образ повідомлення з цифрового підпису;

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

Схема підпису RSA

Криптосистема з відкритим ключем RSA може використовуватись не лише для шифрування, але і для побудови схеми цифрового підпису.

Для створення підпису повідомлення M відправник

  1. обчислює хеш-образ r = h(M) повідомлення M за допомогою деякої хеш-функції;

  2. зашифровує отриманий хеш-образ r на своєму секретному ключі (d,n), тобто обчислює значення s = rd mod n , що і є підписом.

Для перевірки підпису отримувач

  1. розшифровує підпис s на відкритому ключі (e,n) відправника, тобто обчислює r = se mod n і таким чином відновлює імовірний хеш-образ r повідомлення M;

  2. обчислює хеш-образ h(M) = r повідомлення M за допомогою тієї ж самої хеш-функції, котру використовував відправник;

  3. порівнює отримані значення r і r . Якщо вони співпадають, то підпис правильний, відправник дійсно є тим, за кого себе видає, і повідомлення не було змінено при передачі.

21