2011,47(9)
信息隐藏技术是将特定的秘密信息伪装隐藏在公开的非
秘密数字载体之中进行传递,使观察者或监测系统无法察觉
其存在。它利用图像、语音等载体信源的数据冗余特性以及
人的知觉器官的某种不敏感性,将秘密信息以一定的编码、调
制或者加密方式隐藏在数字载体中[1]。1996年Cox[2]等提出第
一个变换域水印算法之后,其良好的性能备受关注,相比时空
域方法而言变换域方法通常都具有很好的鲁棒性,对载体信
息压缩、滤波以及噪声均有一定的抵抗力。离散余弦变换 [3]
(DCT)具有很强的“低频能量集中”特性,而且当信号具有接
近马尔可夫过程的统计特性时,DCT变换的去相关性接近于
K-L变换的性能。DCT域算法可以与 JPEG压缩过程相结合,
从而提高鲁棒性。在有关文献中对于利用奇偶性实施隐藏的
算法并不推崇,而且真正实际应用也并不多,究其原因在于抗
干扰效果不佳、提取信息的误码率高,本文提出一种新的伪随
机发生器算法和奇偶量化修正算法,着力在提高抗干扰性和
降低误码率方面进行积极改进,实验表明效果明显。
1 文本信息置乱与嵌入位选择
文本信息通常以字符和图像等形式出现,隐藏时通常将
其模拟信号调制成数字信号,即编码成 01比特序列。字符形
式的文本编码标准[4]有ASCII、GB2312等,图像形式的文本通
常存储为二值图像。图像编码的数据量一般比字符文本大很
多,但由于图像存在一定的数据冗余,因此在提取信息时,对
误码的容忍力比字符文本强。字符文本信息提取时,一旦有
一个比特出错则会造成整个字符的出错,当关键字符出错时
或当误码率稍大到一定程度时,其对信息误判的可能性将大
大增加。
置乱[5]和嵌入位选择的实质就是一种加密,与加密保证安
全性不同的是,将信息乱序后再隐藏,不会引起载体的太大变
化,不易引起第三方注意。即使第三方知道隐藏存在,在没有
奇偶量化DCT系数实现文本信息隐藏
陈 涛 1,吴 敏 2,张 彪 3
CHEN Tao1,WU Min2,ZHANG Biao3
1.中国人民解放军91388部队
2.广东海洋大学 网络与教育技术中心,广东 湛江 524088
3.华中科技大学 计算机科学与技术学院,武汉 430074
91388 of the PLA
and Education Technology Center,Guangdong Ocean University,Zhanjiang,Guangdong 524088,China
of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan 430074,China
CHEN Tao,WU Min,ZHANG quantization of DCT coefficient on text information Engi-
neering and Applications,2011,47(9):127-129.
Abstract:This text proposes parity quantization and amendment algorithm of text information hiding based on DCT domain
of a new pseudo-random generator is introduced based on the dislocation of sorting,and the embedded informa-
tion is the base of the theory and process of JPEG compression,parity quantization of DCT coefficient of im-
age is proposed on the special is a really blind-extraction the bit error when the picture is com-
pressed,with JND model in order to keep invisible,a new bit error correction method is proposed based on extraction-com-
results show that this algorithm is robust and the hiding text is invisible,and it is excellent in resisting
the JPEG compression resistance,noise and clipping.
Key words:information hiding;Discrete Cosine Transform(DCT);parity quantization;rounding error;just noticeable difference
摘 要:提出了一种基于图像载体的文本信息隐藏算法。引入一种新的基于地址错位的随机发生器算法,对所嵌入信息进行置
乱。根据置乱后信息按照特定规则对图像量化系数进行奇偶处理,从而实现文本信息嵌入。针对图像压缩时所导致的误码,利
用 JND模型,提出了一种新的基于提取对比的误码修正算法。实验表明,该算法具有较强的鲁棒性和不可见性,在抵抗 JPEG压
缩、噪声、剪切等干扰具有较优良的性能。
关键词:信息隐藏;离散余弦变换(DCT);奇偶量化;舍入误差;临界感知差异
DOI: 文章编号:1002-8331(2011)09-0127-03 文献标识码:A 中图分类号:
作者简介:陈涛(1978—),男,工程师,主要研究领域为计算机系统结构、信息隐藏;吴敏(1977—),女,助教,主要研究领域为计算机网络与信息安
全;张彪(1979—),男,硕士,主要研究领域为多媒体数据处理与通讯。
收稿日期:2009-07-22;修回日期:2009-09-22
Computer Engineering and Applications计算机工程与应用 127
Computer Engineering and Applications计算机工程与应用2011,47(9)
秘钥的情况下也无法复原隐藏信息[6]。
在此提出一种基于排序的地址错位伪随机发生器新算
法,该算法通过对3个数组大小排序及地址错位控制来实现置
乱与随机嵌入。具体算法如下:
(1)以设定的K1、K2、K3为密钥产生3组个数为M的均匀分
布随机数组R1、R2、R3。
(2)将R1、R2分别进行升序(或降序)排序,排序后的序号
数组分别为nR1、nR2,即nR1中的第 i个元素值为R1排序后的新
数组中第 i个元素在排序前数组中的序号,nR2中元素值的求
取与此规律相同。
(3)以 nR2为索引求取R1中的数据组成新数组 tR1,以 nR1
为索引求取R2中的数据组成新数组 tR2。
(4)将 tR1和 tR2中的数据分别依次挪位相加,组成新的数
组 jR1和 jR2。相加法则为:第一个数加第二个数,第二个数加
第三个数,依次类推,直到最后一个数加第一个数。
(5)R4=jR1+jR2-R3
(6)求R4升序排序的序号数组 nR4,规则与(2)同。nR4即
可作为对N个数进行随机置乱的序号数组。
(7)设载体可嵌入的容量为M,秘密信息的大小为N。当
M=N时,嵌入位的选择即可直接用 nR4代替;当M>N时,嵌入
位截取nR4(共有M个序号)中的前N位即可。
在该算法中对密钥、挪位、累加、混合索引等方法进行了
综合利用,具有很强的随机性。利用以上算法对如图 1(a)所
示文本信息的字符和图像格式分别进行置乱,置乱后的效果
分别如图 1(b)和图 1(c)所示,可以看出:图 1(b)中为一段乱
码,图 1(c)中为一幅杂点图,完全打乱了原文特征,无法从中
获得有用信息。
2 隐藏算法与盲提取
在图像 JPEG压缩[7]量化取整过程中,可以从整数奇偶性
出发与 01比特之间建立某种联系,当这种联系能将数据流完
全表征出来时,就能实现隐藏。基于这一思路,在 JPEG压缩量
化的四舍五入取整时适当改变量化值的奇偶性,使之与密文的
01比特分别对应就能实现奇偶性对数字化密文的表征,从而达
到隐藏信息的目的。结合JPEG压缩设计隐藏算法的步骤为:
第一步:载体图像的颜色空间转换。将RGB空间转换到
YcbCr空间。
第二步:分块载体图像的亮度分量(一般为 8×8),对每块
进行DCT变换,经过Zigzag扫描后,各块的DCT系数就按从
低频到高频的顺序排列为一维数组。为了平衡鲁棒性和不可
见性的矛盾,一般选择嵌入中低频区域。
第三步:在中低频系数区域中进行有密钥的伪随机选择,
确定嵌入位置。
第四步:对确定嵌入位置的系数按照 JPEG标准量化表量
化,结合要嵌入的秘密信息的01特性,修改量化系数的奇偶特
性。修改规则为:当要嵌入比特 0时,如果量化系数为偶则不
变,为奇则强行置偶;当要嵌入比特1时,如果量化系数为偶则
强行置奇,为奇则不变。
令F(u,v)为DCT系数,Q(u,v)为量化表值,其中u、v分别
为在分块中的相对坐标,则经过JPEG量化后的系数D(u,v)为:
D(uv)= F(uv)λ × Q(uv) (1)
公式(1)中,λ为量化因子,可以控制量化压缩的质量,定义 λ
的取值范围为(0,1]。
强行置奇方法为:对量化后的DCT系数暂不取整,令 round
为四舍五入取整函数,则可利用公式(2)进行置奇运算,利用
公式(3)进行置偶运算,经过奇偶量化后的系数为S(u,v)。
S(uv)= 2round æèç
ö
ø÷
D(uv)- 1
2
+ 1 (2)
S(uv)= 2round æèç
ö
ø÷
D(uv)
2
(3)
第五步:对每系数块进行反量化和反DCT变换,进行颜色
空间反变换,重构图像。
由于该算法结合了 JPEG压缩原理并采用灵活的取整规
则减少对DCT系数的修改程度,因此具有较强的不可见性。
如图 2(b)为 λ =时隐藏了图 1(a)所示的字符文本后的隐
秘图像。提取算法是嵌入算法的逆过程,不需要原始载体图
像参与,只需要判断隐秘图像特定位置处DCT系数的奇偶性
即可获取秘密信息的01比特串,因而能实现盲提取。
3 误码修正算法
在提取算法实验时发现,提取的秘文往往会出现一些意
外的误码,如图3所示为量化因子 λ与误码率(粗线)和相关系
数(细线)之间的关系图。随着量化因子增大,误码率呈减小
趋势,相关系数随之增加,但是在这一过程之前和之后的变化
不规则,存在一定的随机性。当 λ逐渐增大到 1时,相关系数
并未按理想状况逐渐增大到 1,而是出现一些波动。由此可
知,为了减小误码率可以通过调节 λ值来进行粗调,但这种粗
调效果当 λ >之后就不再理想。
(a)原文本信息 (b)字符文本置乱 (c)图像文本置乱
图1 文本置乱效果图
(a)原图 (b)隐秘图像
图2 奇偶量化隐藏图
0
量化因子
相关系数
误码率
相关系数
误码率
0
量化因子
0
误
码
率(
曲
线
1)
相
关
系
数(
曲
线
2)
(b)图像文本(a)字符文本
0
误
码
率(
曲
线
1)
相
关
系
数(
曲
线
2)
图3 误码率与量化因子的关系图
128
2011,47(9)
分析发现:在隐藏算法中,嵌入奇偶信息后的整系数经过
反量化、反DCT变换后变为浮点数,而存储时受图像颜色格式
的限制,必须对这些浮点数进行取整,此时就带来了舍入误
差。在提取算法中,经过DCT变换,量化取整后误差又被放大
或偏移,足以造成系数奇偶性发生变化,以致提取的比特出现
错误。这种随机误差甚至在不嵌入任何信息也存在。
理论上误差不可避免的,但造成的影响却不容忽视,特别
是字符文本隐藏时,错一比特就会造成错一个字符,当错误量
大到一定程度或者集中在一些重要字句上时,接收方将很难
领会密文意思。例如将图1(a)中文本信息以字符和图像的形
式分别嵌入到图2(a)的图像中,然后进行提取实验,提取效果
如图4所示,参数对比如表1所示。在提取的图像文本中有许
多杂点,正确辨读文字比较困难,而字符文本尽管误码数和误
码率均比图像文本少,但实际效果却近乎是一堆“乱码”。可
以设想,当隐秘载体受到噪声干扰或主动攻击时误码将会加
剧,而接收端将更难获取准确信息。
为了解决这个问题,必须进行误码修正,在此引入负反馈
的思想,在输入端实施嵌入信息的同时,实时进行输入和输出
的比对,通过不断调整有关参数,以达到输出与输入之间的差
异最小,从而可以大大减少甚至避免了由于舍入误差造成的
误码现象。为了控制系数修正的幅度使其不至于影响秘密信
息的不可见性,在这里引用临界感知差异 JND(Just Notice-
able Diference)的概念[8]。它是指能够被普遍感知到的变化的最
小值,即在实验中能被识别出来的最小失真,反映了DCT系数
所能忍受的最大改变量。结合 JND系数设计修正算法如下:
利用提取算法从隐秘图像中提取秘密信息比特序列,将
提取出的序列与原序列进行比对,记下误码处的序号、所属的
DCT块序号及其在块中的具体位置。在 JND值范围内以一定
的步长 ki从小到大取点 Ji,将 Ji叠加到奇偶量化后的DCT系数
上。反DCT变换,存储为隐秘图像。重复以上流程,直到分块
中提取信息与嵌入信息无差异或取尽 Ji值时才退出。记下此
时的Ji值。以优选后的Ji值进行修正,反DCT变换后存储为最
终隐秘图像,从而完成修正过程。
需要指出的是,这种修正对于不同的载体和嵌入信息是随
机的,能给第三方的破译造成很大难度,而且从算法原理分析可
知,修正对盲提取并不产生影响。如图5所示为 λ =时执行
修正算法后的Ji值图像,图5中横坐标为比特序号,纵坐标为修
正值,修正值为0表示未出现误码,实验中取修正步长为,从
图5中可以看出,全部53个误码点均在3个步长内就修正成功,
修正运算次数为120次,修正误码后的隐藏图像如图6所示。
4 算法性能测试
JPEG压缩
对隐秘图像进行 JPEG压缩的实验结果如图 7所示,图 7
中 9条曲线对应 9个不同的量化因子,从右到左依次为:、
、、、、、、。每条曲线显示随压缩率的增加
提取信息的误码率逐渐减小,即压缩越厉害,对隐藏信息的破
坏也越大,这是符合直观认识的。对比不同量化因子的曲线
可以看出:量化因子越大,图像失真也就越大,但其抗压缩的
能力却越强,从图 7中可以看出当量化因子为 时,即使是
35%的压缩率,仍能保持低于%的误码率。
噪声干扰
图像在传输过程中较容易受到噪声干扰,通常最常见的
噪声是服从高斯分布的随机噪声。如图 8所示为对隐秘图像
施加均值为 0的高斯噪声后提取信息的误码率图。图 8中横
坐标为噪声方差,纵坐标为误码率,从上至下 8条曲线的量化
因子分别为:、、、、、、。从图 8中可以看
出:随噪声方差增大,图像被破坏得越厉害,提取信息的误码
率随之增加;随着量化因子变大,误码率变小。
剪切
剪切隐秘图像左上的1/4部分,然后再从剩下的图像中提
取信息,如图 9所示为相关系数曲线(粗线)和峰值信噪比
(dB)曲线(细线),随着量化因子增加,提取的正确率增加,相
关系数增大,峰值信噪比随之减小。
(a)提取字符文本 (b)提取图像文本
图4 舍入误差对提取文本的影响图
类型
字符
图像
λ
比特数
1 744
14 884
误码数
53
726
误码率/(%)
SNR
PSNR
NC/(%)
表1 字符文本与图像文本提取的参数对比表
500 1 000 1 500
比特序号
修
正
值
0
图5 误码修正图 图6 修正误码后的隐秘图像
20 40 60 80 1000
JPEG压缩率/(%)
误
码
率
图7 JPEG压缩对误码率的影响图
图8 高斯噪声对误码率
的影响图
图9 剪切对误码率和
PSNR的影响图
2 4 6 8 100
噪声方差
误
码
率
×10-3
量化因子
40
30
20
峰值信噪比
相关系数
0
相
关
系
数(
曲
线
1)
峰
值
信
噪
比(
曲
线
2)
(下转133页)
陈 涛,吴 敏,张 彪:奇偶量化DCT系数实现文本信息隐藏 129