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

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

111)

S192 6144 Ь

а)

204S        4096       6144       8192     1.02 104   1.23 104   1.43 104   1.64 104   1.84 104   2.05 Ю4

б)

2048        4096       6144       S192     1.02 104   1.23 104   1.43 104   1.64 104   1.S4 104   2.05 104

і І

Рис.5.68. Сигнал, відновлений за сегментами s'n (n = 1..N) при об'ємі прихованого

повідомлення 200 (а) та 512 біт (б)

8) Перед записом звукового файлу необхідно "подовжити" вектор, що відповідає немодифікованому (у нашому випадку - 2-му) каналу, до розмірності модифікованого (1 -го) каналу. Для цього можна скорис­татися модулем (М. 112), який за необхідності дописує нулі в кінець початкового масиву.

В результаті з' являється можливість об' єднати масиви 1 -го і 2-го каналів до спільного масиву:

(М.112)

CM := augment(S', C2) і, зрештою, провести запис до файлу: WRITEWAV("CM_Phase.wav", fд, Q) := CM.

9) Розглянемо алгоритм видобування прихованої інформації. Формуємо масив кванто-ваних амплітуд дискретних відліків: CM* := READWAV("CM_Phase.wav"). Одержувачеві по­винні бути відомими: довжина кожного з сегментів K* := 1024; точки ШПФ, до яких вбудо­вувалися дані; алгоритм вбудовування даних (канал, до якого заносилася інформація, метод її занесення і т. п.).

Нехай відомо, що приховані дані містяться у 1-му каналі. Отже, S* := CM*<1>. Загальна кількість елементів у даному контейнері: I* := rows(S*), I* = 20480. Кількість сегментів, на яку необхідно поділити контейнер: N* := I*/K*, N* = 20.

Відповідно до програмного модуля (М.106) проводимо розбиття звукової послідовності S* на сегменти s*n.

Для 1-го сегмента обчислюємо ШПФ і визначаємо масив фаз: а*і := FFT(s*i); ф*1 := argio*^

Для видобування прихованої інформації з отриманого масиву фаз використовуємо програмний модуль (М.113).

У даному модулі послідовно аналізуються значення фаз кожної ча­стотної складової спектру 1 -го сегмента на факт перевищення встановле­ного порогу (як у бік від' ємних, так і в бік до­датних значень). В якості порогу не рекомендується використовувати строгу рівність + чи -п/2, оскі­льки аудіофайл в процесі передавання може зазнати певних змін. Крім того, операції ШПФ поверта­ють в певній мірі

округлені значення. Виходячи з цього поріг рекомендується знизити (у нашому випадку було встановлено рівень |я/3|). При значенні фази, меншому за від'ємне значення порогу прийма­ється рішення про прихований біт «1 », у випадку значення фази, що перевищує додатний поріг, робиться висновок про приховання біту «0». Результатом виконання модуля (М.113) є рядок символів: M* = "© Пузиренко О.Ю., 2005 р.".

10) Обчислені показники звукового спотворення зведено до табл.5.6.

5.4.3. Метод розширення спектру (часова область)

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

У [14] розглядається технологія розширення спектру сигналу прямою послідовністю (РСПП). Метод РСПП розширює сигнал даних (повідомлення), помножуючи його на елемен­тарну посилку - ПВП максимальної довжини, модульовану відомою частотою. Оскільки

(М.113)

КОДЕР

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

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

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

РСПП використовує двійкову фазову маніпуляцію, оскільки фаза сигналу ПВП раз від разу чергується з фазою модульованої двійкової послідовності повідомлення (рис.5.70). На стадії видобування фазові значення ф0 та ф0 + п інтер­претуються, відповідно, як біти «1» і «0», якими кодувалася двійкова послідовність даних. При цьому передбачається наступне:

1) Псевдовипадковий ключ являє собою М-послідовність (він має максимально можливу кількість комбінацій, що рівномірно розподілені в заданому діапазоні, і максимально довго не повторюється). Отже, він має відносно плоский частотний спектр.

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

3) Приймальній стороні також відомі наступні параметри: частота слідування еле­ментарних посилок, швидкість передачі даних и частота (вигляд) несучої.

На відміну від фазового кодування, метод РСПП вводить до звуку адитивний ви­падковий шум. Для того щоб тримати рівень шуму низьким і невідчутним на слух, розши­рений код послаблюється (без адаптації) приблизно до рівня 0.5% динамічного діапа­зону звукового файлу-контейнера. Поєднання нескладної техніки повторення з кодуванням із виправленням помилок гарантує цілісність коду. Короткі сегменти двійкової кодової ком­бінації об' єднуються і додаються до сигналу

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

.„сиспширпи, ДЕКОДЕР

посилки HLIXUHLr

Рис.5.69. Кодування з розширенням

спектру

Рис.5.70. Інформація, синтезована роз­ширенням спектру і шифрована мето­дом прямої послідовності

Наведемо приклад реалізації методу РСПП.

1) Початкові дані наступні: контейнер C := READWAV("C.wav"); повідомлення M := "© Пузиренко О.Ю., 2005 р." довжиною LM := 8strlen(M), LM = 200 біт, яке будемо вносити до 1-го каналу контейнера: С1 := C<1>.

Для вбудовування Lm-бітового повідомлення до контейнеру, який має rows(C1) = 20191 дискретних відліків, останній необхідно розбити на N := floor(rows(C1)/Lm), N = 100 сегментів, до кожного з яких вбудовуватиметься один біт повідомлення.

2) Для кожного біту повідомлення необхідно згенерувати ПВП з довжиною як мінімум N елементів. За основу генератора ПВЧ візьмемо ЛРЗЗЗ, описаний у п.5.3.3.3. Достатня кількість розрядів регістру: d := ceil(log(N+1, 2)), d = 7. При цьому період генерованої ПВП складе 2d — 1 = 127 > N.

Програмний модуль (М.114) дозво- ц.-| = (1 )^

ляє одержувати ПВП у при різних значеннях М2 -= ( 1   1 )

d. Вихідна послідов- := (1  0   1 }

ність      визначається ._ ^ q  q ^

найменшим значущим ' т

а- ■ lie := (0   1   0   0   1 )

бітом стану регістра м    \ /

(CHIPj^Rbim). Керу- М-Є := < 1 ° ° ° ° П

ючись    достатністю, ц.7 := (1 0 0 0 0 0  1 )Т

процес генерації три- ц8 := ( 0 1 1 1 0 0  0   1

ває до отримання N-ro ' т

біту       ПВП.       На Ц9:=( 0 0 0 1 0 0   0   0   1 } т

завершальному   етапі |ію = ( 0  0   1   0  0  0  0  0  0 11)

одержана ПВП {0, 1}, цц:=( 0   1   00000000   1

перетворюється      на „  „       „ Т

ПВП{-1 1} М2:=(1   0  0   1   0   1   0  0  0  0  0  1 )"

3) Безпосере- ■

дньо вбудовування бі- СНІР(start) :=

тів повідомлення до контейнера виконує­ться програмним мо- |   |   | RHb,. +-start

дулем (М.115), на по­чатку якого рядок М I j І "і»іп ™^™<leCjJ (М.114) перетворюється на вектор {-1, 1}. т-й елемент одержаного вектора за допомогою відповідної йому ПВП СНІР(т) поширюється на m сегмент кон­тейнера с (параметр а обирається виходячи з вимог стійкості сис­теми і непомітності модифікації носія, ре­комендуються значен­ня порядку однієї со­тої). Модифіковані

сегменти s об'єднуються до спільного вектора S. Після вбудовування останнього (Lm-го) біту повідомлення вектор S подовжується на довжину контейнера C1 кінцевими його елементами, що не зазнали модифікації. Результат вбудовування зображено на рис.5.71.

CHIP. CHIP 2-

SI := і

M M

vec

str2vec(M) D2Bi M

vecbin for j ё 2.. strlen(M)

M

vec_bin <- stach|Mvec_bin = D2B| MveCj))

M

vec bin *~ 2 Mvec_bin m 1

while m < LM

і «- submatrix[d =[n (m- 1} + l] =n m = 1 51]

1

S1 S1 m

ґ-» \

с + cl I  CHIPim \\ Mvec ЬІПт ;

s if m = 1 stack(S1:s} if m > 1

m + 1

S1 S1 stack j 51 rsubmatrix|C1 Tlfj\ n + 1 :rows(C}: 1 =1 (j

(М.115)

8192

-8192 1-1-1-1-1-1-1—

a) 1        2048      4098      6144      8192     10240    122ЄЄ   14336    16384 18432

6) 1        2048      4098      8144      8192     10240    12288   14336    16384 18432

Рис.5.71. Часові діаграми 1 -го каналу сигналу-контейнера при внесенні приховуваних даних шляхом РСПП при а = 0.02 (а) і 0.25 (б)

Об' єднуємо масиви 1 -го (модифікованого) і 2-го (первинного) каналів до спільного масиву: S := augment(S1, C<2>) і, виконуємо запис до файлу: WRITEWAV("S.wav", fj,, Q) := S.

4) Процес видобування полягає в наступному. Після імпортування аудіофайлу до документу MathCAD (S* := READWAV("S.wav")) з одержаного масиву виокремлюється канал, до якого було проведено вбудовування (у нашому випадку - 1 -й): S1* := S*<1>. Приймальна сторона повинна мати оригінальний аудіофайл, з якого також виокремлюється відповідний канал: C1 := C<1>. Відомою повинна бути кількість сегментів, на яку розбивається сигнал-носій: N* := 100. Програмний модуль видобування повідомлення (М.116), вбудованого методом РСПП, представлено нижче.

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


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

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

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