Г Ф Конахович - Комп'ютерна стеганографія теорія і практика - страница 22

Страницы:
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51 

Процес приховування починається з випадкового обрання блоку Cb зображення, призначеного для кодування b-го біта повідомлення. Вбудовування інформації здійснюється таким чином: для передачі біта «0» прагнуть, щоб різниця абсолютних значень коефіцієнтів

ДКП була більшою за деяку додатну величину, а для передачі біта «1» ця різниця робиться меншою за деяку від' ємну величину:

П*(U1,v^1-ІП*(U2,v2)|>P, npu ть = 0;

(5.19)

|Пь (u1,v1) |-Пь (u2,v2) |<-P, npu mb =1.

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

Для видобування даних в декодері виконується та сама процедура обрання коефіці­єнтів, а рішення про переданий біт приймається у відповідності до правила:

т* = 0, npu

ПЬ (u1,v1) > ПЬ (u2,v2)

т* =1, npu   П* (u1,v1) < П* (u2,v2)

(5.20)

iubmatrixi

(М.46)

1) Виділяємо масиви колірних компонентів зображення:

R := READ_RED("C.bmp");   G := READ_GREEN("C.bmp");   B := READ_BLUE("C.bmp").

2) У зв'язку з низькою чутливістю ЗСЛ до каналу синього кольору і можливим за певних обставин досить значним спотворенням контейнера при вбудовуванні, секретне повідомлення вбудовуватимемо до масиву B. Нехай, як і у попередніх випадках, повідомлення має вигляд M := "© Пузиренко О.Ю., 2005 р.".

3) Визначимо розмірність масиву B та задамо розмірність сегментів (блоків), на які він розбиватиметься: кількість рядків X := rows(B), X = 128; кількість стовпців Y := cols(B), Y = 128; розмірність сегментів N := 8 піксе­лів. Загальна кількість сегментів, на с := яку     розбивається зображення: NC:=X Y/N2, Nc = 256 сегментів.

Розбивку масиву В на сегменти С проводимо за допо­могою модуля (М.46).

4) Кожен сегмент С при­значено для приховування одного біта конфіденційного повідомлення М. Тому попередньо необхідно перевірити достатність кількості сегментів для цієї операції.

Кількість біт у повідомленні, яке приховується (один символ повідомлення кодується вісімкою бітів): Lm := 8-strlen(M) = 200 біт < Nc = 256. Отже, об'єм повідомлення має прийнят­ний для вбудовування обсяг.

5) Застосуємо до кожного з сегментів пряме дискретне косинусне перетворення - див. вираз (5.18 а). Програмний модуль прямого ДКП (М.47) складається з двох частин: перша (а) визначає значення коефіцієнтів Z для поточного значення аргументу х, друга (б) проводить обчислення спектральних коефіцієнтів ДКП для кожного сегменту Cb, при цьому одержуються відповідна матриця розмірністю NxN. Коефіцієнт у лівому верхньому куті матриці Пь (нагадаємо, що в нашому випадку нумерація елементів масивів починається з одиниці) - (Пь)і і містить інформацію про яскравість всього сегмента

(його зазвичай називають DC-коефіцієнтом). Інші коефіцієнти називаються АС-коефіцієнтами. Причо­му, коефіцієнти НЧ компонентів розташовані ближче до лівого верхнього кута, а ВЧ компонентів - ближче до правого нижнього кута (рис.5.27).

ах) :=

1 if

1 > °

(М.47 а)

5

(М.47 б)

12345678

НЧ компоненти; СЧ компоненти; ВЧ компоненти.

-603

203

11

45

-30

-14

-14

-7

-108

-93

10

49

27

6

8

2

-42

-20

-6

16

17

9

3

3

56

69

7

-25

-10

-5

-2

-2

-33

-21

17

8

3

-4

-5

-3

-16

-14

8

2

-4

-2

1

1

0

-5

-6

-1

2

3

1

1

9

5

-6

-9

0

3

3

2

Як зазначалося у попередньому розділі, НЧ компоненти містять переважну частину енер­гії зображення і, отже, носять шумовий характер. ВЧ компоненти більше піддаються впливові з боку різних алгоритмів обробки (див. рис.5.25). Таким чином, для вбудовування повідомлення більш оптимальними є середньочастотні компо­ненти спектру зображення.

6) Задаємо позиції двох коефіцієнтів ДКП в масиві Пь, які використовуватимуться при вбудовуванні і видобуванні повідомлення до/з контейнера. Ці два коефіцієнти повинні відпові­дати косинус-функціям із середніми частотами, що забезпечить прихованість інформації в суттє­вих областях сигналу, і зробить її стійкішою до JPEG-компресії. Для створення більш захищеної від зламу стеганосистеми зазначена пара коефіці­єнтів ДКП повинна обиратися псевдовипадково, звичайно, з множини середньочастотних коефі­цієнтів.

Нехай перший коефіцієнт визначається координатами := 4; v1 := 5), а другий -(U2 := 5; v2 := 4).

Також встановлюємо значення порогу, з яким порівнюватимуться різниці модулів коефі­цієнтів. Нехай P := 25.

7) Вбудовування інформації проводитимемо у відповідності до рекомендацій, даних перед виразом (5.19): для передачі біта «0» необхідно, щоб різниця модулів коефіцієнтів ДКП була більшою за величину P, а для передачі біта «1» ця різниця повинна бути меншою за -P. Даний принцип покладено в основу модуля (М.48). На початку модуля масиву Пм присво­юється значення масиву П. Рядок символів M перетворюється на вектор їх ASCII-кодів. У циклі зміни (перебирання кодів символів) формат коду кожного символу перетворюється з десят­кового на двійковий. Кожен з вісімки отриманих при цьому бітів приховується у окремому сегменті зображення шляхом модифікації значень коефіцієнтів ДКП відповідного сегменту. Для зменшення помітності вбудовування, замість односторонньої зміни величини одного з двох коефіцієнтів ДКП для задоволення вимог (5.19), можна змінювати їх одночасно у протилежних напрямках: наприклад, при вбудовуванні «0» - збільшувати модуль коефіцієнту з координатами (и1, v1) і одночасно зменшувати модуль коефіцієнту з координатами (и2, v2).

Рис.5.27. Приклад масиву П коефіцієнтів ДКП

(М.48)

8) Виконуємо обернене ДКП (М.49) відповідно до формули (5.18 б).

(М.49)

9) Проводимо збирання сегментів до масиву, використовуючи програмний модуль (М.50). Наприкінці модуля проводиться нормування значень інтенсивностей пікселів зобра­ження, оскільки модифікування коефіцієнтів ДКП у деяких випадках може призвести до виходу вказаних значень за припустимі межі [0, 255].

Відтворюємо масив від­новленого зображення графічно (рис.5.28 а). Також на рис.5.28 зображено контейнер-результат, відновлений за колірними скла­довими R-G-Bm. Крім того наве­дено вигляд, якого набувають ма­сив синього кольору і контейнер-результат у випадку встановлен­ня значення порогу P := 250 за незмінних значень (U1; v1) і (U2; v2) (рис.5.28 б).

Вм R = G = В

_Р = 25_

а) б)

Рис.5.28. Результати вбудовування секретного повідомлення M до контейнера шляхом модифікації коефіцієнтів ДКП сегментів масиву каналу синього при різних значеннях порогу P

10) Розглянемо процес видобування повідомлення на приймальній стороні. Одержувачеві повинні бути відомими: алгоритм приховання, колірний масив-контей-

нер (B*) і його розмірність (X* та Y*), розмірність сегментів (N*) та матричні координати коефіцієнтів косинусних функцій, які  використовувалися для приховання  [(и*1; v*1) та

*2; v*2)].

Проводиться обчислення загальної кількості сегментів у зображенні-контейнері: N*C := X* • Y*/N*2.

11) Розбивка масиву B* на сегменти виконується за модулем, аналогічним за будовою модулю (М.46). В результаті одержується масив C*, кожен елемент якого становить собою матрицю розмірністю N*xN*.

12) До кожного сегмента застосовується пряме ДКП (див. модуль (М.47)), при цьому отримується масив П* коефіцієнтів ДКП кожного окремого сегмента C*.

13) Модулем (М.51) здійснюється видобування прихованої інформації. До основи модуля покладено перевірку співвідношень (5.20), за результатами якої біту повідомлення, що видобувається, присвоюється значення 0 або 1 . Після видобування кожного восьмого біту одержаний вектор (m*) перетворюється з масиву двійкових даних на відповідне десяткове число, яке заноситься до визначеного змінною j елементу вектора M*. Результат видобування в наприкінці модуля трансформується з вектору ASCII-кодів на символьний рядок.

14) Результати обчислення показ­ників візуального спотворення при P = 0.5 і P = 25 зведені до табл.5.4.

М* :=

5.3.3.2. Метод Бенгама-Мемона-

Ео-Юнг

і <- 1 І<- 1

for   = 1 N*

П' <- Q*

а1

1 v 1

(М.51)

rowst

D. Benham, N. Метоп, B.-L. Yeo, та Minerva Yeung [103] запропонували оптимізовану версію попереднього ме­тоду. Причому оптимізація була прове­дена ними за двома напрямками: по-перше, було запропоновано для вбудову- | | j <_ j + ] \f rows і вання використовувати не всі блоки, а лише найбільш придатні для цього, по-друге, у частотній області блоку для вбудовування обираються не два, а три коефіцієнти ДКП, що, як буде показано нижче, суттєво зменшує спотворення контейнера. Розглянемо зазначені удоско­налення більш докладно. | vec2str(M*

Придатними для вбудовування інформації вважаються блоки зображення, які одночасно задовольняють наступним двом вимогам: 1) блоки не повинні мати різких переходів яскравості; 2) не повинні бути занадто монотонними. Блоки, що не відповідають першій вимозі, характеризуються наявністю декількох занадто великих значень низькочастотних коефіцієнтів ДКП, порівнянних за своєю величиною з DC-коефіцієнтом. Для блоків, що не задовольняють другій вимозі, є характерною рівність нулеві більшості високочастотних коефіцієнтів. Вказані особливості являються критерієм відбраковування непридатних блоків.

Зазначені вимоги відбраковування врахуємо використанням двох порогових коефіці­єнтів: PL (для першої вимоги) і PH (для другої вимоги), перевищення (PL) або недосягнення (PH) яких вказуватиме, що блок не придатний для модифікацій у частотній області.

Вбудовування біту повідомлення до блоку здійснюється наступним чином. Обираються (для більшої стійкості стеганосистеми - псевдовипадково) три коефіцієнти ДКП блоку з середньочастотної області з координатами (и1, v1), (и2, v2) та (и3, v3). Якщо необхідно провести вбудовування «0», ці коефіцієнти змінюються таким чином (звичайно, якщо це необхідно), щоб третій коефіцієнт став менше кожного з перших двох; якщо потрібно приховати «1 », він робиться більшим за інші:

\ПЬ (u3,v3) I <|П (u1,v1)|; (u3,v3) |<|пЬ (u2,v2)|.

|Пb (u3,v3) I>|Пb (u1,v1)|; |Пb (u3,v3) |>|Пb (u2,v2)|.

npu mb = 0;

npu mb =1.

(5.21)

Як і у попередньому методі, для встановлення достатності розрізнення зазначених коефіцієнтів ДКП, введемо до виразу (5.21) значення порогу розрізнення P:

(u3,v3^ < П1Іп(|пь (u1,v1)^ і пь (u2,v2)| )"P,  npu mb = 0;

(5.22)

|пь (u3,v3^ > max^Ob |пь (u2,v2)|)+ P, npu mb =1.

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

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

Наведемо можливий варіант реалізації даного методу у програмі MathCAD.

1) Вихідні дані, програмні модулі розбиття масиву контейнера на блоки та проведення прямого ДКП аналогічні використаним при моделюванні попереднього методу ((М.46), (М.47)).

2) Задаємо координати трьох коефіцієнтів ДКП у масиві Пь, які будемо використо­вувати для вбудовування і видобування бітів повідомлення до/ з контейнера. Наприклад, і := 7; vi := 3), := 5; v2 := 5), з := 3; vs := 7).

Страницы:
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51 


Похожие статьи

Г Ф Конахович - Оцінка ефективності систем захисту інформації в телекомунікаційних системах

Г Ф Конахович - Комп'ютерна стеганографія теорія і практика