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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра БІТ ЗВІТ до лабораторної роботи №2 з дисципліни: «Методи і засоби стеганографії» на тему: «Стеганографічні методи приховування інформації в зображеннях» Львів - 2013 Мета Навчитися приховувати інформацію в зображеннях з розширенням .bmp різними стеганографічними методами (наприклад метод НЗБ) , використовуючи середовище програми Matlab. Хід роботи 1.Маємо контейнер у вигляді зображення та повідомлення у вигляді тексту. 2. Аналізуємо контейнер на можливість вбудовування в нього повідомлення. Тобто обчислюємо кількість інформації , яку можна вбудувати в найменш значущі біти. Також обчислюємо ,скільки біт необхідно для зберігання максимально можливого розміру файла. 3.Після отримання підтвердження , що у контейнер можна вбудувати повідомлення, приховуємо повідомлення у НЗБ контейнера. При цьому перевіряємо, чи не перевищує файл який ми вбудовуємо максимально допустимий розмір. Аналогічним способом буде відбуватися видобування повідомлення зі заповненого контейнера: 1.Ми вже знаємо, що у перших бітах цього контейнера міститься інформація про розмір прихованого файлу. 2.Обчислюємо кількість інформації, яка може бути прихована. 3.Видобуваємо саме початкове зображення, виділяємо найменш значущі біти. 4.Виділяємо байти з прихованою інформацією,виділяємо найбільш значущі біти. 5.Після того, як отримаємо прямокутний масив бітів, записуємо послідовність даних в файл. Таким чином ми відновили вихідне секретне повідомлення. Лістинг програми для вбудовування imgname='img.bmp'; filename='text.doc'; % reading IMAGE, finding its size img = imread(imgname); img_size_y=size(img,1); img_size_x=size(img,2); max_Bytes=img_size_y*img_size_x*3/8; num_bits=ceil(log2(max_Bytes)); % reading file to variable fid = fopen(filename); file = fread(fid); status =fclose(fid); file_size=size(file,1); % checking the possibility of embedding if (file_size*8+num_bits<=max_Bytes*8) can=true; else can=false; end; if (can), % FILE size -> bit's row file_size_arr=zeros(num_bits,1); for ind=0:1:num_bits-1, file_size_arr(ind+1)=bitand(bitshift(file_size,-ind),1); end; % hidded FILE -> bit's row DATA_bits = uint8(im2bw([bitand(file,128),... bitand(file,64), ... bitand(file,32), ... bitand(file,16), ... bitand(file,8), ... bitand(file,4), ... bitand(file,2), ... bitand(file,1)],0.6)); %FILE size bits + FILE data bits BITs=[file_size_arr; DATA_bits(:)]; newimg=img; BITs_ind=1:size(BITs,1); BITs_ind=BITs_ind'; newimg(BITs_ind)=bitshift(img(BITs_ind),-1); newimg(BITs_ind)=bitshift(newimg(BITs_ind),1)+BITs; imwrite(newimg,'stego_img.bmp','bmp'); imshow(newimg); end; if (~can), disp(['File "',filename,'" is too large for embedding']); end; Лістинг програми для видобування imgname = 'stego_img.bmp'; img = imread(imgname); img_size_y = size(img,1); img_size_x = size(img,2); max_bytes = img_size_y*img_size_x*3/8; num_bits = ceil(log2(max_bytes)); ind = 1: num_bits; file_size_bits_arr = img(ind); file_size_bits_arr = uint32(bitand(file_size_bits_arr ,1)); for ind = 1:1:num_bits file_size_bits_arr(ind) = file_size_bits_arr(ind)*(2^(ind-1)); end; file_size_bits_arr = file_size_bits_arr'; file_size = uint32(sum(file_size_bits_arr)); ind = num_bits+1 : num_bits+file_size*8; pixels_with_bits = img(ext_ind); BITS_arr=bitand(pixels_with_bits,1)'; BITS_arr=reshape(BITS_arr,file_size,8); BITS_arr = uint8([BITS_arr(:,1)*128,... BITS_arr(:,2)*64,... BITS_arr(:,3)*32,... BITS_arr(:,4)*16,... BITS_arr(:,5)*8,... BITS_arr(:,6)*4,... BITS_arr(:,7)*2,... BITS_arr(:,8)*1]); bytes = sum(BITS_arr,2); fid = fopen('textrenew.doc','w'); count = fwrite(fid, bytes); fclose(fid); Висновок На цій лабораторній роботі я навчився застосовувати стеганографічний метод НЗБ для вбудовування повідомлення в 8-бітне зображення з розширенням .bmp секретного текстового повідомлення.
Антиботан аватар за замовчуванням

27.05.2014 23:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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