Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_steg_v1.2.doc
Скачиваний:
17
Добавлен:
20.11.2019
Размер:
1.41 Mб
Скачать

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

Запорізький національний технічний університет

Методичні вказівки

до лабораторних робіт з дисципліни “Стеганографічний захист інформації”

для студентів, що навчаються за напрямами 6.170101 “Безпека інформаційних і комунікаційних систем” і 6.170102 “Системи технічного захисту інформації”

2008

Методичні вказівки до лабораторних робіт з дисципліни “Стеганографічний захист інформації” для , що навчаються за напрямами 6.170101 “Безпека інформаційних і комунікаційних систем” і 6.170102 “Системи технічного захисту інформації”. /Укл.: Г.Л.Козіна, Г.І. Нікуліщев. - Запоріжжя: ЗНТУ, 2008. – 51 с.

Укладачі: Г.Л.Козіна, доцент, к.ф.-м.н.

Г.І. Нікуліщев, асистент

Рецензент: Л.М. Карпуков, проф., д.т.н.

Відповідальний

за випуск: Г.Л.Козіна, доцент, к.ф.-м.н.

Затверджено

на засіданні кафедри

“Захист інформації”

Протокол № ______

від “___” _______ 2008

ЗМІСТ

Вступ 4

Лабораторна робота № 1. Основні функції MathCad 9

Лабораторна робота № 2. Метод LSB 14

Лабораторна робота № 3. Метод квантування зображення 23

Лабораторна робота № 4. Метод Куттера-Джордана-Боссена 29

Лабораторна робота № 5. Приховування даних в частотній області зображення (метод Коха-Жао) 35

Лабораторна робота № 6. Вбудовування цифрових водяних знаків в зображення (статистичний метод) 40

Лабораторна робота № 7. Приховування даних у звукових файлах 45

Література 49

Додаток А Статистичні показники викривлення 50

Вступ

Можна виділити принаймні дві причини популярності сучасних досліджень у сфері стеганографії: обмеження на використання криптографічних засобів у низці країн світу і виникнення проблеми захисту прав власності на інформацію, представлену в цифровому вигляді. Приховування факту існування секретних даних при їхній передачі, зберіганні і обробці є задачею стеганографії – науки, яка вивчає способи і методи приховування конфіденційних відомостей.

Під приховуванням існування інформації мається на увазі не тільки неможливість виявлення в перехопленому повідомленні наявності іншого (прихованого) повідомлення, але і взагалі зробити неможливим виникнення будь-яких підозр із цього приводу, оскільки в останньому випадку проблема інформаційної безпеки повертається до стійкості криптографічного коду. Таким чином, займаючи свою нішу в забезпеченні безпеки, стеганографія не замінює, а доповнює криптографію.

Історія знає безліч прикладів використання стеганографічних методів. Це і лист непомітними чорнилами між рядків звичайного листа, і застосування нульового шифру, що означає украплення тексту повідомлення в текст листа банального змісту і використання мікро-фотографій. Загальною ж межею таких способів є те, що приховане повідомлення вбудовується в якийсь об'єкт, що не привертає уваги і потім відкрито транспортується (пересилається) адресату.

З розвитком комп'ютерних технологій стеганографія одержала своє друге народження. З'явилася велика кількість нових стеганографічних методів, що використовують особливості представлення інформації в комп'ютерних файлах. Мета комп'ютерної стеганографії полягає в тому, щоб сховати задану інформацію усередині деяких файлів, безпечних з погляду цензури, без утрати їхньої функціональності. По суті, комп'ютерна стеганографія базується на двох принципах. Перший полягає в тому, що файли, які містять оцифроване зображення чи звук, можуть бути до деякої міри змінені без утрати функціональності, на відміну від інших типів даних, що вимагають абсолютної точності. Другий принцип складається в нездатності органів почуттів людини розрізнити незначні зміни в кольорі зображення чи якості звуку, що особливо легко використовувати стосовно до об'єкта, який несе надлишкову інформацію, наприклад, 16-бітний звук, 8-бітне чи ще краще 24-бітне зображення.

Властивості зорової системи людини можна розділити на дві групи: низькорівневі ("фізіологічні") і високорівневі ("психофізіологічні"). Майже до середини 1990-х г.г. дослідники брали до уваги, головним чином, низькорівневі властивості зору. Останніми роками позначилася тенденція побудови стегоалгоритмів з урахуванням і високорівневих характеристик зорової системи людини.

Виділяють три найважливіші низькорівневі властивості, що впливають на помітність стороннього шуму в зображенні:

– чутливість до зміни яскравості (контрастності) зображення;

– частотна чутливість;

– ефект маскування. .

Результати новітніх досліджень суперечать "класичній" теорії і показують, що при малих значеннях яскравості поріг невиразності зменшується, тобто зорова система людини більш чутлива до шуму в цьому діапазоні.

Частотна чутливість зорової системи людини виявляється в тому, що людина набагато більш сприйнятлива до низькочастотного, ніж до високочастотного шуму. Це пов'язано з нерівномірністю амплітудно-частотної характеристики зорової системи людини.

Елементи зорової системи людини розділяють відеосигнал, що поступає, на окремі складові, кожна з яких порушує нервові закінчення ока через ряд підканалів. Складові, що виділяються оком, мають різні просторові і частотні характеристики, а також різну просторову орієнтацію (горизонтальну, вертикальну, діагональну).

У разі одночасного впливу на око двох складових з схожими характеристиками збуджуються одні і ті ж підканали. Це призводить до ефекту маскування, який полягає в збільшенні порогу виявлення зорового сигналу у присутності іншого сигналу, що має аналогічні характеристики. Тому, аддитивний шум набагато помітніший на низькочастотних (однотонних) ділянках зображення в порівнянні з високочастотними ділянками, тобто, в останньому випадку спостерігається маскування. Найбільш сильно даний ефект виявляється, коли обидва сигнали мають однакову орієнтацію і місце розташування.

Високорівневі властивості зорової системи людини поки що рідко враховуються при побудові стегоалгоритмів. Вони відрізняються від низькорівневих тим, що виявляються "повторно" – обробивши первинну інформацію від зорової системи людини, мозок видає команди на "підстроювання" зорової системи під зображення.

Властивості зорової системи людини:

– чутливість до контрасту: висококонтрастні ділянки зображення і перепади яскравості звертають на себе більше уваги;

– чутливість до розміру: великі ділянки зображення більш "помітні" в порівнянні з меншими за розміром, причому існує поріг насиченості, коли подальше збільшення розміру не грає ролі;

– чутливість до форми: довгі і тонкі об'єкти викликають більш уваги, ніж закруглюючі і однорідні;

– чутливість до кольорів: деякі кольори (наприклад, червоний) більш «помітні», ніж інші (синій менш «помітний»); цей ефект посилюється, якщо фон заднього плану відрізняється від кольорів фігур на ньому;

– чутливість до місця розміщення: людина схильна в першу чергу розглядати центр зображення; також уважніше розглядаються фігури переднього плану, ніж заднього;

– чутливість до зовнішніх подразників: рух очей спостерігачів залежить від конкретної обстановки, від одержаних ними перед переглядом або під час його інструкцій, додаткової інформації.

Нажаль, стеганографічні методи приховування даних в просторовій області зображення є нестійкими до більшості з відомих видів викривлень. Так, наприклад, використовування операції компресії з втратами (щодо зображення, це може бути JPEG-компресія) приводить до часткового або, що більш вірогідне, повного знищення вбудованої в контейнер інформації. Більш стійкими до різноманітних викривлень, у тому числі і компресії, є методи, що використовують для приховування даних не просторову область контейнера, а частотну.

Існує декілька способів представлення зображення в частотній області. При цьому використовується та або інша декомпозиція зображення, що використовується як контейнер. Наприклад, існують методи на основі використовування дискретного косинусного перетворення, дискретного перетворення Фурье, вейвлет-перетворення, перетворення Карунена-Лоєва і деякі інші. Подібні перетворення можуть застосовуватися або до окремих частин зображення, або до зображення в цілому.

Найбільше поширення серед всіх ортогональних перетворень в стеганографії набули вейвлет-перетворення і дискретне косинусне перетворення, що певною мірою пояснюється значним розповсюдженням їх використання при компресії зображень. Крім того, для приховування даних доцільно застосовувати саме те перетворення зображення, якому останнє піддаватиметься з часом при можливій компресії. Наприклад, відомо, що дискретне косинусне перетворення є базовим в стандарті JPEG, а вейвлет-перетворення – в стандарті JPEG2000.

Стегоалгоритм може бути достатньо стійким до подальшої компресії зображення, тільки якщо він враховуватиме особливості алгоритму перспективного стиснення. При цьому, звичайно, стегоалгоритм, в основу якого закладено вейвлет-перетворення, зовсім не обов'язково буде стійким до дискретно-косинусного алгоритму стиснення, і навпаки.

Приховування даних в звукових сигналах є також достатньо перспективним, оскільки слухова система людини працює в понад широкому динамічному діапазоні. Слухова система людини сприймає більш ніж мільярд до одного в діапазоні потужності і більш ніж тисяча до одного в частотному діапазоні. Окрім цього, високою є і чутливість до аддитивного флуктуаційного (білого) шуму. Відхилення в звуковому файлі можуть бути виявлені аж до однієї десятимільйонної (на 70 дБ нижче за рівень зовнішніх шумів).

Не дивлячись на це, існують певні можливості для приховування інформації і в аудіосередовищі. Хоча слухова система людини і має широкий динамічний діапазон, вона характеризується достатньо малим різницевим діапазоном. Як наслідок, гучні звуки сприяють маскуванню тихих звуків. Крім того, людина не здатна розрізняти абсолютну фазу, розпізнавати тільки відносну. Нарешті, існують деякі види спотворень, викликаних навколишнім середовищем, які настільки звичні для слухача, що в більшості випадків ним ігноруються.

Подібні особливості слухового апарату людини дозволяють вдало використовувати аудіосередовище з метою упровадження стегографічної системи захисту конфіденційної інформації. Значний внесок у розвиток аудіостегографічних систем внесли Бендер (W. Bender), Морімото (N. Morimoto) та інші.

Лабораторна робота № 1 основні функції mathcad

Мета роботи: ознайомитися з пакетом математичних обчислень MathCAD, вивчити необхідні функції та процедури.

Використовуване програмне забезпечення: пакет математичних обчислень MathCad.

1.1 Теоретичні відомості

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

Функції перетворення між файлами та масивами

Функція READRGB(file) повертає масив, що складається з трьох підмасивів компонент (червоного, зеленого і синього) кольору зображення file-а.

Функції READ_RED(file), READ_GREEN(file), READ_BLUE(file) повертають масиви, що відповідають червоній, зеленій і синій компонентам кольору зображення file-а.

Функція WRITERGB(file) записує двовимірний масив в file.

Функція READBIN(file, type) повертає одновимірний числовий масив даних file-а .

Функція WRITEBIN("file", "type", endian) записує одновимірний масив в file з елементів типу «type». Параметр endian приймає значення 0 або 1. Якщо endian=0, то запис байтів починається з бітів меншого розряду (стандарт IBM-PC), якщо endian=1 – з бітів більших розрядів (стандарт Macintosh). В даній лабораторній роботі рекомендовано використовувати значення 0.

Функція GETWAVINFO(file) повертає 4 інформаційні параметри звукового файлу – кількість каналів, частоту семплювання, кількість бітів на відлік і середню кількість байтів на секунду звучання.

Функція READWAV(file) повертає масив, кількість колонок якого збігається з кількістю каналів звукового файлу file, а кількість рядків відповідає кількості амплітудних відліків, значення яких зберігаються в цьому масиві.

Функція WRITEWAV(file, s, b) записує масив з s колонками в звуковий файл з s каналами і середньою кількістю байтів на секунду звучання b.

Приклади.

C:= READRGB(“d:\edu\cr.bmp”)

WRITERGB(“d:\edu\cr.bmp”):=Sr

M:=READBIN(“d:\edu\m1.txt”,”byte”)

WRITEBIN(“d:\edu\m2.txt”,”byte”,0):=Mv

Робота з векторами і матрицями

Функція cols(A) повертає кількість стовпців в масиві A.

Функція rows(A) повертає кількість рядків в масиві A.

Функція vec2str(A) конвертує елементи масиву A в символьний рядок.

Функція stack(A,B) об'єднує масиви A, B з однаковою кількістю стовпців зверху вниз. Ця функція дозволяє, зокрема, постовпцево перетворювати двовимірний масив в одновимірний.

Функція augment(A,B) аналогічна функції stack(A,B), але з’єднує масиви зліва направо за умови однакової кількості рядків.

Функція submatrix(A,m,n,i,j) вирізає з масиву A підмасив, що складається з рядків з m-ого по n-й і стовпців з i-го по j-й. Ця функція дозволяє, зокрема, перетворювати одновимірний масив в двовимірний.

Приклади.

rows(M)=13

vec2str(M)=”steganography”

Перетворення двовимірного масиву C в одновимірний Cv:

Перетворення одновимірного масиву Sv в двовимірний масив CC, що містить m рядків і n стовпців:

Перетворення чисел

Для перетворення десяткових чисел у відповідні двійкові масиви і навпаки можна використовувати наступні функції:

D2B(x) – переведення десяткового 8-бітового числа x в двійковий 8-елементний масив

D2B64(x) – переведення десяткового 64-бітового числа x в двійковий 64-елементний масив

B2D(x) – переведення двійкового 8-елементного масиву x в десяткове 8-бітове число

B2D64(x) – переведення двійкового 64-елементного масиву x в десяткове 64-бітове число

Вбудовування елементів бітового масиву в молодші біти байтового масиву даних

Елементи бітового масиву bt можуть бути вбудовані в молодші біти байтів – елементів одновимірного масиву Cv – таким чином:

Вбудовування відбувається послідовно в кожен байт масиву Cv.

Витягання елементів бітового масиву з молодших бітів байтового масиву даних

Молодші біти перших 64 байтів – елементів одновимірного масиву Cv – можно витягувати з масиву Cv в масив bt таким чином:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]