Download presentation
Presentation is loading. Please wait.
1
随机间隔法和随机置换法 《信息隐藏实验教程》教学幻灯片 三
2
为什么要用随机数控制信息隐秘 顺序隐秘结果的不可见性差,仔细观察不难发现在图像中隐藏有信息。
信息顺序的隐藏到图像中,将不存在密钥的应用空间。任何一个人都可以逐一将秘密信息提取,信息隐藏将毫无意义。
3
随机间隔法 随机间隔法的思想比较简单,主要是利用随机数的大小来控制前后两个嵌入位的距离。 inbeding address=i;
比如我们得到一个长为N的服从U(0,1)的随机序列R={r1,r2,…rN},N大于秘密信息长度。取第一个嵌入位为i,伪C代码描述有: inbeding address=i; for(j=1;j<=length(message);j++) {if (rj>0.5) imbeding address+=k; else imbeding address+=p; }
4
随机间隔法 通过判断相应的随机数与0.5的大小,若大于0.5,则选择的嵌入位与前一个嵌入位间隔k-1位,否则间隔p-1位。
total=图像载体总像素点; quantity=为要选择的像素点; k= p=k-2;
5
随机间隔法 我们在一个8×8的范围内对像素进行20点选择,输入:>>test=zeros(8);
>>[row,col]=randinterval(test,20,1983); >>for i=1:20 test(row(i),col(i))=i; end 随机间隔的结果见右图:
6
随机置换法 设每一个输入i,i为小于载体总嵌入单位数的一个整数。由i均能得到一个数ji表示秘密信息中第i个bit相应的嵌入载体的索引,且ji不会发生重复。ji的生成步骤为: v=[i/X]; u=i mod X; v=(v+MD5(u,k1)) mod Y; u=(u+MD5(v,k2)) mod X; v=(v+MD5(u,k3)) mod Y; ji=vX+u;
7
随机置换法 这个算法就是一个新的伪随机发生器,{ji} 是一个随机序列。由于这个随机序列仅在地址选择上起作用,所以我们并不考虑它的概率分布和相关性质。 使用到安全Hash函数的伪随机置换算法,该算法可以解决碰撞(collision)问题。 我们使用的安全Hash函数是MD5。
8
安全Hash函数:MD5 填充报文 初始化缓冲区 循环执行压缩函数 输出Hash码
9
MD5的压缩函数工作框图
10
MD5输出示例 lenna图像矩阵的MD5输出: E6FFB2A9F14AA001D642CEE180B92245
woman图像矩阵的MD5输出: 46C537D1E0D78EC50FF5A5D5F7F54A25
11
随机置换法 我们以一个8×8的矩阵test为例,用上述方法进行嵌入位选择。输入: >>test=zeros(8);
>>[row,col,j]=hashreplacement(test,60,1983,421,1121); >>for i=1:60 test(row(i),col(i))=i; end
Similar presentations