版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息隐藏实验二LSB隐写分析姓名:周伟康学号:班级::实验要求1、 针对自己实现的隐写算法(嵌入、提取)计算隐蔽载体的PSNR值,通过PSNR值来评估隐写对图像质量的影响,并与主观感受做对比。2、 实现一种隐写分析方法,对隐蔽载体进行检测(卡方、RS……):实验步骤1、编写随机选点函数,完善顺序和随机两种LSB信息嵌入和提取。%随机间隔选点函数%[row,col]=randinterval(test,60,1983);function[row,col]=randinterval(matrix,count,key)[m,n]=size(matrix);interval1=floor(m*n/count)+1;interval2=interval1-2;ifinterval2==0error'载体太小,不能将秘密消息隐藏其内!');endrand('seed',key);a=rand(1,count);%initializerow=zeros([1count]);col=zeros([1count]);r=1;c=1;row(1,1)r;col(1,1)c;fori=2:countifa(i)>=0.5c=c+interval1;elsec=c+interval2;endifc>nr=r+1;ifr>merro'载体太小,不能将秘密消息隐藏其内!');endc=mod(c,n);ifc==0c=1;endendrow(1,i)=r;col(1,i)=c;end选取8*8的矩阵测试>>test=zeros(3);[row,,fori=testend.testml]=randinterval(test1:20(row(i)Jcol(i))=i:20,⑶;test=1000200030400050600008000901001101200013fl1400015000160001700018000190200002、对比原始图像和隐藏信息后图像,计算隐蔽载体的均方差(MSE)进而计算峰值信噪比(PSNR),评估隐写对图像质量的影响。1MN泌5胳即37("尸IfMNM肿=1y=l%输入格式:F=compare('D:\课件\hide\pic\2.jpg','scover.jpg');functionF=compare(original,hided)W=imread(original);E=imread(hided);ifany(size(W)~=size(E))error(end'尺寸不同,不能比较');F=W-E;%F=double(F)/255;imshow(mat2gray(double(F)/255));[psnr,mse]=qualify(F);function[PSNR,MSE]=qualify(Delta)%计算MSE和PSNR;MSE=sum(Delta(:)."2)/prod(size(W));
PSNR=10*log10(255入2/MSE);endtitle(['差异对比PSNR=',num2str(psnr)]);end测试代码:clc;clear;key=20112910;originalfile='D:\z(TQ\hide\pic\b.bmp';messagefile='D:\z(TQ\hide\pic\message.txt';scoverfilel='D:\z(TQ\hide\pic\scover1.bmp';scoverfile2='D:\zf吻Q\hide\pic\scover2.bmp';getfilel='D:\z(TQ\hide\pic\secret1.txt';getfile2='D:\z(TQ\hide\pic\secret2.txt';[ste_cover,len_total]=LSBhide(originalfile,messagefile,scoverfile1);subplot(233);compare(originalfile,scoverfile1);x=LSBget(scoverfile1,len_total,getfile1);%%ff[ste_cover2,len_total2]=randLSBhide(originalfile,messagefile,scoverfile2,key);subplot(236);compare(originalfile,scoverfile2);x=randLSBget(scoverfile2,len_total2,getfile2,key);隐写提取结果:(成功)E3secretl»txt-NkitepadI,UJ姐甘丄FileEcitFormctViewHeFileEcitFormctViewHeFileEditFornat”iewHfFileEditFormatViewHelp仁息隐藏实验—?周丰SteganograpayandD仁息隐藏实验—,周fSteganogrtphyardEH吕息隐藏实验——!周伟康,20112910SteganographyandDigitalWatermarkingSJtRganngvaphy'T.iRtpriSJtRganngvaphy'T.iRtprir+hnartandra^aythatnoone^apartfromthesendeexistenceofthemessagej社formofsecsteganographyisofGreek匚riginandmewordssteganosL-7 "7?)meaning口』?)meaning"mriting".ThefirstrecJoliannesTrithemiusinhisSteganographstcgolio§rapliydisguisedasabookonmasomethingelse:images,articleEjshoppclassically^thehideenmeEsagenaybeofaprivateletter.Theadvantageofsteganographyovercryattractattentiontothemselves.Plainlho(junbreakable—willarouEesuspiciorijSJtRga'-ingrap'-iyfT.iawaythatnoone.existenceofthemesteganographyisofwordssteganos1CI4)?)meaning"陋iJohannesTrithemiusstcgoiiograpnydisgusomethingelse:iroaclassically,thehiofaprivateletterTheadvantageofstattractattentionthowunbreakable—miSJtRganng-r^phyfTiRtawaythatnoore^existenceoftheidesteganogrtphyieofwordssteganos□①?)mesuingJohannesTritheniusstc§oliogrcpliydisgusomethingelse:imsclassically^thehiofaprivateletterTheadvantageofstattractattenticnthowunbreakable—wi实验结果1:差异对比PSNR=64.5444LS日隐瘋后图像馬始團像差异对比PSNR=差异对比PSNR=64.5444LS日隐瘋后图像馬始團像差异对比PSNR=64.9084博始團像随机LS日隐藏后團像实验结果2:原始图慷差异对比PSNR=60.2093LSE隐藏后團像原始图慷差异对比PSNR=60.2093LSE隐藏后團像结果分析:后者PSNR大说明随机LSB比顺序LSB隐写安全性更好。3、对256X256像素,256色的灰度图像进行RS隐写分析。RS原理:给定一个图像块,Zigzag扫描,排列成一个向量G=(xl,x2 xn)图像的空间相关性n-/(G)=/(知if)=工陥-两|i-l定义翻转函数:Fl:2i与2i+l的相互变化关系F-l:2i-l与2i的相互变化关系F0:不变关系RS分析步骤:将待检测图像分成大小相同的图像块计算每个图像块的空间相关性对每个图像块应用非负翻转(Fl,F0)RM=空间相关性增加的图像块个数/图像块总个数SM=空间相关性减小的图像块个数/图像块总个数对每个图像块应用非正翻转(F-l,F0)R-M=空间相关性增加的图像块个数/图像块总个数S-M=空间相关性减小的图像块个数/图像块总个数若R-M-S-M>>RM£M,则有LSB隐写。%RS方法对256*256像素,256色灰度图进行LSB隐写检测。%y=RSanalysis(originalfile);functionfff=RSanalysis(input)org=imread(input);org=double(org);org=org(:)';[row,len]=size(org);rs=zeros(2,4);fx=zeros(1,3);m=floor(len/4);M=randsrc(4,1,[0,1]);%temp=zeros(4,1);%temp=[27,28,26,25];M=[1010];stg=org;fori=1:2forj=1:mtemp=stg((j-1)*4+1:j*4);%disp(temp);fx(1)=discrimination(temp);fx(2)=discrimination(fpos(temp,M));
fx(3)=discrimination(fneg(temp,M));iffx(2)>fx(1)rs(i,1)=rs(i,1)+1;endiffx(2)<fx(1)rs(i,2)=rs(i,2)+1;endiffx(3)>fx(1)rs(i,3)=rs(i,3)+1;endiffx(3)<fx(1)rs(i,4)=rs(i,4)+1;endendifi==1stg=fpos(stg,ones(len,1));endendfff=(rs(1,3)-rs(1,4))>(rs(1,1)-rs(1,2));iffffdisp(含有隐藏信息');elsedisp('未检测出隐藏信息。。。');endrs=rs/m;dpz=rs(1,1)-rs(1,2);dpo=rs(2,1)-rs(2,2);dnz=rs(1,3)-rs(1,4);dno=rs(2,3)-rs(2,4);C=[2*(dpo+dpz),(dnz-dno-dpo-3*dpz),(dpz-dnz)];z=roots(C);p=z./ (z-0.5);fprintf(1,'隐写率为:%f\n',p(2));fprintf(1,'隐写长:%f\n',p(2)*row*len);endfunctionv=discrimination(t)v=abs(t(2)-t(1))+abs(t(3)-t(2))+abs(t(4)-t(3));endfunctionr=fpos(t,m)r=t;MM=size(m,2);forq=1:MMifm(q)==1ifmod(t(q),2)==0r(q)=r(q)+1;elser(q)=r(q)-1;endifr(q)<0r(q)=255;elseifr(q)>255r(q)=0;endendendendfunctionr=fneg(t,m)r=t;forq=1:size(m)ifm(q)==1ifmod(t(q),2)==0r(q)=r(q)-1;elser(q)=r(q)+1;endendifr(q)<0r(q)=255;elseifr(q)>255r(q)=0;endendend测试代码:y=RSanalysis(originalfile);y=RSanalysis(scoverfile1);y=RSanalysis(scoverfile2);实验数据1:(对应Bird图隐写)Co-mm-andWindow隐猛消息长度;15138隐藏消息辰度:15128未检测出隐藏信息。。。隐写率拘:-0・002586隐写长:-50&.411591含有隐赫信息隐写率为:4L036383隐写辰:7153.122912含有隐藏信息隐写率为:0.075014隐写长:14748.325014实验数据2:(对应Lena图隐写)CammandWindow隐藏消息恒度:15128隐赫消息长度;1512S未椅测出隐猛信息。&。隐写率芮:-0.140247隐写长:-9715.520088含有隐藏信息隐写率药:0.078688隐写匠:5156.888666含有隐藏信息隐写率対:0.040072隐写怅:2626.173322结果分析:隐写检测成功!但是隐写率和隐写消息长度估计严重有误,应该是参数计算有误三:总结对Matlab进一步学习后,初步掌握了函数的编写方法,将本次和上次实验代码修改为函数封装调用的形式,使编码结构更清晰,编写修改更方便。代码后若无';',执行时会产生大量中间过程输出,耽误运行和查看。故要养成写分号的习惯,若必要的输出用disp或加注释醒目。对不符合大小尺寸的隐蔽体,将无法分析出正确结果。对于几个字节的短消息隐藏载体,也无法检测到隐藏了信息。隐写率和隐写信息长估计都没有调试成功,对算法还没有完全理解通透。附:顺序LSB和随机LSB隐写,提取代码:LSBhide.m%LSB上的顺序信息隐藏,载体选用灰度bmp图%输入格式:[ste_cover,len_total]=%LSBhide('D:\课件血小6\卩心\2』卩&','。:\课件\hide\pic\message.txtTscover.jpg');function[ste_cover,len_total]=LSBhide(input,file,output)%读入图像矩阵cover=imread(input);ste_cover=cover;%ste_cover=double(ste_cover);%将文本文件转换为二进制序列f_id=fopen(file,'r');[msg,len_total]=fread(f_id,'ubit1');fprintf('隐藏消息长度:%d\n',len_total);%溢出检测[m,n]=size(ste_cover);iflen_total>m*nerror('嵌入消息量过大,请更换图像!’);endiflen_total<=0error('请输入隐藏消息!’);endp=1;forf2=1:nforf1=1:mste_cover(f1,f2)=ste_cover(f1,f2)-mod(ste_cover(f1,f2),2)+msg(p,1);ifp==len_totalbreak;endp=p+1;endifp==len_totalbreak;endend%生成信息隐藏后的图像imwrite(ste_cover,output);%显示结果subplot(231);imshow(cover);title('原始图像');subplot(232);imshow(output);title('LSB隐藏后图像');LSBget.m%result=LSBget('scover.bmp',length,'secret.txt')functionresult=LSBget(output,len_total,goalfile)ste_cover=imread(output);%ste_cover=double(ste_cover);[m,n]=size(ste_cover);frr=fopen(goalfile,'w');iflen_total<=0error('请输入隐藏消息!’);endp=1;result=ones(len_total,1);forf2=1:nforf1=1:mresult(p,1)=mod(ste_cover(f1,f2),2);ifp==len_totalbreak;endp=p+1;endifp==len_totalbreak;endendfwrite(frr,result,'ubit1');fclose(frr);randLSBhide.m%LSB上的随机信息隐藏,载体选用灰度bmp图%输入格式:[ste_cover,len_total]=%randLSBhide('D:\课件血小6\卩丘\2』卩&','。:\课件\hide\pic\message.txtTscover.jpg');function[ste_cover,len_total]=randLSBhide(input,file,output,key)%读入图像矩阵cover=imread(input);ste_cover=cover;%ste_cover=double(ste_cover);%将文本文件转换为二进制序列f_id=fopen(file,'r');[msg,len_total]=fread(f_id,'ubit1');fprintf('隐藏消息长度:%d\n',len_total);%溢出检测[m,n]=size(ste_cover);iflen_total>m*nerror('嵌入消息量过大,请更换图像!’);endiflen_total<=0error('请输入隐藏消息!’);endp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- pwc -引领未来的数字化领导力模型
- 海-气相互作用和环流异常(讲义)-2025年高考地理一轮复习
- 2024年文教体育用品项目投资申请报告代可行性研究报告
- 2023年炮塔式铣床资金筹措计划书
- 强化管理-有效教育-交通安全-常抓不懈1
- 经济数学-教学日历
- Python程序设计实践- 习题及答案汇 张银南 ch01-21 Python程序设计实验的目的与要求- 中文词云
- 关于青春无悔演讲稿范文分享(33篇)
- 设计单元教学计划
- 【沪科】第三次月考卷
- 2024年意识形态工作专题会议记录【6篇】
- 税务学习练兵(办公室条线)考试题库(含答案)
- 新生儿肛管排气
- 经济思想史知识点总汇
- 三废环保管理培训
- 2024年核苷酸二钠(I+G)行业分析报告及未来发展趋势
- 养老行业发展趋势与前景展望
- 远程遥控设备操作安全保障
- 机加工节拍计算表
- 年产15万吨发酵豆粕项目可行性研究报告
- 幼儿园公开课:大班语言《相反国》课件(优化版)
评论
0/150
提交评论