Computer Science and Application
Vol.07 No.01(2017), Article ID:19637,7 pages
10.12677/CSA.2017.71009

Fragile Watermarking Algorithm for the Text Image Based on Hash Function

Xiaoxue Ma, Ying Wang

Qingdao University, Qingdao Shandong

Received: Jan. 6th, 2017; accepted: Jan. 21st, 2017; published: Jan. 24th, 2017

ABSTRACT

Aiming at the actual demand of authenticity and integrity authentication of text image, a fragile watermarking algorithm for text image based on Hash function is proposed. The idea of the algorithm is to first block the text image, and then calculate the reversible and non-reversible pixel points in each block based on smoothness and connectivity. The watermark information is generated by MD5 algorithm in Hash function. Finally, the watermark information is embedded into the reversible pixel points. The watermark information extracted in the received text image is compared with the previously generated watermark information, and the authenticity and inte- grity of the text image can be authenticated. The algorithm has a good ability of tampering posi- tioning.

Keywords:Text Image, Hash Function, Fragile Watermarking, Tampering Positioning

基于Hash函数的文本图像脆弱水印算法

马小雪,王英

青岛大学,山东 青岛

收稿日期:2017年1月6日;录用日期:2017年1月21日;发布日期:2017年1月24日

摘 要

针对文本图像内容真实性和完整性认证的实际需求,提出一种基于Hash函数的文本图像脆弱水印算法。算法思想是首先对文本图像进行分块,然后根据平滑度和连通性来计算每个分块中的可翻转像素点和不可翻转像素点,然后利用Hash函数中的MD5算法加密产生水印信息,最后将这些水印信息嵌入到可翻转像素点中。将在接收到的文本图像中提取的水印信息与之前产生的水印信息相比较,就可以实现文本图像的真实性及完整性认证。该算法有良好的篡改定位能力。

关键词 :文本图像,Hash函数,脆弱水印,篡改定位

Copyright © 2017 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

随着互联网的发展,电子商务和电子政务随之兴起,重要文件资料、经济合同、电子发票等更多文本图像需要网络传送。这些文件一旦出现恶意篡改而无法证明真伪,就会造成严重后果。因此,研究文本图像认证方法,对电子政务和电子商务具有重要作用 [1] [2] 。文本图像特点:前后景区域对比鲜明,隐藏噪声易于显现,隐藏冗余非常有限,所以在文本图像中隐藏信息的难度较大 [3] [4] 。脆弱水印技术,由于其极容易被破坏的特性,非常适合用于图像内容的认证,可以有效检测篡改和篡改定位。文献 [5] 提出利用混沌算法将水印嵌入的最不重要像素块中,视觉质量比较好,但是定位能力比较差;文献 [6] 将水印嵌入文本空白处,定位效果比较好,但是视觉效果不理想。本文提出一种基于Hash函数的脆弱水印算法,利用Hash函数对输入值的高敏感性,来实现脆弱水印在文本图像的嵌入及篡改定位。

2. Hash函数

Hash函数在现代密码学中起着重要作用。其有主要性质:1) 易计算:对于任意给定的消息,容易计算其哈希值;2) 压缩性:任意长度的数据,算出的摘要长度固定;3) 敏感性:对数据进行任何改动,甚至只修改1个字节,所得到的摘要会有很大区别;4) 抗碰撞性:对于给定的消息M1,要发现另一个消息M2,满足H(M1) = H(M2)在计算上是不可行的;找一对不同的消息M1,M2,使H(M1) = H(M2)在计算上是不可行的。

Hash函数主要有MDx系列和SHA系列。MDx系列包括MD5、HAVAL、RIPEMD一128等;SHA系列包括SHA0、SHA1、SHA256等。MD5和SHAl应用最广,MD5产生的摘要信息为128位,SHA产生的摘要信息为160位。

单向散列算法,即信息-摘要算法(Message-Digest Algorithm 5, MD5),在20世纪90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Rbnald L. Rivest开发,经MD2、MD3和MD4发展而来。MD5以512位分组处理输入文本,每个分组又划分为16个32位子分组。算法的输出由4个32位分组组成,级联成一个128位散列值 [4] 。虽然2004年王小云教授在国际密码学会议公布了MD系列算法的破解,但在一般的应用场合,可以认为MD5算法是足够安全的。MD5有良好的压缩性和抗碰撞性等,通过对一段信息产生信息摘要以保证信息的安全性。

MD5摘要生成流程如图1

第一步填充:若输入信息长度(bit)对512求余的结果不等于448,则需要填充。填充一个1和n个0,使得求余结果等于448。填充完后,信息长度为N × 512 + 448;

Figure 1. MD5 calculation flow

图1. MD5计算流程

第二步记录:用64位来存储填充前信息长度。这样信息长度就变为N × 512 + 448 + 64 = (N + 1) × 512位。

第三步装入:装入标准幻数,物理顺序是A = (01234567)16,B = (89ABCDEF)16,C = (FEDCBA98)16,D = (76543210)16。

第四步循环:循环运算,循环次数是分组的个数(N + 1) [7] [8] [9] 。

3. 水印算法的设计及实现

3.1. 水印的生成与嵌入

3.1.1. 水印生成

1) 原始文本图像分块:分成3 m × 3 n大小的块,每块标记为Ai,即每块中含有m × n个3 × 3的小块;

2) 可翻转像素点确定:根据MinWu提出的可翻转像素准则 [10] ,统计每块中可翻转像素点以及不可翻转像素点;

3) Hash摘要生成:将每块中不可翻转像素作为MD5算法的输入,生成长度为L的二值序列,作为水印Wi;

4) 将水印Wi加密保存:用logistic混沌生成混沌序列W1,Wi与W1异或生成加密水印。存储Hash摘要要比存储原始文本图像更有效。

以分块A1为例,MD5摘要生成如表1所示。

3.1.2. 水印的嵌入

1) 将原始文本图像分成3 m × 3 n大小的分块,每块标记为Ai;

2) 用logistic混沌映射生成一个混沌序列W2,用W2来选定与Ai相对应的块Bi;

3) 将水印信息Wi嵌入到Ai中对应的可翻转像素中,即得到嵌入水印的文本图像。

用混沌序列指引水印嵌入块,保密水印的嵌入位置,提高水印的抗攻击能力 [11] 。对可翻转像素进行翻转,对图像的视觉影响很小,所以将水印嵌入到可翻转像素中的视觉隐蔽性很高 [10] 。在保证图像视觉质量的前提下,将水印均匀的嵌入到每个分块中,实现水印的脆弱性 [12] 。这样含水印图像如果遭到恶意篡改,

就会导致水印发生相应的变化,根据水印的变化可以确定篡改位置。

水印嵌入流程如图2所示。

3.2. 水印提取与篡改检测

3.2.1. 水印提取

1) 把待检测文本图像分成3 m × 3 n大小的分块;

2) 用logistic混沌映射确定分块Bi';

3) 从映射块Bi´中可翻转像素点提取Wi'。

3.2.2. 水印篡改检测

1) 篡改检测:可以通过计算提取水印和原始水印的归一化系数(NC)判断图像是否被篡改,NC越接近于1,说明提取的水印与原始水印越接近。理论上,当NC为1时,图像未被篡改,当NC不为1时,说明图像被篡改。

2) 篡改定位:如果Wi ≠ Wi'则A_flag(x, y) = 1,可以判定图像被篡改;如果Wi = Wi',则A_flag(x, y) = 0,则图像未被篡改,从而实现篡改区域的认证和定位。

水印提取与检测流程如图3所示。

4. 算法仿真

建立图像库,现存50幅文本图像。在MATLAB环境下,对该算法进行仿真实验,验证算法的有效性。

4.1. 不可见性

图4为原始文本图像示例。图5为对应嵌入水印的文本图像示例。对50幅文本图像进行仿真,视觉

Table 1. Encryption watermarking

表1. 加密水印

Figure 2. Watermark embedding flow diagram

图2. 水印嵌入流程框图

Figure 3. Watermark extraction flow diagram

图3. 水印提取流程框图

(a)(b) (c)

Figure 4. Watermark extraction flow diagram: (a) Text; (b) Medical documents; (c) Electronic invoice

图4. 水印提取流程框图:(a)文字文本;(b) 医学单据;(c) 电子发票

(a)(b) (c)

Figure 5. Examples of watermarked images: (a) Watermarked text; (b) Watermarked medical documents; (c) Watermarked electronic invoice

图5. 含水印图像示例:(a) 含水印文字文本;(b) 含水印医学单据;(c) 含水印电子发票

不可见性良好。客观评定用峰值信噪比PSNR,其值越高,不可见性越好。它的临界值一般取为30 dB,峰值信噪比超过30 dB,就说明含水印的图像的透明性较好。50幅文本图像的PSNR都在45 dB以上,从而证明该算法有良好的不可见性。在含水印图像中提取水印信息并计算对应的归一化系数,NC及PSNR如表2所示。

4.2. 篡改定位

对含水印文本图像进行局部的篡改。图5(a)第6行中下午篡改为上午,第15行中静音改为震动;图5(b)第3行数据27.67篡改为45.36,第10行数据0.95改为3.08;图5(c)将单价2480改为4560,将合计金额2180篡改为4260。篡改定位仿真示例如图6所示。计算每种篡改图像的归一化系数、虚检率及漏检率,如表3所示。

仿真实验结果表明,该算法具有很好的视觉不可见性,同时对水印图像的篡改具有很高的敏感性,可以鉴别文本图像的正确性和完整性。

Table 2. Invisible features

表2. 不可见性

Table 3. Pfa and Pfr of tampering and positioning

表3. 篡改定位虚检率及漏检率

Figure 6. Examples of tampering and positioning

图6. 篡改定位示例

5. 结束语

本文提出了一种针对于文本图像认证的脆弱水印算法。通过利用Hash函数对输入值的高敏感性,来实现脆弱水印在文本图像的嵌入及篡改定位。通过将文本图像分块,然后计算出每个块中不可翻转像素和可翻转像素,然后将不可翻转像素利用Hash函数的MD5算法加密生成含有图像内容的水印信息,然后将其嵌入到不可翻转像素中就得到了嵌入水印的文本图像,此算法通过实验证明有很好的水印不可见性和篡改定位能力。

致谢

在此感谢导师的指导和帮助,在我有问题不能解答的时候对我细心的指导,也感谢实验室同学和朋友的帮助,在我遇到困难的时候帮助我解决问题并给予关心,并对给予转载和引用权的资料、图片、文献、研究思想和设想的所有者,表示感谢。

文章引用

马小雪,王 英. 基于Hash函数的文本图像脆弱水印算法
Fragile Watermarking Algorithm for the Text Image Based on Hash Function[J]. 计算机科学与应用, 2017, 07(01): 67-73. http://dx.doi.org/10.12677/CSA.2017.71009

参考文献 (References)

  1. 1. 谭利娜. 文本图像鲁棒认证技术研究[D]: [博士学位论文]. 长沙: 湖南大学, 2012.

  2. 2. 孙圣和, 陆哲明, 牛夏牧, 等, 著. 数字水印技术及其应用[M]. 北京: 科学出版社, 2004: 536.

  3. 3. 秦瑶. 内容真实性认证的文本图像脆弱水印算法[D]: [硕士学位论文]. 成都: 西南交通大学, 2014.

  4. 4. 余振山. 自然语言文本中数字水印的设计与研究[D]: [博士学位论文]. 合肥: 中国科学技术大学, 2009.

  5. 5. 朱从旭, 陈志刚. 一种灵敏的文本图像认证混沌脆弱水印技术[J]. 小型微型计算机系统, 2006, 27(1): 151-154.

  6. 6. 胡精易, 毛建旭, 赵希. 一种用于认证二值文本图像窜改定位的数字水印算法[J]. 计算机应用研究, 2012, 29(12): 4631-4634.

  7. 7. 林克正, 李东勤, 李绍华. 基于Hash函数的脆弱图像水印算法[J]. 哈尔滨工程大学学报, 2008, 29(1): 61-64.

  8. 8. 毛熠, 陈娜. MD5算法的研究与改进[J]. 计算机工程, 2012, 38(24): 111-114.

  9. 9. Bruce, Schneier, 祝世雄. 应用密码学——协议、算法和C源程序[J]. 信息安全与通信保密, 1994(3): 312-313.

  10. 10. 白树锋, 邓立新. 脆弱水印在电子病历中的应用[J]. 软件导刊, 2012, 11(6): 149-150.

  11. 11. 陈善学, 彭娟, 李方伟. 基于二维Logistic混沌映射的DWT数字水印算法[J]. 重庆邮电大学学报(自然科学版), 2012, 24(4): 495-500.

  12. 12. Wu, M., Tang, E. and Lin, B. (2000) Data Hiding in Digital Binary Image. IEEE International Conference on Multimedia and Expo, 1, 393-396. https://doi.org/10.1109/ICME.2000.869623

期刊菜单