Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/7747Full metadata record
| DC Field | Value | Language |
|---|---|---|
| dc.contributor.advisor | Кунченко-Харченко, Валентина Іванівна | - |
| dc.contributor.author | Тодорова, Катерина Костянтинівна | - |
| dc.date.accessioned | 2026-03-11T12:31:19Z | - |
| dc.date.available | 2026-03-11T12:31:19Z | - |
| dc.date.issued | 2022 | - |
| dc.identifier.uri | https://er.chdtu.edu.ua/handle/ChSTU/7747 | - |
| dc.description.abstract | Мета роботи полягає у створенні додатку, який буде зручним у використанні для будь-якого користувача та надаватиме якісний захист від порушень цілісності та доступності даних. Важливою частиною роботи є огляд криптографічних алгоритмів та методів шифрування, що існують, та їх порівняння для визначення найбільш оптимальних способів захисту. | uk_UA |
| dc.language.iso | uk | uk_UA |
| dc.subject | протокол діффі-хеллмана | uk_UA |
| dc.subject | претекстинг | uk_UA |
| dc.subject | метод гамування | uk_UA |
| dc.subject | додаток шифрування | uk_UA |
| dc.subject | зашифрований текст | uk_UA |
| dc.subject | гама | uk_UA |
| dc.title | Практична реалізація криптографічного захисту даних при обміні конфіденційною інформацією | uk_UA |
| dc.type | Bachelor Thesis | uk_UA |
| Appears in Collections: | 125 Кібербезпека та захист інформації (Безпека інформаційних і комунікаційних систем) | |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| Б_125_Тодорова_Кунченко-Харченко.pdf Restricted Access | 2.5 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ЕЛЕКТРОННИХ ТЕХНОЛОГІЙ І РОБОТОТЕХНІКИ
КАФЕДРА РОБОТОТЕХНІЧНИХ І ТЕЛЕКОМУНІКАЦІЙНИХ СИСТЕМ
ТА КІБЕРБЕЗПЕКИ
До захисту допущено
завідувач кафедри РТСК
д.т.н., професор
_______________ В.В. Палагін
"_____" ___________ 2022 року
Пояснювальна записка
до дипломного проекту (роботи) бакалавра
на тему «Практична реалізація криптографічного захисту даних при обміні
конфіденційною інформацією»
Виконала: студентка 4 курсу, групи БІ-81
Спеціальності 125 – «Кібербезпека»,
освітньої програми «Безпека
інформаційних і комунікаційних систем»
Тодорова К.К.
Керівник Кунченко-Харченко В.І.
Рецензент Андрієнко В.О.
Черкаси 2022
Форма № Н-9.01
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
(повне найменування вищого навчального закладу)
Факультет електронних технологій і робототехніки _______________________________________
(повна назва)
Кафедра робототехнічних і телекомунікаційних систем та кібербезпеки
(повна назва)
Освітньо-кваліфікаційний рівень бакалавр
(шифр і назва)
Спеціальність 125 – Кібербезпека
(шифр і назва)
Освітня програма "Безпека інформаційних і комунікаційних систем"
(шифр і назва)
ЗАТВЕРДЖУЮ
Завідувач кафедри Палагін В.В.
____________
“___” _____________ 20__ року
З А В Д А Н Н Я
НА ВИПУСКНУ РОБОТУ СТУДЕНТУ
Тодоровій Катерині Костянтинівні
(прізвище, ім’я, по батькові)
1. Тема проекту (роботи) Практична реалізація криптографічного захисту даних при обміні
конфіденційною інформацією ___________________________________________________________
керівник проекту (роботи) Кунченко-Харченко В.І., д.т.н., професор _____ _____________________
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)
затверджені наказом Черкаського державного технологічного університету
від «_18_» _лютого__2022 року № 58/04__
2. Строк подання студентом проекту (роботи) «_13_» червня 2022 р.
3. Вихідні дані до проекту (роботи) Криптографічний протокол Діффі-Хеллмана, метод
гамування, мова програмування Python. __________________________________________________
4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити)
Вступ, Розділ 1 Аналіз потенційних загроз конфіденційній інформації та огляд алгоритмів
шифрування, Розділ 2 Принципи криптографічних перетворень та використані протоколи, Розділ
3 Розробка програмного засобу, Розділ 4 Охорона праці, Загальні висновки, Перелік використаних
джерел, Додаток А, Додаток Б.
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень, плакатів): схема
роботи протоколу, схема процесу процедури гамування; мультимедійна презентація «Практична
реалізація криптографічного захисту даних при обміні конфіденційною інформацією» - 14 слайдів:
плакат 1 – Титульний лист, плакат 2 – Мета роботи, плакат 3 – Аналіз загроз конфіденційній
інформації, плакат 4 – Принципи роботи використаних протоколів, плакат (5-6) – Протокол
Діффі-Хеллмана, плакат 7 – Гамування, плакат (8-10) – Розробка програмного засобу, плакат
(11,12) – Охорона праці, плакат (13,14) – Висновки.
6. Консультанти розділів проекту (роботи)
Підпис, дата
Розділ Прізвище, ініціали та посада консультанта
завдання видав завдання прийняв
Охорона праці Кожем’якін О.С., старший викладач
кафедри безпеки життєдіяльності
7. Дата видачі завдання ___18.02.2022_________
КАЛЕНДАРНИЙ ПЛАН
Строк виконання
№ Назва етапів дипломного
етапів проекту Примітка
з/п проекту (роботи)
(роботи)
1. П ошук і аналіз інформації по заданій темі 21.02.2022-
28.02.2022
2. Н аписання І розділу 01.03.2022-
18.03.2022
3. Н аписання ІІ розділу роботи 21.03.2022-
01.04.2022
4. Н аписання ІІІ розділу 04.04.2022-
29.04.2022
5. В иконання розділу охорони праці 02.05.2022-
22.05.2022
6. Н аписання вступу і висновків, складання списку 23.05.2022
літератури
7. О формлення пояснювальної записки та презентації 09.05.2022-
23.05.2022
8. К афедральний захист роботи (перед захист роботи) 24.05.2022
9. П одача роботи керівнику на рецензування 25.05.2022
10. П одання роботи в ДЕК 13.06.2022
11. З ахист роботи в ДЕК 16.06.2022
Студент _________________ ___Тодорова К.К.
(підпис) (прізвище та ініціали)
Керівник роботи __________ __Кунченко-Харченко В.І.
(підпис) (прізвище та ініціали)
ЗМІСТ
ВСТУП .............................................................................................................................................................. 5
РОЗДІЛ 1. АНАЛІЗ ПОТЕНЦІЙНИХ ЗАГРОЗ КОНФІДЕНЦІЙНІЙ ІНФОРМАЦІЇ ТА ОГЛЯД
АЛГОРИТМІВ ШИФРУВАННЯ ................................................................................................................... 6
1.1. Потенційні загрози інформації ................................................................................................................ 6
1.2. Конфіденційна інформація та її захист на законодавчому рівні .......................................................... 9
1.3. Огляд та порівняння алгоритмів шифрування і протоколів ............................................................... 10
1.3.1. Алгоритми шифрування інформації .................................................................................................. 11
1.3.2. Порівняння симетричних методів шифрування ............................................................................... 12
1.3.3. Порівняння асиметричних методів криптографії ............................................................................. 13
1.4. Висновки .................................................................................................................................................. 14
РОЗДІЛ 2. ПРИНЦИПИ КРИПТОГРАФІЧНИХ ПЕРЕТВОРЕНЬ ТА ВИКОРИСТАНІ ПРОТОКОЛИ
......................................................................................................................................................................... 15
2.1. Протокол Діффі-Хеллмана .................................................................................................................... 15
2.2. Шифрування методом гамування ......................................................................................................... 16
2.3. SMTP протокол ....................................................................................................................................... 18
2.4. Висновки .................................................................................................................................................. 19
РОЗДІЛ 3. РОЗРОБКА ПРОГРАМНОГО ЗАСОБУ ................................................................................... 20
3.1. Графічне представлення додатку .......................................................................................................... 20
3.2. Опис основних елементів коду додатку ............................................................................................... 25
3.3. Висновки .................................................................................................................................................. 30
РОЗДІЛ 4. ОХОРОНА ПРАЦІ ...................................................................................................................... 31
4.1. Аналіз небезпек та шкідливостей, які виникають в процесі користування програмним засобом . 31
4.2. Розробка заходів з охорони праці при користуванні програмним засобом ...................................... 37
4.2.1. Різновиди знаків безпеки .................................................................................................................... 37
4.2.2. Матеріали та розміщення знаків безпеки .......................................................................................... 41
4.2.3. Вплив кольорів в приміщенні на стан працівників .......................................................................... 44
ЗАГАЛЬНІ ВИСНОВКИ ............................................................................................................................... 46
ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ ...................................................................................................... 48
ДОДАТОК А .................................................................................................................................................. 49
ДОДАТОК Б ................................................................................................................................................... 54
ЧДТУ.22.18009.007.ПЗ
Змн. Арк. № докум. Підпис Дата
Розроб. Тодорова К.К. Практична реалізація Літ. Арк. Аркушів
Перевір. Кунченко-Харченко В.І. криптографічного захисту 4 60
Реценз. Андрієнко В.О. даних при обміні
Н. Контр. Байрак А.В. конфіденційною інформацією ЧДТУ, БІ-81
Затверд. Палагін В.В.
ВСТУП
З ростом популярності інтернету збільшується необхідність та масовість
систем захисту інформації. В сьогоденні попит на якісні методи захисту достатньо
високий, проте деякі алгоритми шифрування є недостатньо стійкими, не надають
належного захисту. З’являються нові кібератаки та різноманітні методи
шахрайства, тому з часом вимоги до алгоритмів стають суворішими, тож важливо,
щоб алгоритми та протоколи, які використовуються, були надійними.
Актуальність створення засобу, який надає повноцінний захист даних,
полягає в збільшенні кількості кібератак та активному розвитку інформаційного
суспільства.
Мета роботи полягає у створенні додатку, який буде зручним у
використанні для будь-якого користувача та надаватиме якісний захист від
порушень цілісності та доступності даних. Важливою частиною роботи є огляд
криптографічних алгоритмів та методів шифрування, що існують, та їх
порівняння для визначення найбільш оптимальних способів захисту.
Об’єктом дослідження кваліфікаційної роботи є криптографічний протокол
Діффі-Хеллмана та шифрування методом гамування. Обраний протокол та метод
в сукупності забезпечують надійне шифрування даних та захист від перехоплення
інформації.
У ході роботи було поставлено низку завдань для досягнення цілей, як
аналіз потенційних загроз конфіденційній інформації, огляд відомих рішень та
алгоритмів шифрування, їх порівняння та вибір; ознайомлення з нюансами та
особливостями криптографічного протоколу Діффі-Хеллмана, створення
програмної реалізації та графічного інтерфейсу додатку, який може
використовуватись як на великих підприємствах, так і в повсякденності;
оформлення документації та наведення висновків по роботі.
Арк.
ЧДТУ.22.18009.007.ПЗ
5
Змн. Арк. № докум. Підпис Дата
РОЗДІЛ 1. АНАЛІЗ ПОТЕНЦІЙНИХ ЗАГРОЗ КОНФІДЕНЦІЙНІЙ
ІНФОРМАЦІЇ ТА ОГЛЯД АЛГОРИТМІВ ШИФРУВАННЯ
Інформаційна безпека має першочергову роль у зв’язку із великим
поширенням атак, яким постійно піддаються і великі підприємства, і глобальні
національні мережі. Від атак у кіберпросторі потерпають і звичайні користувачі, і
керівники компаній та держав.
Мета інформаційної безпеки полягає в збереженні властивостей системи,
захисті та гарантуванні точності й цілісності інформації та мінімізації наслідків
можливих модифікації або руйнування даних.
1.1. Потенційні загрози інформації
Загрози інформаційній безпеці – наявні та ймовірні чинники, що загрожують
критично важливим інтересам громадян, держави і суспільства в інформаційній
сфері.
Інформація стає метою здійснення атак та створення зловмисного
програмного забезпечення, отримання фінансової вигоди, викрадень і подальшого
використання важливої інформації. З’являються нові види кібератак,
поширюються нові методи несанкціонованого доступу.
Захист інформації передбачає систему заходів, спрямованих на запобігання
несанкціонованого доступу до інформації, її модифікації, знищення, порушення
цілісності, а до національного інформаційного простору застосовуються заходи
щодо мінімізації збитків від іноземних та внутрішніх атак.
Однією із найбільш розповсюджених загроз порушення цілісності та
доступності інформації є несанкціонований доступ, тобто доступ неавторизованого
користувача до інформації з обмеженнями.
Арк.
ЧДТУ.22.18009.007.ПЗ
6
Змн. Арк. № докум. Підпис Дата
Причинами здійснення несанкціонованого доступу можуть бути:
• некоректні конфігурації, розмежування прав доступу, відсутність певних
обмежень на кількість отриманих даних;
• недостатній захист систем авторизації (неналежне зберігання паролів,
фізичний доступ до програмного устаткування, відсутність паролів на облікових
засобах авторизованих користувачів);
• помилки та збої в програмного забезпеченні;
• зловживання посадовими доступами, повноваженнями (викрадення або зміна
інформації особою, що має доступ до інформації з обмеженим доступом);
• незахищені з’єднання, перехоплення інформації через канали зв’язку;
• використання піратського програмного забезпечення замість ліцензованого,
що підвищує рівень небезпеки та вірогідність підхоплення вірусів, троянів. [1]
Несанкціонований доступ може бути здійснений різними шляхами (рис.
1.1), зазвичай фізичними носіями або програмними застосунками.
Рисунок 1.1 - Способи несанкціонованого доступу
Арк.
ЧДТУ.22.18009.007.ПЗ
7
Змн. Арк. № докум. Підпис Дата
Соціальна інженерія – це спосіб нелегального отримання інформації,
доступів або повноважень завдяки людському фактору.
Способів соціальної інженерії існує безліч, проте зазвичай зловмисник
вивчає інформацію про жертву та використовує вразливі місця, психологічні
прийоми для отримання вигоди. У сфері кібербезпеки вона використовується у
вигляді претекстингу (зловмисник видає себе за іншу особу, що має відповідні
повноваження), фішингу (в більшості випадків – електронний лист, що можна
переплутати з офіційним, із запитом на отримання даних для авторизації) та
індивідуального підходу. [2]
Сутність фішингу полягає у створенні масової інтернет-розсилки або
відправлення листа конкретному користувачу нібито від імені повноважної особи,
відомої організації. Користувач отримує лист із вимогою пройти за посиланням та
надати банківські реквізити або дані для авторизації. З урахуванням того, що сайт
створений ідентичним оригінальному, користувач не відразу може зрозуміти, що
сторінка не офіційна.
Фішинг у сьогоденні достатньо розповсюджений, тому на кожному
підприємстві і в житті доцільно забезпечувати надійний захист від такого способу
викрадення інформації та здійснювати перевірки при отриманні підозрілих листів,
повідомлень тощо.
Претекстинг завжди відбувається за певним алгоритмом: зловмисник видає
себе за особу, що має відповідні повноваження, знайомого або керівника, надає
попередньо отриману інформацію про особу, щоб отримати довіру, та просить
надати інформацію з обмеженим доступом. Претекстинг також може мати
фінансове підґрунтя та використовуватись для викрадення фінансів організації.
Для того, щоб протидіяти цьому методу шахрайства, необхідно періодично
проводити навчання щодо розпізнавання недостовірної інформації та здійснювати
додаткову перевірку джерела інформації (у випадку з людьми – ідентифікація
особистості та її повноважень, у випадку електронних листів або телефонних
дзвінків – перевірка коректності адреси та відсутності навмисних помарок).
Арк.
ЧДТУ.22.18009.007.ПЗ
8
Змн. Арк. № докум. Підпис Дата
1.2. Конфіденційна інформація та її захист на законодавчому рівні
Згідно Конституції України, обмеження доступу до інформації здійснюється
лише в інтересах національної безпеки, територіальної цілісності або громадського
порядку з метою запобігання заворушенням чи злочинам, для захисту прав людини.
[3]
Конфіденційними даними є такі персональні дані, доступ до яких було
обмежено власником або державою. Конфіденційна інформація може бути
розповсюджена при згоді особи за визначеними нею правилами та умовами, а
також в інших випадках, які закріплені в законодавстві.
Персональними даними можуть бути паспортні відомості, інформація про
походження, релігію, сімейний стан, рівень освіти, медичні дані та інші, тобто це
дані, за якими можна ідентифікувати особу. І всі ці дані можуть бути викрадені та
використані проти особи, тож мають бути захищеними законодавством та
спеціалістами з кібербезпеки. Персональними даними за законом не вважаються
дані про довкілля, форс-мажорні події, соціально-демографічні показники та
незаконні дії, спрямовані на порушення прав та свобод людини.
Розвиток законодавства України в сфері інформаційних технологій та
інформації є необхідною умовою регулювання прав та свобод людини відповідно
до стану інформаційних відносин у загалі та потреб суб’єктів інформаційного
простору відповідно до стандартів забезпечення свободи слова в демократичній
державі.
Правове підґрунтя інформаційної безпеки становлять Конституція України,
Закон України "Про основи національної безпеки України", обов’язкові міжнародні
документи.
Закон України «Про інформацію» визначає право громадян на
безперешкодний доступ до відкритої інформації, фіксує правовий ґрунт діяльності
в інформаційній сфері. Закон визначає право людини на інформацію в усіх сферах
Арк.
ЧДТУ.22.18009.007.ПЗ
9
Змн. Арк. № докум. Підпис Дата
життя. Основні принципи: гарантування права на інформацію, наявність доступу
та вільний обмін нею, достовірність інформації, законність розпорядження нею та
її зберігання.
Суб’єктами відносин в сфері інформації є громадяни нашої держави,
юридичні особи та держава, у виключних випадках відношення мають також інші
держави.
Закон України «Про захист персональних даних» визначає правила відносин,
що пов’язані із захищенням і використанням персональних даних. Метою Закону є
захист головних прав і свобод людини й громадянина, зокрема права на
невтручання в особисте життя, у зв’язку з обробкою персональних даних. [4]
Відповідно до дійсного законодавства України і вимог окремих нормативних
документів Закону України "Про захист інформації в інформаційно-
телекомунікаційних системах" та Закону України "Про захист персональних
даних" захисту інформації обов’язково підлягає інформація, що є власністю
держави, або інформація з обмеженим доступом, вимоги до захисту якої
встановлені законодавством, як персональні дані про громадян.
1.3. Огляд та порівняння алгоритмів шифрування і протоколів
Криптографія вивчає способи захисту та шифрування інформації.
Криптографія змінює повідомлення до форми, яка буде недоступна для читання
та розуміння зловмисником. Таке перетворення здійснюється завдяки
використанню криптографічних систем.
Криптографічні перетворення визначаються ключем, який є буквеною або
чисельною послідовністю, та описуються певним криптографічним алгоритмом.
Існують певні вимоги до криптографічної системи: [5]
• можливість реалізувати алгоритм та його незмінність;
Арк.
ЧДТУ.22.18009.007.ПЗ
10
Змн. Арк. № докум. Підпис Дата
• можливість розшифрувати дані, тобто зміни мають бути оборотними;
• ключ не має бути надто уразливим до зламу;
• співпадіння об’єму відкритого та зашифрованого тексту;
• будь-який можливий ключ має надавати рівнозначний захист;
• відсутність зв’язків, що можуть бути легко виявлені, між ключами;
• читання шифротексту лише з певним ключем;
• невеликі зміни ключа мають суттєво змінювати зашифрований текст так само
як невеликі зміни вихідного тексту мають критично змінювати зашифрований
текст;
• якщо існують додаткові символи, вони мають надійно приховуватись в
зашифрованому тексті.
1.3.1. Алгоритми шифрування інформації
Шифрування відбувається через зміну вихідного тексту в зашифрований
завдяки використанню певної функції з секретним ключем у відповідності з певним
алгоритмом шифрування.
Шифрування з симетричними ключами в основі мають ключ шифрування та
ключ дешифрування, які збігаються, або можуть бути легко обчислені один із
іншого.
Симетричні системи мають перевагу перед асиметричними з точки зору
швидкості шифрування, що дозволяє їм залишатися актуальними, незважаючи на
слабкіший механізм передачі ключа. Одержувач повинен знати секретний ключ,
який буде передаватися через вже встановлений зашифрований канал. Для
шифрування кожен має знати і ключ шифрування передавати не потрібно. Проте
асиметричні алгоритми надають більшу захищеність даних.
Симетричні шифри поділяються на потокові та блокові. Потокові шифри
шифрують кожен символ відкритого тексту окремо від інших символів.
Перетворення символів залежить від ключа та його розташування.
Арк.
ЧДТУ.22.18009.007.ПЗ
11
Змн. Арк. № докум. Підпис Дата
Блокові шифри в сучасності можуть бути реалізовані так, як шифр
підстановки. Це - та ж ідея, яка існує й у традиційних шифрах, щоправда символи,
які будуть замінені або переміщені, містять біти замість символів. Розмір кожного
блоку має бути певного розміру (зазвичай розмір складає 64 або 128 біт), в іншому
випадку блок доповнюється.
1.3.2. Порівняння симетричних методів шифрування
Потокові шифри зазвичай більш продуктивні порівняно з блоковими, але
саме в якості програмних реалізацій навпаки, адже потокові шифри шифрують по
1 біту даних, блокові ж зменшують кількість операцій.
Більшість сучасних симетричних алгоритмів використовують ключ
довжиною 68-256 біт. У таблиці 1.1 наведене порівняння довжини блоку відносно
довжини ключа у різних алгоритмах шифрування.
Таблиця 1.1 – Порівняння алгоритмів
Алгоритм Довжина ключа, біт Довжина блоку, біт
DES 64 64
Blowfish Змінна, до 448 біт 64
IDEA 128 64
RC5 змінна Змінна
Алгоритм DES перетворює 64-бітні блоки в зашифрований текст через поділ
на два 32-бітних блока та шифрує кожен з них окремо. Відбувається 16 етапів дій,
в яких дані об’єднуються з ключем, після цього обидві частини з’єднуються та
відбувається перестановка.
У алгоритмі Blowfish змінна довжина ключа, може бути розширена.
Шифрування даних, а також створення матриць раундових ключів і підстановок,
відбувається через використання мережі Фейстеля, що є у своїй черзі з 16 раундів,
Арк.
ЧДТУ.22.18009.007.ПЗ
12
Змн. Арк. № докум. Підпис Дата
17-й та 18-й ключі складаються з лівим та правим вихідним блоком останнього
раунду.
У алгоритмі IDEA блок даних, що шифруються, розбивається на чотири 16-
бітних підблоки A, B, C і D, над якими виконується вісім раундів перетворень та
додаткові зміни. Вважається, що алгоритм має високу криптостійкість, проте він не
став міжнародним стандартом шифрування.
В алгоритмі RP5 число раундів, розмір ключа та розмір блоків змінний, це
розширює сферу використання та спрощує перехід на більш сильний варіант
алгоритма.
1.3.3. Порівняння асиметричних методів криптографії
Асиметричне шифрування дозволяє запустити безпечне з'єднання без зусиль
користувача. Якщо говорити про симетричне шифрування, то користувачеві
потрібно знати пароль. Асиметричні алгоритми вразливі до атаки «людина
посередині», тож ключ, що передається, може бути перехоплений, проте самі
алгоритми майже неможливо модифікувати.
Ефективність алгоритму RSA полягає у способі первинної факторизації:
вибираються два різні випадкові прості числа заданого розміру і множаться, щоб
створити ще одне більше число. Для зламу потрібно визначити вихідні прості числа
з помноженого більшого, що ускладнює цей процес. Ключі можуть бути різної
довжини, сам алгоритм достатньо адаптивний та розповсюджений.
В алгоритмі ECC число, що символізує точку кривої, множиться на інше
число і дає іншу точку кривої. Математика ECC побудована таким чином, що
знайти нову точку практично неможливо навіть у тому випадку, якщо відома
вихідна точка.
Алгоритм Діффі - Хеллмана дозволяє двом сторонам отримати спільний
секретний ключ, використовуючи незахищений від прослуховування, але
захищений від підміни, канал зв'язку. Протокол без автентифікації, проте він
Арк.
ЧДТУ.22.18009.007.ПЗ
13
Змн. Арк. № докум. Підпис Дата
використовується як основа інших протоколів, що використовують
автентифікацію. Чим більший розмір ключа, тим більше варіантів його підбору при
перехопленні, через що виникає необхідність витрачати набагато більше часу для
зламу.
1.4. Висновки
В дипломній роботі було обрано асиметричний протокол криптографії через
те, що асиметричні протоколи зазвичай більш стійкі та менш уразливі до кібератак,
що стосуються порушення цілісності даних.
Протокол Діффі-Хеллмана було обрано через те, що він має високу
криптостійкість, секретні ключі абонентів, що використовуються для шифрування
та розшифрування даних, не передаються відкритими каналами зв’язку. Якщо
використовувати протокол без додаткового захисту, існує вірогідність
перехоплення інформації атакою «Людина посередині», тому в роботі додатково
використовується шифрування методом гамування.
Метод гамування серед всіх методів шифрування був обраний через
практичність у використанні та надійність – гама, якою шифрується текст, не
відома зловмисникам, для підбору знадобиться дуже багато часу.
Арк.
ЧДТУ.22.18009.007.ПЗ
14
Змн. Арк. № докум. Підпис Дата
РОЗДІЛ 2. ПРИНЦИПИ КРИПТОГРАФІЧНИХ ПЕРЕТВОРЕНЬ ТА
ВИКОРИСТАНІ ПРОТОКОЛИ
2.1. Протокол Діффі-Хеллмана
Протокол Діффі-Хеллмана – це криптографічний протокол, що дозволяє
використовувати секретний ключ без передачі його по незахищеним каналам
зв’язку. Завдяки цьому зменшується вірогідність розшифрування перехоплених
даних.
Сутність протоколу полягає в тому, що з відкритих ключів абонентів
формуються закриті ключі, відкритий ключ одного користувача поєднується із
закритим ключем іншого та завдяки їх комбінації створюється секретний
(сеансовий) ключ. Цей код є однаковим для обох користувачів, тому зберігається
цілісність даних.
Протокол Діффі-Хеллмана працює за принципом неповного обміну ключем
шифрування, тобто відкритими каналами зв’язку, наприклад, мережею,
передається лише відкритий ключ абонентів.
Два абонента мають інформацію про певні не секретні числа g та p. Для того,
щоб сформувати секретний ключ, обидва генерують випадкові числа зазвичай
великого розміру: перший абонент число a, інший – число b. Перший абонент рахує
значення A = gamod p та надсилає його другому, який в свою чергу рахує B = gbmod
p та передає його першому.
На наступному етапі перший користувач має число a та отримане число B та
рахує значення Bamod p = gabmod p, другий користувач має число b та отримане A,
вираховує значення Abmod p = gabmod p. У обох абонентів як результат вийшло
число K = gabmod p, воно є секретним ключем. [6]
Арк.
ЧДТУ.22.18009.007.ПЗ
15
Змн. Арк. № докум. Підпис Дата
Частковий ключ вираховується за формулою: публічний ключ першого
абонента в степені його приватного ключа по модулю відкритого ключа іншого
абонента. Частковий ключ відправляється мережею, відбувається обмін.
Алгоритм Діффі-Хеллмана уразливий до модифікації даних в каналі зв’язку,
як атаки «людина посередині», що призводить до порушення цілісності даних, тому
з ним використовують додаткові методи шифрування або автентифікації.
2.2. Шифрування методом гамування
Шифри гамування є одними з найбільш ефективних з боку стійкості та
швидкості шифрування. Для шифрування та дешифрування використовуються
елементарні арифметичні операції – відкрите повідомлення та чисельна гама
поєднуються один з одним по модулю 2.
Гамування є зміною відкритого тексту, при якій символи тексту додаються
по модулю, що є рівним кількості символів алфавіту, до символів псевдовипадкової
послідовності.
Для забезпечення якості шифрування потрібно, щоб період повторення гами
був достатнього розміру (має перевищувати найбільшу можливу кількість символів
в повідомленні, що шифрується) та елементи послідовності, що розміщені поряд,
відрізнялись один від одного. Кожна гама має використовуватись для шифрування
лише одного тексту.
Отриманий зашифрований текст є майже неможливим для розшифрування
зловмисником у випадку, якщо гама шифру змінюється для кожного слова, що
шифрується. Також зловмиснику не має бути відома частина відкритого тексту з
відповідною їй зашифрованою частиною.
Гама має складатись із випадкових чисел для того, щоб зашифрований текст
не можна було розшифрувати за певним алгоритмічним принципом.
Арк.
ЧДТУ.22.18009.007.ПЗ
16
Змн. Арк. № докум. Підпис Дата
Як приклад процедури гамування може бути перетворення тексту в чисельні
значення, створення гами та проведення самої операції гамування. Зазвичай заміна
числами відбувається відповідно порядковим номерам букв в алфавіті, проте зміни
є припустимими.
Перетворення буквених значень в чисельні представлене в таблиці 2.1.
Таблиця 2.1 – Співвідношення елементів гами з алфавітом
а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Відкрите повідомлення: Тодорова Катерина Костянтинівна.
Створюється гама із випадкових значень, що відповідає розміру відкритого
повідомлення: 12 1 23 24 67 28 18 6 8 19 20 31 35 36 61 12 4 8 4 11 21 45 7 13 22 10
11 29 9.
Далі знаходиться сума значення відкритого повідомлення зі створеною
гамою (таб. 2.2).
Таблиця 2.2 – Додавання гами до даних
Вхідний н і в н а
Т о д о р о в а К а т е р и н а К о С т я н т и
текст М
Значення 17 11 02 17 00
22 18 05 18 20 18 02 00 14 00 22 06 20 10 17 00 14 18 21 22 32 17 22 10
m
Гама, g 12 01 23 24 67 28 18 06 08 19 20 31 35 36 61 12 04 08 04 11 21 45 07 13 22 10 11 29 09
m+g 34 19 28 42 87 46 20 06 22 19 42 36 55 46 78 12 18 26 25 33 53 62 29 23 39 21 13 46 09
З урахуванням довжини періода (обмеження кількості символів, після якого
послідовність почне повторюватись) у прикладі до 32 знаходиться значення для
символів, що перевищують ці обмеження (таб. 2.3).
Таблиця 2.3 – Знаходження значень C
39 21 13 46 09
m+g 34 19 28 42 87 46 20 06 22 19 42 36 55 46 78 12 18 26 25 33 53 62 29 23
Значення 06 21 13 13 09
01 19 28 09 21 13 20 06 22 19 09 04 22 13 12 12 18 26 25 00 20 28 29 23
С
Арк.
ЧДТУ.22.18009.007.ПЗ
17
Змн. Арк. № докум. Підпис Дата
Знайдені значення перетворюються на буквені символи, що були задані
спочатку за співвідношенням (таблиця 2.4).
Таблиця 2.4 – Зашифрований текст
Значення С 01 19 28 09 21 13 20 06 22 19 09 04 22 13 12 12 18 26 25 00 20 28 29 23 06 21 13 13 09
Зашифрований е с й й з
б п ш з с й р е т п з ґ т й ї ї о ц х а р щ щ у
текст С
Зашифроване повідомлення: бпшзсйретпзґтйїїоцхарщщуесййз. Зашифроване
повідомлення не є читабельним та розшифрувати його можна лише у тому випадку,
якщо відома гама, якою шифрувався текст, та співвідношення літер або символів
до цифр з гами.
2.3. SMTP протокол
SMTP (Simple Mail Transfer Protocol – простий протокол передачі пошти) –
мережний протокол, який використовується для передачі електронної пошти в
мережі TCP/IP. Протокол застосовується для перевірки коректності налаштувань
системи, надання дозволу на відправку листів для певного пристрою, відправки
листа на певну адресу електронної пошти та підтвердження успішної відправки.
Протокол зазвичай працює з двома портами: 25, через який листи
передаються між поштовими серверами, та 587, через який листи передаються від
поштового клієнта на сервер. [7]
Відправлення листа за цим протоколом відбувається за певним алгоритмом:
вказується адреса відправника, система користувача встановлює з’єднання з SMTP
поштового клієнта. Далі система передає серверу дані, починає пошук SMTP-
сервера отримувача. Якщо сервер не відповідає, здійснюється повторна спроба
з’єднання, у випадку невдачі відображається помилка та її сутність.
Арк.
ЧДТУ.22.18009.007.ПЗ
18
Змн. Арк. № докум. Підпис Дата
2.4. Висновки
Шифрування методом гамування з криптографічним протоколом Діффі-
Хеллмана – достатньо стійке поєднання, яке дозволяє забезпечити якісний захист
даних, коли вони передаються по відкритим каналам зв’язку або зберігаються у
зашифрованому вигляді. Гама, якою шифрується текст, не передається по мережі,
як і спільний секретний ключ, тому дані можуть бути перехоплені лише частково,
в кількості, яка не дозволить вільно розшифрувати та отримати відкритий текст.
Для передачі даних поштою доцільним є використання перевіреного
протоколу, як SMTP, для збереження цілісності даних. SMTP існує достатньо
давно, проте він є надійним протоколом і використовується в сьогоденні. За весь
час над ним було здійснено лише кілька покращень та модифікацій.
Арк.
ЧДТУ.22.18009.007.ПЗ
19
Змн. Арк. № докум. Підпис Дата
РОЗДІЛ 3. РОЗРОБКА ПРОГРАМНОГО ЗАСОБУ
3.1. Графічне представлення додатку
Розроблений додаток має графічний інтерфейс для зручності у використанні
звичайними користувачами (рис. 3.1).
Рисунок 3.1 – Графічний інтерфейс додатку
Користувач вводить своє секретне число, яке не буде передаватись по мережі,
натискає кнопку «відправити», після цього програма формує відкритий ключ
користувача за формулою A = gamod p (рис. 3.2). Числа g та p задані на початку
коду, обрані оптимальні з урахуванням умов – p=23 та g=7. Введене секретне число
не відображається в графічному інтерфейсі через ймовірність викрадення цієї
інформації.
Арк.
ЧДТУ.22.18009.007.ПЗ
20
Змн. Арк. № докум. Підпис Дата
Рисунок 3.2 – Формування відкритого ключа користувача А
Відкритий ключ передається користувачу Б будь-яким зручним способом,
відкритими каналами зв’язку. Ця інформація може бути передана по мережі, адже
вирахувати секретне число без інформації про числа p та g, лише з відкритим
ключем, немає можливості.
Користувач Б формує власний відкритий ключ та вводить ключ користувача
А для формування спільного секретного ключа (рис. 3.3).
Рисунок 3.3 – Формування спільного секретного ключа
Користувач Б створює файл text.txt з відкритим текстом, який необхідно
передати у зашифрованому вигляді (рис. 3.4).
Рисунок 3.4 – Відкритий текст
Арк.
ЧДТУ.22.18009.007.ПЗ
21
Змн. Арк. № докум. Підпис Дата
Після цього він відкриває цей файл у додатку та натискає кнопку
зашифрувати. Зашифрований текст записується у створений файл encrypt_text.txt,
про що повідомляє додаток, тобто з’являється відповідний напис (рис. 3.5).
Рисунок 3.5 – Процес шифрування у графічному інтерфейсі додатку
У файлі encrypt_text.txt з’являється гама, створена на основі перетвореного
тексту в символи ASCII, доданої гами та створеного секретного ключа.
Для того, щоб відправити файл із зашифрованим текстом, потрібно знову
відкрити файл у додатку, ввести електронну пошту отримувача та натиснути
кнопку «Відправити» (рис. 3.6). Обрати файл можливо і до формування ключа для
універсальності додатку. Відправляти можна і звичайні, не зашифровані файли на
випадок, якщо потрібно передати також відкритий текст.
Арк.
ЧДТУ.22.18009.007.ПЗ
22
Змн. Арк. № докум. Підпис Дата
Рисунок 3.6 – Відправлення листа
Процес відправлення листа відбувається коректно, про що свідчить
отриманий на вказаній пошті лист (рис. 3.7).
Рисунок 3.7 – Результат відправки листа
Користувач А отримав лист, тепер його потрібно розшифрувати. Для цього
він вводить своє секретне число, відкритий ключ користувача Б, обирає отриманий
Арк.
ЧДТУ.22.18009.007.ПЗ
23
Змн. Арк. № докум. Підпис Дата
файл encrypt_text.txt та натискає кнопку «Розшифрувати» (рис. 3.8).
Розшифрований текст записується в створений файл decrypt_text.txt.
Рисунок 3.8 – Розшифрування отриманих даних
Якщо ввести некоректну електронну пошту перед відправкою листа або не
вводити її взагалі, в додатку відобразиться помилка (рис. 3.9) і лист не буде
відправлений, адже SMTP-сервер отримувача не був знайдений.
Арк.
ЧДТУ.22.18009.007.ПЗ
24
Змн. Арк. № докум. Підпис Дата
Рис. 3.9 – Помилка при відправці при некоректно введених даних
У випадку, якщо секретне число або відкритий ключ були введені некоректно
(рис. 3.10), додаток не дозволить здійснювати шифрування та інші операції. Після
натискання кнопки «Продовжити», наступні кнопки, необхідні для шифрування
або відкриття файлів, не стають активними.
Рис. 3.10 – Неправильно введені дані
3.2. Опис основних елементів коду додатку
В роботі була використана бібліотека smtplib, що використовується для
налаштування поштового сервера та відправки електронних листів. Ці операції
здійснюються в функції send_email.
Арк.
ЧДТУ.22.18009.007.ПЗ
25
Змн. Арк. № докум. Підпис Дата
Спочатку задаються значення для відправника та отримувача листа:
email_to=str(text_x1.get()) #пошта отримувача
email_from = #електронна пошта, з якої відправлятиметься лист, в лапках
password = #пароль до електронної пошти
Далі формується наповнення листа:
message = MIMEMultipart() #створення об’єкта
message["Subject"] = "Тема"
message["From"] = email_from
message["To"] = email_to
fword2=open("encrypt_text.txt",'r') #відкриття файлу із зашифрованим
повідомленням
word2=MIMEText(fword2.read()) #читання файлу для відправки
message.attach(word2) #прикріплення файлу до листа
Налаштування сервера SMTP:
server = smtplib.SMTP(host='smtp.gmail.com',port=587) #Створення
об'єкту SMTP
try:
server.starttls() #створення зашифрованого з’єднання
server.login(email_from, password) #з’єднання з певним обліковим
записом на сервері
server.send_message(message) #відправка повідомлення
finally:
server.quit() #обов’язково потрібно вийти із серверу, щоб його робота
не була циклічною
Для формування повідомлення були використані бібліотеки MIME:
MIMEText для відправки текстових файлів, MIMEMultipart для формування
повідомлення, MIMEBase для вкладень до листа:
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
Процедура шифрування починається в методі click_OK з введення
користувачем секретного ключа та підрахунку відкритого:
x=int(text_x.get()) #введення секретного числа
Арк.
ЧДТУ.22.18009.007.ПЗ
26
Змн. Арк. № докум. Підпис Дата
y=((g**x)%p) #підрахунок відкритого ключа
prnt="Ваш відкритий ключ: "+str(y) #виведення тексту з відкритим ключем
Далі, в методі click_OK2 відбувається підрахунок спільного секретного
ключа на основі отриманого відкритого ключа іншого користувача:
yB=int(text_yB.get()) #введення відкритого ключа користувача B
x=int(text_x.get()) #отримання ключа користувача А
Z=(yB**x)%p #спільний секретний ключ
В методі opn та opn2 відбувається відкриття файлу для шифрування та
відправки відповідно:
filename=fd.askopenfilename() #відкриття файлу із файлової системи
text="Обрано файл "+str(filename)
filename2=fd.askopenfilename()
text="Обрано файл "+str(filename2)
Для покращення шифрування способом гамування початок гами
наповнюється псевдовипадковими числами, які мають бути різними для кожної
гами. Для цього використовується бібліотека random, яку попередньо потрібно
імпортувати через import random. Шифрування на основі отриманого ключа
відбувається в методі encrypt:
fword=open(filename,'r') #відкриття обраного файла
word=fword.read() #читання цього файла
word=list(word) #створення списку
random.seed(Z) #наповнення випадковими числами
key=[i for i in word] #звернення до ключа
for i in range (len(word)): #генерація гами з використанням ключа як
стартового числа
x=random.randrange(256) #обмеження значень випадкових чисел до 256
key[i]=x #ключ як стартове число
f=open('encrypt_text.txt','w') #відкриття файлу, в якому буде зашифрований
текст, для запису
for i, j in zip(word, key):
res=((ord(i)+j)%256) #представлення символів повідомлення в ASCII,
додавання гами
f.write(str(res)+',') #запис чисел у файл
f.close() #закриття файлу
Арк.
ЧДТУ.22.18009.007.ПЗ
27
Змн. Арк. № докум. Підпис Дата
Розшифрування тексту у файлі відбувається в методі decrypt:
random.seed(Z)
f=open(filename,'r')
word=f.read()
word=word.split(",") #визначення розділення зашифрованих символів
символів у файлі комами
word.pop(-1) # видаляє та повертає останнє значення зі списку
word=[int(i) for i in word]
key=[i for i in word]
for i in range (len(word)): #генеруємо гаму, використовуючи ключ як
стартове число
x=random.randrange(256)
key[i]=x
res=''
for i, j in zip(word, key):
res+=chr((i-j)%256) #представлення символів повідомлення в ASCII,
віднімання гами
f.close()
f2=open("decrypt_text.txt",'w')
f2.write(str(res)) #запис розшифрованого повідомлення у файл
decrypt_text.txt
f2.close()
Для створення графічного інтерфейсу була використана бібліотека tkinter. В
бібліотеці використовуються такі елементи як вікно, поле для введення тексту,
кнопки, перемикач, список і т.д. Регулювання розташування та габаритів цих
компонентів вводиться вручну, інакше задаються стандартні значення.
Назва вікна задається в рядку window.title("Система Діффі-Хелмана"), розмір
– в window.geometry('500x500').
Написи із запитом даних від користувача та поля для введення даних:
label_x=Label(window, text="Оберіть секретне число:", font=("Consolas",11))
label_x.grid(column=0, row=0, columnspan=3) #стовпець перший (відлік від
нуля), ряд перший, розподіл на необхідну кількість стовпців
text_x=Entry(window, width=10, show='*') #заміна введеного тексту на
зірочки для приховування інформації
text_x.grid(column=3,row=0)
Арк.
ЧДТУ.22.18009.007.ПЗ
28
Змн. Арк. № докум. Підпис Дата
label_yB=Label(window, text="Введіть відкритий ключ іншого абонента:",
font=("Consolas",11))
label_yB.grid(column=0, row=3, columnspan=3)
text_yB=Entry(window, width=10, state='disabled') #поле не доступне, поки не
сформується відкритий ключ першого користувача
text_yB.grid(column=3,row=3)
label_x1=Label(window, text="Введіть електронну пошту:",
font=("Consolas",11))
label_x1.grid(column=0, row=17, columnspan=1)
text_x1=Entry(window, width=20)
text_x1.grid(column=1,row=17)
Кнопки працюють за одним принципом, деякі мають аргумент
state='disabled', якщо для відправлення даних потрібні попередні дії:
button_OK2=Button(window, text="Продовжити", width=20, state='disabled',
command=click_OK2)
button_OK2.grid(column=0, row=4, columnspan=4)
При коректному введенні даних після введення потрібних даних як,
наприклад, секретне число для формування відкритого ключа, з’являється напис
про результат – відкритий ключ, спільний секретний ключ, повідомлення про
обраний файл або успішно відправлений лист:
prnt="Ваш відкритий ключ: "+str(y)
label_y=Label(window, text=prnt, font=("Consolas",11))
label_y.grid(column=0, row=2, columnspan=4)
button_OK2.configure(state='normal')
text_yB.configure(state='normal')
text="Обрано файл "+str(filename2)
label=Label(window, text=text, font=("Consolas",11))
label.grid(column=0, row=15, columnspan=4)
button_send.configure(state='normal',command=lambda:send_email(filename2))
Бібліотеку tkinter серед інших було обрано через зручність у використанні та
її оптимізацію стосовно операційних систем з різною потужністю. Бібліотека
Арк.
ЧДТУ.22.18009.007.ПЗ
29
Змн. Арк. № докум. Підпис Дата
займає небагато місця, графічний інтерфейс швидко завантажується та дає
відповідь користувачу.
Для того, щоб додаток та його графічний інтерфейс не закривався
автоматично, створений безкінечний цикл вікна: window.mainloop(). Цей метод
потрібний для подій як натискання на кнопки, блокування запуску будь-якого
стороннього коду, поки вікно додатку залишається відкритим.
3.3. Висновки
Додаток, представлений у розділі, є успішною реалізацією криптографічного
протоколу Діффі-Хеллмана та алгоритму шифрування методом гамування. В якості
початку гами взятий спільний секретний ключ двох користувачів, який не
передається по мережі (передаються лише відкриті ключі). Дані зашифровані
гамою, яка наповнена псевдовипадковими числами, тому при перехопленні даних
зловмисником їх не можна швидко розшифрувати.
Програмна реалізація представлена у вигляді графічного інтерфейсу, що дає
можливість використовувати додаток навіть звичайним користувачам, які не
пов’язані зі сферою інформаційних технологій. В графічному представленні наявні
функції вибору файлу, шифрування, розшифрування даних у ньому та
відправлення листів у вигляді кнопок, що є зручним рішенням. В програмному коді
деякі дії відбуваються в циклах, що пришвидшує роботу додатку.
В додаток була внесена можливість відправлення інформації на електронну
пошту для уникнення додаткових ризиків та забезпечення зручності у
використанні. Запис у файл був доданий для можливості використання додаткових
засобів захисту інформації та уникнення ймовірності часткового перехоплення
даних.
Арк.
ЧДТУ.22.18009.007.ПЗ
30
Змн. Арк. № докум. Підпис Дата
РОЗДІЛ 4. ОХОРОНА ПРАЦІ
4.1. Аналіз небезпек та шкідливостей, які виникають в процесі
користування програмним засобом
Сутність програмної реалізації, що наведена у дипломній роботі, полягає в
створенні додатку із шифруванням інформації та передачею інформації відкритими
каналами зв’язку. Сфера застосування додатку достатньо обширна, адже він може
використовуватись як вдома, так і на державних об’єктах, які мають доступ до
даних з обмеженим доступом. Прикладом використання даної реалізації є передача
даних в офісному приміщенні.
Серед несприятливих умов праці в офісному приміщенні можна виділити
деякі важливі шкідливі фактори.
Пожежна безпека. Використання електричних приладів полегшує працю
людей, сприяє підвищенню її продуктивності, однак вимагає розробки та
впровадження захисних засобів для запобігання ураження працівників, що
використовують устаткування. В підприємстві знаходиться велика кількість
апаратури, яка чутлива до високих температур та коротких замикань, що
призводять до загорянь. Велика кількість загорянь в офісах відбувається через
нехтуванням правилами пожежної безпеки та недбалість працівників.
Відповідно до ДСТУ Б В.1.1-36:2016 приміщення відноситься до категорії В
– пожежонебезпечне. В ньому можуть виникнути такі види пожеж: класу А
(горіння твердих речовин) та класу Е (горіння електрообладнання).
Розміри приміщення складають 15*10*3,5м, площа приміщення складає 150
м2, об’єм – 525 м3. Слід передбачати по одному газовому вогнегаснику з величиною
заряду вогнегасної речовини 3 кг і більше на 20 м2 площі підлоги в офісних
приміщеннях з оргтехнікою. В приміщенні наявні 7 вогнегасників типу ВВК-2, що
не відповідає нормативним значенням. Тому рекомендовано доповнити
приміщенням ще одним вогнегасником типу ВВК-2 або ВВК-1,4.
Арк.
ЧДТУ.22.18009.007.ПЗ
31
Змн. Арк. № докум. Підпис Дата
Через ймовірність неправильного поводження із пожежонебезпечними
приладами та людський фактор, потрібно приділити велику увагу розмітці у
вигляді знаків безпеки, які сповіщатимуть про місцезнаходження та визначатимуть
правила поводження з такими приладами та речами.
Електробезпека. Забезпечує захист людей від шкідливого і небезпечного
впливу електричного струму, електричної дуги, електромагнітного поля і статичної
електрики. [8] Захисні заходи щодо електробезпеки встановлює ДСТУ Б В.2.5-
82:2016. Офісне приміщення має живлячу мережу змінного струму напругою 220
В, яка призначена для підключення та коректної роботи устаткування (комп’ютери,
світильники). Сумарна потужність обладнання для електроустановок напругою до
1000 В має складати не більше 100 кВт або 100 кВА, на підприємстві вона складає
70 кВт, що відповідає нормативним значенням.
Наявна на підприємстві техніка має контурне заземлення, яке регулюється
ДНАОП 0.00-1.32-01 «Правила будови електроустановок». Приміщення має
категорію «без підвищеної небезпеки», адже в ньому відсутні чинники підвищеної
небезпеки електротравм.
Організація робочих місць. Неправильне розміщення апаратури може
спричинити фізичний дискомфорт або нещасні випадки, пов’язані з травмуванням.
При організації робочих місць важливо враховувати багато факторів, від
рівномірності освітлення згідно розміщення апаратури до розташування кабелів.
Згідно ДСН 3.3.2.007-98 параметри робочого місця мають становити:
1. Площа на одне робоче місце – не менше ніж 6 м2, об’єм – не менше
ніж 20 м3.
2. Висота робочої поверхні має бути в межах 680-800 мм, ширина – 600-
1400 мм, глибина – 800-1000 мм.
3. Робочий стіл повинен мати простір для ніг заввишки не менше ніж
600 мм, завширшки не менше ніж 500 мм, завглибшки (на рівні колін)
не менше ніж 450 мм, на рівні простягнутої ноги – ніж 650 мм.
Арк.
ЧДТУ.22.18009.007.ПЗ
32
Змн. Арк. № докум. Підпис Дата
4. Висота поверхні сидіння має регулюватися в межах 400-500 мм,
а ширина і глибина становити не менше ніж 400 мм.
5. Висота спинки стільця має становити (300±20) мм, ширина - не
менше ніж 380 мм.
Приміщення містить 12 робочих місць загальною площею 120 м2. В цілому
на одного працівника фактичне значення площі становить 10 м2, об’єм – 30 м3.
Фактичні параметри розмірів робочого місця: висота робочої поверхні – 700
мм, ширина – 1200 мм, глибина – 800 мм; висота простору для ніг – 700 мм, ширина
– 700 мм, глибина – 650 мм; висота поверхні регульованого сидіння – 450-500 мм,
ширина – 400 мм, глибина – 450 мм; висота спинки стільця складає 350 мм, ширина
– 400 мм.
Всі фактичні параметри робочого місця відповідають нормативним
значенням.
Освітлення. Природнє та штучне освітлення прямо впливає на фізичний та
психоемоційний стан співробітників. Робота, яка вимагає проводити більшу
частину дня за комп’ютером, призводить до погіршення зору, головних болів,
пришвидшення втомлюваності. Для продуктивності високого рівня та організації
комфортного робочого середовища важливо регулювати штучне освітлення та
враховувати особливості природного освітлення.
Норми освітленості приміщення за ДБН В.2.5-28-2018:
1. Коефіцієнт природнього освітлення (КПО) для офісів при боковому
освітленні становить 1%.
2. Освітленість робочої поверхні має складати 300 лк.
Фактичні значення: коефіцієнт природнього освітлення – 9-12%, освітленість
робочої поверхні – 350 лк, що задовольняє допустиме значення.
До інших небезпечних і шкідливих виробничих факторів належать органічні
та неорганічні речовини та їхні сполуки.
Арк.
ЧДТУ.22.18009.007.ПЗ
33
Змн. Арк. № докум. Підпис Дата
Шкідливі хімічні речовини. Причинами накопичення високого вмісту
шкідливих речовин можуть бути:
• погана вентиляція в приміщенні, що призводить до накопичення
шкідливих речовин внаслідок нестачі чистого повітря;
• шкідливі речовини, що виділяються в повітря внаслідок різних
технологічних процесів на підприємстві;
• зовнішні причини, такі як вихлопні гази машин, викиди шкідливих
речовин у повітря внаслідок виробничої діяльності;
• звичайний пил, який може містити частки шкідливих хімічних речовин.
Вплив підвищеного вмісту шкідливих речовин на організм людини:
• формальдегід – призводить до сенсорного подразнення очей та верхніх
дихальних шляхів,
• бензол – негативний вплив на центральну нервову і кровотворну
системи;
• стирол - подразнення слизових оболонок очей та носа, сонливість,
нудота;
• хром - запальні процеси в слизовій, проблеми зі шкірою, захворювання
шлунково-кишкового тракту, ускладнення роботи верхніх дихальних шляхів;
• ацетон - головний біль, втрата свідомості;
• ксилол і толуол – подразнення слизових оболонок, порушення роботи
серцево-судинної та дихальної систем.
Гранично-допустимі концентрації хімічних речовин визначаються за
«Гігієнічними регламентами хімічних речовин у повітрі робочої зони». Нормативні
концентрації речовин наступні: формальдегід – 0,5 мг/м3, ксилол – 50, стирол –
30/10, хром – 0,01, ацетон – 200.
Фактичні значення: формальдегід – 0,2 мг/м3, ксилол – 30, стирол – 30/10,
хром – 0,01, ацетон – 70. В приміщенні також присутня вентиляція та відбуваються
періодичні вологі прибирання для уникнення збільшення концентрації шкідливих
Арк.
ЧДТУ.22.18009.007.ПЗ
34
Змн. Арк. № докум. Підпис Дата
речовин у повітрі. Фактичні значення відповідають нормативним, вміст шкідливих
речовин в наявній кількості допустимий.
Мікроклімат. Мікроклімат приміщень характеризуються такими
показниками як температура, відносна вологість та швидкість руху повітря, які
мають вплив на організм людини. Електронно-обчислювальні машини є джерелом
виділення тепла, що може впливати на температуру та вологість повітря у
робочому приміщенні. Показники мікроклімату, які виходять за рамки норми,
можуть негативно впливати як на фізичний стан працівників, так і на їх
працездатність.
Згідно ДСН 3.3.6.042-99 встановлені такі норми мікроклімату для приміщень
з ЕОМ:
1. В холодну пору року температура повітря має складати не більше, ніж
22-24 градуси, відносна вологість повітря – 40-60%, швидкість руху
повітря – 0,1 м/с.
2. В теплу пору року температура повітря має складати не більше, ніж 23-
25 градусів, відносна вологість повітря – 40-60%, швидкість руху
повітря – 0,1 м/с.
Фактичні параметри: в холодну пору року температура складає 23-24
градуси, в теплу – 25-26, відносна вологість повітря складає 42-45%, швидкість
руху повітря – 0,1 м/с. В холодну пору року на підприємстві вмикаються система
опалення, в теплу – вентилятори, що допомагає уникнути перевищення допустимих
параметрів. Фактичні значення відповідають нормативним.
Електромагнітні поля. Тривалий інтенсивний вплив електромагнітних полів
призводить до стійких порушень і захворювань нервово-психічної, серцево-
судинної, ендокринної, кровотворної та інших систем організму людини.
Найпоширеніші наслідки – це головний біль, сильна втома, при перевищенні
значень – розвиток неврозів та безсоння.
Арк.
ЧДТУ.22.18009.007.ПЗ
35
Змн. Арк. № докум. Підпис Дата
Допустимі параметри для напруженості електромагнітного поля в 35 МГц за
електричною складовою – 10 В/м, за магнітною складовою – 0,3 А/м. Фактичний
рівень – за електричною складовою: 10 В/м, за магнітною складовою: 0,2 А/м.
Фактичний рівень напруженості відповідає нормативному значенню.
Шум. Тривала дія шуму на організм людини призводить до розвитку
хронічної перевтоми, зниження працездатності, виникнення таких симптомів як
поганий сон, сонливість, зниження слуху, порушення терморегуляції. Джерелами
шуму в офісному приміщенні можуть бути: зовнішні чинники (транспорт,
будівництво), техніка, що працює на підприємстві.
Згідно ДСН 3.3.6.037-99 допустимий еквівалентний рівень звуку складає 50
дБА, на підприємстві він складає 35 дБА, що відповідає нормі.
Психофізіологічні фактори. Психоемоційна напруга, яка може виникати
через періодичні перевантаження та стрес через особливості роботи, призводить до
зниження продуктивності, мотивації та виникнення втоми у співробітників. Через
вимушене одноманітне положення тіла та недостатню рухову активність може
виникати фізична втомлюваність.
В установі організовуються щорічні періодичні медичні огляди для
працівників та попередні медичні огляди для нових працівників. Відбуваються
інструктажі з охорони праці: вступний інструктаж проводиться при
працевлаштуванні, первинний інструктаж – при переході з одного структурного
підрозділу в інший або при інших змінах, повторний інструктаж – періодично 1 раз
на півроку. При змінах в законодавстві або внутрішніх процесах та при перерві в
роботі понад 60 днів проводиться позаплановий інструктаж.
З урахуванням наведеного аналізу небезпек та шкідливостей, задля створення
безпечних умов праці в офісному приміщенні необхідно забезпечити збільшення
кількості вогнегасників для підвищення якості пожежної безпеки та здійснити
належне поводження з приладами, які можуть викликати небезпеку: налаштувати
коректне розміщення сповіщальних знаків безпеки.
Арк.
ЧДТУ.22.18009.007.ПЗ
36
Змн. Арк. № докум. Підпис Дата
4.2. Розробка заходів з охорони праці при користуванні програмним
засобом
Використання кольорів безпеки на підприємстві є важливою, навіть
необхідною, умовою безпечної роботи та поводження з приладами.
Колір безпеки – встановлений колір, призначений для привернення уваги
працівників до окремих елементів обладнання, що можуть бути джерелами
небезпечних та шкідливих чинників. В Україні використовується 4 кольори:
червоний, жовтий, зелений, синій. Для привернення уваги кольори
використовуються на контрастному фоні.
Червоний колір визначає безпосередню небезпеку, заборону, пожежну
техніку. Використовується на білому фоні. Червоні позначки на підприємстві
мають бути на шафах або контейнерах з протипожежними засобами, пристроями
вимкнення та сигнальними лампочками.
Жовтий колів повідомляє про можливу небезпеку, використовується на
чорному фоні. На підприємстві має бути на обладнанні, що може бути джерелом
небезпечних чинників, огородженнях.
Сині позначки означають вказівки, інформацію та контрастують з білим
кольором. Має використовуватись на стендах з інформацією про пожежну безпеку
та іншими правилами.
Зелений означає безпеку та евакуаційні знаки, контраст – білий. Зелений колір
має бути обов’язково над евакуаційними виходами та на вказівках до цих виходів,
сигнальні лампочки також мають бути зеленого кольору. [9]
4.2.1. Різновиди знаків безпеки
В приміщенні офісу обов’язково мають бути вказівки, що визначають
заборонені для паління місця та заборона користуватись відкритим вогнем
(рис.4.1).
Арк.
ЧДТУ.22.18009.007.ПЗ
37
Змн. Арк. № докум. Підпис Дата
Рисунок 4.1 – Знаки заборони паління та користування вогнем
Серед попереджувальних знаків обов’язково мають бути знаки електричного
стуму, легкозаймистих, отруйних речовин, небезпеки вибуху (рис.4.2).
Рисунок 4.2 – Попереджувальні знаки електронебезпеки
Плакати і знаки електробезпеки повинні виготовлятися з електроізоляційних
матеріалів.
Допускається виготовляти постійні, переносні плакати і знаки безпеки з
металу - тільки для установок, віддалених від струмоведучих частин.
Арк.
ЧДТУ.22.18009.007.ПЗ
38
Змн. Арк. № докум. Підпис Дата
Плакати і знаки електробезпеки на бетонні і на металеві поверхні
рекомендується наносити фарбами за допомогою трафаретів, а також
використовувати плакати і знаки електробезпеки на самоклеючій плівці.
Приписувальні знаки (рис.4.3) призначені для дозволу відповідних дій
працівників тільки після виконання конкретних вимог безпеки (обов'язкове
використання працюючими засобів індивідуального захисту тощо), вимог
пожежного захисту.
Рисунок 4.3 – Приписувальні знаки
Вказівні знаки (рис.4.4) призначені для вказівки місцезнаходження пожежних
кранів, гідрантів, вогнегасників, пунктів сповіщення про пожежу, місць для
паління.
Арк.
ЧДТУ.22.18009.007.ПЗ
39
Змн. Арк. № докум. Підпис Дата
Рисунок 4.4 – Вказівні знаки
Евакуаційні знаки (рис.4.5) згідно з технічними вимогами ДСТУ ISO 6309:
2007 повинні бути представлені у вигляді квадрату або прямокутнику зеленого
кольору з білою облямівкою по контуру завширшки, всередині якого знаходиться
символічне зображення білого кольору.
Рисунок 4.5 – Евакуаційні знаки
Арк.
ЧДТУ.22.18009.007.ПЗ
40
Змн. Арк. № докум. Підпис Дата
4.2.2. Матеріали та розміщення знаків безпеки
Покажчики евакуаційних або запасних виходів повинні бути забезпечені
власними автономними джерелами живлення для освітлення.
Евакуаційні знаки, які використовуються в темну пору доби або в умовах
недостатньої видимості, повинні бути освітлені автономними джерелами
живлення. Всі пристрої, що забезпечують видимість знаків, табличок і блоків в
темний час доби, не повинні змінювати їх колір, а також погіршувати їх видимість
в світлий час доби.
Види, розміри і кольори знаків пожежної безпеки регламентуються
документом ДСТУ 12.4.026-76 "Кольори сигнальні і знаки безпеки" а також ДСТУ
ISO 6309: 2007 "Протипожежний захист. Знаки безпеки. Форма та колір".
В офісі також присутні фотолюмінісцентні знаки пожежної безпеки для
забезпечення підвищеної видимості в умовах відключення електропостачання під
час пожежі або при задимленні приміщення.
Знак повинен бути добре видно, його сприйняттю не повинен заважати колір
навколишнього фону або сторонні предмети. Відстань між однойменними знаками,
що вказують місцезнаходження евакуаційного виходу або пожежно-технічного
інвентарю, не повинна перевищувати 60 метрів. Знак повинен розташовуватися в
безпосередній близькості від об'єкту, до якого він належить.
На підприємстві евакуаційні знаки розташовані таким чином: знак про
евакуаційний вихід над дверима, знаки направлення до евакуаційного виходу на
відстані не більше 50 м один від одного, біля сходів також розміщені евакуаційні
знаки із напрямком руху, що відповідає вимогам з пожежної безпеки.
Знаки пожежної безпеки, які встановлені біля входу в приміщення (на
воротах, вхідних дверях) означають, що дія цих знаків охоплює всі приміщення.
Арк.
ЧДТУ.22.18009.007.ПЗ
41
Змн. Арк. № докум. Підпис Дата
При необхідності обмежень зони дії знаку необхідно подати відповідне роз'яснення
в пояснювальному написі.
Плоскі знаки, таблички і блоки, що включають знаки пожежної безпеки, слід
виготовляти з листового металу товщиною від 0,5 до 1,5 мм, а також з пластмас або
самоклеючої плівки за умови забезпечення необхідної міцності, жорсткості і
стійкості їх в різних атмосферних умовах. В приміщенні знаки виготовляються з
листового металу товщиною 1 мм та додатково покриті самоклеючою плівкою для
захисту від вицвітання.
Схема розташування знаків безпеки в офісі зображена на рисунку 4.6, на
сходах – на рисунку 4.7.
Рисунок 4.6 – Схема розташування знаків безпеки
Цифрою 1 позначене місце, де знаходяться папери та легкозаймисті речовини
– фарба для принтеру та ацетон. Цифра 2 позначає місце для відпочинку.
Арк.
ЧДТУ.22.18009.007.ПЗ
42
Змн. Арк. № докум. Підпис Дата
Рисунок 4.7 – Схема розташування знаків на сходах
Червоні знаки, на яких зображений вогнегасник, розташовані на стіні над
вогнегасником, на рівні очей людини. Синій знак з лівого боку схеми розташування
знаків у приміщенні повідомляє про місцезнаходження аптечки.
Жовті знаки, що попереджають про електричний струм, розташовані на
щитках, до яких підключаються пристрої. Знак, що позначає легкозаймисті
матеріали, висить на шафі з фарбою для принтера та ацетоном, поряд з ним на стіні
є знак про заборону паління, який відноситься до всього приміщення.
Зелені евакуаційні знаки показують шлях до евакуаційного виходу. Крім
того, в приміщенні знаходиться схема евакуації біля виходів з будівлі та з
приміщення офісу. Над запасним (евакуаційним) виходом також знаходиться
зелена фотолюмінісцентна табличка.
Арк.
ЧДТУ.22.18009.007.ПЗ
43
Змн. Арк. № докум. Підпис Дата
4.2.3. Вплив кольорів в приміщенні на стан працівників
Крім кольорів безпеки важливо звернути увагу на кольори, які оточують
працівників на підприємстві та впливають на їх психологічний та фізичний стан.
Це є важливим аспектом продуктивності в офісі та грає не останню роль в
сприйнятті оточення та відношення до роботи.
В дизайні офісу відсутні яскраві червоні, жовті та зелені кольори, адже
присутні знаки безпеки відповідного кольору, на яких має бути акцент в загальному
оформленні.
Стеля зроблена у білому кольорі, адже він не привертає уваги та віддзеркалює
природнє та штучне освітлення. Стелі покриті матовою фарбою, тому
напруженість очей працівників не збільшується від цього фактору.
Стіни оформлені в світло-блакитному кольорі на 70% та на 30% у верхній
частині в пастельному світло-синьому. Синій колір сприймається як колір спокою
та сприятливо впливає на психіку. В багатьох офісах стіни також оформлюються в
білому кольорі, проте це пригнічує та створює уявлення замкнутого простору, тому
було прийняте рішення оформити кольорові стіни. Синій добре поєднується з
білим кольором стелі, що покращує естетичне сприйняття приміщення, на
психологічному рівні стимулює мислення та зменшує апетит.
Підлога покладена з ламінату кольору антрацит, не привертає зайвої уваги та
допомагає створити уявлення чистоти приміщення. Приблизне зображення
кольорів представлене на рис.4.8.
Арк.
ЧДТУ.22.18009.007.ПЗ
44
Змн. Арк. № докум. Підпис Дата
Рисунок 4.8 – Кольори, в яких оформлене приміщення
Робочі столи та тумби, розташовані в офісі, білого кольору – це збільшує
концентрацію працівників та покращує ергономічність робочого місця при
наявності великої кількості паперів або інших речей.
Інші деталі, як настінні стенди з правилами пожежної безпеки, шафи,
органайзери мають різні кольори, в тому числі яскраві, але червоний, жовтий,
яскравий зелений та фіолетовий кольори наявні лише в невеликій кількості.
Червоний колір викликає роздратованість та схвильованість, надлишкова кількість
жовтого – занепокоєння та тривогу, яскравий зелений позитивно впливає на
психіку, заспокоює, але відволікає увагу від знаків евакуації, фіолетовий важко
сприймається оком та психікою.
Після проведеного аналізу була розроблена схема розташування знаків
безпеки, що забезпечить обізнаність працівників та обережне ставлення до
небезпечних приладів. Знаки, що вказують на евакуаційні виходи, вогнегасники,
електронебезпеку та легкозаймисті речовини, розташовані згідно вимог пожежної
безпеки. Також було проаналізовано вплив кольорів на психологічно-фізіологічний
стан людей та підібрано оптимальні для сприйняття працівниками кольори на
підприємство.
Арк.
ЧДТУ.22.18009.007.ПЗ
45
Змн. Арк. № докум. Підпис Дата
ЗАГАЛЬНІ ВИСНОВКИ
В ході виконання роботи було досягнуто мету – проведено необхідні
дослідження, після цього створено додаток, який поєднує в собі зручний графічний
інтерфейс та надійний захист від посягань на інформацію завдяки поєднанню
криптографічного протоколу та шифрування методом гамування.
Для цього було здійснено необхідні дослідження та розробки:
• огляд потенційних загроз конфіденційній інформації;
• ознайомлення з нормативно-правовою базою в сфері захисту інформації з
обмеженим доступом;
• аналіз симетричних та асиметричних криптографічних алгоритмів для
порівняння та виокремлення аспектів, що забезпечують криптостійкість;
• розробка програмної реалізації алгоритму, яка здійснює шифрування без
необхідності передачі ключа або гами відкритими каналами зв’язку;
• створення графічного інтерфейсу, який дає можливість користуватись
додатком людям будь-яких спеціалізацій, не лише пов’язаних із сферою захисту
інформації та інформаційних технологій.
У першому розділі здійснене дослідження наявних та можливих загроз
інформаційній безпеці, проведене ознайомлення з регулюванням захисту
конфіденційної інформації на законодавчому рівні, організований огляд вимог до
криптографічних систем та порівняння наявних алгоритмів шифрування та
протоколів.
У другому розділі, який теж складається з теоретичних відомостей стосовно
теми, що досліджується, була пояснена сутність та принцип роботи протоколу
Діффі-Хеллмана, наведена інформація про ефективність гамування з боку стійкості
та швидкості шифрування. Також представлений приклад перетворення відкритого
тексту в зашифрований методом гамування, наведена інформація про протокол
SMTP, який використовується для передачі електронної пошти в мережі TCP/IP.
Арк.
ЧДТУ.22.18009.007.ПЗ
46
Змн. Арк. № докум. Підпис Дата
В третьому розділі наведене графічне представлення додатку: описані всі
кнопки та поля, які використовуються, показаний процес формування відкритих
ключів та спільного секретного ключа, шифрування та розшифрування даних та
відправлення листа. Також було проведене тестування програми на наявність
помилок та наведена інформація про сповіщення користувача стосовно
некоректних або помилково введених даних. В розділі також наведені пояснення
до бібліотек, методів та функцій, що використовуються, наведений опис основних
елементів коду додатку.
Четвертий розділ присвячений охороні праці, в якому був проведений аналіз
небезпек та шкідливостей, які можуть виникнути на підприємстві в процесі
користування програмним засобом, наведені нормативні та фактичні значення і
параметри, на основі цього зроблені висновки та описані рекомендації для
покращення якості роботи.
Отже, результатом виконання дипломної роботи є аналіз криптографічних
алгоритмів, що існують, та потенційних загроз для виявлення найбільш актуальних
проблем, створений додаток, що реалізує шифрування даних методом гамування з
використанням криптографічного протоколу Діффі-Хеллмана, поставлені на
початку роботи мета та цілі були досягнуті.
Арк.
ЧДТУ.22.18009.007.ПЗ
47
Змн. Арк. № докум. Підпис Дата
ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Види інформаційних загроз [Електронний ресурс] - Режим доступу:
https://sites.google.com/site/vidiinformacijnihzagrozinform/
2. Соціальна інженерія: як шахраї використовують людську психологію в
інтернеті [Електронний ресурс] - Режим доступу:
https://www.radiosvoboda.org/a/socialna-inzhenerija-shaxrajstvo/29460139.html
3. Конституція України. Закон України «Про прийняття Конституції України і
введення її в дію» № 254/96 від 28.06.1996.
4. Закон України «Про захист персональних даних» № 2297-VI від 01.06.2010
р.
5. Требования к криптографическим системам [Електронний ресурс] - Режим
доступу: https://studfile.net/preview/951071/page:25/
6. Обмін ключами по алгоритму Діффі-Хеллмана - реферати та учбові
матеріали [Електронний ресурс] - Режим доступу: http://um.co.ua/8/8-19/8-
195111.html
7. Поштові SMTP-порти - значення, особливості та опис [Електронний ресурс]
- Режим доступу: https://ukrpublic.com/aktualne/poshtovi-smtp-porti-
znachennya-osoblivosti-ta-opis.html
8. Електробезпека на підприємстві / Електробезпека на виробництві /
Електробезпека охорона праці [Електронний ресурс] - Режим доступу:
https://www.sop.com.ua/article/745-elektrobezpeka
9. Спецдрук, протипожежна поліграфія, знаки безпеки [Електронний ресурс] -
Режим доступу: http://pelikan-print.com.ua/ua/spetsdruk.html
Арк.
ЧДТУ.22.18009.007.ПЗ
48
Змн. Арк. № докум. Підпис Дата
ДОДАТОК А
Код програмної реалізації додатку
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from tkinter import *
from tkinter import filedialog as fd
import random
p=23
g=7
def click_OK():
x=int(text_x.get())
y=((g**x)%p)
prnt="Ваш відкритий ключ: "+str(y)
label_y=Label(window, text=prnt, font=("Consolas",11))
label_y.grid(column=0, row=2, columnspan=4)
button_OK2.configure(state='normal')
text_yB.configure(state='normal')
def click_OK2():
yB=int(text_yB.get())
x=int(text_x.get())
Z=(yB**x)%p
label_y=Label(window, text="Ви успішно сформували спільний секретний ключ!",
font=("Consolas",11))
label_y.grid(column=0, row=5, columnspan=4)
button_open.configure(state='normal')
return Z
def opn():
filename=fd.askopenfilename()
Арк.
ЧДТУ.22.18009.007.ПЗ
49
Змн. Арк. № докум. Підпис Дата
Z=click_OK2()
text="Обрано файл "+str(filename)
label=Label(window, text=text, font=("Consolas",11))
label.grid(column=0, row=9, columnspan=4)
button_encr.configure(state='normal',command=lambda:encrypt(Z,filename))
button_decr.configure(state='normal',command=lambda:decrypt(Z,filename))
def opn2():
filename2=fd.askopenfilename()
text="Обрано файл "+str(filename2)
label=Label(window, text=text, font=("Consolas",11))
label.grid(column=0, row=15, columnspan=4)
button_send.configure(state='normal',command=lambda:send_email(filename2))
def encrypt(Z,filename):
fword=open(filename,'r')
word=fword.read()
word=list(word)
random.seed(Z)
key=[i for i in word]
for i in range (len(word)):
x=random.randrange(256)
key[i]=x
f=open('encrypt_text.txt','w')
for i, j in zip(word, key):
res=((ord(i)+j)%256)
f.write(str(res)+',')
f.close()
label=Label(window, text="Зашифрований текст записано у файл \n encrypt_text.txt",
font=("Consolas",11))
label.grid(column=0, row=11, columnspan=3)
def decrypt(Z,filename):
random.seed(Z)
Арк.
ЧДТУ.22.18009.007.ПЗ
50
Змн. Арк. № докум. Підпис Дата
f=open(filename,'r')
word=f.read()
word=word.split(",")
word.pop(-1)
word=[int(i) for i in word]
key=[i for i in word]
for i in range (len(word)):
x=random.randrange(256)
key[i]=x
res=''
for i, j in zip(word, key):
res+=chr((i-j)%256)
f.close()
f2=open("decrypt_text.txt",'w')
f2.write(str(res))
f2.close()
label=Label(window, text="Розшифрований текст записано у файл \n decrypt_text.txt",
font=("Consolas",11))
label.grid(column=0, row=11, columnspan=3)
def send_email(filename2):
email_to=str(text_x1.get())
email_from = "[email protected]"
password = "example123x"
message = MIMEMultipart()
message["Subject"] = "Тема"
message["From"] = email_from
message["To"] = email_to
fword2=open("encrypt_text.txt",'r')
word2=fword2.read()
message.attach(MIMEText(word2))
server = smtplib.SMTP(host='smtp.gmail.com',port=587) #Створення об'єкту SMTP
Арк.
ЧДТУ.22.18009.007.ПЗ
51
Змн. Арк. № докум. Підпис Дата
try:
server.starttls()
server.login(email_from, password)
server.send_message(message)
label=Label(window, text="Лист успішно відправлений", font=("Consolas",11))
label.grid(column=0, row=16, columnspan=3)
except smtplib.SMTPException as err:
label=Label(window, text="Помилка при відправці листа", font=("Consolas",11))
label.grid(column=0, row=16, columnspan=3)
finally:
server.quit()
window=Tk() #створення об'єкту нашого вікна
window.title("Система Діффі-Хелмана")
window.geometry('500x500') #задаємо розміри вікна
label_x=Label(window, text="Оберіть секретне число:", font=("Consolas",11))
label_x.grid(column=0, row=0, columnspan=3)
text_x=Entry(window, width=10, show='*') #заміняємо введений текст на зірочки
text_x.grid(column=3,row=0)
#кнопка для відправлення даних
button_OK=Button(window, text="Відправити", width=20, command=click_OK)
button_OK.grid(column=0, row=1, columnspan=4)
label_yB=Label(window, text="Введіть відкритий ключ іншого абонента:", font=("Consolas",11))
label_yB.grid(column=0, row=3, columnspan=3)
text_yB=Entry(window, width=10, state='disabled')
text_yB.grid(column=3,row=3)
button_OK2=Button(window, text="Продовжити", width=20, state='disabled', command=click_OK2)
button_OK2.grid(column=0, row=4, columnspan=4)
Арк.
ЧДТУ.22.18009.007.ПЗ
52
Змн. Арк. № докум. Підпис Дата
button_open=Button(window, text="Відкрити файл", width=15, state='disabled', command=opn)
button_open.grid(column=0, row=7, columnspan=4)
button_encr=Button(window, text="Зашифрувати", width=15, state='disabled')
button_encr.grid(column=0, row=10, columnspan=2)
button_decr=Button(window, text="Розшифрувати", width=15, state='disabled')
button_decr.grid(column=2, row=10, columnspan=2)
label_yB=Label(window, text="Відправлення файлів", font=("Consolas",11))
label_yB.grid(column=0, row=13, columnspan=4)
button_open2=Button(window, text="Відкрити файл", width=15, command=opn2)
button_open2.grid(column=0, row=14, columnspan=2)
button_send=Button(window, text="Відправити", width=15, state='disabled')
button_send.grid(column=2, row=14, columnspan=2)
label_x1=Label(window, text="Введіть електронну пошту:", font=("Consolas",11))
label_x1.grid(column=0, row=17, columnspan=1)
text_x1=Entry(window, width=20)
text_x1.grid(column=1,row=17)
window.mainloop()
Арк.
ЧДТУ.22.18009.007.ПЗ
53
Змн. Арк. № докум. Підпис Дата
ДОДАТОК Б
Презентаційний матеріал
Арк.
ЧДТУ.22.18009.007.ПЗ
54
Змн. Арк. № докум. Підпис Дата
Арк.
ЧДТУ.22.18009.007.ПЗ
55
Змн. Арк. № докум. Підпис Дата
Арк.
ЧДТУ.22.18009.007.ПЗ
56
Змн. Арк. № докум. Підпис Дата
Арк.
ЧДТУ.22.18009.007.ПЗ
57
Змн. Арк. № докум. Підпис Дата
Арк.
ЧДТУ.22.18009.007.ПЗ
58
Змн. Арк. № докум. Підпис Дата
Арк.
ЧДТУ.22.18009.007.ПЗ
59
Змн. Арк. № докум. Підпис Дата
Арк.
ЧДТУ.22.18009.007.ПЗ
60
Змн. Арк. № докум. Підпис Дата