You are on page 1of 14

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

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


імені Юрія Федьковича

_Навчально-науковий інститут фізико-технічних та комп’ютерних наук_


_Кафедра радіотехніки та інформаційної безпеки_

КРИПТОГРАФІЯ

Курсова робота
Перший рівень вищої освіти (бакалаврський)

Виконав: студент 3 курсу, групи 325ск


Спеціальність: 125___Кібербезпека_________
(шифр і назва спеціальності)
_______________ Сушинський М.М _____________
(прізвище та ініціали)
Керівник Шпатар П.М. _
(прізвище та ініціали)

Чернівці–2023

1
Форма № Н-9.01

Чернівецький національний університет імені Юрія Федьковича


( повне найменування вищого навчального закладу )

Навчально-науковий інститут фізико технічних та комп’ютерних наук____________________

Кафедра радіотехніки та інформаційної безпеки _____________________________________________

Перший рівень вищої освіти бакалаврський ____________________________________________

Спеціальність 125 – Кібербезпека _____________________________________________


(шифр і назва)
ЗАТВЕРДЖУЮ
Завідувач кафедри__________________
_______________________________
“____” _________________20___року

З А В Д А Н Н Я
НА КУРСОВУ РОБОТУ СТУДЕНТУ

_______________________ __ Сушинського Михайла Миколайовича_____________________________


(прізвище, ім’я, по батькові)
1. Тема роботи Розробка алгоритму шифрування та розшифрування вхідних
повідомлень _____________ _____________

керівник роботи ___________Шпатар Петро Михайлович _____________________,


( прізвище, ім’я, по батькові, науковий ступінь, вчене звання)
затверджено наказом вищого навчального закладу від “ ” 2023 року №__

2. Строк подання студентом роботи ___________________________________

3. Вихідні дані до роботи


1) Симетричне шифрування. Вибрати ключі та розробити блок-схему алгоритму та
програму для шифрування файлу даних афінним шифром 2+(і mod 4) порядку. Тип
афінного шифру визначається останньою цифрою і номера залікової книжки (НЗК).
2) Асиметричне шифрування.
2.1) Зашифрувати Слово відкритого тексту за алгоритмом RSA. Слово визначається
останньою цифрою і НЗК і задано в таблиці 1. Для генерування використати числа p та
q, які визначаються передостанньою цифрою j НЗК і задані в таблиці 2. Букви тексту
замінити натуральними числами, що відповідають порядковому номеру букви
латинської абетки. Наприклад, А=00, B=01, C=02 і т.д. 2.2.

2
2.2) Скласти блок-схему алгоритму та написати програму шифрування однієї сторінки
текстового файлу алгоритмом RSA для вхідних даних із завдання 2.1

4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно


розробити)
Розділ 1.Теоретичні відомості _____________________________________________
Розділ 2. Розробка алгоритму симетричного шифрування ______________
Розділ 3. Розробка алгоритму асиметричного шифрування _______________________________
Розділ 4. Блок-схема алгоритму шифрування _________________
Висновки__________________________________________________________________

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

Завдання до курсової роботи передбачає: розробку алгоритму шифрування


та розшифрування вхідних повідомлень у середовищі програмування Java за
допомогою двох алгоритмів шифрування.

4
ЗМІСТ
ВСТУП……………………………………………………………………………5

РОЗДІЛ 1. ТЕОРЕТИЧНІ ВІДОМОСТІ…………….…………..…...............6


1.1. Принципи симетричного шифрування. Афінні шифри...............................6
1.2. Принципи асиметричного шифрування. Шифр RSA………………….....10

РОЗДІЛ 2. РОЗРОБКА АЛГОРИТМУ СИМЕТРИЧНОГО

ШИФРУВАННЯ .................................................................................................15

2.1. Блок-схема для завдання 1...........................................................................15


2.2. Інструкція користувачу для завдання 2.…….............................................20
2.3. Лістинг коду завдання 1…………….……...…….......................................24

РОЗДІЛ 3.РОЗРОБКА АЛГОРИТМУ АСИМЕТРИЧНОГО


ШИФРУВАННЯ ………………………………………………........................27
3.1. Блок-схема для завдання 2………………....................................................27

3.2. Інструкція користувачу для завдання………………………....………..…35

3.3. Лістинг коду завдання 2……………………………………………………40

ВИСНОВКИ........................................................................................................46

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ………………………………47

5
ВСТУП
Захист інформації та збереження конфіденційності є одними з найважливіших
аспектів у сучасному цифровому світі. З метою забезпечення безпеки обміну
повідомленнями було розроблено численні алгоритми шифрування, які
дозволяють перетворити звичайний текст у незрозумілий для неуповноважених
осіб. Один з найефективніших способів захисту інформації - використання
алгоритмів шифрування.
Метою цієї курсової роботи є розробка алгоритму шифрування та
розшифрування вхідних повідомлень за допомогою двох різних алгоритмів
шифрування. Використання програмування в цих мовах дозволить нам створити
функціональні та ефективні інструменти для забезпечення безпеки повідомлень.
У рамках роботи будуть розглянуті та порівняні два алгоритми шифрування,
їх особливості, сильні та слабкі сторони. Розроблені алгоритми будуть імпле
реалізовані з використанням різних бібліотек та методів, що дозволить нам
переконатися в їхній ефективності та правильності.

РОЗДІЛ 1. ТЕОРЕТИЧНІ ВІДОМОСТІ


1.1. Принципи симетричного шифрування. Афінні шифри
Шифрування є одним із найефективніших способів забезпечення безпеки та
конфіденційності інформації. У сучасному світі, де кіберзлочинність і порушення
конфіденційності даних стають все більшими загрозами, розробка та використання
безпечних алгоритмів шифрування є надзвичайно важливим завданням.
Один з таких алгоритмів - афінний шифр, що базується на лінійній комбінації
символів вхідного повідомлення. Афінний шифр використовує математичну
формулу, яка містить ключі шифрування, для перетворення кожного символу
повідомлення у новий символ. Цей алгоритм надає достатню ступінь безпеки при
шифруванні повідомлень, але водночас є досить простим для реалізації та
розуміння.
1.2. Принципи асиметричного шифрування. Шифр RSA

6
RSA (Rivest-Shamir-Adleman) є одним з найпопулярніших асиметричних
алгоритмів шифрування, який широко застосовується для забезпечення безпеки
передачі даних у сучасному цифровому світі. Цей алгоритм базується на
складності факторизації великих простих чисел і забезпечує високий рівень
конфіденційності та цілісності даних. Основним принципом алгоритму RSA є
використання двох простих чисел, відомих як "приватний ключ" і "публічний
ключ". Процес генерації ключів включає в себе вибір двох великих простих чисел,
обчислення значень, які базуються на цих числах, і їх поділ на публічний та
приватний ключі. Публічний ключ використовується для шифрування
повідомлень, тоді як приватний ключ - для розшифрування зашифрованих
повідомлень.
Ключовою властивістю RSA є те, що навіть знаючи публічний ключ, дуже
складно визначити відповідний приватний ключ без знання факторизації великого
числа, що є основою ключів. Це забезпечує надійну захист від перехоплення та
розшифрування повідомлень неуповноваженими особами.
У роботі будуть розглянуті деталі процесу генерації ключів RSA, алгоритми
шифрування та розшифрування, а також методи забезпечення безпеки та захисту
від атак, таких як підбір приватного ключа шляхом факторизації чисел.

РОЗДІЛ 2. РОЗРОБКА АЛГОРИТМУ СИМЕТРИЧНОГО


ШИФРУВАННЯ
2.1. Блок-схема для алгоритму афінного шифрування
Блок-схема для завдання 1 наведена на рис. 1

7
Рис. 1 – Блок-схема для завдання 1

2.2. Інструкція користувачу для завдання 1


Для виконання завдання 1 потрібно запустити програму, при запуску
відкриється вікно головного меню(рис. 2.1).

8
Рис. 2.1 – Головне меню
Для шифрування необхідно ввести текст та натиснути кнопку «Зашифрувати»
(рис. 2.2).

Рис. 2.2 – Результат шифрування тексту


Для розшифрування необхідно натиснути кнопку «Розшифрувати» (рис. 2.3).

9
Рис. 2.3 – Результат розшифровки тексту

2.3. Лістинг коду для завдання 1


ДОБАВЬ КОД
Отже, ці методи дозволяють застосовувати афінний шифр до повного тексту,
шифруючи його символ за символом або розшифровуючи його відповідно.

РОЗДІЛ 3.РОЗРОБКА АЛГОРИТМУ АСИМЕТРИЧНОГО


ШИФРУВАННЯ
3.1. Блок-схема для алгоритму шифрування RSA
Блок-схема для шифрування методом RSA зображена на рисунку 3.1:

10
Рис. 3.1 – Блок-схема для шифрування методом RSA
3.2. Інструкція користувачу для завдання 2
Для виконання завдання 2 потрібно запустити програму, при запуску
відкриється головне меню(рис. 2.1), та натиснути на кнопку «Перейти на 2
сторінку»(рис. 3.1).

11
Рис. 3.1 – Вікно завдання 2

Для початку шифрування необхідно ввести необхідний текст та натиснути кнопку


«Закодувати»(рис. 3.2).

Рис. 3.2 – Результат шифрування тексту

Для розшифровки необхідно натиснути кнопку «Декодувати» (рис. 3.3).


12
Поставь свой скрин, у меня кнопка дешифровки не работает

Рис. 3.2 – Результат декодування тексту

3.3. Лістинг коду для завдання 2


ТУТ ТОЖЕ ВВЕДИ КОД

ВИСНОВКИ

В ході роботи було отримано навички роботи з шифрами симетричного і


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

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

1. Liew, S.C. Electromsgnetic Waves. Centre for Remote Imaging, Sensing and
Processing. – Режим доступу до ресурсу:
https://crisp.nus.edu.sg/~research/tutorial/em.htm - 01.12.2020
2. Бурак Н. Є. Технології "Internet of Things" управління проектом
[Електронний ресурс] // Securitylab. – 2019. – Режим доступу до ресурсу:
http://www.besmart.su/article/kakie-byvayut-umnye-doma.
3. Горбенко І.Д., Горбенко Ю.І. Прикладна криптологія. Електронний
підручник. Харків, ХНУРЕ, 2011 р.
13
14

You might also like