Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/6871
Title: Практична реалізація механізму стеганографічного захисту інформації з обмеженим доступом
Authors: Панаско, Олена Миколаївна
Білецький, Владислав Олександрович
Keywords: стеганографічні методи;алгоритм стеганографії LSB;алгоритм шифрування AES;стеганографія тексту;стеганографія відео;мережева стеганографія
Issue Date: 2023
Abstract: Розробка доступного програмного забезпечення для реалізація механізму стеганографічного захисту інформації з обмеженим доступом. Це буде здійснено шляхом створення Telegram бота, який використовує стеганографічний метод приховування інформації Least Significant Bit (LSB) для зображень та шифрування повідомлень алгоритмом Advanced Encryption Standard (AES)
URI: https://er.chdtu.edu.ua/handle/ChSTU/6871
Appears in Collections:125 Кібербезпека та захист інформації (Безпека інформаційних і комунікаційних систем)

Files in This Item:
File Description SizeFormat 
Б_125_Білецький_Панаско.pdf
  Restricted Access
2.93 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
ФАКУЛЬТЕТ ЕЛЕКТРОННИХ ТЕХНОЛОГІЙ, 
AВТОТРАНСПОРТУ ТА МАШИНОБУДУВАННЯ 
КАФЕДРА РОБОТОТЕХНІЧНИХ І ТЕЛЕКОМУНІКАЦІЙНИХ 
СИСТЕМ ТА КІБЕРБЕЗПЕКИ 
 
 
 
До захисту допущено 
 
завідувач кафедри РТСК 
 
д.т.н., професор 
 
_______________ В.В. Палагін 
 
"______" __________ 2023 року 
 
 
 
Пояснювальна записка 
 
до дипломного проекту бакалавра 
 
на тему: «Практична реалізація механізму стеганографічного захисту 
інформації з обмеженим доступом» 
 
 
 
Виконав: студент 4 курсу, групи БІ-91+ск 
Спеціальності 125 – «Кібербезпека», 
 
освітньої програми «Безпека 
інформаційних і комунікаційних систем» 
 
 
 Білецький В. О. 
 
 Керівник Панаско О.М. 
 
 
 
 
 
 
 
 
 
 
 
 
Черкаси 2023р. 
Форма № Н-9.01 
 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
(повне найменування вищого навчального закладу) 
Факультет електронних технологій, автотранспорту та машинобудування  
(повна назва) 
Кафедра робототехнічних і телекомунікаційних систем та кібербезпеки  
(повна назва) 
Освітньо-кваліфікаційний рівень бакалавр  
 
Спеціальність 125 – «Кібербезпека»  
 
Освітня програма Безпека інформаційних і комунікаційних систем  
 
ЗАТВЕРДЖУЮ 
Завідувач кафедри д.т.н., проф. 
____________ Палагін В.В. 
“___” _____________ 2023 року 
 
З А В Д А Н Н Я 
НА КВАЛІФІКАЦІЙНУ РОБОТУ БАКАЛАВРА СТУДЕНТУ 
Білецького Владислава Олександровича 
 (прізвище, ім’я, по батькові) 
 
1. Тема роботи «Практична реалізація механізму стеганографічного захисту інформації з 
обмеженим доступом»  
керівник роботи Панаско Олена Миколаївна_____  
                                                                                     (прізвище, ім’я, по батькові, науковий ступінь, вчене звання) 
затверджені наказом Черкаського державного технологічного університету від  
«28» Лютого 2023 року №45/04.  
2. Строк подання студентом роботи «13» червня 2023 р. 
3. Вихідні дані до роботи: Стеганографічні методи та шифрувальні алгоритми. Алгоритму 
стеганографії LSB (least significant bit), алгоритм шифрування AES  
4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити): 
Розділ 1 Огляд програмної області стеганографічних методів та шифрувальних алгоритмів, розділ 
2 Детальний розгляд алгоритму стеганографії LSB (least significant bit), алгоритм шифрування AES, 
,розділ 3 Програмна реалізація механізму стеганографічного захисту інформації з обмеженим 
доступом, розділ 4 
Охорона праці , висновки, список використаних джерел, додаток А.  
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень, плакатів): 
мультимедійна презентація “ Практична реалізація механізму стеганографічного захисту 
інформації з обмеженим доступом” – 14 слайдів (додається до роботи).  
 
6. Консультанти розділів роботи  
Підпис, дата 
Розділ Прізвище, ініціали та посада консультанта 
завдання видав завдання прийняв 
4 Кожем’якін О.С.   
 
7. Дата видачі завдання __________________ 
 
КАЛЕНДАРНИЙ ПЛАН  
 
№ Строк виконання 
Назва етапів кваліфікаційної роботи магістра Примітка  
з/п етапів роботи 
1. Пошук і аналіз інформації по заданій темі 02.03.2023-  
10.03.2023 
2. Написан ня І розділу “Огляд програмної області 15.03.2023-  
стеганографічних методів та шифрувальних 25.03.2023 
алгоритмів ” 
3. Написан ня ІІ розділу роботи “Детальний розгляд 29.03.2023-  
алгоритму стеганографії LSB (least significant bit), 09.04.2023 
алгоритм шифрування AES ” 
4. Написан ня ІІІ розділу “Програмна реалізація 11.04.2023-  
механізму стеганографічного захисту інформації з 27.04.2023 
обмеженим доступом ” 
5. Написан ня IV розділу “Охорона праці” 05.05.2023-  
15.05.2023 
6. Написан ня вступу і висновків, складання списку 20.05.2023  
літератури 
7. Оформл ення кваліфікаційної роботи бакалавра 01.06.2023  
8. Подання  роботи в ЕК 13.06.2023  
9. Захист р оботи в ЕК 19.06.2023  
 
Студент _______________________Білецький В.О. 
    (підпис)                           (прізвище та ініціали) 
Керівник роботи   _______________Панаско О,М. 
                                                  (підпис)                        (прізвище та ініціали) 
 
 
 
ЗМІСТ 
ВСТУП .............................................................................................................................. 6 
1. ОГЛЯД ПРОГРАМНОЇ ОБЛАСТІ СТЕГАНОГРАФІЧНИХ МЕТОДІВ ТА 
ШИФРУВАЛЬНИХ АЛГОРИТМІВ ............................................................................. 8 
1.1 Визначення та основні поняття ............................................................................ 8 
1.2 Історичний огляд розвитку стеганографії ........................................................... 9 
1.3 Види стеганографії ............................................................................................... 11 
1.3.1 Стеганографія зображень .............................................................................. 12 
1.3.2 Стеганографія аудіо ....................................................................................... 13 
1.3.3 Стеганографія відео ....................................................................................... 14 
1.3.4 Стеганографія тексту ..................................................................................... 15 
1.3.5 Мережева стеганографія ............................................................................... 16 
1.4 Історичний огляд розвитку криптографії .......................................................... 18 
1.5 Види шифрів ......................................................................................................... 19 
1.5.1 DES .................................................................................................................. 20 
1.5.2 AES .................................................................................................................. 21 
1.5.3 Калина ............................................................................................................. 22 
1.5.4 BlowFish .......................................................................................................... 23 
2. ДЕТАЛЬНИЙ РОЗГЛЯД АЛГОРИТМУ СТЕГАНОГРАФІЇ LSB (LEAST 
SIGNIFICANT BIT), АЛГОРИТМ ШИФРУВАННЯ AES ........................................ 26 
2.1 Детальний опис алгоритмів вбудовування та вилучення інформації за 
допомогою LSB .......................................................................................................... 26 
2.1.2 Переваги та недоліки методу LSB стеганографії ....................................... 29 
2.2 Детальний розгляд алгоритму AES (Advanced Encryption Standard) .............. 30 
3. ПРОГРАМНА РЕАЛІЗАЦІЯ МЕХАНІЗМУ СТЕГАНОГРАФІЧНОГО 
ЗАХИСТУ ІНФОРМАЦІЇ З ОБМЕЖЕНИМ ДОСТУПОМ ...................................... 40 
3.1 Опис програмного середовища ........................................................................... 40 
 
 ЧДТУ.23.19001.001 ПЗ 
Зм. Арк. № докум. Підпис Дата 
Розроб. Білецький В. О.  Практична реалізація механізму Літ. Аркуш Аркушів 
Перевір. Панаско О.М. стеганографічного захисту 4 98 
 інформації з обмеженим 
Н.К онтрол. Байрак А.В. доступом ЧДТУ, БІ-91 
За твердж.  
Палагін В.В. 
 
 
 
3.2 Програмна реалізація ........................................................................................... 43 
3.3 Тестування ............................................................................................................ 58 
4. ОХОРОНА ПРАЦІ .................................................................................................... 66 
4.1 Аналіз небезпек та шкідливостей, які виникають під час проведення робіт в 
приміщенні центру обробки даних .......................................................................... 66 
4.2 Модернізація системи водяного опалення приміщення .................................. 75 
ВИСНОВКИ ................................................................................................................... 80 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ..................................................................... 82 
ДОДАТОК А .................................................................................................................. 84 
 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 5    
Зм  Арк №Докум. Підп Дат
а  
 
 
ВСТУП 
У сьогоднішньому цифровому світі, де обмін інформацією здійснюється все 
інтенсивніше та швидко, захист конфіденційності та не порушення цілісності даних 
стають надзвичайно важливими завданнями. Класичні методи шифрування, 
використовуються для забезпечення конфіденційності інформації шляхом 
перетворення її у незрозумілий для сторонніх осіб формат. Однак, навіть при 
застосуванні таких методів шифрування, існує ризик виявлення самого факту 
шифрування та привернення уваги до захищених даних. 
Тому стеганографія, на відміну від шифрування, пропонує інший підхід до 
забезпечення конфіденційності даних. Вона передбачає приховування інформації 
всередині непідозрілих носіїв, таких як зображення, звукові файли або відео, що 
робить виявлення прихованої інформації складним для незаконних осіб. Такий 
підхід дозволяє зберігати конфіденційну інформацію в незрозумілому вигляді, не 
привертаючи небажану увагу.[1] 
Особливо актуальною є тема стеганографічного захисту інформації з 
обмеженим доступом. У деяких випадках існує необхідність обмежити доступ до 
певної інформації лише авторизованим особам. Наприклад, це може бути 
конфіденційна комерційна інформація, медичні дані пацієнтів або військові 
секрети. Такі дані вимагають особливого рівня захисту, який не тільки гарантує 
конфіденційність, але й ускладнює виявлення самої фактури приховування 
інформації.[2] 
Метою дипломної роботи є розробка доступного програмного забезпечення 
для реалізація механізму стеганографічного захисту інформації з обмеженим 
доступом. Це буде здійснено шляхом створення Telegram бота, який використовує 
стеганографічний метод приховування інформації Least Significant Bit (LSB) для 
зображень та шифрування повідомлень алгоритмом Advanced Encryption Standard 
(AES). 
 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 6    
Зм  Арк №Докум. Підп Дат
а  
 
 
Виходячи з поставленої мети, завдання дипломної роботи включає в себе: 
– Огляд предметної області обраних механізмів та алгоритмів. 
– Аналіз відомих механізмів та алгоритмів. 
– Розробка архітектури механізму стеганографічного захисту 
інформації. 
– Розробка програмного коду для Telegram бота, який дозволить 
користувачам приховувати та діставати зашифровані повідомлення в зображеннях.  
– Розробка алгоритму вбудовування та вилучення інформації методом 
LSB для зображень.  
– Проведення тестування та перевірка  працездатності ПЗ. 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 7    
Зм  Арк №Докум. Підп Дат
а  
 
 
1. ОГЛЯД ПРОГРАМНОЇ ОБЛАСТІ СТЕГАНОГРАФІЧНИХ МЕТОДІВ ТА 
ШИФРУВАЛЬНИХ АЛГОРИТМІВ 
1.1 Визначення та основні поняття 
Криптологія є науковою дисципліною, яка вивчає методи захисту інформації 
шляхом розшифрування та шифрування. Вона включає в себе дві основні галузі: 
стеганографію та криптографію. 
Криптографія. Криптографічні алгоритми: Криптографічні алгоритми 
використовуються для шифрування та розшифрування інформації. Це математичні 
алгоритми, які виконують операції над даними з використанням ключів. Популярні 
криптографічні алгоритми включають AES, RSA, DES, і ECC.[2] 
Симетричне та асиметричне шифрування: В криптографії використовуються 
два основні типи шифрування. Симетричне шифрування використовує один і той 
же ключ для шифрування і розшифрування. Асиметричне шифрування 
використовує пару ключів: публічний ключ для шифрування і приватний ключ для 
розшифрування. 
Цифровий підпис: Цифровий підпис - це механізм, який дозволяє перевірити 
автентичність повідомлення та підтвердити, що воно не було змінено. Це 
досягається за допомогою криптографічних алгоритмів, які використовують 
приватний ключ для підпису повідомлення, який потім може бути перевірений з 
використанням публічного ключа. 
Хеш-функції: Хеш-функції використовуються для перетворення вхідних 
даних фіксованої довжини, що називається хеш-значенням або хеш-кодом. Вони 
використовуються для перевірки цілісності даних та вирішення інших задач, таких 
як створення цифрових підписів. 
Стеганографія. Стеганографія - це наука про приховування інформації в 
невидимих або непомітних для спостерігачів способах. Вона використовується для 
приховування наявності комунікації, а не її конфіденційності. Це може включати 
вбудовування повідомлення в зображення, звук, текстові файли тощо. 
Лист 
ЧДТУ.23.19001.001 ПЗ 8    
Зм  Арк №Докум. Підп Дат
а  
 
 
Методи стеганографії: Існує багато різних методів стеганографії, включаючи 
методи вбудовування в найменш значущі біти, зміна частоти аудіосигналу, 
використання непомітних модифікацій зображень тощо.[1] 
Криптографічний захист: В стеганографії часто використовуються 
криптографічні методи для захисту прихованої інформації. Це включає 
шифрування прихованого повідомлення перед вбудовуванням та використання 
ключів для забезпечення безпеки доступу до прихованої інформації. 
Криптологія використовується в багатьох сферах, включаючи комунікації, 
захист даних, фінансову сферу, комп'ютерну безпеку, військову розвідку та багато 
інших. Вона є важливою складовою сучасного світу, де захист інформації є 
важливим аспектом. 
 
1.2 Історичний огляд розвитку стеганографії 
Історичний огляд розвитку стеганографії свідчить про те, що ця наука мала 
значний вплив на комунікації та передачу таємних повідомлень на протязі багатьох 
століть. Ось кілька ключових етапів в історії розвитку стеганографії [3]: 
Вже в стародавньому світі були застосовані різні методи стеганографії. 
Наприклад, у Давньому Єгипті повідомлення були зашифровані на папірусі, який 
потім був намотаний на дерев'яний або металевий валик. Таким чином, надіслане 
повідомлення виглядало як звичайний папірус, не викликаючи підозр. Подібні 
методи використовувались у різних цивілізаціях, включаючи давньогрецьку та 
римську. 
У середньовічні часи стеганографія стала популярним інструментом для 
шпигунських операцій та зберігання таємниць. Наприклад, шифр Цезаря був 
широко використовуваний для приховування повідомлень у тексті шляхом зсуву 
літер у алфавіті. Також розроблялись методи приховування повідомлень у різних 
формах мистецтва, таких як живопис та література. 
Під час Другої світової війни стеганографія відіграла важливу роль у 
шпигунських діях. Різні методи були використані для приховування повідомлень у 
Лист 
ЧДТУ.23.19001.001 ПЗ 9    
Зм  Арк №Докум. Підп Дат
а  
 
 
радіопередачах, шифруванні та інших формах комунікації. За цей період було 
винайдено та використано багато нових методів стеганографії, наприклад: 
− "Радіошпигунство": Військові розвідувальні служби використовували 
стеганографію для приховування повідомлень у радіопередачах. Шпигуни 
намагалися передати цінну інформацію, вбудовуючи її в звичайні радіопередачі, 
що робило їх менш помітними для ворожих розвідувальних служб. 
− Шифрування та стеганографія: Під час війни шифрування та 
стеганографія були поєднані для забезпечення більшої безпеки комунікації. 
Секретні повідомлення спочатку шифрувалися, а потім приховувалися за 
допомогою стеганографічних методів, що ускладнювало їх виявлення та 
розшифрування ворогом. 
− Використання технічних засобів: Військові та розвідувальні служби 
розробляли спеціальні технічні засоби для приховування інформації. Наприклад, 
були створені шпигунські радіоапарати, які могли виконувати функції як 
радіопередачі, так і стеганографічного збереження повідомлень. 
− Винайдення нових методів: Під час війни було винайдено і 
використано багато нових методів стеганографії. Наприклад, методи приховування 
повідомлень в музичних нотах, книгах, фотографіях та інших носіях інформації 
були широко використані шпигунами того часу. 
− Внесок в розвідку: Використання стеганографії дозволяло шпигунам 
передавати конфіденційну інформацію без підозр, що робило їх роботу більш 
ефективною. Завдяки використанню стеганографії було можливо отримувати цінні 
дані з ворожих територій, що мала велике значення для ведення війни. 
З появою цифрових технологій стеганографія стала актуальною для 
приховування інформації у цифрових медіа. [4] Зараз існують різноманітні методи 
стеганографії, включаючи вбудовування інформації у зображення, аудіофайли, 
відео, текстові документи та інші формати. Сучасні алгоритми та методи 
стеганографії використовують розширені математичні та криптографічні підходи 
для забезпечення безпеки та ефективності. 
Лист 
ЧДТУ.23.19001.001 ПЗ 10    
Зм  Арк №Докум. Підп Дат
а  
 
 
Важливо зауважити, що стеганографія і криптографія є тісно пов'язаними 
науками, оскільки обидва займаються захистом інформації. Стеганографія 
зосереджена на приховуванні інформації, тоді як криптографія займається 
розшифруванням та шифруванням повідомлень. Об'єднання цих двох наук 
дозволяє створювати потужні механізми захисту та передачі конфіденційної 
інформації. 
 
1.3 Види стеганографії 
Стеганографію можна класифікувати на основі різних типів "носіїв" або 
контейнерів, в яких приховуються дані. Ось деякі основні види [3]: 
• Стеганографія зображень, де дані приховуються в середовищі 
цифрового зображення. Це найпоширеніший вид стеганографії. 
• Стеганографія аудіо, в якій дані приховуються в аудіофайлах. Це може 
бути більш складно, ніж стеганографія зображень, але вона також може бути 
ефективною. 
• Стеганографія відео, тут дані приховуються в цифровому відео. Це 
може включати в себе приховування інформації в кадрах відео, або навіть в аудіо 
доріжці відео. 
• Стеганографія тексту: Дані приховуються в текстових документах. Це 
може бути виконано різними способами, включаючи використання білих 
просторів, зміни шрифтів або кольорів. 
Використання стеганографії дуже різноманітне і використовується в різних 
областях: 
• Вона може використовуватися для захисту конфіденційної інформації 
від несанкціонованого доступу. 
• Вона може використовуватися для захисту авторських прав, 
включаючи додавання водяних знаків до цифрових зображень або відео. 
• Стеганографія може використовуватися для передачі повідомлень в 
надійний та безпечний спосіб. 
Лист 
ЧДТУ.23.19001.001 ПЗ 11    
Зм  Арк №Докум. Підп Дат
а  
 
 
• Стеганографія може використовуватися для вбудовування таємних 
повідомлень в медіа та ігри. 
• Вона також може використовуватися для збільшення безпеки при 
передачі даних по мережі. 
Далі ми розглянемо трішки детальніше кожний вид. 
 
1.3.1 Стеганографія зображень 
Стеганографія зображень - це галузь стеганографії, яка зосереджена на 
приховуванні повідомлень або інших типів інформації в цифрових зображеннях. 
Вона використовується для передачі даних в таємниці та захисту конфіденційної 
інформації. 
Найбільш поширеним методом стеганографії зображень є метод найменших 
значущих бітів (LSB), що є досить простим і ефективним. Прихована інформація 
вбудовується у найменш значущі біти пікселів зображення, які майже непомітні 
для людського ока. Цей метод дозволяє вбудовувати велику кількість даних в 
зображення без помітних змін у його вигляді. [5] 
Процес стеганографічного приховування інформації в зображеннях може 
бути узагальнений наступним чином: 
1. Вибір носія: Обирається цифрове зображення, яке буде використовуватися 
як носій для приховування інформації. 
2. Кодування повідомлення: Повідомлення або дані, які потрібно приховати, 
перетворюються на відповідний формат, наприклад, біти або байти. 
3. Вибір пікселів: Вибираються пікселі зображення, до яких буде внесено 
зміни для вбудовування інформації. 
4. Вбудовування інформації: Біти або байти прихованої інформації 
замінюють найменш значущі біти обраних пікселів зображення. Це змінює колір 
пікселів на незначну величину, що непомітна для спостерігача. 
5. Оцінка стійкості: Виконується оцінка стійкості прихованої інформації до 
різних атак, таких як стиснення зображення, фільтрація або обрізка. 
Лист 
ЧДТУ.23.19001.001 ПЗ 12    
Зм  Арк №Докум. Підп Дат
а  
 
 
6. Вилучення інформації: Для отримання прихованої інформації проводиться 
процес вилучення, в якому зображення аналізується, інформація вилучається з 
найменш значущих бітів пікселів та перетворюється у вихідний формат даних. 
Стеганографія зображень має широкий спектр застосувань. Вона може 
використовуватися для захисту конфіденційної інформації, обмеженого доступу до 
даних, встановлення водяних знаків та багатьох інших цілей. Однак, при 
використанні стеганографії зображень важливо враховувати аспекти безпеки, які 
включають розробку стійких методів, відповідну оцінку ризиків та забезпечення 
захисту від атак. 
 
1.3.2 Стеганографія аудіо 
Стеганографія аудіо - це метод приховування повідомлень або інших типів 
інформації в аудіо сигналах. Вона дозволяє передавати дані в таємниці, шляхом 
вбудовування інформації в аудіо сигнал без помітних змін, що сприяє 
конфіденційності та безпеці обміну інформацією. 
Основним методом стеганографії аудіо є метод найменших значущих бітів 
(LSB). В цьому методі найменш значущі біти аудіо сигналу замінюються бітами 
прихованої інформації. Цей метод використовується через те, що зміни в найменш 
значущих бітах мало помітні для людського слуху. При відтворенні аудіо сигналу, 
вбудована інформація може бути вилучена шляхом витягування найменш 
значущих бітів з аудіо сигналу.[6] 
Процес стеганографічного приховування інформації в аудіо може бути 
узагальнений наступним чином: 
1. Вибір носія: Обирається аудіо сигнал, який буде використовуватися як 
носій для приховування інформації. 
2. Кодування повідомлення: Повідомлення або дані, які потрібно приховати, 
перетворюються на відповідний формат, наприклад, біти або байти. 
3. Вибір аудіо фрагментів: Вибираються фрагменти аудіо сигналу, до яких 
будуть внесені зміни для вбудовування інформації. 
Лист 
ЧДТУ.23.19001.001 ПЗ 13    
Зм  Арк №Докум. Підп Дат
а  
 
 
4. Вбудовування інформації: Біти або байти прихованої інформації 
замінюють найменш значущі біти обраних аудіо фрагментів. Це змінює амплітуду 
аудіо сигналу на незначну величину, яка не є помітною для слухача. 
5. Вилучення інформації: Для отримання прихованої інформації проводиться 
процес вилучення, в якому аналізується аудіо сигнал, інформація вилучається з 
найменш значущих бітів аудіо сигналу та перетворюється у вихідний формат 
даних. 
Стеганографія аудіо має різноманітні застосування, включаючи захист 
конфіденційної інформації, цифрове водяне знакування, автентифікацію аудіо 
матеріалів та інші. При використанні стеганографії аудіо необхідно враховувати 
аспекти безпеки, такі як розробка стійких методів, оцінка ризиків та забезпечення 
захисту від атак. 
 
1.3.3 Стеганографія відео 
Стеганографія відео - це метод приховування інформації в відео сигналах, що 
дозволяє передавати конфіденційну інформацію без помітних змін відео контенту. 
Цей метод використовується для забезпечення безпеки, конфіденційності та 
цілісності інформації під час її передачі або зберігання. 
Основні методи стеганографії відео включають: 
1. Вбудовування інформації в кадри: Цей метод включає вбудовування 
прихованої інформації в кадри відео сигналу. Інформація може бути вбудована в 
пікселі, кольорові компоненти або інші властивості кадрів, зазвичай замінюючи 
найменш значущі біти або застосовуючи піксельну перестановку. 
2. Вбудовування інформації в часову шкалу: Цей метод включає 
вбудовування прихованої інформації в часову шкалу відео сигналу. Інформація 
може бути вбудована шляхом зміни часових інтервалів між кадрами або 
застосування різних швидкостей відтворення. 
3. Вбудовування інформації в аудіо компонент: Цей метод включає 
вбудовування прихованої інформації в аудіо компоненти відео сигналу. Інформація 
Лист 
ЧДТУ.23.19001.001 ПЗ 14    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
може бути вбудована шляхом внесення змін в аудіо супровід або вбудовування 
аудіо сигналу в мовлення або звукові ефекти. 
4. Вбудовування інформації в формат файлу: Цей метод включає 
вбудовування прихованої інформації безпосередньо в формат файлу відео. 
Інформація може бути вбудована в заголовки файлу, додаткові поля або інші 
структурні компоненти формату файлу. 
5. Вбудовування інформації в відео кодеки: Цей метод включає вбудовування 
прихованої інформації в процес стиснення відео. Інформація може бути вбудована 
шляхом використання додаткових біт або параметрів кодека для кодування 
прихованої інформації. 
Стеганографія відео має широкі застосування, включаючи захист 
конфіденційної інформації, авторські права, цифрове водяне знакування, 
аутентифікацію відео матеріалів та багато іншого. При розробці методів 
стеганографії відео необхідно враховувати аспекти безпеки, такі як стійкість до 
атак, ефективність кодування, сприятливі умови відтворення та забезпечення 
незмінності відео контенту. 
 
1.3.4 Стеганографія тексту 
Стеганографія тексту - це метод приховування інформації в текстових 
документах або повідомленнях, що дозволяє передавати конфіденційну 
інформацію без помітних змін у зовнішньому вигляді тексту. Цей метод 
шифрування використовується для забезпечення конфіденційності, цілісності та 
захисту інформації під час її передачі або зберігання, а також цей метод можна 
використовувати для додавання унікальності текстам, таким як наприклад ця 
дипломна робота. 
Основні методи стеганографії тексту включають: 
1. Заміна символів: Цей метод включає заміну певних символів в тексті 
прихованими символами, які кодують приховану інформацію. Зазвичай 
Лист 
ЧДТУ.23.19001.001 ПЗ 15    
Зм  Арк №Докум. Підп Дат
а  
 
 
використовуються менш вживані символи, які не викликають підозрівості, або 
заміна відображаючих символів на непомітні символи, які не змінюють зовнішній 
вигляд тексту. 
2. Інтервал між словами: Цей метод включає вставку прихованої інформації 
шляхом зміни інтервалів між словами. Інформація може бути вбудована відступи, 
пробіли або інші роздільники між словами, зберігаючи при цьому зовнішній вигляд 
тексту. 
3. Вбудовування в маркери форматування: Цей метод включає вставку 
прихованої інформації в маркери форматування тексту, такі як розмір шрифту, 
кольори, стилі, розташування тексту тощо. Інформація може бути вбудована в 
незначні зміни цих маркерів, що не помітні для звичайного читача. 
4. Вбудовування в стеганографічні ключі: Цей метод включає використання 
стеганографічних ключів або паспортних даних для вбудовування прихованої 
інформації в текст. Ключі можуть використовуватися для вибору певних символів 
або позицій у тексті для вбудовування інформації. 
5. Використання незначних змін: Цей метод включає вбудовування 
прихованої інформації шляхом внесення незначних змін у текст, таких як 
додавання чи видалення пробілів, зміна регістру символів, вставка додаткових 
символів тощо. Ці зміни не впливають на зміст тексту, але містять приховану 
інформацію. 
Стеганографія тексту може бути використана для різних цілей, таких як 
передача конфіденційної інформації, захист від несанкціонованого доступу, 
аутентифікація повідомлень та інші. При розробці методів стеганографії тексту 
необхідно враховувати аспекти безпеки, ефективності, стійкості до атак та 
збереження зовнішнього вигляду тексту. 
 
1.3.5 Мережева стеганографія  
Мережева стеганографія - це галузь стеганографії, яка використовується для 
приховування інформації в мережевих протоколах та комунікаціях між 
Лист 
ЧДТУ.23.19001.001 ПЗ 16    
Зм  Арк №Докум. Підп Дат
а  
 
 
комп'ютерами. Основна мета мережевої стеганографії полягає у забезпеченні 
конфіденційності та незламності передаваної інформації. 
Основні аспекти мережевої стеганографії включають: 
1. Протоколи та канали зв'язку: Мережева стеганографія використовує різні 
протоколи та канали зв'язку для вбудовування та передачі прихованої інформації. 
Це можуть бути протоколи передачі даних, мережеві протоколи, електронна пошта, 
соціальні мережі тощо. 
2. Методи вбудовування: Мережева стеганографія використовує різні методи 
вбудовування прихованої інформації в мережевий трафік. Це можуть бути методи 
вбудовування в заголовки пакетів, полі корисних навантажень, даних, фрагменти 
пакетів тощо. 
3. Шифрування та захист інформації: Важливим аспектом мережевої 
стеганографії є захист прихованої інформації від виявлення та несанкціонованого 
доступу. Часто використовуються шифрування та криптографічні алгоритми для 
забезпечення конфіденційності та цілісності інформації. 
4. Виявлення та витягування прихованої інформації: Мережева стеганографія 
також включає методи виявлення та витягування прихованої інформації з 
мережевого трафіку. Це можуть бути аналітичні методи, статистичні аналізи, 
використання спеціального програмного забезпечення та алгоритмів. 
5. Застосування: Мережева стеганографія використовується для різних цілей, 
включаючи обмеження доступу до інформації, контроль цифрових прав, захист від 
атак та втручання, шпигунство та розвідку, криптографічну безпеку тощо. 
Мережева стеганографія має великий потенціал у сфері кібербезпеки та 
захисту інформації. Вона може бути використана для створення невидимих каналів 
зв'язку, обмеження доступу до конфіденційної інформації та захисту від різних 
видів атак. Проте, при використанні мережевої стеганографії необхідно 
враховувати етичні, правові та безпекові аспекти, а також забезпечити стійкість та 
ефективність методів вбудовування та виявлення прихованої інформації. 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 17    
Зм  Арк №Докум. Підп Дат
а  
 
 
1.4 Історичний огляд розвитку криптографії 
Криптографія є стародавним мистецтвом захисту інформації шляхом 
шифрування та розшифрування. [2] У течінні тисячоліть люди використовували 
різні методи та алгоритми для збереження конфіденційності та цілісності своїх 
повідомлень. Ось детальніше про історичний огляд розвитку криптографії: 
1. Криптографія має багато витоків у давні часи. Одними з перших методів 
шифрування були заміни символів або символьних блоків. Наприклад, у 
Стародавньому Єгипті використовувались гліфи для захисту ієрогліфів, а у Спарті 
використовувалась шифровка скіфітів. Однак, в таких методах використання ключа 
не було. 
2. У Римській імперії Юлій Цезар використовував простий метод 
шифрування, який отримав його ім'я. Він зсував кожну літеру у повідомленні на 
певну кількість позицій у алфавіті. 
3. У 16 столітті італійський шифротекстинговий військовий інженер 
Джованні Батіста Дель Плейфер винайшов квадратну матрицю, в якій букви 
алфавіту розташовувались по рядках і стовпцях. Шифрування полягало у заміні 
кожної букви парою букв, що знаходяться на перетині рядка і стовпця, відповідно 
до правил. 
4. У 16 столітті французький дипломат Блато де Віженер розробив 
поліалфавітний шифр, в якому ключем був словник, який повторювався кожні N 
символів повідомлення. Шифрування відбувалося за допомогою посимвольних 
зсувів у межах кожного слова ключа. 
5. Криптографія завжди мала стратегічне значення для держав та армій. У 19 
столітті велику роль відігравало розширення залежності від залежності від різних 
шифрів, зокрема шифру Єні, який був використаний під час Першої світової війни. 
6. Поява комп'ютерів прискорила розвиток криптографії. У 20 столітті було 
винайдено нові алгоритми, такі як шифр DES (Data Encryption Standard) і RSA 
(Rivest-Shamir-Adleman). Зараз сучасна криптографія використовує сильні 
алгоритми, такі як AES (Advanced Encryption Standard) і ECC (Elliptic Curve 
Лист 
ЧДТУ.23.19001.001 ПЗ 18    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Cryptography), які забезпечують високу безпеку і стійкість. 
Розвиток криптографії постійно триває, із зростанням кількості цифрової 
інформації та потреби в захисті конфіденційності та цілісності даних. 
Криптографія використовується у багатьох сферах, включаючи комунікації, 
фінанси, кібербезпеку та захист персональних даних. 
 
1.5 Види шифрів 
Шифри - це алгоритми, які використовуються для шифрування та 
розшифрування інформації з метою забезпечення конфіденційності та захисту 
даних. Існує багато різних видів шифрів, які можна класифікувати за різними 
критеріями. Ось огляд деяких основних видів шифрів [7]: 
1. Симетричні шифри: В симетричних шифрах використовується один і той 
самий ключ для шифрування та розшифрування повідомлення. Це найпростіший 
тип шифру. Приклади включають шифр Цезаря, шифр DES, шифр AES і шифр 
Віженера. 
2. Асиметричні шифри: В асиметричних шифрах використовуються два 
різних ключі - публічний та приватний. Публічний ключ використовується для 
шифрування повідомлення, а приватний ключ - для його розшифрування. Це 
дозволяє безпечно обмінюватись ключами та забезпечує підписання повідомлень. 
Приклади асиметричних шифрів включають RSA, ECC і DSA. 
3. Потокові шифри: У потокових шифрах кожен символ або біт повідомлення 
шифрується окремо з використанням генератора псевдовипадкових чисел. Це 
дозволяє шифрувати та розшифровувати дані в реальному часі. Приклади 
потокових шифрів включають RC4 та Salsa20. 
4. Блочні шифри: Блочні шифри розбивають повідомлення на блоки 
фіксованої довжини та шифрують їх незалежно один від одного. Це забезпечує 
більшу безпеку та стійкість шифрування. Приклади блочних шифрів включають 
DES, AES і Blowfish. 
Лист 
ЧДТУ.23.19001.001 ПЗ 19    
Зм  Арк №Докум. Підп Дат
а  
 
 
5. Хеш-функції: Хеш-функції використовуються для створення хеш-кодів з 
повідомлень фіксованої довжини. Хеш-коди використовуються для перевірки 
цілісності даних та створення цифрових підписів. Приклади хеш-функцій 
включають MD5, SHA-1 і SHA-256. 
6. Квантові шифри: Квантові шифри використовують принципи квантової 
механіки для забезпечення безпеки передачі даних. Вони базуються на 
використанні квантових бітів (кубітів) для передачі інформації. Приклади 
квантових шифрів включають алгоритм BB84 та протоколи квантового ключа. 
 
1.5.1 DES 
DES (Data Encryption Standard) є симетричним блочним шифром, який був 
розроблений у 1970-х роках та використовувався як стандарт для шифрування 
даних. Ось детальний огляд DES [8]: 
1. Ключ шифрування: DES використовує ключ довжиною 56 біт. Однак, через 
зростання обчислювальних можливостей, 56-бітний ключ DES став вразливим до 
атак перебору. Тому використання DES для захисту конфіденційної інформації не 
рекомендується.  
2. Блочне шифрування: DES шифрує повідомлення блоками фіксованої 
довжини 64 біти. Якщо повідомлення не є кратним 64 бітам, воно може бути 
доповнене до відповідної довжини.  
3. Шифрувальний алгоритм: DES використовує ітеративний процес з 16 
раундами шифрування. Кожен раунд включає в себе зсуви, перестановки та 
підстановки бітів, що ускладнюють атаки на шифр. У кожному раунді 
використовується підключ, який генерується з основного ключа. 
4. Режими роботи: DES може працювати в різних режимах шифрування, 
таких як ECB (Electronic Codebook), CBC (Cipher Block Chaining), CFB (Cipher 
Feedback) та інші. Ці режими визначають, як DES обробляє повідомлення довші за 
один блок. 
Лист 
ЧДТУ.23.19001.001 ПЗ 20    
Зм  Арк №Докум. Підп Дат
а  
 
 
5. Криптостійкість: DES був використаний протягом багатьох років, але з 
часом став вразливим до атак. У 1990-х роках було показано, що DES може бути  
зламаний шляхом перебору всіх можливих ключів. Замість DES було розроблено 
його покращену версію, відому як Triple DES (3DES) з довжиною ключа 168 біт, 
яка забезпечує більшу безпеку. 
У зв'язку з виявленням вразливостей DES, він вважається застарілим та не 
рекомендується для нових систем шифрування. Натомість, рекомендується 
використовувати більш сильні шифри, такі як AES (Advanced Encryption Standard), 
який став новим стандартом шифрування. 
 
1.5.2 AES 
AES (Advanced Encryption Standard) є симетричним блочним шифром, який 
був прийнятий як стандарт шифрування у 2001 році. Ось детальний огляд AES [9]: 
1. Ключ шифрування: AES використовує ключ довжиною 128, 192 або 256 
біт, що надає значно більшу безпеку порівняно з DES. Вибір довжини ключа 
залежить від потреб конкретного застосування. 
2. Блочне шифрування: AES шифрує дані у блоках фіксованого розміру 128 
біт. Якщо повідомлення не є кратним 128 бітам, воно може бути доповнене до 
відповідної довжини. 
3. Шифрувальний алгоритм: AES використовує заміну байтів, зсуви рядків, 
комбіновані заміни та додаткові операції для забезпечення криптографічної 
стійкості. Алгоритм включає в себе 10, 12 або 14 раундів залежно від довжини 
ключа. 
4. Режими роботи: AES може працювати в різних режимах шифрування, 
таких як ECB (Electronic Codebook), CBC (Cipher Block Chaining), CTR (Counter) та 
інші. Кожен режим має свої особливості щодо обробки повідомлень та 
забезпечення конфіденційності та цілісності даних. 
5. Криптостійкість: AES вважається одним з найбільш стійких і надійних 
сучасних шифрів. Він пройшов широкий криптографічний аналіз та був прийнятий 
Лист 
ЧДТУ.23.19001.001 ПЗ 21    
Зм  Арк №Докум. Підп Дат
а  
 
 
як стандарт урядових організацій та промисловості. До сьогоднішнього дня не було 
виявлено жодних серйозних вразливостей, що підірвали б безпеку AES. 
6. AES широко застосовується в різних областях, включаючи захист 
інформації, електронну комерцію, мережеві протоколи, бездротові комунікації та 
багато інших. Його висока швидкодія та безпека роблять його привабливим для 
багатьох застосувань. 
AES став широко використовуваним стандартом шифрування, забезпечуючи 
надійний рівень безпеки для захисту конфіденційності та цілісності даних. Його 
ефективність та безпека роблять його привабливим вибором для різноманітних 
криптографічних застосувань. 
 
1.5.3 Калина 
Шифр Калина (Kalyna) є симетричним блочним шифром, який був 
розроблений українськими криптографами у 2015 році. Ось детальний огляд 
шифру Калина [10]: 
1. Ключ шифрування: Шифр Калина підтримує ключі довжиною 128, 256 або 
512 біт. Вибір довжини ключа залежить від рівня безпеки, який ви хочете досягти. 
2. Блочне шифрування: Шифр Калина працює з блоками довжиною 128 біт. 
Якщо повідомлення не є кратним 128 бітам, воно може бути доповнене до 
відповідної довжини. 
3. Шифрувальний алгоритм: Шифр Калина використовує комбінацію 
лінійних перетворень, нелінійних S-блоків, зсувів і бітових операцій, щоб 
забезпечити криптографічну стійкість. Алгоритм має раундову структуру, а 
кількість раундів залежить від довжини ключа. 
4. Розмір блоку та ключа: Шифр Калина може працювати з різними 
розмірами блоку та ключа. Наприклад, для розміру блоку 128 біт і ключа 256 біт 
використовується 10 раундів, а для розміру блоку 256 біт і ключа 512 біт - 14 
раундів. 
Лист 
ЧДТУ.23.19001.001 ПЗ 22    
Зм  Арк №Докум. Підп Дат
а  
 
 
5. Використання: Шифр Калина може бути використаний для захисту 
конфіденційності та цілісності даних в різних сферах, включаючи телекомунікації, 
електронну комерцію, зберігання даних та багато інших. 
6. Безпека: Шифр Калина був підданий широкому криптоаналізу, і його 
безпека була оцінена на високому рівні. Він відповідає сучасним вимогам безпеки 
і рекомендується для використання в криптографічних застосуваннях. 
Шифр Калина є важливим внеском української криптографії і представляє 
сучасний і надійний інструмент для захисту даних. Його безпека, ефективність та 
гнучкість роблять його цікавим вибором для широкого спектра криптографічних 
задач. 
 
1.5.4 BlowFish 
Шифр Blowfish є симетричним блочним шифром з відкритим кодом, який був 
розроблений Брюсом Шнайером у 1993 році. Ось детальний огляд шифру Blowfish 
[11]: 
1. Блочне шифрування: Шифр Blowfish працює з блоками довжиною 64 біти. 
Якщо повідомлення не є кратним 64 бітам, воно може бути доповнене до 
відповідної довжини. 
2. Ключ шифрування: Шифр Blowfish підтримує ключі довжиною від 32 до 
448 біт. Вибір довжини ключа залежить від рівня безпеки, який ви хочете досягти. 
Шифр використовує ітераційний процес, який розширює короткий ключ до 
внутрішнього ключа, який використовується для шифрування. 
3. Раундова структура: Шифр Blowfish має фіксовану кількість раундів, яка 
складається з 16 ітераційних раундів. Кожен раунд включає в себе підстановки і 
зсуви, що виконуються над блоком даних. 
4. Функція F: Основним будівельним блоком шифру Blowfish є функція F, яка 
використовує підстановки та операції XOR для комбінації даних. Функція F є 
необоротною, що робить шифр Blowfish стійким до криптоаналітичних атак. 
Лист 
ЧДТУ.23.19001.001 ПЗ 23    
Зм  Арк №Докум. Підп Дат
а  
 
 
5. Швидкодія: Шифр Blowfish відомий своєю високою швидкодією на різних 
платформах. Це робить його ефективним для використання в різних застосуваннях, 
де швидкість шифрування є важливою. 
6. Використання: Шифр Blowfish може бути використаний для захисту 
конфіденційності даних в різних сферах, включаючи електронну комерцію, 
зберігання даних і комунікацію. Він також використовується в багатьох протоколах 
і системах шифрування. 
7. Безпека: Шифр Blowfish вважається безпечним і має витримку до 
криптоаналітичних атак. Однак, у зв'язку з поява більш сучасних шифрів, таких як 
AES, які мають доведену безпеку і набагато більшу швидкодію, використання 
Blowfish стає менш поширеним. 
Шифр Blowfish є цікавим вибором для вивчення і розуміння симетричного 
блочного шифрування. Його відкритий код дозволяє дослідникам досліджувати 
його алгоритми та аналізувати його безпеку. 
Отже, у цьому розділі було розглянуто теоретичні аспекти стеганографії та 
криптографії, а також розглянуто різні види стеганографії, зокрема стеганографію 
зображень, аудіо, відео, тексту та мережеву стеганографію. Також були оглянуті 
різні види шифрів, зокрема DES, AES, Калина та BlowFish. 
У результаті дослідження стало очевидним, що стеганографія є потужним 
інструментом для приховування інформації з обмеженим доступом. Вона надає 
можливість приховувати повідомлення в різних типах носіїв, що дозволяє 
ефективно забезпечувати конфіденційність та безпеку даних. Криптографія, 
зокрема використання різних шифрів, виконує важливу роль у забезпеченні 
безпеки при передачі та зберіганні прихованої інформації. 
Аналіз історичного розвитку стеганографії та криптографії дозволяє нам 
краще розуміти еволюцію цих областей і використовувати набуті знання для 
розробки нових та вдосконалення існуючих методів стеганографічного захисту. 
Дослідження різних видів стеганографії дозволяє зрозуміти їх особливості, 
переваги та використовувати їх у відповідних сценаріях. 
Лист 
ЧДТУ.23.19001.001 ПЗ 24    
Зм  Арк №Докум. Підп Дат
а  
 
 
Однак, варто відмітити, що ефективність та безпека стеганографічних систем 
залежить від вибору правильних методів, алгоритмів та розробки відповідних 
заходів безпеки. Необхідно ретельно оцінювати критерії ефективності, безпеки та 
стійкості стеганографічних систем для їх успішного застосування. 
Завершуючи розділ, можна визначити, що стеганографія та криптографія є 
важливими складовими для захисту інформації з обмеженим доступом. Розуміння 
їх теоретичних аспектів, історичного контексту та різних методів дозволяє 
розробляти ефективні та безпечні стеганографічні системи. 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 25    
Зм  Арк №Докум. Підп Дат
а  
 
 
2. ДЕТАЛЬНИЙ РОЗГЛЯД АЛГОРИТМУ СТЕГАНОГРАФІЇ LSB (LEAST 
SIGNIFICANT BIT), АЛГОРИТМ ШИФРУВАННЯ AES 
 
2.1 Детальний опис алгоритмів вбудовування та вилучення інформації за 
допомогою LSB 
Метод LSB стеганографії є одним з найпростіших і широко 
використовуваних методів для приховування інформації в цифрових носіях, таких 
як зображення, аудіо або текстові файли. Цей метод базується на використанні 
найменш значущих бітів пікселів (у випадку зображень) або аудіосемплів (у 
випадку аудіо) для збереження прихованої інформації, що робить зміни майже 
невидимими для людського спостереження. 
Метод LSB (Least Significant Bit) в стеганографії зображень використовує 
найменш значущі біти пікселів для приховування інформації. Існують різні варіації 
методу LSB, які відрізняються способом вбудовування та вилучення інформації 
зображення. Давайте розглянемо детальніше кожен з цих різновидів [3]: 
1. LSB Plane Coding - цей підхід передбачає вбудовування інформації не 
в кожний найменш значущий біт пікселів, а в конкретну площину бітів у кожному 
пікселі. Наприклад, інформація може бути вбудована лише у біти першої площини 
(найменш значущих) або у кілька площин одночасно. Цей підхід дозволяє 
забезпечити більшу ємність для вбудовування інформації. 
2. Randomized LSB - у цьому варіанті методу LSB вбудовування 
інформації відбувається за допомогою випадкового вибору пікселів зображення. 
Вміст повідомлення розташовується у найменш значущих бітах обраних пікселів 
випадковим чином. Це дозволяє покращити стійкість стеганографічного захисту, 
оскільки розташування інформації стає менш прогнозованим. 
3. Adaptive LSB - цей тип LSB варіює кількість вбудовуваних бітів в 
залежності від особливостей зображення та вимог до стійкості і візуальної якості. 
Наприклад, в областях з великою кількістю деталей можуть бути вбудовані більше 
бітів, тоді як в областях з малою кількістю деталей - менше. Це дозволяє краще 
Лист 
ЧДТУ.23.19001.001 ПЗ 26    
Зм  Арк №Докум. Підп Дат
а  
 
 
зберегти візуальну якість зображення та забезпечити оптимальну ємність для 
вбудовування інформації. 
4. Multiple LSB - у цьому випадку вбудовування інформації відбувається 
не тільки в найменш значущі біти, але і в більш значущі. Такий підхід дозволяє 
збільшити ємність для вбудовування, але може призвести до помітніших змін у 
зображенні. 
5. LSB Matching - цей метод полягає в збереженні парності значень 
пікселів при вбудовуванні інформації. Вміст повідомлення вбудовується в 
найменш значущі біти, але з таким умовою, щоб нове значення пікселя зберігало 
парність значення попереднього пікселя. Це допомагає зменшити помітність змін 
у зображенні. 
6. LSB Substitution - цей підхід включає заміну найменш значущих бітів 
пікселів на нові значення, які представляють вбудовану інформацію. Замість зміни 
одного біта на один, використовуються таблиці або матриці для заміни бітів на 
визначені значення. Це може покращити стійкість до атак, які використовують 
аналіз статистики найменш значущих бітів. 
7. Optimal LSB - цей метод використовує оптимальний підбір пікселів для 
вбудовування інформації з метою максимізації стійкості та мінімізації помітності 
змін у зображенні. Вибір пікселів залежить від їх значення та контексту 
навколишніх пікселів. 
8. LSB Replacement - цей метод використовується для заміни значень 
найменш значущих бітів у пікселях на біти інформації. Значення замінюються 
прямо, без урахування додаткових умов або алгоритмічних модифікацій. 
9. LSB Matching Revisited (LSBMR) - цей метод є вдосконаленою версією 
LSB Matching, де додатково використовуються фільтри для забезпечення вищої 
стійкості та зменшення помітності змін. Наприклад, використовується фільтр 
першого порядку, який сприяє збереженню взаємозв'язку між сусідніми пікселями 
і додає стійкість до стеганалізу. 
10. Adaptive LSB - метод використовує адаптивні підходи до вбудовування 
Лист 
ЧДТУ.23.19001.001 ПЗ 27    
Зм  Арк №Докум. Підп Дат
а  
 
 
 інформації в залежності від характеристик зображення або областей зображення. 
Він аналізує структуру та властивості зображення для вибору оптимального місця 
для вбудовування інформації з метою максимізації стійкості та помітності змін. 
11. FilterFirst - цей підхід включає застосування фільтрації до зображення 
перед вбудовуванням інформації. Фільтри можуть змінювати значення пікселів або 
їх структуру, що робить виявлення змін важкішим. Це допомагає покращити 
стійкість стеганографічної системи до атак на основі статистичного аналізу. 
Вбудовування інформації за допомогою методу LSB включає наступні кроки: 
1. Обирається цифровий носій, такий як зображення або аудіофайл, у який 
буде вбудовуватись прихована інформація. 
В нашому випадку роль контейнера буде відігравати будь-яке зображення 
форматів BMP, PNG, GIF, JPG. 
2. Визначається, які саме найменш значущі біти пікселів або аудіосемплів 
будуть використовуватись для вбудовування інформації. Зазвичай 
використовуються один або декілька найменш значущих бітів для мінімізації 
помітності змін у носії. 
3. Перед вбудовуванням, прихована інформація перетворюється на бітову 
послідовність, яка буде використовуватись для заміни LSB пікселів або 
аудіосемплів. Зазвичай використовується кодування тексту або інших форматів 
даних. 
4. Здійснюється заміна найменш значущих бітів пікселів або аудіосемплів на 
біти прихованої інформації. Це може бути реалізовано шляхом зміни значення LSB 
пікселя або використання інших методів, таких як розбиття інтервалу значень на 
підінтервали та заміна значень LSB відповідно до інформаційних бітів. 
5. Після вбудовування інформації, модифікований носій зберігається для 
подальшого використання або передачі. 
Вилучення прихованої інформації з носія здійснюється наступним чином: 
1. Обирається цифровий носій, з якого потрібно вилучити приховану 
інформацію. 
Лист 
ЧДТУ.23.19001.001 ПЗ 28    
Зм  Арк №Докум. Підп Дат
а  
 
 
2. Визначається, які саме найменш значущі біти пікселів будуть 
використовуватись для вилучення прихованої інформації. Це повинні бути ті самі 
біти, які використовувались при вбудовуванні інформації. 
3. Здійснюється вилучення прихованої інформації шляхом отримання LSB 
пікселів або аудіосемплів. 
4. Вилучена бітова послідовність перетворюється на початковий формат 
інформації, такий як текстовий документ або інший формат даних. 
 
2.1.2 Переваги та недоліки методу LSB стеганографії 
Переваги методу LSB стеганографії включають: 
- Простота реалізації:  
Метод LSB є відносно простим для реалізації і розуміння. Не потрібно 
використовувати складні математичні операції або алгоритми. 
- Широке застосування: 
 Метод LSB можна використовувати для приховування інформації в різних 
типах цифрових носіїв, таких як зображення, аудіофайли, текстові файли тощо. 
- Непомітність змін:  
Вбудована інформація за допомогою методу LSB майже непомітна для 
людського спостереження, оскільки зміни відбуваються лише в найменш значущих 
бітах. 
Недоліки методу LSB стеганографії включають: 
- Вразливість до атак:  
Метод LSB може бути вразливим до атак, таких як стеганаліз або 
статистичний аналіз, якщо не використовуються додаткові захистні механізми. 
- Обмежена ємність:  
Метод LSB має обмежену ємність для вбудовування інформації. Кількість 
доступних LSB для використання обмежена розміром носія, що обмежує обсяг 
прихованої інформації. 
- Вплив на якість носія:  
Лист 
ЧДТУ.23.19001.001 ПЗ 29    
Зм  Арк №Докум. Підп Дат
а  
 
 
Вбудовування інформації за допомогою методу LSB може призводити до 
певного впливу на якість носія, особливо якщо використовуються значущі біти. 
 
2.2 Детальний розгляд алгоритму AES (Advanced Encryption Standard) 
Алгоритм Advanced Encryption Standard (AES) є одним з найбільш 
популярних і надійних симетричних блочних шифрів, який використовується для 
забезпечення конфіденційності даних ще з 2001 році як стандарт заміни шифру 
DES, і він став широко використовуваним у різних сферах, включаючи комунікації, 
зберігання даних та інформаційну безпеку. 
AES базується на криптографічній структурі, відомій як заміна-перестановка 
мережа (Substitution-Permutation Network, SPN). Основні компоненти AES 
включають заміни (SubBytes), перестановки (ShiftRows), змішування (MixColumns) 
і додавання ключа (AddRoundKey). Ці компоненти виконуються через кілька 
раундів, в залежності від довжини ключа.[9] 
Алгоритм AES працює з блоками даних фіксованого розміру, які складаються 
з байтів. Розмір блоку в AES становить 128 біт або 16 байт. Ключ AES також може 
мати різну довжину, включаючи 128 біт, 192 біти або 256 біт. 
Процес шифрування в AES включає кілька раундів, де кожен раунд включає 
в себе зазначені вище компоненти. У кожному раунді використовується 
індивідуальний підключ, який генерується з основного ключа шифрування. 
Основні етапи алгоритму AES [12]: 
1. Ключове розширення (Key Expansion) - ключ шифрування 
розширюється для генерації підключів для кожного раунду шифрування (рис 2.1). 
Це включає в себе створення розкладу ключа та генерацію раундових підключів. 
Лист 
ЧДТУ.23.19001.001 ПЗ 30    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Рисунок 2.1 – AES Key Expansion 
2. Початкова адітивна перестановка (Initial Additive Permutation) - вхідні 
дані розбиваються на блоки та застосовується операція побітового додавання з 
ключовим підключем. 
3. Раунди заміщення та перестановки (Substitution-Permutation Rounds) - 
процес шифрування включає кілька раундів, в кожному з яких застосовуються 
операції заміщення та перестановки байтів. У цих раундах застосовуються S-блоки 
(Substitution Boxes), які заміняють значення байтів з використанням заздалегідь 
визначених таблиць. 
4. Фінальний раунд (Final Round) - останній раунд шифрування включає 
операції заміщення байтів, перестановки байтів та додавання підключа. 
Після завершення раундів шифрування отримується зашифрований текст, 
який може бути переданий по каналу зв'язку або збережений у безпечному місці.  
Кожний раунд складається з чотирьох основних операцій: 
Лист 
ЧДТУ.23.19001.001 ПЗ 31    
Зм  Арк №Докум. Підп Дат
а  
 
 
1. SubBytes: кожний байт блоку даних замінюється відповідним байтом з 
S-блоку (рис 2.2) (substitution box), який був розрахований заздалегідь на основі 
властивостей теорії чисел. 
 
Рисунок 2.2 - SubBytes 
2. ShiftRows: ця операція полягає в циклічному зсуві рядків блоку даних. 
Перший рядок залишається незмінним, другий зсувається на один елемент вліво, 
третій - на два, і четвертий - на три (рис. 2.3). 
 
Рисунок 2.3 - ShiftRows 
3. MixColumns: ця операція виконує лінійне перетворення кожного 
стовпця блоку даних, що гарантує високий рівень дифузії бітів усередині блоку 
(рис. 2.4). 
Лист 
ЧДТУ.23.19001.001 ПЗ 32    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Рисунок 2.4 - MixColumns 
4. AddRoundKey: на останньому етапі кожного раунду блок даних 
XOR'ується з раундовим ключем (рис. 2.5). Раундові ключі генеруються з 
початкового ключа шифрування за допомогою спеціальної процедури. 
 
Рисунок 2.5. - AddRoundKey 
Всі ці операції, за винятком AddRoundKey, не є секретними і можуть бути 
відомими атакуючому. Секретність забезпечується через використання ключа 
шифрування в процесі AddRoundKey. 
Для дешифрування зашифрованого тексту виконується обернений процес, 
включаючи використання обернених підключів та обернених S-блоків. 
Лист 
ЧДТУ.23.19001.001 ПЗ 33    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Особливості AES включають його високу безпеку, стійкість до криптоаналізу 
і високу швидкодію. Він є одним з найбільш розповсюджених алгоритмів 
шифрування і застосовується в багатьох сферах, включаючи комунікації по мережі, 
зберігання даних і захист інформації. 
Основні режими роботи AES: 
ECB (Electronic Codebook) - це найпростіший режим роботи шифру AES. У 
цьому режимі кожний блок даних розміру, що відповідає розміру шифрувального 
блоку AES (128 біт), шифрується незалежно один від одного з використанням 
одного і того ж ключа шифрування. 
Процес шифрування ECB включає наступні кроки: 
Вхідні дані розбиваються на блоки розміром 128 біт (або відповідно до вимог 
шифру AES). 
Кожний блок даних шифрується окремо з використанням одного і того ж 
ключа шифрування. 
Отримані шифровані блоки даних складаються в кінцевий шифротекст. 
Однак режим ECB має деякі важливі обмеження і проблеми: 
Відсутність конфіденційності для однакових блоків даних: Так як кожен блок 
даних шифрується окремо з використанням того ж ключа, однакові блоки даних у 
вхідних даних будуть мати однаковий шифрований вигляд. Це означає, що 
атакуючий може виявити патерни у шифрованому тексті, що може мати негативний 
вплив на конфіденційність даних. 
Вразливість до вставок і видалення: Якщо вхідні дані не діляться на блоки 
розміром 128 біт, то потрібно виконати доповнення даних до необхідного розміру. 
При вставці або видаленні блоків даних змінюється лише вплив на конкретний 
блок, що призводить до втрати синхронізації та спотворення всього шифротексту 
після змін. 
Недостатня безпека: ECB не забезпечує достатньої безпеки в деяких 
сценаріях. Наприклад, якщо шифруванням є зображення або інші дані з великою 
Лист 
ЧДТУ.23.19001.001 ПЗ 34    
Зм  Арк №Докум. Підп Дат
а  
 
 
кількістю структурованої інформації, атакуючий може легко виявити патерни у 
шифрованому тексті, зокрема великі зони однакових або подібних пікселів. 
Враховуючи ці обмеження, режим ECB не рекомендується для більшості 
сценаріїв шифрування. Його використання може бути прийнятним лише у деяких 
обмежених випадках, коли дані випадкові і незалежні, або якщо є додаткові 
механізми захисту, такі як додаткові перетворення або аутентифікація даних.  
CBC (Cipher Block Chaining) - це режим роботи шифру AES, в якому кожний 
блок даних після шифрування комбінується з попереднім шифрованим блоком 
перед подальшим шифруванням. Цей режим забезпечує додатковий рівень 
конфіденційності та внутрішнього зв'язку між блоками. 
Процес шифрування CBC включає наступні кроки: 
1. Вхідні дані діляться на рівні блоки розміром по 128 біт (або відповідно до 
вимог шифру AES). 
2. Перший блок даних комбінується з вектором ініціалізації (IV) за 
допомогою побітового додавання або іншої операції комбінації. Результат цієї 
операції стає вхідним блоком для шифрування. 
3. Отриманий блок даних шифрується з використанням ключа шифрування. 
4. Зашифрований блок стає вхідним для наступного блоку даних. 
5. Кроки 2-4 повторюються для кожного блоку даних послідовно. 
Дешифрування CBC включає протилежні кроки: 
1. Зашифрований шифротекст розбивається на блоки розміром 128 біт. 
2. Перший зашифрований блок комбінується з IV за допомогою операції 
комбінації. 
3. Отриманий блок дешифрується з використанням ключа дешифрування. 
4. Результат дешифрування комбінується з наступним зашифрованим блоком 
для дешифрування наступного блоку. 
5. Кроки 2-4 повторюються для кожного блоку шифротексту послідовно. 
Важливою характеристикою режиму CBC є використання вектора 
ініціалізації (IV), який гарантує унікальність початкового блоку. Це дозволяє  
Лист 
ЧДТУ.23.19001.001 ПЗ 35    
Зм  Арк №Докум. Підп Дат
а  
 
 
досягнути внутрішнього зв'язку між блоками і ускладнює атаки на шифр. IV 
повинен бути випадковим і відрізнятися для кожного шифрування. При 
дешифруванні потрібно мати доступ до правильного IV, щоб відновити початкові 
дані. 
Режим CBC є більш безпечним в порівнянні з ECB, оскільки він запобігає 
розкриттю патернів у вхідних даних і забезпечує внутрішній зв'язок між блоками. 
Однак, використання невірного IV або некоректна реалізація CBC можуть 
призвести до атак, таких як атака "Padding Oracle". Тому важливо використовувати 
правильні методи генерації та управління IV для досягнення безпеки і надійності 
шифрування CBC. 
CFB (Cipher Feedback) - це режим роботи шифру AES, в якому блоки даних 
шифруються один за одним і використовуються для генерації шифротексту. Згодом 
шифротекст використовується для зміни наступного блоку. Режим CFB може 
працювати з будь-яким розміром блоків даних і є самосинхронізуючим. 
Процес шифрування в режимі CFB включає наступні кроки: 
1. Початковий вектор (Initialization Vector, IV) розміром, рівним розміру 
блоку шифру, використовується для початку шифрування. 
2. Перший блок даних зсувається на виході шифратора і комбінується з IV за 
допомогою операції побітового додавання (XOR). 
3. Отриманий результат шифрується з використанням ключа шифрування. 
4. Зашифрований блок стає вхідним для наступного блоку даних. 
5. Кроки 2-4 повторюються для кожного блоку даних послідовно. 
Під час дешифрування процес протилежний: 
1. Початковий вектор (IV) використовується для початку дешифрування. 
2. Зашифрований блок даних зсувається на виході шифратора. 
3. Зашифрований блок дешифрується з використанням ключа дешифрування. 
4. Отриманий результат комбінується з початковим вектором (IV) за 
допомогою операції XOR. 
5. Отриманий блок дешифрованих даних стає вхідним для наступного блоку. 
Лист 
ЧДТУ.23.19001.001 ПЗ 36    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
6. Кроки 2-5 повторюються для кожного блоку шифротексту послідовно. 
Режим CFB є самосинхронізуючим, оскільки не вимагає використання 
додаткових синхронізуючих бітів або позицій для режиму. Він також забезпечує 
можливість шифрувати дані в режимі реального часу, оскільки не потребує доступу 
до всього набору даних перед початком шифрування. 
Однак, варто відзначити, що режим CFB не забезпечує цілісності даних, 
тобто він не виявляє незаконні зміни або помилки в переданих даних. Тому для 
забезпечення цілісності можуть бути використані додаткові механізми, такі як коди 
перевірки цілісності (CRC) або хеш-функції.. 
OFB (Output Feedback) - це режим роботи шифру AES, в якому генерується 
послідовність ключів, які використовуються для шифрування блоків даних. Згодом 
шифрований блок використовується для генерації наступного ключа. Режим OFB 
також є самосинхронізуючим і може працювати з блоками будь-якого розміру. 
Процес шифрування в режимі OFB включає наступні кроки: 
1. Початковий вектор (Initialization Vector, IV) розміром, рівним розміру 
блоку шифру, використовується для початку шифрування. 
2. Перший блок ключа генерується шифратором з використанням 
початкового вектора (IV). 
3. Отриманий блок ключа комбінується з першим блоком даних за 
допомогою операції побітового додавання (XOR). 
4. Результат шифрується з використанням ключа шифрування. 
5. Зашифрований блок стає вхідним для наступного блоку даних. 
6. Кроки 2-5 повторюються для кожного блоку даних послідовно. 
Під час дешифрування процес протилежний: 
1. Початковий вектор (IV) використовується для початку дешифрування. 
2. Перший блок ключа генерується шифратором з використанням 
початкового вектора (IV). 
3. Зашифрований блок дешифрується з використанням ключа дешифрування. 
Лист 
ЧДТУ.23.19001.001 ПЗ 37    
Зм  Арк №Докум. Підп Дат
а  
 
 
4. Отриманий блок ключа комбінується з зашифрованим блоком даних за  
 
допомогою операції XOR. 
5. Отриманий блок дешифрованих даних стає вхідним для наступного блоку 
даних. 
6. Кроки 2-5 повторюються для кожного блоку шифротексту послідовно. 
Одна з особливостей режиму OFB полягає в тому, що він може працювати з 
будь-яким розміром блоків даних, що робить його більш гнучким. Крім того, режим 
OFB є самосинхронізуючим, оскільки він не залежить від попередніх або 
наступних блоків даних для шифрування або дешифрування. Це означає, що 
помилка або втрата даних в одному блоку не впливає на решту блоків. 
Проте, варто враховувати, що режим OFB не забезпечує автентифікацію і 
цілісність даних. Для забезпечення цих аспектів можуть бути застосовані додаткові 
механізми, такі як HMAC (Hash-based Message Authentication Code) або алгоритми 
цифрового підпису.. 
CTR (Counter) - це режим роботи блочного шифру (наприклад, AES), який 
перетворює блочний шифр в потоковий шифр. Він працює шляхом шифрування 
зростаючого лічильника, який потім поєднується з блоком даних для створення 
шифротексту. Основною перевагою режиму CTR є те, що він може шифрувати 
блоки даних незалежно один від одного, що дозволяє паралельне шифрування і 
дешифрування. 
Робота режиму CTR може бути представлена в наступних кроках: 
1. Вибір початкового значення лічильника (Initialization Vector, IV). IV має 
бути унікальним для кожного повідомлення, але не обов'язково секретним. 
2. Лічильник збільшується на одиницю для кожного нового блоку даних. Це 
забезпечує, що кожен блок даних буде шифруватися з різним ключем. 
3. Лічильник комбінується з ключем шифрування і відправляється через 
алгоритм шифрування, щоб отримати ключовий потік. 
Лист 
ЧДТУ.23.19001.001 ПЗ 38    
Зм  Арк №Докум. Підп Дат
а  
 
 
4. Ключовий потік застосовується до блоку даних за допомогою операції 
XOR (побітового додавання), щоб отримати шифротекст. 
5. Ці кроки повторюються для кожного блоку даних. 
Цей процес можна перевернути для дешифрування шифротексту, 
застосовуючи ті самі значення лічильника і ключа шифрування до шифротексту, 
щоб відновити вихідний текст. 
Хоча режим CTR дозволяє паралельне шифрування і дешифрування, він не 
захищає від повторення або модифікації повідомлень. Тому, його часто 
використовують в поєднанні з алгоритмами хешування повідомлень (наприклад, 
HMAC) для забезпечення цілісності даних.[9] 
 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 39    
Зм  Арк №Докум. Підп Дат
а  
 
 
3. ПРОГРАМНА РЕАЛІЗАЦІЯ МЕХАНІЗМУ СТЕГАНОГРАФІЧНОГО 
ЗАХИСТУ ІНФОРМАЦІЇ З ОБМЕЖЕНИМ ДОСТУПОМ 
3.1 Опис програмного середовища 
В цьому розділі описано програмну реалізацію механізму стеганографічного 
захисту інформації з обмеженим доступом. Розпочнемо опис з вибору програмного 
середовища.  
Для програмної реалізації серед відомих і досить поширених мов 
програмування було обрано високорівневу мову програмування Python. 
Python - це високорівнева, інтерпретована мова програмування, яка була 
створена Гвідо ван Россумом і вперше випущена в 1991 році. Python відомий своїм 
чистим синтаксисом та зосередженістю на читабельності коду, що робить його 
досить зручним і достатньо простим.[13] 
Нижче наведено ключові особливості цієї мови, а саме: 
Читабельність. Python використовує відступи для визначення блоків коду 
замість фігурних дужок, як це робить більшість інших мов. Це робить код більш 
читабельним та чистим. 
Динамічна типізація. Python є динамічно типізованою мовою, що означає, що 
типи даних визначаються динамічно під час виконання, а не під час компіляції. 
Багатопарадигмальність. Python підтримує кілька парадигм програмування, 
включаючи процедурне, об'єктно-орієнтоване та функціональне програмування. 
Стандартна бібліотека. Python має багатий набір стандартних бібліотек, які 
надають функціональність для різних задач, включаючи веб-скрапінг, роботу з 
файлами, роботу з датами та часом, математичні операції та багато іншого. 
Спільнота. Python має одну з найбільших спільнот програмістів, що означає, 
що ви зможете знайти велику кількість ресурсів для навчання та вирішення 
проблем. 
Використання. Python широко використовується в науці про дані, 
машинному навчанні, веб-розробці, автоматизації та багатьох інших областях. 
Інтеграція. Python може легко іннтегруватися з іншими мовами  
Лист 
ЧДТУ.23.19001.001 ПЗ 40    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
програмування, такими як C, C++, Java та багатьма іншими. 
Портативність. Python є кросплатформенною мовою, що означає, що ви 
можете запустити програми Python на будь-якій операційній системі без будь-яких 
змін. 
Інтерпретована мова. Python є інтерпретованою мовою, що означає, що код 
виконується рядок за рядком, що спрощує налагодження та робить Python 
ідеальним для прототипування. 
Бібліотеки та фреймворки. Python має велику кількість бібліотек та 
фреймворків для різних задач, включаючи науку про дані (numpy, pandas, 
matplotlib), машинне навчання (scikit-learn, TensorFlow, PyTorch), веб-розробку 
(Django, Flask) та багато іншого. 
Підтримка тестування. Python має вбудовану підтримку модульного 
тестування, що сприяє гарним практикам розробки та створенню надійного коду. 
Використання в наукових дослідженнях. Python є однією з основних мов в 
наукових дослідженнях та аналізі даних завдяки своїм бібліотекам для обробки 
даних, статистики та машинного навчання. 
Всі ці особливості роблять Python потужним інструментом для розробки 
програмного забезпечення в широкому спектрі областей та чудово підходить для 
використання при реалізації нашого проекту. 
Як згадувалось раніше Python має велику кількість бібліотек на всі випадки 
життя. В нашому проекті для полегшення роботи було використано такі бібілотеки 
як:  
• Telebot: Ця бібліотека використовується для створення ботів для 
месенджера Telegram.[15] Вона надає простий інтерфейс для взаємодії з Telegram 
Bot API, дозволяючи розробникам легко створювати ботів, які можуть отримувати 
та відправляти повідомлення, обробляти команди та інше. 
• PIL (Python Imaging Library): PIL - це бібліотека для обробки зображень 
в Python. [16] Вона надає можливості для роботи з зображеннями, включаючи 
Лист 
ЧДТУ.23.19001.001 ПЗ 41    
Зм  Арк №Докум. Підп Дат
а  
 
 
зчитування, запис, обробку та відображення зображень. В даному проекті вона 
використовується для роботи з зображеннями, в які вбудовуються зашифровані 
повідомлення. 
• Random: Ця бібліотека використовується для генерації випадкових 
чисел. В даному проекті вона використовується для генерації випадкових індексів 
пікселів, в які вбудовуються біти повідомлення. 
• Cryptodone.Cipher.AES: Ця бібліотека використовується для 
шифрування та дешифрування повідомлень за допомогою алгоритму AES 
(Advanced Encryption Standard). 
• Cryptodone.Random: Ця бібліотека використовується для генерації 
криптографічно безпечних випадкових байтів, які використовуються як ключі для 
шифрування. 
• Cryptodone.Util.Padding: Ця бібліотека використовується для 
додавання та видалення доповнення до повідомлень перед шифруванням та після 
дешифрування.[14] 
• Hashlib: Ця бібліотека використовується для генерації хешів різних 
повідомлень. В даному проекті вона використовується для генерації хешу ключа 
шифрування. 
• IO: Ця бібліотека використовується для роботи з вхідними та 
вихідними потоками даних. Вона надає можливості для читання та запису даних у 
різні формати, включаючи бінарні та текстові формати. В даному проекті вона 
використовується для читання та запису файлів зображень та шифрованих 
повідомлень. 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 42    
Зм  Арк №Докум. Підп Дат
а  
 
 
3.2 Програмна реалізація 
Написання коду розпочато з імпорту вище вказаних бібліотек для 
полегшення його написання. Після імпорту бібліотек та ініціалізації токена бота 
написано функції, які виконують основні алгоритми в роботі бота, а саме:  
 
Рисунок 3.1 – Функція text_to_bits() 
 
Функція text_to_bits() (рис. 3.1) конвертує текст в бінарний формат. Процес 
виконується наступним чином: 
1. За допомогою вбудованої функції ord(c) для кожного символу c в тексті 
ви отримуєте числове представлення символу в таблиці Unicode. 
2. format(ord(c), '08b') конвертує це числове представлення в бінарний 
формат. 08b означає, що бінарне число має мати довжину 8 бітів, і якщо воно 
коротше, то заповнюється нулями зліва. 
3. ''.join(...) об'єднує всі отримані бінарні рядки в один рядок без пробілів. 
Таким чином, ви отримуєте бінарний відповідник вхідного тексту. 
Наприклад, текст "Hi" буде конвертовано в "0100100001101001". 
 
Рисунок 3.2 – Функція bits_to_text() 
 
Функція bits_to_text() (рис. 3.2) перетворює бінарний рядок назад в текст. 
Вона виконує такі кроки: 
1. Спочатку, вона ділить вхідний бінарний рядок на блоки по 8 бітів. Це 
виконується за допомогою зрізів у Python: bits[i:i+8] для i в діапазоні від 0 до 
довжини рядка з кроком 8. 
2. Кожний 8-бітний блок тоді перетворюється в десяткове представлення за 
допомогою int(bits[i:i+8], 2). Другий аргумент 2 вказує, що вхідний рядок є 
двійковим числом. 
Лист 
ЧДТУ.23.19001.001 ПЗ 43    
Зм  Арк №Докум. Підп Дат
а  
 
 
3. Функція chr(...) перетворює це десяткове число назад у відповідний 
символ Unicode. 
4. Функція join(...) об'єднує всі ці символи разом в один рядок. 
 
Таким чином, ви отримуєте текст з бінарного рядка. Наприклад, бінарний 
рядок "0100100001101001" буде конвертовано назад у "Hi". 
 
Рис. 3.3 – Функція key_to_seed() 
 
Функція key_to_seed() (рис. 3.3) приймає на вхід ключ у форматі байтів, 
хешує його за допомогою алгоритму SHA256 і перетворює хеш у довге ціле число, 
яке потім може бути використане як зерно для генератора псевдовипадкових чисел. 
Ось як це працює детальніше: 
1. Функція hashlib.sha256(key) створює новий об'єкт хешу з даними ключа. 
SHA256 - це алгоритм хешування, який виводить хеш довжиною 256 бітів. 
2. Метод hexdigest() перетворює бінарний хеш у шістнадцяткове 
представлення. Це робить хеш більш читабельним для людей і дозволяє легко 
зберігати його у вигляді рядка. 
3. Нарешті, функція int(..., 16) перетворює цей шістнадцятковий рядок назад 
в ціле число. Це число використовується як зерно для генератора псевдовипадкових 
чисел, а також як ключ 256 біт для шифрування AES. 
Зазначимо, що використання SHA256 гарантує, що навіть маленькі зміни 
вхідного ключа приведуть до значної зміни вихідного хешу, що допомагає 
забезпечити гарну "розсіюваність" зерен для генератора псевдовипадкових чисел. 
Лист 
ЧДТУ.23.19001.001 ПЗ 44    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Рисунок 3.4 – Функція embed_message() 
 
Функція embed_message() (рис. 3.4) вбудовує біти повідомлення в 
зображення, використовуючи метод стеганографії LSB (Least Significant Bit). 
1. width, height = image.size: Отримання розмірів зображення. 
2. pixels = list(image.getdata()): Отримання всіх пікселів зображення. Кожен 
піксель - це кортеж трьох чисел, що представляють кольори RGB. 
3. new_pixels = pixels.copy(): Створення копії списку пікселів, що буде 
змінюватись. 
4. random.seed(seed): Ініціалізація генератора випадкових чисел з заданим 
зерном. 
5. pixel_indices = list(range(len(pixels))): Створення списку індексів пікселів. 
6. random.shuffle(pixel_indices): Перемішування індексів пікселів, щоб 
розміщення бітів повідомлення в зображенні було випадковим. 
Потім цикл for idx in pixel_indices: проходить по всім індексам пікселів у  
 
випадковому порядку. Для кожного пікселя: 
Лист 
ЧДТУ.23.19001.001 ПЗ 45    
Зм  Арк №Докум. Підп Дат
а  
 
 
7. pixel = pixels[idx]: Отримання поточного пікселя. 
8. new_pixel = list(pixel): Створення копії пікселя. 
9. color_index = bit_index % 3: Обчислення індексу кольору, що буде змінено 
(0 - червоний, 1 - зелений, 2 - синій). 
10. new_pixel[color_index] = (pixel[color_index] & ~1) | 
int(message_bits[bit_index]): Заміна молодшого значущого біта кольору на біт 
повідомлення. 
11. new_pixels[idx] = tuple(new_pixel): Оновлення пікселя в новому списку 
пікселів. 
Після того, як всі біти повідомлення були вбудовані, створюється нове 
зображення з оновленими пікселями: 
12. new_image = Image.new(image.mode, image.size): Створення нового 
зображення того ж розміру і режиму, що й оригінальне. 
13. new_image.putdata(new_pixels): Заповнення нового зображення 
оновленими пікселями. 
Ця функція повертає нове зображення з вбудованим повідомленням 
 
Рисунок 3.5 – Функція extract_message() 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 46    
Зм  Арк №Докум. Підп Дат
а  
 
 
Функція extract_message() (рис. 3.5) витягує зашифроване повідомлення з 
зображення, використовуючи той самий метод стеганографії LSB (Least Significant 
Bit), який був використаний для вбудовування повідомлення. 
1. pixels = list(image.getdata()): Отримання всіх пікселів зображення. Кожен 
піксель - це кортеж трьох чисел, що представляють кольори RGB. 
2. bits = "": Ініціалізація рядка, в який будуть зібрані біти повідомлення. 
3. random.seed(seed): Ініціалізація генератора випадкових чисел з тим же 
зерном, що було використано при вбудовуванні повідомлення. 
4. pixel_indices = list(range(len(pixels))): Створення списку індексів пікселів. 
5. random.shuffle(pixel_indices): Перемішування індексів пікселів, щоб 
витягування бітів повідомлення з зображення було в тому ж випадковому порядку, 
що й при вбудовуванні. 
Потім цикл for idx in pixel_indices: проходить по всім індексам пікселів у 
випадковому порядку. Для кожного пікселя: 
6. pixel = pixels[idx]: Отримання поточного пікселя. 
7. color_index = bit_index % 3: Обчислення індексу кольору, з якого буде 
витягнуто біт (0 - червоний, 1 - зелений, 2 - синій). 
8. bits += str(pixel[color_index] & 1): Додавання молодшого значущого біта 
кольору до рядка бітів. 
Цикл продовжується, поки не будуть витягнуті всі біти повідомлення (коли 
bit_index стане рівним message_bits_len). 
На останньому кроці функція повертає рядок бітів, що представляють 
зашифроване повідомлення. 
 
 
Рисунок 3.6 – Функція encrypt_aes() 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 47    
Зм  Арк №Докум. Підп Дат
а  
 
 
Функція encrypt_aes() (рис. 3.6) використовує AES (Advanced Encryption 
Standard) для шифрування даних. Зокрема, використовується режим CBC (Cipher 
Block Chaining), який передбачає, що кожний блок вхідних даних XOR'юється з 
попереднім блоком зашифрованих даних перед шифруванням. 
Ось як працює ця функція крок за кроком: 
1. cipher = AES.new(key, AES.MODE_CBC): Створюється новий об'єкт 
шифру AES у режимі CBC за допомогою заданого ключа. Об'єкт cipher має 
випадково згенероване значення ініціалізаційного вектора (IV), яке 
використовується для першого блоку шифрування. 
2. ciphertext = cipher.encrypt(pad(message.encode(), AES.block_size)): 
Повідомлення спочатку перетворюється в байти (message.encode()), потім ці байти 
доповнюються до повного блоку AES (pad(message.encode(), AES.block_size)). 
Відомо, що AES шифрує дані блоками, розмір яких має бути 128 біт (або 16 байтів). 
Тому, якщо останній блок даних менше 16 байт, його потрібно доповнити до 
повного блоку перед шифруванням. Після цього дані шифруються. 
3. return cipher.iv + ciphertext: На останньому кроці функція повертає 
зашифрований текст, до якого додається IV на початку. IV потрібно зберегти, щоб 
можна було розшифрувати дані, оскільки він використовується для першого блоку 
розшифрування. По суті, IV додається до повідомлення, щоб декодер знав, з яким 
значенням розпочинати розшифрування. 
 
Рис. 3.7. – Функція decrypt_aes() 
 
Ця функція (рис. 3.7) використовує AES (Advanced Encryption Standard) для 
розшифрування даних, які були зашифровані в режимі CBC (Cipher Block 
Chaining). Ось як працює ця функція крок за кроком: 
1. iv, encrypted_message = ciphertext[:16], ciphertext[16:]: Цей рядок розділяє 
Лист 
ЧДТУ.23.19001.001 ПЗ 48    
Зм  Арк №Докум. Підп Дат
а  
 
 
 вхідний зашифрований текст на дві частини. Перші 16 байтів (або 128 бітів) - це 
ініціалізаційний вектор (IV), який був використаний при шифруванні. Решта тексту 
- це справжнє зашифроване повідомлення. 
2. cipher = AES.new(key, AES.MODE_CBC, iv): Створюється новий об'єкт 
шифру AES у режимі CBC з використанням заданого ключа і IV. Цей об'єкт буде 
використовуватися для розшифрування зашифрованого повідомлення. 
3. unpad(cipher.decrypt(encrypted_message), AES.block_size).decode(): 
Зашифроване повідомлення розшифровується за допомогою об'єкта cipher. Потім, 
оскільки повідомлення було доповнено до повного блоку AES під час шифрування, 
воно потрібно відновити до свого оригінального розміру. Це робиться за 
допомогою функції unpad(). Нарешті, розшифровані байти перетворюються назад 
в рядок за допомогою методу decode(). 
В результаті повертається розшифрований рядок. 
 
Рисунок 3.8 – Функція send_welcome() 
 
Функція на рисунку 3.8 використовує бібліотеку telebot для створення бота в 
Telegram, який реагує на команди "/start" та "/help". Ось деталі: 
1. markup = types.ReplyKeyboardMarkup(row_width=2, resize_keyboard=True): 
Це створює нову клавіатуру з двома рядами для повідомлень відповіді. 
resize_keyboard=True означає, що клавіатура масштабується по висоті для 
оптимального зображення на екрані користувача. 
2. itembtn1 = types.KeyboardButton('Приховати'), itembtn2 = 
types.KeyboardButton('Дістати'): Тут створюються дві кнопки з текстом 'Приховати' 
та 'Дістати'. 
Лист 
ЧДТУ.23.19001.001 ПЗ 49    
Зм  Арк №Докум. Підп Дат
а  
 
 
3. markup.add(itembtn1, itembtn2): Ця команда додає обидві кнопки до 
клавіатури. 
4. bot.reply_to(message, "Вітаю! Я бот, який може приховувати та діставати 
зашифровані повідомлення в зображеннях. Оберіть дію:", reply_markup=markup): 
Останнім кроком є відправка вітального повідомлення користувачу. Це 
повідомлення містить опис бота та пропонує обрати дію. Відповідь включає в себе 
створену клавіатуру, таким чином користувачу надаються вибір між двома 
опціями: 'Приховати' та 'Дістати'. 
Таким чином, ця функція служить вступом до інтерфейсу бота та допомагає 
користувачеві зрозуміти, якими є доступні дії. 
 
Рисунок 3.9 – Функція handle_action() 
 
Ця функція (рис. 3.9) обробляє вибір користувача після натискання на одну з 
кнопок: "Приховати" або "Дістати". Тут основна логіка наступна: 
1. Використовуючи @bot.message_handler(func=lambda message: message.text 
in ["Приховати", "Дістати"]), бот слухає усі повідомлення, текст яких відповідає 
"Приховати" або "Дістати". Якщо це так, то повідомлення передається в функцію 
handle_action. 
2. Функція handle_action приймає об'єкт повідомлення від бота. Вона 
перевіряє текст повідомлення, щоб зрозуміти, яку дію бажає виконати користувач. 
Лист 
ЧДТУ.23.19001.001 ПЗ 50    
Зм  Арк №Докум. Підп Дат
а  
 
 
3. Якщо текст повідомлення дорівнює "Приховати", бот відправляє 
повідомлення користувачу з проханням надіслати зображення у форматі BMP, 
PNG, GIF або JPG. Після цього використовується метод register_next_step_handler, 
щоб зареєструвати обробник наступного кроку. Цей обробник чекатиме на 
зображення, що користувач має надіслати. 
4. Якщо текст повідомлення дорівнює "Дістати", процес є дуже схожим, але 
обробник наступного кроку викликає іншу функцію - process_image_to_extract, яка 
призначена для діставання зашифрованого повідомлення з зображення. 
У загальному випадку, ця функція слугує в якості маршрутизатора, який 
визначає, який обробник наступного кроку слід викликати на основі вибору 
користувача. 
 
Рисунок 3.10 – Функція process_image_to_hide() 
 
Ця частина коду (рис. 3.10) відповідає за обробку зображення, яке користувач 
надіслав для приховування повідомлення. Основна логіка включає наступні кроки: 
1. Перевірка типу повідомлення. Якщо тип повідомлення є "photo" або 
"document", це означає, що користувач надіслав зображення. Якщо це зображення, 
виконується блок умови. 
2. Залежно від типу повідомлення ("photo" або "document"), отримується 
Лист 
ЧДТУ.23.19001.001 ПЗ 51    
Зм  Арк №Докум. Підп Дат
а  
 
 
 інформація про файл зображення. Якщо тип повідомлення є "photo", отримується 
інформація про останнє фото з повідомлення та отримується розширення файлу 
зображення. У випадку типу повідомлення "document", отримується інформація 
про документ та отримується розширення файлу зображення з його імені. 
3. Завантажується файл зображення, використовуючи метод 
bot.download_file. Файл завантажується з шляху, який був отриманий з інформації 
про файл. 
4. Використовуючи бібліотеку PIL, відкривається завантажене зображення і 
перетворюється в режим "RGB". 
5. Користувачу надсилається повідомлення з проханням ввести повідомлення 
для приховування в зображенні. 
6. Викликається функція bot.register_next_step_handler, щоб зареєструвати 
обробник наступного кроку, який буде викликано після того, як користувач 
надішле повідомлення для приховування. Цей обробник буде мати доступ до 
зображення, отриманого у кроці 4, а також до розширення файлу зображення, 
отриманого у кроці 2. 
7. Якщо тип повідомлення не є зображенням, бот надсилає відповідь, що це 
не зображення, і просить користувача спробувати 
 
Рисунок 3.11 – Функція process_message_to_hide() 
 
Ця частина коду (рис. 3.11) виконує обробку повідомлення, яке користувач 
ввів для приховування в зображенні. Основна логіка включає наступні кроки: 
1. Отримання тексту повідомлення, який користувач ввів у повідомленні  
 
Лист 
ЧДТУ.23.19001.001 ПЗ 52    
Зм  Арк №Докум. Підп Дат
а  
 
 
Telegram. 
2. Конвертація тексту повідомлення в бітовий рядок за допомогою функції 
text_to_bits. 
3. Перевірка, чи не перевищує довжина бітового рядка повідомлення 
кількість доступних пікселів для приховування. Довжина бітового рядка 
повідомлення обчислюється, множачи ширину та висоту зображення на 3 (оскільки 
для приховування використовуються 3 малозначущих біти на піксель, по 1 біту на 
канал). 
4. Якщо довжина повідомлення перевищує доступну кількість пікселів, бот 
надсилає повідомлення про те, що повідомлення занадто велике для вбудовування 
в зображення, і просить користувача спробувати з меншим повідомленням або 
більшим зображенням. 
5. Якщо довжина повідомлення є допустимою, бот надсилає запит 
користувачу для введення ключа для шифрування. 
6. Викликається функція bot.register_next_step_handler, щоб зареєструвати 
обробник наступного кроку, який буде викликаний після введення ключа 
шифрування. Цей обробник матиме доступ до зображення, отриманого на 
попередньому кроці, а також до тексту повідомлення та розширення файлу 
зображення, які були передані у функцію process_message_to_hide. 
Загалом, цей код дозволяє боту обробляти введене користувачем 
повідомлення для подальшого приховування у зображенні, якщо воно відповідає 
обмеженням щодо довжини та доступного простору для приховування. 
Лист 
ЧДТУ.23.19001.001 ПЗ 53    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
 
Рисунок 3.12 – Функція process_key_to_hide() 
 
Код на рисунку 3.12 виконує обробку ключа шифрування, який користувач 
ввів для приховування повідомлення в зображенні. Основні кроки обробки 
включають: 
1. Отримання ключа для шифрування, який користувач ввів у повідомленні 
Telegram. 
2. Хешування введеного ключа за допомогою алгоритму SHA256 за 
допомогою функції hashlib.sha256. Отриманий хеш перетворюється в байтовий 
рядок. 
3. Шифрування тексту повідомлення за допомогою ключа і функції 
encrypt_aes. Результатом є зашифроване повідомлення. 
4. Конвертація зашифрованого повідомлення в бітовий рядок за допомогою 
функції text_to_bits. 
5. Обчислення довжини бітового рядка повідомлення. 
6. Генерація випадкового зерна (seed) на основі ключа за допомогою функції 
key_to_seed. 
Лист 
ЧДТУ.23.19001.001 ПЗ 54    
Зм  Арк №Докум. Підп Дат
а  
 
 
7. Вбудовування бітового рядка повідомлення в зображення за допомогою 
функції embed_message. Повідомлення вбудовується шляхом зміни малозначущих 
бітів пікселів зображення. 
8. Збереження нового зображення з прихованим повідомленням на диск. 
9. Надсилання прихованого зображення як документу відповіді 
користувачеві за допомогою bot.send_document. В якості підпису до документу 
надсилається довжина повідомлення. 
10. Видалення тимчасового зображення з диску. 
Ця частина коду виконує всі необхідні кроки для приховування повідомлення 
в зображенні і повідомлення користувачу про успішне приховування разом з 
довжиною повідомлення. 
 
Рисунок 3.13 – Функція process_image_to_extract() 
 
Ця частина коду (рис 3.13) виконує обробку зображення, яке було надіслано 
користувачем для вилучення прихованого повідомлення. Основні кроки обробки 
включають: 
1. Перевірка типу надісланого повідомлення. Якщо це фото або документ, 
програма продовжує виконання, в іншому випадку надсилає повідомлення про те, 
що це не зображення. 
Лист 
ЧДТУ.23.19001.001 ПЗ 55    
Зм  Арк №Докум. Підп Дат
а  
 
 
2. Отримання інформації про файл зображення за допомогою методів 
bot.get_file та bot.download_file. Це включає отримання інформації про файл, такої 
як ідентифікатор файлу та шлях до файлу. 
3. Завантаження зображення з серверів Telegram за допомогою 
bot.download_file. Отримані байти зображення зберігаються у змінній 
downloaded_file. 
4. Відкриття завантаженого зображення як об'єкту Image за допомогою 
Image.open. Зображення конвертується в режим "RGB" для забезпечення 
однорідності формату пікселів. 
5. Надсилання повідомлення користувачеві з проханням ввести довжину 
прихованого повідомлення у бітах. 
6. Реєстрація наступного кроку обробки, який полягає в отриманні довжини 
прихованого повідомлення, за допомогою bot.register_next_step_handler. 
Після виконання цих кроків користувач отримує запит на введення довжини 
прихованого повідомлення. Якщо користувач введе довжину, виконується 
наступний крок обробки. Якщо ж користувач введе щось неправильне або 
відправить некоректні дані, виконується відповідна обробка помилки або 
повідомлення про неправильність введених даних. 
 
Рисунок 3.14 – Функція process_message_length_to_extract() 
 
Функція process_message_length_to_extract() (рис. 3.14) виконує обробку 
введеної довжини прихованого повідомлення, яку користувач вводить у відповідь 
на попереднє запитання. Основні кроки обробки включають: 
Лист 
ЧДТУ.23.19001.001 ПЗ 56    
Зм  Арк №Докум. Підп Дат
а  
 
 
1. Конвертація введеного повідомлення в ціле число за допомогою 
int(message.text). Якщо введене повідомлення може бути перетворено на ціле 
число, воно зберігається у змінній message_bits_len. 
2. Надсилання повідомлення користувачеві з проханням ввести ключ для 
дешифрування. 
3. Реєстрація наступного кроку обробки, який полягає в отриманні ключа для 
дешифрування, за допомогою bot.register_next_step_handler. У цьому випадку 
наступний крок обробки виконується функцією process_key_to_extract, якій 
передаються параметри image і message_bits_len. 
Якщо користувач введе некоректні дані, наприклад, рядок, який не може бути 
перетворений на ціле число, виконується обробка помилки. В цьому випадку 
користувач отримає повідомлення про те, що введене значення не є цілим числом і 
буде попросений спробувати ще раз. 
 
Рисунок 3.15 – Функція process_key_to_extract() 
 
Функція process_key_to_extract() на рисунку 3.15 виконує обробку введеного 
користувачем ключа для дешифрування повідомлення. Основні кроки обробки 
включають: 
1. Обчислення хешу введеного ключа за допомогою 
hashlib.sha256(message.text.encode()).digest(). Хеш використовується як ключ для 
дешифрування повідомлення. 
Лист 
ЧДТУ.23.19001.001 ПЗ 57    
Зм  Арк №Докум. Підп Дат
а  
 
 
2. Генерація зерна (seed) для використання в функції extract_message із 
використанням key_to_seed(key). Зерно генерується на основі ключа за допомогою 
хеш-функції. 
3. Виклик функції extract_message з параметрами image, message_bits_len і 
seed для отримання рядка бітів, які містять приховане повідомлення. 
4. Конвертація рядка бітів у зашифроване повідомлення у форматі latin1 за 
допомогою bits_to_text(bits).encode("latin1"). Зашифроване повідомлення буде 
використовуватися для дешифрування. 
5. Спроба дешифрувати зашифроване повідомлення за допомогою 
decrypt_aes(encrypted_message, key). Якщо дешифрування успішне, отримане 
розшифроване повідомлення зберігається у змінній decrypted_message. 
6. Якщо дешифрування успішне, бот відправляє повідомлення користувачеві 
з отриманим розшифрованим повідомленням. Якщо дешифрування не вдалося, бот 
надсилає повідомлення про невдачу, зазначаючи, що введено неправильний ключ 
або довжину повідомлення. 
Ця частина коду виконує процес дешифрування та відображення отриманого 
повідомлення користувачеві. 
 
3.3 Тестування 
Запуск Telegram-бота можна здійснити з хосту для того щоб бот працював 
24/7, але для демонстрації роботи бота та проведення тестів достатньо локального 
запуску, тому запуск здійснюємо з ПК з процесором Intel Pentium CPU G3240 4 
ГБ оперативної пам’яті, ОС Windows 10 за допомогою ПЗ Visual Studio Code (рис. 
3.16). 
Лист 
ЧДТУ.23.19001.001 ПЗ 58    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Рисунок 3.16  – Запуск бота на ПК 
 
А також за допомогою ПЗ Termux на смартфоні з ОС Android (рис. 3.17) 
 
Рисунок 3.17 – Termux 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 59    
Зм  Арк №Докум. Підп Дат
а  
 
 
Для тестування було обрано кілька зображень різних розмірів. 
Найпоширеніші методи аналізу зображень на наявність прихованої інформації 
заснована на порівнянні оригінального зображення з отриманим. Дана реалізація 
допомагає обійти цей метод шляхом запобігання поширенню оригінального 
зображення. Бот приймає будь-який відомий формат растрових зображень, що 
дозволяє користувачу використовувати в якості контейнера файли створені 
щойно. Простими словами: щойно зробив знімок, завантажив в бот, оригінал 
назавжди видалив. Тепер порівняти вхідний і вихідний файл не вдасться, тому що 
першого вже не існує.  
Роботу з ботом протестуємо саме на мобільному пристрої, тому що 
реалізація націлена саме на доступність широкому колу користувачів, на сьогодні 
смартфони є майже у кожного, тому цей варіант підійде більшості. Роботу 
розпочинаємо зі стартової сторінки, на якій вказано, що робить цей бот (рис. 
3.18), після натискання на Start бот люб’язно вітається та просить обрати режим 
роботи: «Приховати» або «Дістати». (рис. 3.19) 
 
Рисунок 3.18 – Стартова сторінка 
Лист 
ЧДТУ.23.19001.001 ПЗ 60    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Рисунок 3.19 - Привітання та вибір дії 
 
Після вибору режиму Приховати бот попросить завантажити необхідне 
зображення (рис. 3.20), його можна надіслати як звичайне фото, а можна як файл. 
 
Рисунок 3.20 – Функція завантаження зображень 
 
Далі бот просить ввести повідомлення для приховування (рис. 3.21): 
 
Рисунок 3.21 – Запит на введення повідомлення 
 
Далі бот перевіряє чи вміщається повідомлення в зображення та просить 
ввести ключ для шифрування методом AES з режимом роботи CBC та для 
розрахунку сіда для псевдовипадкового вибору пікселів і відправляє готове 
зображення з прихованою зашифрованою інформацією (рис. 3.22) 
Лист 
ЧДТУ.23.19001.001 ПЗ 61    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Рисунок 3.22 – Результат приховування 
 
 При виборі режиму Дістати бот аналогічно просить завантажити 
зображення, вказати довжину повідомлення, яке потрібно дістати та ключ 
шифрування. Після чого користувач отримує приховану інформацію. 
Для тесту було обрано кілька зображень різних розмірів та розширень (рис. 
3.23). 
 
Рисунок 3.23 – Зображення для тесту 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 62    
Зм  Арк №Докум. Підп Дат
а  
 
 
В якості секретного повідомлення було обрано майже весь (максимальну 
кількість слів, які вмістив Telegram в 1 повідомленні) розділ 3.1 цієї дипломної 
роботи 40633 бітів (рис. 3.24): 
 
Рисунок 3.24 – Секретне повідомлення 
 
Результати тестування нижче: перше зображення – оригінал, друге – 
вихідне зображення з прихованою інформацією (рис. 3.25-3.28):  
                  
Рисунок 3.25 – Image1 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 63    
Зм  Арк №Докум. Підп Дат
а  
 
 
          
Рисунок 3.26 – Image2 
 
                   
Рисунок 3.27 – Image3 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 64    
Зм  Арк №Докум. Підп Дат
а  
 
 
             
Рисунок 3.28 – Image4 
 
Бот замінює останній біт в пікселі в кожному каналі RGB, що робить вихідні 
зображення візуально не відмінними від оригіналу.   
Після діставання інформації отримали повідомлення (рис. 3.29): 
 
Рисунок 3.29 – Отримане повідомлення 
 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 65    
Зм  Арк №Докум. Підп Дат
а  
 
 
4. ОХОРОНА ПРАЦІ 
 
4.1 Аналіз небезпек та шкідливостей, які виникають під час проведення робіт 
в приміщенні центру обробки даних 
 
Аналізоване приміщення розташоване на другому поверсі комерційного 
будинку і використовується як центр обробки даних (ЦОД) малого підприємства. 
Приміщення має прямокутну форму з точними розмірами 10 метрів на 15 метрів, 
що дає загальну площу 150 квадратних метрів. Вхід до приміщення забезпечується 
головним входом з вестибюлем, який забезпечує контроль доступу до приміщення. 
У приміщенні розміщено серверні стійки, мережеве обладнання, резервне 
живлення, а також додаткове обладнання, таке як принтери, сканери та інші 
пристрої. Приміщення організоване таким чином, щоб забезпечити оптимальну 
організацію робочого простору і зручний доступ до обладнання. 
Стіни приміщення зроблені з бетонних блоків, що забезпечує надійну 
структурну міцність і додаткову звукоізоляцію. Підлога покрита ламінатом, що 
створює приємну атмосферу для працівників і сприяє легкому руху по 
приміщенню. 
В приміщенні є вікна, розташовані по периметру, які забезпечують природне 
освітлення і можливість провітрювання приміщення. Вікна обладнані ролетами для 
регулювання рівня освітлення і забезпечення приватності. 
У приміщенні також є додаткові елементи, які сприяють комфорту та безпеці, 
включаючи протипожежні датчики Honeywell 5808W3 Photoelectric Smoke/Heat 
Detector, пожежні вимикачі Siemens Cerberus PRO FC721, екстрені виходи, а також 
систему автоматичної пожежної сигналізації Fire-Lite MS-9200UDLS. Приміщення 
має також систему контролю доступу, яка обмежує доступ лише авторизованим 
особам. 
Система опалення в приміщенні є централізованою і включає 4 алюмінієві 
радіатори "Оскар 500", які розташовані по периметру приміщення. Кожен радіатор 
Лист 
ЧДТУ.23.19001.001 ПЗ 66    
Зм  Арк №Докум. Підп Дат
а  
 
 
складається з 5 секцій і має розмір 80 см висотою та 50 см шириною. Алюмінієві 
радіатори є популярним вибором для опалювальних систем завдяки своїм 
перевагам, таким як висока теплопровідність, швидке нагрівання і ефективний 
розподіл тепла. 
Кожен радіатор обладнаний заборним вентилем, який дозволяє регулювати 
кількість гарячої води, що проходить через радіатор. Це дозволяє налаштувати 
температуру в приміщенні залежно від потреби і забезпечити комфортні умови 
праці. Крім того, вентиляційні клапани дозволяють відключати окремі радіатори в 
разі необхідності обслуговування або ремонту. 
Передбачається регулярне технічне обслуговування системи опалення, 
включаючи перевірку роботи котла, радіаторів і вентиляційних клапанів. Також, в 
разі виявлення будь-яких несправностей або проблем, передбачається негайне 
вжиття заходів для їх усунення для забезпечення безперебійної роботи системи 
опалення і комфортних умов праці. 
Вентиляційна система в приміщенні розроблена відповідно до вимог ДБН 
В.2.5-67:2013 Опалення, вентиляція та кондиціонування. 
Кількість вентиляційних отворів та їх розташування розраховується згідно з 
нормативами та рекомендаціями, що передбачають наявність оптимальної 
кількості отворів для забезпечення належної циркуляції повітря в приміщенні. 
Розташування вентиляційних отворів враховує геометрію приміщення, розміщення 
обладнання та робочих місць, а також забезпечує рівномірний розподіл повітря по 
всьому простору. 
Контроль рівня вологості в приміщенні здійснюється за допомогою 
вентиляційної системи, яка може бути обладнана додатковими пристроями для 
регулювання вологості, такими як зволожувачі або осушувачі повітря Honeywell 
HCM-350 Germ-Free Cool Mist Humidifier. Забезпечення оптимального рівня 
вологості в приміщенні має важливе значення для комфорту працівників та 
ефективної роботи обладнання. 
Лист 
ЧДТУ.23.19001.001 ПЗ 67    
Зм  Арк №Докум. Підп Дат
а  
 
 
За даними, отриманими під час вимірювань рівня шуму, було встановлено, 
що середній рівень шуму становить 55 дБА. Рівень шуму може варіюватися 
залежно від активності обладнання, присутності працівників та інших факторів.  
Рекомендовані нормативи для роботи в офісних приміщеннях зазвичай 
передбачають рівень шуму не більше 55-60 дБА для забезпечення комфортних 
умов праці згідно з ДСН 3.3.6.037-99. 
 Фактичний рівень вібрації був виміряний за допомогою приладу для 
вимірювання вібрації «Bosch GMS120». Під час вимірювань було отримано 
наступні значення рівня вібрації: 
- горизонтальна вібрація: менше 0,5 м/с² 
- вертикальна вібрація: менше 0,3 м/с² 
Ці значення відповідають вимогам, встановленим ДСН 3.3.6.039-99 та ДБН 
В.1.2-10:2021. Вони вказують на те, що такий рівень вібрації є незначним і не 
впливає на комфорт та безпеку працівників.  
В описаному приміщенні ЦОД спостерігається низький рівень 
електромагнітного випромінювання, який не перевищує встановлені межі, 
встановлені ДСН 3.3.6.096-2002. 
Рівень електромагнітного поля в приміщенні ЦОД виміряний за допомогою 
електромагнітного вимірювального пристрою "EMF-390". Згідно з результатами 
вимірювань, середні значення електромагнітного поля варіюються від 0.1 до 0.3 
мікротесл (µТл), що знаходиться значно нижче максимальної допустимої межі 
встановленої ДСН 3.3.6.096-2002. 
Ці значення підтверджують, що в приміщенні ЦОД не спостерігається 
підвищена напруженість електромагнітного поля, яка може впливати на нормальне 
функціонування обладнання та здоров'я працівників. Таке дотримання стандарту 
забезпечує безпечні умови роботи в приміщенні ЦОД і зменшує потенційні ризики, 
пов'язані з електромагнітним випромінюванням. 
Засоби та заходи щодо забезпечення електробезпеки працюючих в 
приміщенні ЦОД включають ряд важливих заходів, спрямованих на запобігання 
Лист 
ЧДТУ.23.19001.001 ПЗ 68    
Зм  Арк №Докум. Підп Дат
а  
 
 
ризикам, пов'язаних з системою живлення та електроустаткуванням. Детальніше, 
ці заходи включають: 
1. Все обладнання в приміщенні ЦОД має бути належно заземлене. Це 
забезпечує безпечне розведення електричного струму в разі виникнення збоїв або 
короткого замикання, що допомагає запобігти ураженням електричним струмом і 
пожежам. 
2. Всі електричні розетки та кабелі повинні бути відповідати вимогам безпеки 
та бути в хорошому стані. Вони повинні мати належну ізоляцію та бути 
придатними для використання в умовах ЦОД. 
3. Проведення регулярних технічних оглядів та перевірок 
електроустаткування є важливим елементом забезпечення безпеки. Це включає 
перевірку електричних систем, розеток, кабелів, а також системи розподілу 
електроенергії на предмет виявлення можливих проблем, відмов або 
несправностей. 
4. Працівники, які працюють в приміщенні ЦОД, повинні мати необхідні 
знання та навички з питань електробезпеки. Регулярне навчання та інструктаж з 
електробезпеки повинні проводитися для всього персоналу, включаючи правила 
безпеки під час роботи з електричними пристроями, процедури усунення 
несправностей та поведінку в разі аварійних ситуацій. 
Ці заходи сприяють створенню безпечного робочого середовища для 
працівників в приміщенні ЦОД, запобігають виникненню небезпеки електричного 
ураження та зменшують ризик пожежі. Вони відповідають вимогам відповідних 
нормативних актів та стандартів безпеки електроустаткування в Україні. 
Інструктажі з персоналом в приміщенні ЦОД проводяться відповідно до 
вимог НПАОП 0.00-4-12-05. Цей стандарт визначає правила та вимоги щодо 
проведення інструктажів з охорони праці з метою забезпечення безпеки та 
запобігання нещасним випадкам на робочому місці. 
Під час інструктажу з охорони праці персоналу зазвичай розглядаються такі 
питання: 
Лист 
ЧДТУ.23.19001.001 ПЗ 69    
Зм  Арк №Докум. Підп Дат
а  
 
 
1. Огляд безпечних методів та процедур роботи: Працівники 
ознайомлюються з правильними методами та прийомами роботи, що допомагають 
запобігти нещасним випадкам і травмам. 
2. Використання особистих захисних засобів: Працівникам пояснюється, які 
особисті захисні засоби необхідно використовувати для захисту від потенційних 
ризиків, таких як захист від електричного струму, шуму, пилу тощо. 
3. Взаємодія з обладнанням та системами: Працівники отримують інструкції 
щодо безпечного використання обладнання, описується правильна послідовність 
дій під час роботи з технікою та системами ЦОД. 
4. Правила евакуації та поведінки в надзвичайних ситуаціях: працівники 
отримують інформацію щодо правил евакуації в разі пожежі, аварій або інших 
надзвичайних ситуацій. Розглядаються маршрути евакуації, місцезнаходження 
пожежних виходів та вказівники безпеки. 
5. Поведінка у разі виникнення нещасних випадків: працівникам 
пояснюється, як негайно повідомляти про нещасний випадок, як надавати першу 
допомогу постраждалим та як уникнути подальшої загрози безпеці. 
 Періодичні медогляди з персоналом в приміщенні ЦОД проводяться згідно 
з вимогами наказу МОЗ від 21.05.2007 №246. Цей наказ встановлює загальні 
вимоги щодо проведення медичного огляду працівників з метою контролю їхнього 
стану здоров'я та виявлення можливих професійних захворювань. 
Періодичні медогляди з персоналом проводяться з метою: 
1. Виявлення потенційних впливів робочих умов на здоров'я працівників: 
медичний огляд дозволяє виявити можливі шкідливі чинники, з якими працівники 
можуть стикатися у приміщенні ЦОД. Це можуть бути шум, вібрація, 
електромагнітні поля або інші фактори, які можуть негативно впливати на здоров'я 
працівників. 
2. Оцінка впливу робочих умов на здоров'я працівників: під час медичного 
огляду здійснюється оцінка стану здоров'я працівників з урахуванням їхньої роботи 
в приміщенні ЦОД. Лікар аналізує медичну історію працівника, проводить 
Лист 
ЧДТУ.23.19001.001 ПЗ 70    
Зм  Арк №Докум. Підп Дат
а  
 
 
фізичний огляд та, при необхідності, додаткові дослідження для оцінки впливу 
робочих умов на його здоров'я. 
3. Розробка рекомендацій щодо збереження здоров'я працівників: після 
проведення медичного огляду лікар надає рекомендації щодо запобігання 
можливим проблемам зі здоров'ям, збереження фізичного та психічного 
благополуччя працівників. Ці рекомендації можуть стосуватися раціональної 
організації робочого місця, заходів безпеки та гігієни праці, а також інших 
факторів, що впливають на здоров'я працівників. 
За даними, отриманими під час вимірювань і оцінки, наведу наступні 
конкретні дані, які не суперечать попереднім параграфам розділу: 
1. Розряд зорової праці: зорова праця у приміщенні ЦОД відноситься до V 
розряду, оскільки вимагає переважно роботи з відображеними на моніторах даними 
і виконання комп'ютерних завдань. 
2. Норми природного і штучного освітлення: 
- природне освітлення: Кількість вікон у приміщенні ЦОД - 4 шт. Розміри 
кожного вікна - 1 *0,5 м. Нормативний рівень природного освітлення – 1%. 
- штучне освітлення: Фактичний рівень освітленості у приміщенні ЦОД 
забезпечується за допомогою LED-світильників, які забезпечують рівень 
освітленості 400-500 лк, що відповідає вимогам ДБН В.2.5.28-2018. 
3. Фон і контраст об'єкта розрізнення з фоном: Фон в приміщенні ЦОД має 
світлу кольорову гаму, а контраст об'єкта розрізнення з фоном забезпечується за 
допомогою використання темних кольорів або відмінних кольорових комбінацій. 
Освітлення приміщення здійснюється згідно з вимогами ДБН В.2.5-28:2018. 
Для забезпечення належного рівня освітлення в приміщенні застосовуються 
світлодіодні світильники, які відповідають встановленим нормам та вимогам. 
У приміщенні ЦОД встановлено світлодіодні світильники моделі «Philips 
LED Panel 600x600» потужністю 40 Вт кожен. Кількість світильників - 8 штук. Ці 
світильники відповідають вимогам щодо освітлення робочих приміщень і 
забезпечують достатню освітленість в приміщенні ЦОД. Розташування 
Лист 
ЧДТУ.23.19001.001 ПЗ 71    
Зм  Арк №Докум. Підп Дат
а  
 
 
світильників проведено згідно з нормами, що забезпечують рівномірний розподіл 
світла по всій площі приміщення для комфортної роботи працівників. 
Світлодіодні світильники мають кут розсіювання світла 120°, що відповідає 
вимогам нормативних документів, що регулюють освітлення приміщень. Такий кут 
розсіювання дозволяє забезпечити рівномірне освітлення без непотрібних 
відблисків, що важливо для комфортної роботи з обладнанням та моніторами. 
Кожне робоче місце додатково оснащене настільною лампою «BenQ e-
Reading LED Desk Lamp». Ця лампа оснащена спеціальною технологією e-Reading, 
яка автоматично регулює яскравість та температуру кольору відповідно до умов 
освітлення та забезпечує оптимальне освітлення для роботи за комп'ютером. Вона 
також має сучасний дизайн, що виглядає добре на будь-якому робочому місці. що 
забезпечує додаткове освітлення для зручної роботи і запобігає надмірному 
напруженню очей під час використання комп'ютера. 
Підбір і встановлення світлодіодних світильників відповідає вимогам 
нормативних документів з енергоефективності, тривалості служби та якості 
освітлення. Вони є екологічно чистими та мають довгий термін служби, що сприяє 
економії енергії та зменшенню витрат на обслуговування. 
У приміщенні розташовані 8 робочих місць, які відповідають вимогам ДСТУ 
7951:2015 Дизайн і ергономіка. Крісло оператора. Загальні ергономічні вимоги. 
Кожне робоче місце обладнане комп'ютером, який включає системний блок, 
монітор, клавіатуру та мишу. Розміщення комп'ютерів на столах забезпечує 
зручний доступ працівників до необхідного обладнання. 
Столи розміром 120 см x 60 см забезпечують достатню робочу площу для 
комп'ютера та інших необхідних матеріалів. 
Офісні крісла, встановлені на робочих місцях мають регульовані 
підлокітники та можуть регулюватись по висоті, куту нахилу спинки та глибини 
сидіння, що дозволяє налаштувати комфортну позицію працівника під час роботи. 
У приміщенні забезпечена система пожежної безпеки, що гарантує належний 
рівень захисту від пожежі. У приміщенні ЦОД встановлені 4 детектори диму моделі 
Лист 
ЧДТУ.23.19001.001 ПЗ 72    
Зм  Арк №Докум. Підп Дат
а  
 
 
"Apollo XP95 Heat Detector". Вони стратегічно розподілені по приміщенню для 
ефективного виявлення можливих джерел виникнення пожежі. Apollo XP95 Heat 
Detector працює на основі термодетектора, який вимірює температуру 
навколишнього середовища, і спрацьовує, коли температура в приміщенні досягає 
визначеного порогу.  Серцевиною детектора є термістор - спеціальний компонент, 
що змінює свій електричний опір в залежності від температури. Термістор постійно 
відслідковує температуру навколишнього середовища.  
В приміщенні розташовані 2 порошкові вогнегасники моделі "ABC". Ці 
вогнегасники містять порошок, який ефективно гасить різні типи пожеж, 
включаючи пожежі, спричинені горючими рідинами, твердими речовинами та 
газами. Вони широко використовуються як ефективний інструмент для загашення 
пожеж у виробничих та комерційних приміщеннях, включаючи ЦОД, 
забезпечуючи надійний захист від пожежних загроз. 
В приміщенні ЦОД ретельно розроблений та чітко відмічений евакуаційний 
план згідно з вимогами ДБН В.1.1.7-2016. На евакуаційному плані виділені головні 
евакуаційні шляхи, які прокладені таким чином, щоб забезпечити найкоротший та 
безпечний шлях виходу з приміщення. Також на плані чітко позначені місця збору 
після евакуації, де працівники можуть безпечно знаходитись після виходу з 
приміщення, а також місця розташування пожежних виходів, щоб працівники 
могли швидко знайти їх у разі надзвичайної ситуації. Це забезпечує працівникам 
можливість швидко та безпечно евакуюватись у разі пожежі або іншої 
надзвичайної ситуації, забезпечуючи їх безпеку та врятовання життя. 
Відповідно до ДСН 3.3.6.042-99 допустимі значення для температури повітря 
в робочих приміщеннях знаходяться в діапазоні 21-25°C.  
Фактичні дані, які були виявлені під час аналізу температурного режиму в 
приміщенні, показали, що в холодний період року (від жовтня до квітня) 
температура коливається від 16 до 18°C. Зазначений температурний режим є 
нижчим за рекомендовані значення, встановлені в ДСН 3.3.6.042-99. 
Лист 
ЧДТУ.23.19001.001 ПЗ 73    
Зм  Арк №Докум. Підп Дат
а  
 
 
Однак, для порівняння фактичних параметрів з нормативними, необхідно 
також враховувати інші фактори, такі як вологість повітря і швидкість руху повітря 
в приміщенні. 
Щодо вологості повітря, рекомендовані значення зазвичай знаходяться в 
діапазоні 40-60% для комфортних умов праці. Фактичне значення вологості повітря 
(50%) знаходиться в межах нормативного діапазону (40-60%), що відповідає 
санітарним нормам. 
Щодо швидкості руху повітря, рекомендовані значення зазвичай не повинні 
перевищувати 0,15 м/с для робочих приміщень. Фактична швидкість руху повітря 
(0.1 м/с) також не перевищує нормативного значення згідно ДСН. 
З метою забезпечення оптимальних умов праці та відповідності нормам, 
рекомендується вжити наступні заходи: 
1. Оптимізація системи опалення: необхідно переглянути режим роботи 
централізованої системи опалення та забезпечити підвищення температури повітря 
в приміщенні до нормативного значення, враховуючи вимоги ДСН 3.3.6.042-99. Це 
можна досягти шляхом налагодження контролю температури, підвищення 
температури подачі гарячої води до радіаторів або застосування інших ефективних 
методів опалення. 
2. Використання додаткових джерел тепла: рекомендується розглянути 
можливість встановлення додаткових джерел тепла, таких як електричні обігрівачі 
або інфрачервоні панелі, для забезпечення комфортної температури в приміщенні. 
Вони можуть бути розташовані таким чином, щоб забезпечити додаткове 
обігрівання тих зон, де температура є найнижчою. 
3. Утеплення приміщення: необхідно перевірити рівень теплоізоляції 
приміщення та, в разі необхідності, провести утеплення стін, підлоги та стелі 
відповідно до норм ДСН 3.3.6.042-99. Це допоможе зменшити втрати тепла і 
підтримувати стабільну температуру всередині приміщення. 
4. Регулярне обслуговування системи опалення: важливо забезпечити 
регулярне обслуговування системи опалення, включаючи очищення радіаторів, 
Лист 
ЧДТУ.23.19001.001 ПЗ 74    
Зм  Арк №Докум. Підп Дат
а  
 
 
перевірку роботи насосів та регулювання температури. Це дозволить зберегти 
ефективність системи і забезпечити стабільний режим опалення. 
Загальний висновок полягає у необхідності вжиття заходів для підвищення 
температури повітря в приміщенні до рекомендованих нормативних значень та 
забезпечення комфортних умов праці відповідно до ДСН 3.3.6.042-99. 
Під час аналізу було виявлено деякі недоліки, які впливають на ефективність 
системи опалення та забезпечення належних температурних умов в приміщенні. 
Основним недоліком є недостатня потужність системи опалення, що не забезпечує 
підтримання нормативного рівня температури повітря в приміщенні ЦОД в 
холодний період року. Тому пропонується модернізувати існуючу систему 
водяного опалення в приміщенні ЦОД шляхом заміни встановлених радіаторів на 
більш потужні. 
 
4.2 Модернізація системи водяного опалення приміщення 
 
Системи опалення можуть бути класифіковані за декількома критеріями. 
Основні типи систем опалення включають централізовані (теплові станції) та 
локальні (індивідуальні котли), водяні, парові та теплові.  
Водяні системи опалення є найбільш поширеними в житлових будинках і 
мають велику кількість варіантів радіаторів. Їх основа - циркуляція гарячої води 
через систему труб. 
Парові системи опалення використовуються переважно в старих будинках і 
вимагають особливих парових радіаторів. 
Теплові системи опалення використовують електричні нагрівачі для нагріву 
повітря безпосередньо в приміщенні. 
Основні типи радіаторів: 
1. Чавунні радіатори. Це найстаріший тип радіаторів. Вони мають високу 
теплову ємність, але повільно нагріваються і охолоджуються. 
Лист 
ЧДТУ.23.19001.001 ПЗ 75    
Зм  Арк №Докум. Підп Дат
а  
 
 
2. Сталеві радіатори. Вони швидко нагріваються і охолоджуються, але мають 
нижчу теплову ємність в порівнянні з чавунними. 
3. Алюмінієві радіатори. Ці радіатори є легкими і ефективними, але вони 
можуть бути піддатливими до корозії в системах з поганою якістю води. 
Виникає необхідність у вжитті відповідних заходів для виправлення 
виявлених недоліків: 
1. Заміна радіаторів: рекомендується замінити існуючі алюмінієві радіатори 
на радіатори з більшою кількістю секцій або більшою потужністю. Відповідно до 
розрахунків, для забезпечення належної температури в приміщенні рекомендується 
встановити шість радіаторів з  8 секціями кожен або еквівалентні за потужністю 
радіатори іншого типу. 
2. Розрахунок опалювальної потужності: перед встановленням нових 
радіаторів необхідно провести розрахунок опалювальної потужності для 
приміщення, враховуючи розмір приміщення, рівень ізоляції, кількість працюючих 
осіб та обладнання. Це дозволить точно визначити необхідну кількість секцій і тип 
радіаторів для досягнення оптимальної температури. 
3. Розташування радіаторів: при встановленні нових радіаторів необхідно 
врахувати їх оптимальне розташування в приміщенні. Радіатори слід розміщувати 
вздовж стін приміщення з урахуванням потоків повітря та забезпечення 
рівномірного розподілу тепла. 
4. Регулювання системи опалення: після встановлення нових радіаторів 
необхідно забезпечити правильне налаштування системи опалення, включаючи 
регулювання температури та балансування системи для рівномірного розподілу 
тепла по всьому приміщенню. 
Ці заходи допоможуть вирішити проблему недостатньої потужності системи 
опалення та забезпечити належні температурні умови для працівників та нормальне 
функціонування обладнання відповідно до існуючих стандартів. 
Розрахунок кількості радіаторів залежить від багатьох факторів, середнє 
значення тепловтрат для типових житлових приміщень в Україні може складати 
Лист 
ЧДТУ.23.19001.001 ПЗ 76    
Зм  Арк №Докум. Підп Дат
а  
 
 
близько 100 Вт на м². Тоді загальна теплова потужність має бути: 150 м² * 100 Вт/м² 
= 15 кВт. 
Маємо кілька варіантів, зі своїми перевагами та недоліками. 
Чавунні радіатори відомі своєю високою тепловіддачею та довговічністю. 
Вони можуть тримати тепло довше, ніж алюміній або біметалеві радіатори, що 
робить їх ефективними для великих приміщень. Однак, вони важчі і потребують 
більше часу для нагріву. Для досягнення потрібної температури можливо, 
знадобиться більше секцій. 
Ще одним варіантом є сталеві панельні радіатори, які також можуть мати 
високу тепловіддачу. Вони зазвичай легше встановлювати і можуть бути досить 
ефективними. Модель, яку пропонується розглянути Kermi Therm X2. 
Якщо нам потрібно забезпечити 15 кВт тепла необхідно встановити 
максимум 6 радіаторів, кожен радіатор повинен мати потужність щонайменше 2.5 
кВт (2500 Вт). 
Радіатор Kermi Therm X2 має теплову потужність 2305 Вт при 
вхідній/вихідній температурі 90/70°C (Δt=60°). 
Потрібно загально нагріти приміщення на 15 кВт (15000 Вт), то скільки 
радіаторів знадобиться, можна розрахувати так: 15000 Вт / 2305 Вт/радіатор ≈ 6.5 
радіаторів. 
Це означає, що знадобиться приблизно 7 радіаторів цього типу, щоб досягти 
бажаного рівня нагріву повітря в приміщенні. 
Радіатор Kermi Therm X2 має декілька переваг: 
1. Висока теплова потужність: з потужністю 2305 Вт, цей радіатор може 
забезпечити значну кількість тепла, що робить його ідеальним для великих 
приміщень. 
2. Ефективність: сталеві панельні радіатори, які є гладкими, як Kermi Therm 
X2, зазвичай є дуже ефективними за рахунок високої теплопровідності сталі. 
3. Конструкція та дизайн: їх гладкий дизайн і компактність роблять їх 
легкими для інтеграції в будь-який інтер'єр. Вони також дуже прості в установці. 
Лист 
ЧДТУ.23.19001.001 ПЗ 77    
Зм  Арк №Докум. Підп Дат
а  
 
 
4. Надійність: Kermi - це відомий німецький виробник з високими 
стандартами якості.  
5. Універсальність: ці радіатори добре працюють в централізованих системах 
опалення, а їхня гнучкість в плані розміру і кількості секцій робить їх адаптованими 
до багатьох різних потреб. 
Загалом, Kermi Therm X2 - це надійний, ефективний і високоякісний вибір 
для систем опалення. 
Аналіз умов праці в приміщенні підтвердив наявність проблеми зі системою 
опалення, яка проявляється в недостатній потужності радіаторів для забезпечення 
оптимальної температури в приміщенні. Дослідження показало, що в холодний 
період року температура в приміщенні коливається в межах 16-18°C, що нижче 
встановленого нормативом ДСН 3.3.6.042-99 рівня 21-25°C для робочих приміщень 
з використанням ПК. 
Технічні характеристики радіатора: 
• Висота  – 500 мм; 
• Опалювана площа – 23м2; 
• Глибина 100 мм 
• Довжина 1600 мм 
• Розміри 100 х 1600 х 500 мм 
• Вага, кг 47.52 кг 
• Тиск (бар) 10 бар 
• Міжосьова відстань  450 мм 
• Теплова потужність (90/70 ° С - ΔT60)  2305 Вт 
• Спосіб підключення Бічний 
• Тип Гладкий 
• Країна виробник товару Німеччина 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 78    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Рисунок 4.1 – Радіатор сталевий Kermi Therm-X2 Line-K PLK 22 505X1605 
 
Цей радіатор має відповідну теплову потужність, оптимальні розміри та 
надійну конструкцію, що забезпечить ефективне і рівномірне опалення 
приміщення. Вибір цього радіатора був зроблений на підставі порівняння 
характеристик і врахування вимог ДСН, які регулюють умови праці та норми 
проектування. 
Отже, рекомендується замінити поточні радіатори на 7 нових сталевих 
радіаторів Kermi Therm-X2 Line-K PLK 22 505X1605. Це рішення дозволить 
усунути недоліки системи опалення і покращити умови праці в приміщенні 
відповідно до вимог нормативних документів. Додатково, рекомендується 
проводити регулярний моніторинг температури в приміщенні для забезпечення 
контролю за дотриманням нормативів та вчасне виявлення можливих проблем. 
 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 79    
Зм  Арк №Докум. Підп Дат
а  
 
 
ВИСНОВКИ 
Темою дипломної роботи є реалізація механізму стеганографічного захисту з 
обмеженим доступом. Перед початком розробки було проаналізовано інформацію 
та обрано стеганографічний метод LSB для приховування інформації, та алгоритм 
AES для шифрування даних. Метод LSB приховує інформацію в найменшзначному 
біті в кожному кольоровому каналі, алгоритм AES шифрує інформацію за 
допомогою ключа розміром 256 біт за 14 раундів (довжину ключа обрано саме для 
цієї реалізації).  
Для пракичної реалізації даного механізму було обраном мову Python  через 
її ряд переваг, такі як: читпбельність, широкий перелік бібліотек, 
кросплатформенісь, простота у використанні. А також, було створено Telegram-
бот, який доступний більшому колу користувачів ніж ПЗ розроблене тільки для ПК 
або тільки для смартфонів. 
Провівши тести зробено висновок, що даний бот працює коректно та 
повністью виконує свої функції, а також має зручний інтерфейс із зрозумілими 
підказками.  
Проаналізувавши систему централізорваного опалення було прийнято 
рішення для її вдосконалення, а саме замінити всі алюмінієві радіатори на 6 
біметалеві радіатори Davinci 500/100 по 6 секцій. 
В результаті виконання дипломної роботи були виконані поставлені 
завдання, а саме: 
Оглянуто та проаналізовано літератури: Вивчення теоретичних аспектів 
стеганографії, методу LSB для приховування інформації в зображеннях та 
шифрування AES. Аналіз існуючих методів захисту інформації з обмеженим 
доступом, з особливим акцентом на стеганографічний захист. 
Розробка архітектури механізму стеганографічного захисту інформації: 
Визначення основних компонентів системи, таких як Telegram бот, алгоритм 
приховування інформації методом LSB, шифрування AES. Встановлення зв'язку 
між цими компонентами та розробка алгоритму роботи системи. 
Лист 
ЧДТУ.23.19001.001 ПЗ 80    
Зм  Арк №Докум. Підп Дат
а  
 
 
Розробка програмного коду для Telegram бота, який дозволить користувачам 
приховувати та діставати зашифровані повідомлення в зображеннях. Реалізація 
функціональності для взаємодії з користувачами та обробки зображень. 
Розробка алгоритму вбудовування та вилучення інформації методом LSB для 
зображень. Реалізація функцій шифрування та дешифрування AES для 
забезпечення безпеки прихованої інформації. 
Тестування: Проведення тестів на розробленому Telegram боті для перевірки 
його функціональності та коректності роботи.  
– Оглянуто предметну область обраних механізмів та алгоритмів. 
– Проаналізовано відомі механізми та алгоритми. 
– Розроблено програмний код для Telegram бота, який дозволить 
користувачам приховувати та діставати зашифровані повідомлення в зображеннях 
за допомогою бібліотеки pyTelegramBotAPI.  
– Розроблено алгоритм вбудовування та вилучення інформації методом 
LSB для зображень та алгоритм шифрування за допомогою бібліотек Pillow та 
pycryptodome.  
– Проведено тестування та перевірено  працездатність ПЗ. 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 81    
Зм  Арк №Докум. Підп Дат
а  
 
 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
1. Стеганографія [Електронний ресурс] Режим доступу - 
https://uk.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%B3%D0%B0%D0%
BD%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D1%96%D1%8F 
2. Advanced Encryption Standard [Електронний ресурс] Режим доступу - 
https://uk.wikipedia.org/wiki/Advanced_Encryption_Standard 
3. Стеганографія : навчальний посібник / О. О. Кузнецов, С. П. Євсеєв, О. 
Г. Король. – Х. : Вид. ХНЕУ, 2011. – 232 с.  
4. Основи комп’ютерної стеганографії : навч. посібн. для студентів і 
аспірантів / В. О. Хорошко, О. Д. Азаров, M. В. Шелест та ін. – Вінниця : ВДТУ, 
2003. – 143 с. 
5. Конахович Г. Ф. Компютерна стеганографія. Теорія та практика / Г. Ф. 
Конахович, А. Ю. Пузиренко. – К. : "МК-Прес", 2006. – 288 с. 
6. Комп’ютерна стеганографія та її можливості [Електронний ресурс] 
Режим доступу -
http://elar.naiau.kiev.ua/bitstream/123456789/2200/1/%D0%A8%D0%B5%D0%BB%
D0%B5%D1%81%D1%82%20%D0%9C.%20%D0%84..pdf 
7. Шифрування [Електронний ресурс] Режим доступу - 
https://hostpro.ua/wiki/ua/security/encryption-types-algorithms  
8. DES [Електронний ресурс] Режим доступу - 
https://bit.nmu.org.ua/ua/student/metod/cryptology/%D0%BB%D0%B5%D0%BA%D1
%86%D0%B8%D1%8F%206.pdf 
9. Як влаштований AES [Електронний ресурс] Режим доступу - 
https://habr.com/ru/articles/112733/ 
10. Шифр Калина [Електронний ресурс] Режим доступу - 
https://learn.ztu.edu.ua/pluginfile.php/184891/mod_resource/content/1/%D0%9B%D0
%B5%D0%BA%D1%86%D1%96%D1%8F6.pdf 
11. Blowfish [Електронний ресурс] Режим доступу - 
https://uk.wikipedia.org/wiki/Blowfish 
Лист 
ЧДТУ.23.19001.001 ПЗ 82    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
12. Алгоритм шифрування AES [Електронний ресурс] Режим доступу - 
https://studfile.net/preview/9129743/page:14/ 
13. Python документація [Електронний ресурс] Режим доступу - 
https://docs.python.org/3.10/tutorial/index.html 
14. Pycryptodome [Електронний ресурс] Режим доступу - 
https://pypi.org/project/pycryptodome/ 
15. pyTelegramBotAPI [Електронний ресурс] Режим доступу - 
https://pypi.org/project/pyTelegramBotAPI/ 
16. Pillow [Електронний ресурс] Режим доступу - 
https://pypi.org/project/Pillow/ 
17. Державні будівельні норми України [Електронний ресурс] Режим 
доступу – https://dbn.co.ua/ 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 83    
Зм  Арк №Докум. Підп Дат
а  
 
 
ДОДАТОК А 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 84    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 85    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 86    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 87    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 88    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 89    
Зм  Арк №Докум. Підп Дат
а  
 
 
  
Лист 
ЧДТУ.23.19001.001 ПЗ 90    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 91    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 92    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 93    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 94    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 95    
Зм  Арк №Докум. Підп Дат
а  
 
 
  
  
Лист 
ЧДТУ.23.19001.001 ПЗ 96    
Зм  Арк №Докум. Підп Дат
а  
 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 97    
Зм  Арк №Докум. Підп Дат
а  
 
 
 
Лист 
ЧДТУ.23.19001.001 ПЗ 98    
Зм  Арк №Докум. Підп Дат
а