《信息隐藏 实验十 LSB信息隐藏的卡方分析(7页).doc》由会员分享,可在线阅读,更多相关《信息隐藏 实验十 LSB信息隐藏的卡方分析(7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-实验十 LSB信息隐藏的卡方分析一, 实验目的:了解什么是隐写分析,隐写分析与信息隐藏和数字水印的关系。掌握基于图像的LSB隐写的分析方法,设计并实现一种基于图像的LSB卡方隐写分析方法。二, 实验环境1, Windows XP 操作系统 2, Matlab软件3, BMP格式图片文件三, 实验原理隐写术和隐写分析技术是互相矛盾又是相互促进的,隐写分析是指对可疑的载体信息进行攻击以达到检测、破坏,甚至提取秘密信息的技术,它的主要目标是为了揭示媒体中隐蔽信息的存在性,甚至只是指出媒体中存在秘密信息的可疑性。图像LSB信息隐藏的方法是用嵌入的秘密信息取代载体图像的最低比特位,原来图像的7个高位平
2、面与代表秘密信息的最低位平面组成含隐蔽信息的新图像。虽然LSB 隐写在隐藏大量信息的情况下依然保持良好的视觉隐蔽性,但使用有效的统计分析工具可判断一幅载体图像中是否含有秘密信息。目前对于图像LSB信息隐藏主要分析方法有卡方分析、信息量估算法、RS分析法和GPC分析法等。卡方分析的步骤是:设图像中灰度值为j的象素数为hj,其中0j255。如果载体图像未经隐写,h2i和h2i+1的值会相差很大。秘密信息在嵌入之前往往经过加密,可以看作是0、1 随机分布的比特流,而且值为0与1的可能性都是1/2。如果秘密信息完全替代载体图像的最低位,那么h2i和h2i+1的值会比较接近,可以根据这个性质判断图像是否
3、经过隐写。定量分析载体图像最低位完全嵌入秘密信息的情况:嵌入信息会改变直方图的分布,由差别很大变得近似相等,但是却不会改变h2i+h2i+1的值,因为样值要么不改变,要么就在h2i和h2i+1之间改变。令 显然这个值在隐写前后是不会变的。如果某个样值为2i,那么它对参数q的贡献为1/2;如果样值为2i+1 ,对参数q的贡献为-1/2。载体音频中共有 2h2i*个样点的值为2i或2i+1,若所有样点都包含1比特的秘密信息,那么每个样点为2i或2i+1的概率就是0.5。当2h2i*较大时,根据中心极限定理,下式成立:其中-N(0,1)表示近似服从正态分布所以服从卡方分布。上式中,k等于h2i和h2
4、i+1所组成数字对的数量, h2i*为0的情况不计在内。r越小表示载体含有秘密信息的可能性越大。结合卡方分布的密度计算函数计算载体被隐写的可能性为:如果p接近于1,则说明载体图像中含有秘密信息。四, 实验结果1, 原图像2, 直方图由于所有的数据画出的直方图过于密集,所以选取80:99这之间的像素值。原图80:99隐写后80:993, 不同隐写率下的图像隐写率0.3隐写率0.5隐写率0.74, P值分析由所有的P值可以看出,当隐写率为0.3的时候,P1P40的值都接近1;当隐写率为0.5的时候,P1P64的值都接近1;当隐写率为0.7的时候,P1P91的值都接近1。五, 实验结果完成实验之后,
5、可以得出如下结论:依据卡方分析函数,可以判定载体图像中是否含有秘密信息。但是这要求秘密信息必须嵌满所有像素。六, 代码附录1, hist_change.mfn,pn=uigetfile(*.jpg,JPEG files(*.jpg);*.bmp,BMP files(*.bmp),select file to haide);name=strcat(pn,fn);I=rgb2gray(imread(name);sz=size(I);rt=1;row=round(sz(1)*rt);col=round(sz(2)*rt);msg=randsrc(row,col,0 1;0.5 0.5);stg=I;
6、stg(1:row,1:col)=bitset(stg(1:row,1:col),1,msg);nI=sum(hist(I,0:255),2);nS=sum(hist(stg,0:255),2);x=80:99;figure;stem(x,nI(81:100);figure;stem(x,nS(81:100);2,Stgprb.mfunction p=StgPrb(x)n=sum(hist(x,0:255),2);h2i=n(3:2:255);h2is=(h2i+n(4:2:256)/2;filter=(h2is=0);k=sum(filter);idx=zeros(1,k);for i=1:
7、127 if filter(i)=1 idx(sum(filter(1:i)=i; endendr=sum(h2i(idx)-h2is(idx).2)./(h2is(idx);p=1-chi2cdf(r,k-1);3,test.mclear all;fn,pn=uigetfile(*.jpg,JPEG files(*.jpg);*.bmp,BMP files(*.bmp),select file to haide);name=strcat(pn,fn);t=imread(name);I=t(1:512,1:512);sz=size(I);for k=1:3 rt=0.3+0.2*(k-1);
8、row=round(sz(1)*rt); col=round(sz(2)*rt); msg=randsrc(row,col,0 1;0.5 0.5); stg=I; stg(1:row,1:col)=bitset(stg(1:row,1:col),1,msg); imwrite(stg,strcat(pn,strcat(sprintf(stg_% d_,floor(100*rt),fn),bmp); i=1; for rto=0.1:0.01:1 row=round(sz(1)*rto); col=round(sz(2)*rto); p(k,i)=StgPrb(stg(1:row,1:col); i=i+1; endend-第 7 页-