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

1.2 Завдання на лабораторну роботу

Робота виконується за варіантами: N – номер машини.

1. Перетворіть десяткове число 13хN на двійкове 8-бітове, 64-бітове.

2. Сформуйте одновимірний байтовий масив з 10хN елементів. Заповніть його з текстового рядка такої ж довжини і перетворіть його на одновимірний бітовий масив, розмірністю 80хN.

3. Сформуйте одновимірні бітовий та байтовий масиви однакової довжини, вбудуйте елементи бітового масиву в молодші біти байтового. Запишіть отриманий байтовий масив у текстовий файл. Обміняйтеся файлами із сусідою і виконайте процедуру витягання. Звірте результати.

4. Виберіть BMP-файл і запишіть його у двовимірний масив. Перетворіть його на одновимірний масив з одним рядком, з однією колонкою.

5. Виконайте поворот обраного зображення засобами MathCad на 90 градусів проти годинникової стрілки.

6. Перетворіть обране зображення на негативне (оберніть інтенсивність кожної складової) засобами MathCad.

7. Побудуйте графічне зображення обраного WAV-файлу (графік залежності амплітуд обох каналів від часу).

1.3 Зміст звіту

  1. Титульний лист, тема і мета роботи.

  2. Виконані розрахунки.

  3. Висновки по роботі.

1.4 Контрольні питання

  1. Якими структурами представляються графічні та звукові файли в середовищі MathCad?

  2. За допомогою яких функцій можна виконувати перетворення між двовимірними та одновимірними масивами?

  3. Чи є процедура вбудовування у молодші біти оборотною?

  4. Які параметри звукових файлів важливі для MathCad?

  5. Які параметри графічних файлів важливі для MathCad?

Лабораторна робота № 2 метод lsb

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

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

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

Метод LSB

Одним з найбільш розповсюджених стеганографічних методів, що використовують психофізичні особливості суб'єкта (тобто людини), є метод заміни молодших бітів чи LSB-метод (Least Significant Bits). Його популярність для демонстраційних цілей обумовлена функціональною простотою і великою місткістю. Хоча для професійних завдань він програє іншим методам (наприклад, різним варіаціям методу квантування) через низьку стійкість до стеганоаналізу.

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

Розглянемо використання даного методу на прикладі файлів формату BMP, що зберігають зображення в True Color.

У файлах BMP True Color інформація про колір кожного пікселя задається трьома байтами. Кожен байт містить одну з трьох складових кольора (червону, синю і зелену). Інтенсивність кожної складової лежить у межах від 0 до 255, тобто кожна складова має 256 відтінків. Варіюючи інтенсивність кожної складової, можна змінювати колір від чорного, коли інтенсивність усіх складових дорівнює нулю, до білого, коли інтенсивність усіх складових максимальна і дорівнює 255. Таким чином, максимальна кількість усіх можливих кольорів складає більш ніж 16 мільйонів. Однак, як відомо, око людини здатне розрізняти лише близько 4 тисяч кольорів.

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

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

Реалізація LSB-метода

Для реалізації LSB-метода в середовищі MathCad необхідно обрати BMP-файл і файл, що містить інформацію для вбудовування. З використанням функції READRGB() формується двовимірний масив C компонент кольору вибраного файлу BMP. За допомогою функції READBIN() формується масив M байт елементів повідомлення. Наступний крок – перетворення двовимірного масиву C в одновимірний масив Cv за допомогою функції stack(). Розмір масиву

M (розмір вбудовуваного повідомлення) необхідно представити у вигляді двійкового 64-елементного масива. У молодші біти перших 64 байт одновимірного масиву Cv заноситься розмір повідомлення. У подальші байти масиву Cv вбудовується повідомлення, розташовуючи по одному біту в кожен байт. Частина масиву Cv, що залишилася, залишається без змін. Результуючий одновимірний масив Sv необхідно перетворити на двовимірний масив CC, що містить компоненти R, G, B, з якого, використовуючи функцію WRITERGB(), сформувати файл BMP. При витяганні повідомлення перетворення над BMP-файлом залишаються тими самими, спочатку витягається розмір повідомлення з перших 64 байтів, а потім і саме повідомлення. Отриманий бітовий масив необхідно перевести у байтовий і, за допомогою функції WRITEBIN(), записати в текстовий файл.

Недоліки LSB-метода

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

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

Вбудовування з випадковим кроком

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

,

де х – одновимірний масив – двійкове представлення деякого числа.

Вбудовування відбувається за допомогою наступної процедури:

,

де Cv – одновимірний масив, що представляє пікселі зображення;

М – повідомлення.

У перших 64 байти масиву Sv, як і в звичайному LSB-методі, упроваджується розмір вбудовуваного повідомлення.

Відповідно, витягання відбувається за допомогою процедури:

,

де Mrows – довжина вбудованого повідомлення (витягається з перших 64 байт масиву Cv)

Вбудовування за допомогою випадкової перестановки

У попередньо розглянутому методі, хоча інформація і вбудовується не в кожен піксель зображення, вбудовування все ж таки відбувається послідовно. Для усунення цього недоліку можна застосовувати вбудовування на основі випадкової перестановки. При цьому біти повідомлення вбудовуються послідовно відповідно до деякої перестановки, утвореної з пікселів зображення. Наприклад, перший біт повідомлення може виявитися вбудованим в 125-й піксель зображення, 2-й біт – в 78-й піксель, 3-й, – в 99-ій і так далі

Перестановка може охоплювати як всі пікселі зображення, так і якусь область, більшу за розмір повідомлення або рівну йому. У даній лабораторній роботі пропонується використовувати перестановку з 999 елементів масиву (пікселів зображення). Для завдання перестановки зручно використовувати лінійний конгруентний генератор з максимальним періодом. Як параметри пропонуються наступні значення, що дозволяють досягти максимального періоду: Ad = 112; Cd = 11; md = 999. Послідовність, що визначає перестановку задається так:

Отримана послідовність є випадковою перестановкою чисел від 65 до 1064, її необхідно застосувати при вбудовуванні до елементів масиву, що містить колірні складові зображення.

Вбудовування здійснюється за допомогою наступної процедури:

У перших 64 байти масиву Sv, як і в звичайному LSB-методі, вбудовується розмір прихованого повідомлення.

Для витягання вбудованого повідомлення необхідно знати перестановку і реалізувати відповідну процедуру:

,

де Mrows – довжина вбудованого повідомлення (витягається з перших 64 байт масиву Cv).

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