Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Дослідження електронного цифрового підпису (ЕЦП) RSA

Автор:   •  Октябрь 4, 2023  •  Лабораторная работа  •  412 Слов (2 Страниц)  •  117 Просмотры

Страница 1 из 2

ХАРКІВСЬКИЙ

Кафедра кібербезпеки

та інформаційних технологій

 

Звіт

о виконанні лабораторної роботи №9

з навчальної дисципліни

«Теоретичні основи криптографії»

Тема: Дослідження електронного цифрового підпису (ЕЦП) RSA

Виконав:

Факультет: IT

Спеціальність:

Група:

Харків

2021р.

Завдання: розробити програму формування електронного цифрового підпису (ЕЦП) RSA.

Хід роботи

Для розробки програми формування ЕЦП RSA на мові Python, спочатку потрібно встановити бібліотеку «cryptography». Встановлюємо її, виконуючи у терміналі наступну команду: «pip install cryptography».

Тепер розробляємо програму формування електронного цифрового підпису (ЕЦП) RSA.

1. Імпортуємо необхідні модулі та функції з бібліотеки `cryptography` (рис. 1).

[pic 1]

Рис. 1

2. Наступна функція `generate_rsa_key_pair` генерує пару RSA ключів (приватний та публічний). Вона використовує функцію `rsa.generate_private_key()` для створення приватного ключа з заданим показником (public_exponent) та розміром ключа (key_size). Потім вона отримує відповідний публічний ключ, викликаючи метод `public_key()` для приватного ключа (рис. 2):

[pic 2]

Рис. 2

3. Функція `sign_data(private_key, data)` створює ЕЦП для вхідних даних `data` за допомогою приватного ключа `private_key`. Вона використовує метод `sign()` приватного ключа, застосовуючи схему заповнення PSS і хеш-функцію SHA256 для створення цифрового підпису (рис. 3):

[pic 3]

Рис. 3

4. Функція `verify_signature(public_key, data, signature)` перевіряє ЕЦП `signature` для вхідних даних `data`, використовуючи публічний ключ `public_key`. Вона використовує метод `verify()` публічного ключа, також застосовуючи схему заповнення PSS і хеш-функцію SHA256. Функція повертає `True`, якщо підпис є вірним, і `False` в іншому випадку (рис. 4):

...

Скачать:   txt (5.8 Kb)   pdf (120.6 Kb)   docx (235.2 Kb)  
Продолжить читать еще 1 страницу »
Доступно только на Essays.club