DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра БІТ ЗВІТ до лабораторної роботи №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:21

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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