защита инф


Санкт- Петербургский Государственный политехнический университет
Отчет по лабораторной работе: "Стеганографические методы защиты информации"
Выполнили: Манжура Д.
Елисеев А.
2013 г.
clc;
clear;
n_bits=10^2;
bit_arr=unidrnd(2,n_bits,1)-1;
%имя изображения
img_name='pM8ETYGtcM4.bmp';
%чтение изобр.
img=double(imread(img_name));
%чтение инф. об изобр.
img_info=imfinfo(img_name);
%размер изобрimg_size=img_info.Height*img_info.Width;
%длинна пспpsp_length=floor(img_size/n_bits);
psp=unidrnd(2,1,psp_length)*2-3;
matrix_to_emb=(bit_arr*2-1)*psp;
%опр. амп. встраивания
q=1;
snr_a=-5:10;
%массив для записи ошибки
Error_Prob_arr=zeros(1,length(snr_a));
n_p=0;
for snr=snr_a
%встраивание инф. в изобр.
n_p=n_p+1;
%pspimg_to_embed=reshape(img(:,:,3),img_size/psp_length,psp_length);
img_to_embed1=img_to_embed+q*matrix_to_emb;
img(:,:,3)=reshape(img_to_embed1,img_info.Height, img_info.Width);
%добавление шума на синий канал
img_awgn(:,:,3) = awgn(img(:,:,3),snr,'measured');
img_to_chek=reshape(img_awgn(:,:,3),img_size/psp_length,psp_length);
1) %вычетание исходного изображения
img_to_chek=(img_to_chek-img_to_embed)*psp';
2) %вычетание мат ожиданияimg_to_chek=(img_to_chek-128)*psp';
%опред знака полученоой при разности
rec_bit_arr=sign(img_to_chek);
%перевод в 0 и 1
rec_bit_arr(rec_bit_arr<1)=0;
%расчет ошибок
[N_Error Error_Prob]=biterr(bit_arr,rec_bit_arr);
%запись ошError_Prob_arr(1,n_p)=Error_Prob_arr(1,n_p)+Error_Prob;
end;
figure;
plot(snr_a, Error_Prob_arr);
grid on;


clc;
clear;
n_bits=10^2;
bit_arr=unidrnd(2,n_bits,1)-1;
%имя изображения
img_name='pM8ETYGtcM4.bmp';
%чтение изобр.
img=double(imread(img_name));
%чтение инф. об изобр.
img_info=imfinfo(img_name);
%размер изобрimg_size=img_info.Height*img_info.Width;
imgB=img(:,:,3);
%длинна пспpsp_length=floor(img_size/n_bits);
psp=unidrnd(2,1,psp_length)*2-3;
matrix_to_emb=(bit_arr*2-1)*psp;
%опр. амп. встраивания
q_arr=0:30;
%массив для записи ошибки
psnr_pix_arr=zeros(1,length(q_arr));
n_p=0;
for q=q_arr n_p=n_p+1;
%встраивание инф. в изобр.
%pspimg_to_embed=reshape(img(:,:,3),img_size/psp_length,psp_length);
img_to_embed=img_to_embed+q*matrix_to_emb;
img_tmp=reshape(img_to_embed,img_info.Height, img_info.Width);
img_to_chek=(img_to_embed-128)*psp';
%вычисление среднеквадратичной ошибки
mse=sum(sum(((img_tmp-imgB).^2),1),2)/img_size;
mse_1=sum(sum(((img_to_chek).^2),1),2)/img_size;
psnr_pix_arr(n_p)=10*log10(255*255/mse);
psnr_pix_arr_1(n_p)=10*log10(255*255/mse_1);
psnr_teor=48.13-20*log10(q);
%сравнение с теоретическим
delta=abs(psnr_teor-psnr_pix_arr);
min_delta=min(delta);
max_delta=max(delta);
end
figure;
plot(q_arr, psnr_pix_arr,q_arr, psnr_pix_arr_1);
grid on;


Приложенные файлы

  • docx 26447969
    Размер файла: 46 kB Загрузок: 0

Добавить комментарий