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

Страницы:
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 

Розмірність, яку повинні мати блоки ЦВЗ для одержання їх кількості Xw = ^c,

2

n := A N^X, n = 4. Виконуємо перевірку кількості одержуваних блоків ЦВЗ: Xw := A Z-m , Xw = 256.

4) Програмний модуль розбиття контейнера на Xc блоків розмірністю NxN - (М.55).

(М.55)

wvec

for   I ё 2

w

.(1)

(М.56)

5) Псевдовипадкову перестановку елементів ЦВЗ проведемо у тому порядку, який був запропонований Хсу і Ву. По-перше, проведемо індексацію кожного пікселя ЦВЗ (від 1 до A-Z = 4096), для чого Wvec просто розгорнемо масив ЦВЗ у вектор

(модуль (М.56)). По-друге,  отримані |    Wvec <- stack Wlja„.W

індекси розставимо у довільному (псевдовипадковому) порядку, для чого

використаємо лінійний регістр зсуву із зворотним зв'язком (ЛРЗЗЗ або LFSR -Linear Feedback Shift Register).

Як відомо, ЛРЗЗЗ складається з двох частин: власне регістру зсуву і функції зворотного зв'язку (рис.5.36) [65]. Регістр зсуву становить собою послідовність бітів (розрядів) R, кількість яких d визначається довжиною регістру зсуву. Зворотний зв'язок являє собою суму по модулю 2 визначених бітів регістру (ці біти називаються відвідною послідовністю). Теоретично, d-бітовий ЛРЗЗЗ може перебувати в одному з 2d-1 внутрішніх станів, тобто може генерувати ПВП з періодом у T = 2d-1 біт. Всі T внутрішніх стани регістр пройде лише за певних відвідних послідовностей. Такі ЛРЗЗЗ мають максимальний період, а одержаний при цьому результат називають M-послідовністю.

R1

Ц0

R2

Rd-1

 

Rd

 

т

 

ЛЦ1 .\Ц2 N Md-2        Л Md-1

\ І У I

Вихід —ч—>

Рис.5.36. Узагальнений лінійний регістр зсуву із зворотним зв'язком

На рис.5.36 значення Ці (і = 0, 1, d) є ваговим коефіцієнтами поліному p(x) степені d, асоційованого з відвідною послідовністю:

p(x) = Цо-х° + M-1-x1 + M-2-x2 + ... + Md-2-xd-2 + Md-1-xd-1 + Md-xd.

Якщо Ці = 1, то відповідний ключ замкнений. У випадку ці = 0 ключ розімкнений. Невдале ввімкнення суматорів до зворотного зв' язку може призвести до одержання ПВП, період повторення якої буде меншим за максимально можливий при наявній розрядності регістру. Для того, щоб конкретний ЛРЗЗЗ мав максимальний період, поліном p(x) повинен бути примітивним по модулю 2 (тобто не розкладатися на добуток двійкових поліномів меншої степені). При цьому коефіцієнти ц0 і Md завжди дорівнюють 1, оскільки, у випадку Цо = 0, поліном p(x) ділиться на x і не є примітивним; у випадку Md = 0, навіть якщо поліном і примітивний, його степінь є меншою за d. Інші коефіцієнти обраного поліному і визначатимуть схему формувача ПВП.

У нашому випадку, для перестановки чисел у діапазоні від 1 до A-Z необхідна і достатня кількість розрядів регістру d := log(A-Z, 2), d = 12. При цьому період повторення ПВП складе A-Z - 1.

Для d-розрядного регістра в якості примітивного поліному по модулю 2 оберемо наступний: p(x) = 1 + x + x2 + x8 + x12. Цей та деякі інші можливі види примітивних поліномів степеню d зведено до табл.5.2.

ЛРЗЗЗ, що має d роз- Таблиця 5.2.

рядів\ реалізує програмний мо- Приклади примітивних по модулю 2 поліномів

дуль (М.57), в якому аргумент степені d = 12

s визначає собою початковий стан регістра (у десятковому представленні) - довільне ціле число в межах від 1 до A-Z-1. На початку модуля задається вектор вагових коефіцієнтів примітивного поліному p(x) для елементів відвідної послі­довності (для наочності вектор зображено як матрицю-рядок з

наступним транспонуванням. Циклом зміни i проводиться зміна стану регістра. Кожен i стан з двійкового формату конвертується до десяткового і зберігається у відповідному елементі вектора Rdec. Оскільки період послідовності, що генерується даним регістром, дорівнює 2d - 1, а псевдовипадкова перестановка застосовуватиметься до вектору, кількість елементів якого дорівнює A-Z = 2d, в кінці модуля до сформованого вектора Rdec дописується ще один елемент, значення якого враховує верхній граничний індекс елементів вектора Wvec.

 

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

x11

x12

 

1

1

0

0

0

0

0

1

0

0

0

 

 

1

1

0

0

0

0

0

0

0

1

0

 

 

0

1

0

0

0

0

1

1

0

0

0

 

 

0

0

1

1

0

1

0

0

1

1

0

 

 

0

0

1

0

0

1

1

1

0

0

1

 

 

1

0

1

1

0

0

0

0

1

0

1

 

(М.57)

Отримання масиву Vrnd індексів елементів вектора Wvec, розставлених у псевдо-випадковому порядку, дозволяє провести генерування пар координат (по рядкам і стовпцям) кожного пікселя шляхом перетворення послідовності ПВЧ на двовимірну послідовність. Це, в свою чергу, робить можливим після псевдовипадкового обрання елементу з вектору Wvec помістити його значення до визначеного згенерованою парою координат елементу масиву,

trunc

(М.58)

розмірність якого є ідентичною розмірності ЦВЗ. Вищенаведена процедура реалізована wrnd :: у модулі (М.58), в якому для кожного елементу М-послідовності обчислюються індекси а і z елементу масиву Wrncj, до якого заноситься поточний елемент вектору WVec-Функція trunc(x) повертає цілу частину від аргументу де, відкидаючи його мантису; функція mod(£, т) повертає залишок від ділення к на m. Додаванням одиниці

врахована можливість повернення зазначеними функціями нульо­вого результату. Результат обрахунку модуля (М.58) при s := 12 наведено на рис.5.37.

6) Модуль розбиття масиву ЦВЗ на XW блоків розмірністю nxn за своєю побудовою є аналогічним модулю (М.55). Відмінно­сті полягають у наступному: змінна, якій присвоюється результат виконання модуля (як, власне, і відповідна змінна в тілі модуля), позначається як Bw (замість Бс); виокремлення блоків проводиться з масиву Wrnd (замість C); замість розмірності масиву N викорис­товується розмірність n; відповідно, змінюється і граничне зна­чення індексу рядка (замість X - A). Загальну кількість блоків, на

яку розбивався контейнер (Хс), з огляду на таку ж їх кількість у ЦВЗ, можна не змінювати.

7) Формуємо таблиці результатів сортування блоків контейнера (за значенням стан­дартного відхилення елементів блоків) і блоків ЦВЗ (за кількістю значущих елементів).

Рис.5.37. Результат псевдовипадкової перестановки елементів ЦВЗ

(М.59)

До першого стовпця таблиць ха- j ._

рактеристик блоків контейнера (Тс) і ЦВЗ (Tw) вносяться порядкові індекси досліджуваних  блоків.  До  другого -

результат обчислення, відповідно, стан- |    |   for v є 1   n (М.60)

дартного відхилення (о) і кількості оди­ничних елементів (£1). Після форму­вання таблиць, останні сортируються за

значеннями другого стовпця (функція I reverse (csort(

csort(T,2)).

Фрагмент результату сортування для обраних контейнера і ЦВЗ наведено у табл.5.3.

Шляхом виокремлення перших стовпців з масивів Тс і Tw, співставляємо індекси блоків контейнера з індексами блоків ЦВЗ:

Tj; := augment! Tq^

8) У відповідності до отри­маного масиву поставлених у відпо­відність один одному індексів, про­водимо перестановку блоків ЦВЗ у порядку, що відповідає даній відпо­відності.

(М.61)

111

Таблиця 5.3.

Приклад сортування блоків контейнера і ЦВЗ

Результат виконання модуля (М.61) для першого рядка табл.5.3:

№ п/п

Індекси блоків контейнера

Значення

станд. відхилення

Індекси блоків ЦВЗ

Кількість значущих елементів

1

232

66.676

84

15

2

54

65,551

183

15

3

55

65.236

185

15

 

 

 

 

 

64

45

44,565

152

12

65

190

44.394

153

12

66

98

44.318

154

12

 

 

 

 

 

128

81

33,562

169

11

129

79

33.462

117

11

130

209

33.287

245

11

 

 

 

 

 

192

175

22.564

48

10

193

29

22.396

193

10

194

239

21.151

194

10

 

 

 

 

 

254

3

0

138

7

255

1

0

50

7

256

241

0

46

6

9) Використовуючи програмний модуль (М.47) (граничну кількість блоків контейнера у циклі for замінити з Nq на Хе; а замість Cb під знаком суми слід використати Боь), виконуємо пряме ДКП блоків контейнера.

З одержаних масивів коефіцієнтів ДКП Пь, що мають розмірність NxN, виокремлюємо лише середньочастотні коефіцієнти (див. рис.5.32), паралельно згортаючи їх до масиву nxn. Перед початком проведення виокремлення, формується масив координат виокремлюваних СЧ-коефіцієнтів:

в :=

0

0

0

0

0

Страницы:
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 


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

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

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