信息隐藏实验十二基于SPA的音频隐写分析.doc

信息隐藏实验十二基于SPA的音频隐写分析.doc

ID:59227720

大小:457.00 KB

页数:8页

时间:2020-09-09

信息隐藏实验十二基于SPA的音频隐写分析.doc_第1页
信息隐藏实验十二基于SPA的音频隐写分析.doc_第2页
信息隐藏实验十二基于SPA的音频隐写分析.doc_第3页
信息隐藏实验十二基于SPA的音频隐写分析.doc_第4页
信息隐藏实验十二基于SPA的音频隐写分析.doc_第5页
资源描述:

《信息隐藏实验十二基于SPA的音频隐写分析.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、实验目的了解抽样对分析(SamplePairsAnalysis,SPA)方法的基本原理,掌握使用SPA方法来判断音频文件是否经过LSB隐写,设计并实现一种基于SPA音频隐写分析的算法。二、实验环境(1)Windows7操作系统;(2)MATLABR2012b版本软件;(3)携密音频文件。三、原理简介LSB隐写分析方法有很多种,前面两次实验已经介绍了卡方和RS两种方法,本次实验介绍一种抽样对分析方法来分析音频文件是否经过LSB隐写。在SPA算法中,要用到RS算法中所定义的函数,即(1)式中:定义该函数为,用函数来描述信号的域相关性。在音频信号中,相邻抽样值之间具

2、有很高相关性。因此选择相邻的抽样值对来构成一个抽样组。在LSB隐写之后,函数的期望值变为(2)函数的期望值变化为(3)在LSB隐写过程中(假设隐写率为),若秘密信息随机地嵌入到音频载体中,抽样值对将会有四种变化模型:(1)10模型:变化,不变化;。(2)01模型:变化,不变化;。(3)11模型:和都变化;。(4)00模型:和都不变化;。假设抽样值用比特的二进制表示,令为抽样值最重要的比特值,为LSB比特值。因此,。这样就能表示为:,。在下表1中对进行统计。表1函数的期望值变化0000实验数据表明,的抽样值对的数量和的抽样值对数量近似相等,而且,抽样值对的数量和抽样

3、值对的数量近似相等。因此,这些对于式(3)不会有任何影响,由于LSB隐写方式并不会改变和的值,因此式(3)的变化主要是由那些的抽样值对所引起的。同时,和的抽样值对的数量要大于和的抽样值对的数量,因此式(3)值为正,也就是说,LSB隐写会增大的值。因此,本次实验将会集中分析时的抽样值对的情况。对于比特的音频信号,LSB隐写嵌入的过程并不会引起抽样值前面比特的变化,也就是说,和不会改变。队友没有秘密信息的音频信号,当时抽样值对有四种情况:代表的值对;代表的值对;代表的值对;代表的值对。在LSB隐写嵌入之后,当时抽样值对也有四种情况:用分别代表。抽样值对有四种变化模式0

4、1,10,11,00。可通过构造一个有限状态机来模拟抽样对序列的变化情况,如下图1所示。图1描述状态变化的有限状态机用下列各式来反映序列和的相关性。符号代表抽样对序列的基数:(4)(5)(6)(7)对于值对(用到的)和值对(用到的),发现在LSB隐写之前,近似相等(都用来表示),在LSB隐写之后几乎不变。因此能够通过或者来得到。上式变化如下:(8)通过求解上面的方程可以得到隐写率:(9)式中:;。四、实验步骤1.音频文件LSB嵌入本次实验中使用SPA方法来分析利用S-Tools工具生成的携密音频文件。2.SPA分析源代码spa.m如下:%基于相邻抽样值统计的隐写分

5、析方法closeall;clearall;%读入音频文件fid=fopen('hidden.wav','r');%前44字节为头信息status=fseek(fid,44,'bof');a=fread(fid,[4,inf],'uint8');%读入allofthesimples%a=fread(fid,5000,'uint8');%初始化各个统计量B0=0;B1=0;B2=0;B3=0;B=0;D1=0;D2=0;D=0;k1=0;k2=0;%求各个统计量[B0,B3]=sumad(a);B1=sumb(a);B2=sumc(a);x=[B1,B2];B=mea

6、n(x);%取x的算术平均值D1=sume(a);D2=sumf(a);y=[D1,D2];D=mean(y);%取y的算术平均值k1=B0+B3+2*B-4*D;k2=4*B-4*D;z=1-sqrt(k2/k1)%求解隐写率closeall;运行上述代码,可得此携密文件的隐写率为0.3119。五,实验总结完成了基于SPA的音频隐写分析六,附录附录一sumad的源代码如下:function[b0,b3]=sumad(a)n=length(a);if(mod(n,2)==0)n=n;elsea(n+1)=0;n=n+1;endb0=0;b3=0;fori=1:n/

7、2if(a(2*i-1)==a(2*i))if((mod(a(2*i-1),2)==0)&(mod(a(2*i),2)==0))b0=b0+1;elseif((mod(a(2*i-1),2)==1)&(mod(a(2*i),2)==1))b3=b3+1;endendend附录二sumb的源代码如下:functionb1=sumb(a)%a=[1,3,4,2,3,4,7,7,9,4]n=length(a);if(mod(n,2)==0)n=n;elsea(n+1)=0;n=n+1;endb1=0;fori=1:n/2if((a(2*i)-a(2*i-1))==1)i

8、f((mo

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

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

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