Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
50
Добавлен:
31.01.2021
Размер:
274.13 Кб
Скачать

Міністерство освіти і науки України

Харківський національний університет радіоелектроніки

Факультет_____________________Інфокомунікацій__________________________

Кафедра ________Інфокомунікаційної інженерії імені В.В. Поповського________

КУРСОВА РОБОТА

ПОЯСНЮВАЛЬНА ЗАПИСКА

Алгоритми електронного цифрового підпису

Ель-Гамаль, DSS/DSA.

Алгоритми хешування сімейства SHA2.

Алгоритми шифрування

Ель-Гамаль, Шамір.

Освітній рівень бакалавр

Харків, 2019р.

РЕФЕРАТ

Пояснювальна записка до курсової роботи містить 25 сторінок; 4 рисунки; 1 таблицю.

Мета роботи – дослідження і аналіз криптографічних алгоритмів, та їх програмна реалізація.

Об'єкт дослідження – хешування за допомогою хеш-функцій SHA-2, підписання повідомлень за допомогою цифрового підпису, шифрування інформації за допомогою алгоритмів шифрування.

Предмет дослідження – методи хешування SHA-2-256, SHA-2-384, SHA-2-512, методи створення електронного цифрового підпису по Ель-Гамалю і DSS/DSA, методи захисту інформації алгоритмами шифрування Ель-Гамаля та Шаміра.

У роботі проводиться аналіз алгоритмів хешування SHA другого покоління. Так само проводиться аналіз схем Електронно Цифрового Підпису та алгоритмів шифрування. Ґрунтуючись на отриманих даних відбувається програмна реалізація та порівняльний аналіз використовуваних алгоритмів.

Ключові слова: SHA-2-256, SHA-2-384, SHA-2-512.ХЕШУВАННЯ, ХЕШ-ФУНКЦІЯ,АСИМЕТРИЧНІ КРИПТОСИСТЕМИ, АЛГОРИТМ DSA, ЕЛЕКТРОННИЙ ПІДПИС, ШИФР, ВІДКРИТИЙ КЛЮЧ,СЕКРЕТНИЙ КЛЮЧ, АБОНЕНТ,АЛГОРИТМ ШАМІРА.

ЗМІСТ

РЕФЕРАТ 1

ПЕРЕЛІК СКОРОЧЕНЬ, УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, ОДИНИЦЬ І ТЕРМІНІВ 4

ВСТУП 5

1 ХЕШУВАННЯ 7

1.1 ХЕШ-ФУНКЦІЇ SHA2 8

1.1.1 Алгоритм SHA-2-256 9

1.1.2 Алгоритм SHA-2-384 12

1.1.3 Алгоритм SHA-2-512 13

2 ЕЛЕКТРОННИЙ ЦИФРОВИЙ ПІДПИС ЕЛЬ-ГАМАЛЯ І DSS / DSA 16

2.1 Загальні відомості 16

2.2 Електронний цифровий підпис по Ель-Гамалю 18

2.3 Стандарт DSS 19

2.4 Алгоритм DSA 20

3 АЛГОРИТМ ШИФРУВАННЯ ШАМІРА 22

ПЕРЕЛІК СКОРОЧЕНЬ, УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, ОДИНИЦЬ І ТЕРМІНІВ

ЕОМ – електронна обчислювальна машина

SHA – Secure Hash Algorithm

ЕЦП – електронний цифровий підпис

NIST -National Institute of Standards and Technology

DSA - Digital Signature Algorithm

DSS - Digital Signature Standard

SHS - Secure Hash Standard DES - Data Encryption Standard

ВСТУП

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

– неавторизований доступ до інформації;

– неавторизована зміна інформації;

– неавторизований доступ до мереж та інших сервісів.

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

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

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

У даній роботі розглядаються алгоритми криптографічного хешування сімейства SHA-2 (Secure Hash Algorithm), які користуються високою популярністю в програмах, пов'язаних із систематизацією, пошуком і захистом інформації.

Метою даної роботи є реалізація алгоритмів хешування SHA-2-256, SHA-2-384, SHA-2-512 за допомогою мови програмування C#, проведення порівняльного аналізу використовуваних алгоритмів.

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

Метою даної курсової роботи є дослідження систем з відкритим ключем і алгоритмів цифрового підпису, а зокрема алгоритму цифрового підпису DSS/DSA і Ель-Гамаля, а також їх порівняльний аналіз.

Засоби і системи криптографічного захисту інформації відіграють важливу роль в сучасних комп'ютерних інформаційних системах, використовуваних в сфері фінансової та комерційної діяльності. Інтерес до них обумовлений не тільки зростаючими суспільними потребами в перекладі економічних і державно-правових відносин на «електронну основу», а й сильно розширилися можливості передачі, обробки та зберігання інформації в розподілених обчислювальних системах. Застосування спеціальних криптографічних протоколів і криптосистем дозволяє здійснювати різноманітні економічні відносини «дистанційно», виключаючи необхідність особистої зустрічі учасників цих відносин, а також підтримувати при цьому належну фінансову та правову дисципліну. До криптографічних протоколів відносять протоколи шифрування, електронного цифрового підпису (ЕЦП), ідентифікації та протоколи аутентифікованого розподілу ключів.

1 Хешування

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

Однонаправлені хеш-функції будуються на ідеї функції стиснення, яка видає вихідне значення довжини n при заданих вхідних даних більшої довжини m. односпрямовані хеш функції строяться на ідеї функції стиснення. Входом функції стиснення є блок сполучення і вихід попереднього результату стиснення. Таким чином, в загальному випадку хеш-значення блоку Мi знаходять за формулою (1.1):

(1.1)

де hi – і-тий хеш-блок, вихід функції стиснення;

f – функція стиснення;

Mi – і-тий блок сполучення, блок повідомлення;

h i-1 – вихід попереднього результату стиснення.

Це значення hi разом з наступним блоком повідомлення стає наступним входом функції стиснення. Цифровим відбитком всіх даних є значення останнього блоку. На рис. 1.1 представлена узагальнена схема односпрямованої хеш-функції.

Рисунок 1.1 – Односпрямована функція

1.1 ХЕШ-ФУНКЦІЇ SHA2

На сучасному етапі розвитку обчислювальної техніки і можливості проведення криптоаналізу з використанням розподілених інформаційних систем, зявляється потреба більш високій стійкості і відповідність використовуваних механізмів захисту. Тому після введення нових стандартів шифрування, було прийнято рішення про зміну механізму вироблення цифрових відбитків і заміні стандарту Secure Hash Standart. В результаті був розроблений набір алгоритмів SHA-2, який дозволяє формувати відбитки довжиною 256, 384, 512 бітів.

Кожен алгоритм складається з двох етапів: первинна обробка і обчислення хешу. Первинна обробка полягає у доповненні повідомлення, розбитті його на блоки та ініціалізації констант, початкових значень хешу. Всі алгоритми значно відрізняються числом бітів рівня безпеки, що робить можливим вибирати шифруючі та хешуючі перетворення еквівалентними по стійкості. При цьому слід звернути увагу, що SHA-1 і SHA-2-256 використовують 32-бітові слова, а SHA-2-384 SHA-2-512 використовують 64-бітові слова. Технічні характеристики SHA-1 і SHA-2 наведені в таблиці 1.1.

Таблиця 1.1 – Технічні характеристики SHA-1 і SHA-2.

Алгоритм

Розмір повідомлення

Розмір блоку

Розмір слова

Довжина цифрового відбитку

Рівень безпеки

SHA-1

< 264

512

32

160

80

SHA-1-224

< 264

512

32

224

112

SHA-2-256

< 264

512

32

256

128

SHA-2-384

< 2128

1024

64

384

192

SHA-2-512

< 2128

1024

4

512

256