Автор работы: Пользователь скрыл имя, 03 Декабря 2013 в 16:48, курсовая работа
Стеганографія (в перекладі із грецької steganos (секрет, таємниця) и graphy (запис)) — це наука про сховану передачу інформації шляхом збереження в таємниці самого факту передачі. На відміну від криптографії, що приховує вміст секретного повідомлення, стеганографія приховує саме його існування.
Стеганографія не замінює, а доповнює криптографію. Приховання повідомлення методами стеганографії значно знижує ймовірність виявлення самого факту передачі повідомлення. А якщо це повідомлення до того ж зашифроване, то воно має ще один, додатковий, рівень захисту.
АНОТАЦІЯ
Тема даної дипломної роботи - «Розробка програми кодування інформації за методами стеганографії з використанням формату JPЕG» - в рамках якої була розроблена програма.
Дана дипломна робота складається з семи розділів, які включають в себе підрозділи.
У першому розділі йдеться про стеганографію, методи кодування інформації за допомогою стеганографії і застосуванння їх до формату JPЕG.
У другому розділі описується алгоритм розгортання JPЕG, алгоритм кодування інформації в нього і розробка головного коду програми.
У третьому розділі розробляється інтерфейс програми.
У четвертому – опис роботи програми.
У п’ятому розділі проводиться відлагодження та тестування програми і аналіз отриманих результатів.
ANNOTATION
Subject of this diploma work - "Development of program coding for steganography methods using the format JPЕG» - in which the program was developed.
This thesis consists of seven chapters, which include units.
The first section states steganography methods of encoding information using steganography and using to their format JPЕG.
The second section describes the algorithm deployment JPЕG, algorithm coding in it, and head of program development.
The third section is developed interface.
The fourth - a description of the program.
In the fifth section is debugging and testing program and analysis results.
ВСТУП
Стеганографія (в перекладі із грецької steganos (секрет, таємниця) и graphy (запис)) — це наука про сховану передачу інформації шляхом збереження в таємниці самого факту передачі. На відміну від криптографії, що приховує вміст секретного повідомлення, стеганографія приховує саме його існування.
Стеганографія не замінює, а доповнює криптографію. Приховання повідомлення методами стеганографії значно знижує ймовірність виявлення самого факту передачі повідомлення. А якщо це повідомлення до того ж зашифроване, то воно має ще один, додатковий, рівень захисту.
Необхідність сховати яку-небудь інформацію від чужих очей виникла дуже й дуже давно. Сховати інформацію можна різними способами, наприклад, зашифрувати її. Правда, у цьому випадку супротивник знає, що ви передаєте деяке секретне повідомлення, але не може його прочитати (криптографія). Але іноді досить і самого факту передачі для одержання інформації про якусь подію, особливо якщо розглядати й зіставляти всі факти разом - на цьому заснована розвідка за матеріалами з відкритих джерел. Отож інший спосіб полягає в тому, щоб сховати не тільки повідомлення, але й сам факт його передачі, при цьому секретна інформація може втримуватися в цілком невинній фразі.
У цей час, коли об'єми різної інформації все ростуть, відповідно зростає частка відомостей, які необхідно тримати в таємниці від сторонніх очей. Застосування комп'ютерів дозволило вдосконалити відомі ідеї приховання інформації й дало можливість ховати текст і будь-які інші дані так, що їхнє дешифрування без знання ключів і паролів стало практично неможливо.
Розділ 1. Аналіз технічного завдання
1.1. Обгрунтування актуальності задачі
У сучасній комп'ютерній стеганографії існує два основні типи файлів:
При цьому контейнери бувають двох типів:
Основними положеннями сучасної комп'ютерної стеганографії є наступні:
Під ключем розуміється секретний елемент, який визначає порядок занесення повідомлення в контейнер.
У зв'язку із зростанням ролі глобальних комп'ютерних мереж стає все більш важливим значення стеганографії. Аналіз інформаційних джерел комп'ютерної мережі Internet дозволяє зробити висновок, що в даний час стеганографічні системи активно використовуються для вирішення наступних основних завдань:
Зупинимося докладніше на кожному з перерахованих завдань.
Захист конфіденційної інформації від несанкціонованого доступу
Ця область використання комп’ютерних систем є найбільш ефективною при вирішенні проблеми захисту конфіденційної інформації. Так, наприклад, тільки одна секунда оцифрованого звуку з частотою дискретизації 44100 Гц і рівнем відліку 8 біт в стерео режимі дозволяє приховати за рахунок заміни найменш значущих молодших розрядів на приховуване повідомлення близько 10 Кбайт інформації. При цьому, зміна значень відліків складає менше 1%. Така зміна практично не виявляється при прослуховуванні файлу більшістю людей.
Подолання систем моніторингу і управління мережевими ресурсами
Стеганографічні методи, направлені на протидію системам моніторингу і управління мережевими ресурсами промислового шпигунства, дозволяють протистояти спробам контролю над інформаційним простором при проходженні інформації через сервери управління локальних і глобальних обчислювальних мереж.
Камуфляж програмного забезпечення (ПЗ)
Іншим важливим завданням стеганографії є камуфляж ПЗ. У тих випадках, коли використання ПЗ незареєстрованими користувачами є небажаним, воно може бути закамуфльоване під стандартні універсальні програмні продукти (наприклад, текстові редактори) або приховано у файлах мультимедіа (наприклад, в звуковому супроводі комп'ютерних ігор).
Захист авторських прав
Ще однією областю використання стеганографії є захист авторського права від піратства. На комп'ютерні графічні зображення наноситься спеціальна мітка, яка залишається невидимою для очей, але розпізнається спеціальним ПЗ. Таке програмне забезпечення вже використовується в комп'ютерних версіях деяких журналів. Даний напрям стеганографії призначений не тільки для обробки зображень, але і для файлів з аудіо- і відеоінформацією і покликаний забезпечити захист інтелектуальної власності.
1.2. Кодування інформації методами стеганографії
Комп'ютерна стеганографія — напрям класичної стеганографії, заснований на особливостях комп'ютерної платформи.
Методи комп’ютерної стеганографії:
Цифрова стеганографія — напрям класичної стеганографії, заснований на приховуванні або впровадженні додаткової інформації в цифрові об'єкти, викликаючи при цьому деяке спотворення цих об'єктів. Але як правило, дані об'єкти є мультимедіа-об'єктами (зображення, відео, аудіо, текстури 3D-об’єктів) і внесення спотворень, які нижчим за поріг чутливості середньостатистичної людини, не до помітних змін цих об'єктів. Крім того, в оцифрованих об'єктах, що спочатку мають аналогову природу, завжди присутній шум квантування; далі, при відтворенні цих об'єктів з'являється додатковий аналоговий шум і нелінійні спотворення апаратури, все це сприяє більшій непомітності прихованої інформації.
Методи цифрової стеганографії:
Суть методу полягає в наступному: Допустимо, є 8-бітове зображення в градаціях сірого. 00h (00000000b) позначає чорний колір, FFh (11111111b) — білий. Всього є 256 градацій (28). Також припустимо, що повідомлення складається з 1 байту — наприклад, 01101011b. При використанні 2 молодших біт в описах пікселів, нам буде потрібно 4 пікселя. Допустимо, вони чорного кольору. Тоді пікселі, що містять приховане повідомлення, виглядатимуть таким чином: 00000001 00000010 00000010 00000011. Тоді колір пікселів зміниться: першого — на 1/255, другого і третього — на 2/255 і четвертого — на 3/255. Такі градації, мало того що непомітні для людини, можуть взагалі не відобразитися при використанні низькоякісних пристроїв виводу.
Методи LSB є нестійкими до всіх видів атак і можуть бути використані лише за відсутності шуму в каналі передачі даних.
Виявлення LSB-кодованого стего-файлу здійснюється по аномальних характеристиках розподілу значень діапазону молодших бітів відліків цифрового сигналу.
Інші методи приховування інформації в графічних файлах орієнтовані на формати файлів з втратою, наприклад, JPEG. На відміну від LSB вони стійкіші до геометричних перетворень. Це виходить за рахунок варіювання в широкому діапазоні якості зображення, що приводить до неможливості визначення джерела зображення.
2. Ехо-метод застосовуються в цифровій аудіостеганографії і використовують нерівномірні проміжки між ехо-сигналами для кодування послідовності значень. При накладанні ряду обмежень дотримується умова непомітності для людського сприйняття. Ехо характеризується трьома параметрами: початковою амплітудою, ступенем , затримкою. Досягши порогу між сигналом і ехом вони змішуються. У цій точці людське вухо не може вже відрізнити ці два сигнали. Наявність цієї точки складно визначити, і вона залежить від якості початкового запису, слухача. Найчастіше використовується затримка близько 1/1000, що цілком для більшості записів і слухачів. Для позначення логічного нуля і одиниці використовується дві різні затримки. Вони обидві мають бути менші, ніж поріг чутливості вуха слухача до отримуваного відлуння. Ехо-методи стійкі до амплітудних і частотних атак, але нестійкі до атак за часом.
3. Фазове кодування (phase coding - фазове кодування) — також застосовується в цифровій аудіостеганографії. Відбувається заміна початкового звукового елементу на відносну фазу, яка і секретним повідомленням. Фаза елементів, що йдуть підряд, має бути додана так, щоб зберегти відносну фазу між початковими елементами. Фазове кодування одним з найефективніших методів приховування інформації.
4. Метод розширеного спектру полягає в тому, що спеціальна випадкова послідовність вбудовується в контейнер, потім, використовуючи узгоджений фільтр, дана послідовність детектується. Даний метод дозволяє вбудовувати велику кількість повідомлень в контейнер, і вони не створюватимуть перешкоди один одному. Метод запозичений широкосмугового зв'язку.
1.3. Застосування методів стеганографії до формату JPЕG
До формату JPЕG не можна застосовувати ті ж самі методи кодування інформації, що застосовуються до некомпресованих форматів (наприклад, метод заміни молодших бітів) тому, що формат JPЕG є закодований методом Хаффмана. Тому для кодування можна застосовувати такі методи:
В своїй роботі я обрав 1-ий метод, але я приховував інформацію в сегмент APP, який має таку структуру: