Стеганографічні методи приховування інформації у відеофайлах

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Методи і засоби стеганографії

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра БІТ ЗВІТ до лабораторної роботи №4 з дисципліни: «Методи і засоби стеганографії» на тему: «Стеганографічні методи приховування інформації у відеофайлах» Львів - 2013 Мета Навчитися приховувати інформацію в відеофайлах з розширенням .avi різними стеганографічними методами (наприклад метод НЗБ) , використовуючи середовище програми Matlab. Хід роботи 1.Маємо контейнер у вигляді відеофайлу та повідомлення у вигляді тексту. 2. Аналізуємо контейнер на можливість вбудовування в нього повідомлення. Тобто обчислюємо кількість інформації , яку можна вбудувати в найменш значущі біти. Також обчислюємо ,скільки біт необхідно для зберігання максимально можливого розміру файла. 3.Після отримання підтвердження , що у контейнер можна вбудувати повідомлення, приховуємо повідомлення у НЗБ контейнера. При цьому перевіряємо, чи не перевищує файл який ми вбудовуємо максимально допустимий розмір. 4. При вбудовуванні в відеофайли секретного повідомлення, ми розбиваємо відеофайл на послідовність фреймів , потім кожен фрейм,який представлений трьома шарами кольорів RGB, переводимо у двійкове представлення і міняємо НЗБ в певних фреймах, де це буде найменш помітно для людського слуху і зору. Аналогічним способом буде відбуватися видобування повідомлення із заповненого контейнера: 1.Ми вже знаємо, що у перших бітах цього контейнера міститься інформація про розмір прихованого файлу. 2.Обчислюємо кількість інформації, яка може бути прихована. 3.Видобуваємо саме початковий відеофайл, виділяємо найменш значущі біти. 4.Виділяємо байти з прихованою інформацією, виділяємо найбільш значущі біти. 5.Після того, як отримаємо прямокутний масив бітів, записуємо послідовність даних в файл. Таким чином ми відновили вихідне секретне повідомлення. Лістинг програми для вбудовування clear all; clc; info = aviinfo('video.avi'); Height = info.Height; Width = info.Width; Frames=info.NumFrames; cByteMax = info.NumFrames * Width * Height * 3; cRankMax = ceil(log2(cByteMax)); m = fread(fopen('text.doc')); fclose all; mByteSize = size(m, 1); mRankSize = size(dec2bin(mByteSize), 2); m_bin = dec2bin(m); if ((mByteSize*8 + cRankMax) > cByteMax) temp = 'Too big message' clear all; else a(1, 1 : cRankMax) = dec2bin(0); a(1, cRankMax-mRankSize+1 : cRankMax) = dec2bin(mByteSize); c = aviread('video.avi'); temp = frame2im(c(1)); frame = 1; height = 1; width = 1; layer = 1; mov = avifile('stego_video.avi'); mov.Fps = info.FramesPerSecond; mov.Compression = 'none'; %-------WRITING---MESSAGE---SIZE----------------------------- for bit=1:1:cRankMax if (height > Height) width = width + 1; height = 1; end if (width > Width) layer = layer + 1; width = 1; end if (layer > 3) mov = addframe(mov,im2frame(temp)); frame = frame + 1; temp = frame2im(c(frame)); layer = 1; end dot = temp(height,width,layer); lsb = mod(dot,2); if xor(lsb, bin2dec(a(bit))) temp(height, width, layer) = dot - lsb + 1 - lsb; end height = height + 1; end %-------ENCODING---PROCESS----------------------------------- for byte=1:1:mByteSize for bit=1:1:8 if (height > Height) width = width + 1; height = 1; end if (width > Width) layer = layer + 1; width = 1; end if (layer > 3) mov = addframe(mov,im2frame(temp)); frame = frame + 1 temp = frame2im(c(frame)); layer = 1; end dot = temp(height,width,layer); if mod(dot,2) if (m_bin(byte,bit)=='0') temp(height,width,layer) = dot - 1; end else if (m_bin(byte,bit)=='1') temp(height,width,layer) = dot + 1; end end height = height + 1; end end %-------FULLFILLING---VIDEO---FILE--------------------------- mov = addframe(mov,im2frame(temp)); for frame=frame+1:1:Frames mov = addframe(mov,c(frame)); end mov = close(mov); clear all; clc; end Лістинг програми для видобування clear all; clc; info = aviinfo('stego_video.avi'); Height = info.Height; Width = info.Width; cByteMax = info.NumFrames * Width * Height * 3; cRankMax = ceil(log2(cByteMax)); c = aviread('stego_video.avi'); temp = frame2im(c(1)); frame = 1; height = 1; width = 1; layer = 1; %-------READING---MESSAGE---SIZE----------------------------- for bit=1:1:cRankMax if (height > Height) width = width + 1; height = 1; end if (width > Width) layer = layer + 1; width = 1; end if (layer > 3) frame = frame + 1 temp = frame2im(c(frame)); layer = 1; end if mod(temp(height,width,layer),2) a(bit) = '1'; else a(bit) = '0'; end height = height + 1; end mByteSize = bin2dec(a); m_bin(mByteSize,:) = dec2bin(0,8); %-------DECODING---PROCESS----------------------------------- for byte=1:1:mByteSize for bit=1:1:8 if (height > Height) width = width + 1; height = 1; end if (width > Width) layer = layer + 1; width = 1; end if (layer > 3) frame = frame + 1 temp = frame2im(c(frame)); layer = 1; end if mod(temp(height,width,layer),2) m_bin(byte,bit) = '1'; else m_bin(byte,bit) = '0'; end height = height + 1; end end fwrite(fopen('textrenew3.doc','w'), bin2dec(m_bin)); fclose all; clear all; clc; Висновок На цій лабораторній роботі я навчився застосовувати стеганографічний метод НЗБ для вбудовування повідомлення в відеофайл з розширенням .avi секретного текстового повідомлення.
Антиботан аватар за замовчуванням

27.05.2014 23:05-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!