基于JSteg顺序隐写的快速卡方检验方法.doc

基于JSteg顺序隐写的快速卡方检验方法.doc

ID:59748895

大小:31.00 KB

页数:6页

时间:2020-11-21

基于JSteg顺序隐写的快速卡方检验方法.doc_第1页
基于JSteg顺序隐写的快速卡方检验方法.doc_第2页
基于JSteg顺序隐写的快速卡方检验方法.doc_第3页
基于JSteg顺序隐写的快速卡方检验方法.doc_第4页
基于JSteg顺序隐写的快速卡方检验方法.doc_第5页
资源描述:

《基于JSteg顺序隐写的快速卡方检验方法.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、基于JSteg顺序隐写的快速卡方检验方法•背景知识:研究发现,采用jsteg算法嵌入信息后的jpeg图像的DCT系数统计特性将发生变化。嵌入过程中相互交换的DCT系数值对的出现频次开始趋于一致,而原始图像中,值对出现的频次通常不一致。利用该特性,可以利用快速卡方检验方法对图像是否经过jsteg隐写作出判断。•快速卡方检验原理:定义f0(C)为AC系数中正偶数和负奇数的个数,f1(C)为负偶数和正奇数的个数。统计表明,有f0(C)≈f1(C),且服从如下自由度为1的卡方分布由于对于秘密消息的嵌入而改变了DCT分布关于0的对

2、称性,因此对于载密图像必然有且上式可作为图像中是否存在用JSteg隐写嵌入的秘密信息的判断依据。•实现过程:•1、读一张图像。•2、对图像进行分块处理,获得AC系数。•3、令集合C表示所有的量化DCT系数•4、随机生成隐密信息。•5、构建一个C的子集,进行顺序jsteg隐写。•6、计算隐写后的卡方值。•7、根据卡方值判断是否隐写。num_radio_0=0;gray=imread('C:UsersAdministratorDesktop1233.jpg');Imshow(gray);gray=rgb2gray(g

3、ray);gray=im2double(gray);[mn]=size(gray);temp=double(gray);T=dctmtx(8);%产生二维DCT变换矩阵Q_table=[1611101624405161121214192658605514131624405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399];B=blkproc(temp,[8,8],'P1*x*P2

4、',T,T');%分块DCT变换B=blkproc(B,[8,8],'round(x./P1)',Q_table);C=zeros(1,m*n-m*n/64);%创建一个1行m*n-m*n/64列的矩阵,量化后的DCT系数K=1;fori=1:mforj=1:n6if(mod(i,8)~=1)

5、

6、(mod(j,8)~=1)%去掉DC值C(1,K)=B(i,j);%提取AC值到C矩阵中K=K+1;endendend%计算AC系数不等于0且不等于1的个数v=0;fori=1:m*n-m*n/64if(C(1,i)~=0)&&

7、(C(1,i)~=1)%系数不等于0且不等于1v=v+1;endendrate=0.2;A=floor(v*rate);%向下取整,取一部分M=rand(1,A)>0.5;%随机产生矩阵%取一不大于(AC系数不等于0且不等于1个数)的矩阵j=0;fori=1:m*n-m*n/64if(C(1,i)~=0)&&(C(1,i)~=1)j=j+1;endifj==Abreak;endendS=zeros(1,i);%构造C的一个子集,矩阵为1*n的全0矩阵%隐写过程l=1;forr=1:iS(1,r)=C(1,r);endfo

8、rr=1:iif(S(1,r)~=0)&&(S(1,r)~=1)if(S(1,r)>0)S(1,r)=S(1,r)-mod(S(1,r),2)+uint8(M(1,l));elseif(S(1,r)<0)if(mod(S(1,r),2)==1)if(M(1,l)==0)S(1,r)=S(1,r)-1;6elseS(1,r)=S(1,r);endelseif(M(1,l)==1)S(1,r)=S(1,r)+1;elseS(1,r)=S(1,r);endendendl=l+1;ifl>Abreak;endendend%检测过

9、程forr=1:iC(1,r)=S(1,r);endf0=0;%正偶数和负奇数的个数f1=0;%负偶数和正奇数的个数fori=1:m*n-m*n/64if((C(1,i)>0)&&(mod(C(1,i),2)==0))

10、

11、((C(1,i)<0)&&(mod(C(1,i),2)==1))f0=f0+1;Elseif((C(1,i)>0)&&(mod(C(1,i),2)==1))

12、

13、((C(1,i)<0)&&(mod(C(1,i),2)==0))f1=f1+1;endendx=(f1-f0).^2/(f1+f0+eps);%

14、卡方分布if((x>3.843)&&(f1-f0>0))%是否嵌入秘密信息的判断依据num_radio_0=num_radio_0+1;endradio_2=num_radio_0;%判断结果,如果>0则表示有秘密信息嵌入,反之则没有num_radio_0=0;gray=imread('C:UsersAdmini

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。