《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于SVD和EMD-S编码的隐藏算法
基于SVD和EMD-S编码的隐藏算法
2016年微型机与应用第18期
董振华,李喜艳
郑州成功财经学院,河南 巩义 451200
摘要: 数字图像信息隐藏算法要求高的鲁棒性和透明性,通过分析矩阵运算的特征,提出改进的EMD-S算法。将秘密信息通过S盒的压缩变换,嵌入到分解图像的最大奇异值当中。通过实验表明,本文算法能够较好地抵抗JPEG压缩,具有较大的数据嵌入率和较好的鲁棒性。
Abstract:
Key words :

  董振华,李喜艳

  (郑州成功财经学院,河南 巩义 451200)

       摘要:数字图像信息隐藏算法要求高的鲁棒性和透明性,通过分析矩阵运算的特征,提出改进的EMD-S算法。将秘密信息通过S盒的压缩变换,嵌入到分解图像的最大奇异值当中。通过实验表明,本文算法能够较好地抵抗JPEG压缩,具有较大的数据嵌入率和较好的鲁棒性。

  关键词:信息隐藏;矩阵运算;奇异值分解;鲁棒性

0引言

  数字图像信息隐藏是信息隐藏的一个重要分支,数字图像信息隐藏技术主要是通过分析图像的本质特征,嵌入秘密信息,使人类从视觉上感觉不到图像的改变,从而解决数字图像的隐蔽通信[1 2]。参考文献[3]提出的EMDlike隐藏算法在像素块的平均值上嵌入秘密信息,算法的鲁棒性得到了一定的提高,但秘密信息直接嵌入在图像空域的像素中,嵌入失真较大,而且鲁棒性仍不能满足实际需求。参考文献[4]、[5]提出SVD和EMD结合的隐藏算法,通过在像素块的奇异值上嵌入秘密信息,提高了载密图像的质量,并且提高了算法的鲁棒性,但它是以嵌入容量为代价的。参考文献[6]提出基于矩阵运算的二维EMD算法,利用矩阵运算将秘密信息编码后分别嵌入在载体像素矩阵的列向量和行向量中,仿真实验证明嵌入率较高,但是该方法也是以牺牲嵌入效率与PSNR值为代价的。

  EMD编码算法是一种数字图像信息隐藏算法,当在图像的n个像素载体中嵌入秘密信息时,最多只需修改1 bit。EMD编码方法的优点在于能够以比较小的修改量获取较高的嵌入率,并且减小了嵌入引起的失真,但是EMD编码方法的鲁棒性较差,当图像发生微小改动时,有可能会造成秘密信息的不正确提取。图像的奇异值具有很好的稳定性,本文充分利用EMD编码的较高嵌入率和奇异值分解的稳定性,并且引入S盒的压缩变换,进一步提高了数据的嵌入率,提出了SVD和EMD-S结合的隐藏算法。

1EMD-S编码算法

  1.1S盒变换

  在对称秘密体制中,DES算法是一种经典的对称密码算法,除了S盒是非线性变换外,其余都是线性变换。因此,S盒是DES算法的关键,任意改变S盒输入中的几位,其输出至少有两位发生变化。

  每个S盒有4行16列,以某数据流的6 bit数据为例,假设Bj=b1b2b3b4b5b6,设b1b6和b2b3b4b5对应的十进制分别为r和c,则Sj盒中的r行c列对应的十进制整数就是Sj的输出。例如B1=100111,从图1所示的S1盒中查得,3行3列的十进制整数为2,则S1的输出为0010。也就是说,实际需要嵌入的信息量为6 bit,经过S盒压缩变换后信息量减少为4 bit,从而可以更好地保证图像信息隐藏的鲁棒性和不可感知性。

图像 001.png

  1.2EMD-S算法的实现

  EMD编码算法是一种数字图像信息隐藏算法,当在图像的n个像素载体中嵌入秘密信息时,最多只需修改1 bit。EMD编码方法的优点在于能够以比较小的修改量获取较高的嵌入率,并且减小了嵌入引起的失真。本文进一步提高数字图像的信息嵌入率,提出EMDS编码算法,在秘密信息嵌入前经过S盒的压缩变换,然后再嵌入数字图像载体中。EMD-S算法的嵌入步骤如下:

  (1)假设秘密信息d=(d1,d2,…,d8),其中di为6 bit的数据流。将di经过Si盒压缩变换为4 bit的数据流,因为EMD编码嵌入的是2n+1进制的数,所以在这里将4 bit的数据流高位补0,生成5 bit的数据流。经过S盒压缩变换和高位补0操作,形成秘密信息d′=(d1′,d2′,…,d8′),由原来的48 bit变为40 bit的秘密嵌入信息。

  (2)把数字载体图像分为连续的大小为2×2的像素组g1,g2,…,gn。

  (3)计算权值函数f=f(g1,g2,…,gn)=QQ图片20161018212114.pngQQ图片20161018212118.png×i(mod2n+1)(1)

    (4)差值计算

    QQ图片20161018212434.png

  若S的值为0,则像素值不进行修改;若S的值不为图2信息嵌入算法流程0,且k<=n(k代表第k个秘密比特值,可取0,1,…,n),像素组中gs=gs+1,否则像素组中g2n+1-k=g2n+1-k-1。

  通过以上4个步骤的操作,将像素组修改为新的像素值g′1,g′2,…,g′n,由EMD-S编码算法的嵌入原理可得嵌入后的像素组满足公式(3):

 QQ图片20161018212431.png

       因此通过公式(3)可以求出秘密信息d′,秘密信息d′通过查询相应S盒可以获得扩展之后的秘密信息d。通过S1盒可知,同一个十进制数值对应若干个行号和列号组,为了增加信息的嵌入量,选择S1盒当中最大的一位十进制数。

2SVD和EMD-S结合的隐藏算法

  在对矩阵进行数值分解的众多分析方法中奇异值分解是其中一个典型的方法,因为能够很好地解决逆矩阵问题和矩阵的特征值问题,而被广泛应用于通信和图像等领域。

  2.1奇异值分解及特性分析

  奇异值分解(SVD)是一种将矩阵进行对角化的数值算法,从线性代数的角度,一幅灰度图像可以看成是一个非负矩阵。若一幅图像用A表示,定义为A∈RΜ×Ν,其中,R表示实数域,则矩阵A的奇异值分解定义为A=USVT式中,U∈RΜ×Ν与V∈RN×N都是正交矩阵,矩阵S是一个对角矩阵,对角线上的元素叫做A的奇异值且满足:σ1≥σ2≥…≥σi≥…≥σM≥0,分解式USVT称作A的奇异值分解。奇异值所表现的是图像的内蕴特性,在对图像做奇异值分解所得的奇异值序列σi中,第一个奇异值比其他奇异值大得多,图像奇异值的稳定性非常好,在图像被施加小的扰动时,其奇异值不会有大的变化。块奇异值分解会产生更多具有较大数值的奇异值,有利于水印嵌入。奇异值的这些特性,保证了水印嵌入的可行性、不可见性以及很好的鲁棒性。本文充分利用奇异值的较好的鲁棒性特征,结合了EMD-S算法,将两个算法的优点结合起来。在EMD-S编码算法的基础上使用奇异值分解来提取特征点,不仅保证了图像可以嵌入较大容量的秘密信息,而且还保证了图像良好的鲁棒性。

  2.2信息嵌入过程

  使用矩阵A表示载体图像,嵌入秘密信息d=(d1,d2,…,d8),其中di为6 bit的数据流。为保证算法具有较大的嵌入容量,将每一组数据流经过对应的S盒压缩变换为4 bit的数据流。为了更好地应用EMD算法,每组数据流的高位补0,形成5 bit的数据流。与此同时对图像矩阵A进行分块,对每一个子块进行奇异值分解,提取出奇异值向量。将秘密信息d′=(d1′,d2′,…,d8′)嵌入到每个子块的最大奇异值中。以两个像素点为一个单位时算法的容量最大,因此本文算法选取两个图像块的最大奇异值作为嵌入单位。信息嵌入算法流程图如图2所示。

图像 002.png

  具体的嵌入步骤如下:

  (1)将载体图像A进行分块,每块为2×2,块与块之间相互不重叠;(2)对每个子块进行奇异值分解,获取每个子块的最大奇异值QQ图片20161018213102.png;(3)以相邻两个子块的最大奇异值作为参数,计算函数f

            QQ图片20161018212437.png

  (4)秘密信息d′转化为五进制的比特流,并计算机差值Si=(di-fi)mod5,根据EMD-S编码算法中的修改规则,一次修改每个奇异值数组。

  (5)将修改后的奇异值向量(σ′i1,σ′i2)进行奇异值逆变换得到新的2×2矩阵,各个子块组合成新的载有秘密信息的图像矩阵A′。

  2.3信息提取过程

  在这里使用矩阵A′表示载有秘密信息的图像,具体的提取步骤如下:

  (1) 将载体图像A′进行分块,每块为2×2,块与块之间相互不重叠;(2)对每个子块进行奇异值分解,获取每个子块的最大奇异值σ′i1;(3)根据EMD-S算法,以两个奇异值为一个单位进行计算,获得权重函数f的取值。秘密信息的提取公式如:

           QQ图片20161018212441.png

  (4)秘密信息d′=(d1′,d2′,…,d8′)分别经过对应S盒的变换,选择矩阵中最大的二进制数据分别得到6 bit的数据流d=(d1,d2,…,d8)。

3性能分析与比较

  3.1性能分析

  矩阵运算方便、直观,奇异值分解鲁棒性较好,本文提出改进的EMD-S编码算法,不仅保证了数据的嵌入量的增加,而且为了保证秘密信息的正确提取,采用奇异值分解的方法对图像进行子块分解,提高图像的鲁棒性。本文主要是在文献[4]的基础上做的改进,在秘密信息嵌入之前先经过S盒的压缩变换,增加了数据的嵌入率,使用奇异值分解,将秘密信息嵌入到图像子块当中,同时也保证了图像的鲁棒性。通过上述理论的分析可得,本文算法的嵌入率是文献[4]嵌入率的1.2倍左右。本文参照文献[4]使用峰值信噪比PSNR来衡量嵌入秘密信息的失真度,采用位错率来作为算法鲁棒性的客观评价标准。但是,每个S盒有连续的64个整数,增加了空间复杂度。

  3.2性能比较

  对受到JPEG有损压缩的图像,比较本文算法与文献[4]算法嵌入秘密信息后能反映其载密图像失真度的PSNR值,如表1所示。

4结论

  本文提出了SVD和EMD-S结合的隐藏编码算法,充分利用了奇异值分解的稳定性,将秘密信息通过S盒的压缩变换嵌入到每个子块的最大奇异值当中,矩阵编码方便直接,信息隐藏量可观,既保证了载密图像的质量,也提高了算法的鲁棒性。相关实验数据表明,本文算法能够较好地抵抗JPEG压缩,在相同嵌入容量下具有更好的PSNR值。因为本文提出的算法使用了S盒,每个S盒占据了64个连续的存储单元,所以算法的空间复杂度变大了,也就是说,牺牲了空间换取了时间,在以后的算法研究中应进一步降低空间复杂度。

图像 003.png

  参考文献

  [1] 韩佳伶.基于隐藏容量的数字图像信息隐藏算法研究[D].长春:吉林大学,2015.

  [2] 刘粉林,刘九芬,罗向阳.数字图像隐写分析[M].北京:机械工业出版社,2010.

  [3] Yao Xiaoming, Du Wencai, Wu Weihua. A robust EMD likestenographic schem[C].Third International Symposium on Intelligent Information Technology and Security Informatics,2010:134 137.

  [4] 姚楚茂,汤光明,辜刚林.基于奇异值的鲁棒性图像隐写算法[J].计算机工程与设计,2015,36(7):1727 1732.

  [5] 姚楚茂,汤光明,蔡镇.最大奇异值移位的鲁棒性图像信息隐藏[J].计算机应用研究,2015,32(7):2172 2174.

  [6] 刘圆,潘峰.基于矩阵运算的二维EMD算法[J].计算机工程,2011,37(20):111 113.


此内容为AET网站原创,未经授权禁止转载。