《2022年信息隐藏实验十一LSB信息隐藏的RS分析收集 .pdf》由会员分享,可在线阅读,更多相关《2022年信息隐藏实验十一LSB信息隐藏的RS分析收集 .pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LSB信息隐藏的 RS分析一,实验目的:了解 RS隐写分析的原理,掌握一种图像LSB隐写算法的分析方法,设计并实现一种基于图像的LSB隐写的 RS隐写分析算法。二,实验环境(1)Windows 7操作系统;(2)MATLAB R2012b 版本软件;(3)图像文件 lena.bmp;(4)S-Tools 工具;三,实验原理1. RS 隐写分析原理RS主要是针对采用伪随机LSB嵌入算法进行攻击的一种方法。RS方法不但能检测出图像是否隐藏信息,而且还能比较准确地估算出隐藏的信息长度。RS 隐写分析算法考虑图像各个位平面之间具有一定的非线性相关性,当利用 LSB隐写算法隐藏秘密信息后, 这种相关性就
2、会破坏。 只要能找出衡量这一相关性的方法, 并对隐藏秘密信息前后的情况加以对比,就有可能设计出隐写分析方法。RS隐写分析方法的理论核心是:任何经过LSB隐写的图像,其最低比特位分布满足随机性,即0、1 的取值概率均为1/2 ,而未经过隐写的图像不存在此特性。对于一个MN像素的图片, 设各个像素的值取自集合P,例如一个 8bit的灰度图像,0,1, 2,255P。将这些像素分为有着n个相邻像素的子集,例如n可以取值为 4,记为1234(,)Gx x xx。进一步利用如下函数表示图像块的空间相关性,即112311(,)nniiif x xxxxx(1)函数f使得每一个集合G都对应一个实数。G中的噪
3、声越大,函数f的值越大。f的值越小, 说明图像相邻像素之间的起伏越小,而图像块的空间相关性越强。然后,定义集合P上的 3 个函数:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 13 页 - - - - - - - - - (1)交换函数1F :221,01,23,254255nn。(2)偏移函数1F :221, 10,12,255256nn。(3)恒等变换0F :0( ),F xx xP。复杂度分辨函数f和三种变换函数F定义以下三种类型的元素组, ,R S U。(1)R
4、egular G:()()GRf F Gf G,也就是说对G中的元素进行变换之后增大了元素之间的差别程度,R表示正则组。(2)Singular G:()()GSf F Gf G,也就是说对G中的元素进行变换之后减小了元素之间的差别程度,S表示奇异组。(3)Unusable G:()()GUf F Gf G,也就是对G中的元素进行变换之后元素之间的差别程度不变,G表示无用组。引入伪装M,它的取值范围是 -1 、0、1。对应着1F 、0F 、1F 三个变换函数。记 对 于 伪 装M的R组 的 数 量 为MR, 类 似 的S组 记 为MS。 例 如G=(27,28,26,25 ) ,M=(1,0,1
5、,0 ) ,则-M=(-1,0 ,-1,0 ) 。于是就得到()MFG =(26,28,27,25 ) ,()MFG =(28,28,25,25 ) 。对于一个原始不包含隐藏信息的载体来说具有下面的规律:MMMMRRSS(2)但是当在载体中嵌入了秘密信息,就会有下面的式子成立:MMMMRSRS(3)也就是说对于一个待检测的载体,只需要得到上述的统计量, 然后通过对比这四个统计参数之间的大小关系就能够判断出载体中是否含有秘密信息。RS算法不但能够判断载体是否含有秘密信息,RS隐写分析算法还能够估计出隐写容量。上面算出的一组MR 、MS 、MR、MS是在比例为/2p(p为隐写率)的样点值已经作了一
6、次1F 变换情况下得到的。 将该隐写体的所有样点值应用名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 13 页 - - - - - - - - - 1F 变换,相对于原始载体则有比例为(1-/ 2p)的样点值作了1F 变换,计算此时的MR 、MS 、MR、MS值。如下图 1 所示,得到的是两组统计量的数据。图 1 RS 曲线与像素更改比率间的关系示意图具体步骤如下:将待检测图像分成若干大小相等的图像块,通常定义n = 4,对每个小图像块 定 义 一 个 掩 膜 算 法 函
7、 数 , 通 常 为M( 0,1,1,0), 即01121304()(),(),(),()MFGF xF xF xFx, 判断此图像小块属于Regular 或 Singular ,遍历整幅图像,得到(/ 2)MRp,(/ 2)MSp。(/ 2)MRp,(/ 2)MSp定义为:(/ 2)/ 4MMRRpbufsize(4)(/ 2)/ 4MMSSpbufsize(5)改变掩膜算法函数, 令M为(0,-1,-1,0 )重复上一步操作得到(/2)MRp和(/ 2)MSp。将图像数据的lSB 位取反,用获得的数据重复上述操作得到(1/ 2)MRp,名师资料总结 - - -精品资料欢迎下载 - - -
8、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 13 页 - - - - - - - - - (1/ 2)MSp以及(1/ 2)MRp,(1/ 2)MSp。结合如下方程:210010012()30ddxddd xdd(6)其中:0101(/ 2)(/ 2),(1/ 2)(1/ 2)(/2)(/ 2),(1/ 2)(1/ 2)MMMMMMMMdRpSpdRpSpdRpSpdRpSp解方程式( 6) ,取绝对值较小的x,计算嵌入概率p为:/ (1/ 2)pxx。2. S-Tools工具简介S-Tools 是一个时(空)域数字水印
9、软件,支持WAV 格式的音频文件、 GIF和 BMP 格式的图像文件,下面介绍基于音频文件的隐藏原理和使用方法。WAV 格式的音频文件在Windows中存储为 8 位或 16 位值,对于 8 位样本,这意味着取值范围介于0 和 255 之间。 16 位的样本取值范围介于0 和 65535 之间。S-Tools 在 WAV 格式的音频文件中隐藏信息时,首先用密码加密,然后根据密码决定要嵌入信息的位置,采用LSB (least significant bits)方法,把秘密信息代替载体音频文件的最不重要比特位。例如,假设一个音频文件有以下8 个字节的信息,分别为132 134 137 141 12
10、1 101 74 38 二进制表示为10000100 10000110 10001001 10001101 01100101 01001010 00100110 如果要隐藏二进制字节11010101(213)在这个序列里。简单地取代了音频文件的 LSB (最低有效位)进行信息隐藏。因此上述顺序将变更为133 135 136 141 120 101 74 39 用二进制表示为10000101 10000111 10001000 10001101 01111000 01001010 00100111 这样,秘密信息就隐藏在载体音频文件中,音频文件在听觉效果上和原始文件几乎没有区别。名师资料总结 -
11、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - 四,实验分析1. 隐藏信息并分析源代码 RS.m如下:clc,clear allorg = imread( lena.bmp); org = double(org); org = org(:); row sample_len = size(org); rs = zeros(2, 4); cor = zeros(1, 3); m = floor(sample_len / 4); M = rands
12、rc(4, 1, 0 1); tmp = zeros(4, 1); % 使用 LSB ,准备待检测图像,隐写率为40% msg_len = floor(sample_len * 0.4); msg = randsrc(msg_len, 1, 0 1; 0.5 0.5); stg =org; for i = 1 : msg_len stg(i) = bitset(stg(i), 1, msg(i); end% 对待检测图像应用非负和非正翻转,统计翻转前后的空间相关性i = 1; for j = 1 : m tmp = stg(j - 1) * 4 + 1 : j * 4); %把图像分为四个像素
13、一组cor(1) = SpaceCor(tmp); cor(2) = SpaceCor(fpos(tmp, M); cor(3) = SpaceCor(fneg(tmp, M); if cor(2) cor(1) % Rmrs(i, 1) = rs(i, 1) + 1; endif cor(2) cor(1) % R-mrs(i, 3) = rs(i, 3) + 1; endif cor(3) cor(1) % Rmrs(i, 1) = rs(i, 1) + 1; end; if cor(2) cor(1) % R-mrs(i, 3) = rs(i, 3) + 1; end; if cor(3
14、) 0 & dpo 0 %用于判断 Rm是否大于 Sm, R-m是否大于 S-mdisp(待检测图像 lena.bmp中没有经过 LSB替换隐写! ); endif dnz - dpo P %用于判定 R-m - S-m Rm - Smdisp(待检测图像 lena.bmp经过 LSB替换隐写! ); end% get roots of polynomialC = 2 * (dpo + dpz), (dnz - dno - dpo - 3 * dpz), (dpz - dnz); z = roots(C); p = z ./ (z - 0.5); fprintf(1, Fridrih Algo
15、rithm:expective embedding rate is %fn, p(2); 运行上述代码, 得到隐写率p为 0.476476。由于模板M是随机产生的, 对此可以采取多次执行代码,依据所得结果计算平均隐写率。具体结果如下表1 所示。图 7 代码执行结果判定待检测图像是 否 经 过LSB替换隐写名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 13 页 - - - - - - - - - 表 1 多次执行代码后的隐写率估算值与误差分析执行次数初始设定隐写率p值隐写
16、率p估算值相对误差(% )平均误差(% )平均隐写率p1 0.4 0.476476 19.12 19.80 0.479207 2 0.4 0.495983 24.00 3 0.4 0.443685 10.92 4 0.4 0.502263 25.57 5 0.4 0.472975 18.24 6 0.4 0.483857 20.96 依据表 1 所示结果,可以发现:经过多次执行代码后,运用RS分析方法对载体隐写率进行估算的平均误差约为19.80%,即估算正确率为80.20%,近似达到了估算准确度要求。这也就表明RS方法在分析低隐写率的载体图像时,其检测误差较大,所得结果的可靠性较低。为进一步研
17、究 RS分析方法能否比较正确地判断载体是否进行LSB替换隐写,在实验中继续修改原设定的隐写率(分别设定隐写率为3% 、5% 、10% 、20% 、30% 、40% 、50% 、60% 、70% 、80% 、90% 、100% ) ,分析不同设定隐写率下利用RS方法所估算的载体嵌入率误差,所得结果如下表2、图 8 所示。表 2 不同设定隐写率下利用RS 方法得到的隐写率估算值与误差分析初始设定隐写率p值隐写率p估算值相对误差( %)平均误差( %)0.03 0.040786 35.95 9.19 0.05 0.067405 34.81 0.10 0.107802 7.80 0.20 0.2171
18、88 8.59 0.30 0.359715 19.91 0.40 0.476476 19.12 0.50 0.521529 4.31 0.60 0.599674 -0.05 0.70 0.715560 2.22 0.80 0.702172 -12.23 0.90 0.811252 -9.86 1.00 0.996865 -0.31 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 13 页 - - - - - - - - - 2. 利用 S-Tools工具在原始载体中隐藏秘
19、密信息隐藏的秘密信息文件为hidden.txt,载体图像为Lena.bmp。(1)把载体图像拖入S-Tools 界面,并隐藏秘密信息(图9 所示)。图 9 利用 S-Tools工具隐藏秘密信息(2)隐藏后,出现原始图片(图10 示)和携密图像(图11 示) ,将携密图像另存为Lenahidden.bmp。图 10 原始图片图 11 携密图片由上图 10 与图 11,可以发现:利用S-Tools 工具在载体图像文件中加载隐秘信息后,携密图片在视觉上和原始图片几乎无差别。通过查看携密图片文件信息,将隐秘信息提出出来,保存为LenaHidden.txt ,利用名师资料总结 - - -精品资料欢迎下载
20、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 13 页 - - - - - - - - - UltraCompare工 具 比 较 隐 秘 信 息 文 件hidden.txt和 提 取 的 含 有 隐 秘 信 息 的 文 件LenaHidden.txt ,所得结果如下图12 所示。图 12 原始隐秘信息文件与提取的含有隐秘信息文件的比较3. 利用上述算法估计隐写率源代码 RS1.m 如下:clc,clear all; org=imread(lenahidden.bmp); org=double(org); o
21、rg=org(:); row sample_len=size(org); stg =org; rs = zeros(2, 4); cor = zeros(1, 3); m = floor(sample_len / 4); M = randsrc(4, 1, 0 1); tmp = zeros(4, 1); % 对待检测图像应用非负和非正翻转,统计翻转前后的空间相关性i = 1; 表明两个文件相同,无差异名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 13 页 - - -
22、 - - - - - - for j = 1 : m tmp = stg(j - 1) * 4 + 1 : j * 4); %把图像分为四个像素一组cor(1) = SpaceCor(tmp); cor(2) = SpaceCor(fpos(tmp, M); cor(3) = SpaceCor(fneg(tmp, M); if cor(2) cor(1) % Rmrs(i, 1) = rs(i, 1) + 1; end; if cor(2) cor(1) % R-mrs(i, 3) = rs(i, 3) + 1; end; if cor(3) cor(1) % Rmrs(i, 1) = rs(
23、i, 1) + 1; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 13 页 - - - - - - - - - end; if cor(2) cor(1) % R-mrs(i, 3) = rs(i, 3) + 1; end; if cor(3) 0 & dpo 0 %用于判断 Rm是否大于 Sm, R-m是否大于 S-mdisp(待检测图像 lenahidden.bmp中没有经过 LSB替换隐写! ); endif dnz - dpo P %用于判定 R-m - S
24、-m Rm - Smdisp(待检测图像 lenahidden.bmp经过 LSB替换隐写! ); end% get roots of polynomialC = 2 * (dpo + dpz), (dnz - dno - dpo - 3 * dpz), (dpz - dnz); z = roots(C); p = z ./ (z - 0.5); fprintf(1, Fridrih Algorithm:expective embedding rate is %fn, p(2); 运行上述代码,可以得到载体图像lenahidden.bmp 的隐写率为0.048006。判断待检测图像是否经过LS
25、B 替换隐写名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 13 页 - - - - - - - - - 图 13 代码执行结果为降低模板 M的随机性对检测结果的影响, 本次实验采取多次执行代码, 计算隐写率的平均值并将此作为RS方法的分析结果。表 3 多次执行代码后的隐写率估算值与误差分析执行次数隐写率p估算值平均隐写率p1 0.048006 0.049168 2 0.037661 3 0.048006 4 0.049173 5 0.061232 6 0.054336
26、 7 0.049748 8 0.049173 9 0.045173 10 0.049173 五,实验结果完成实验之后,可以得出如下结论:1. RS隐写分析算法可以用来分析在LSB位嵌入隐秘信息的图像文件,判断图像中是否嵌入了隐秘信息,并可据此计算图像文件的隐写率。2. 利用 S-Tools 工具可以很方便地在WAV 格式的音频文件、 BMP 格式和 GIF格式的图像文件中加载隐秘信息,并可通过查看携密图片的文件信息,提取出所加载的隐秘信息。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 13 页 - - - - - - - - -