APP下载

基于彩色二维码图像的数字水印算法研究

2015-12-08吕慧中蓝凤华李宏昌

计算机与网络 2015年21期
关键词:数字水印分块二维码

吕慧中 蓝凤华 李宏昌

(武警工程大学,陕西西安 710086)

基于彩色二维码图像的数字水印算法研究

吕慧中 蓝凤华 李宏昌

(武警工程大学,陕西西安 710086)

在介绍了传统黑白二维码的基础上,对彩色二维码进行了介绍.将二维码变成彩色,提供了更多的水印嵌入位置和更高的不可见性。通过Matlab仿真实验,验证了在彩色二维码中嵌入水印信息的可行性,并结合彩色二维码的特点,对数字水印在彩色二维码中的应用进行研究,采用R、G和B三种颜色分量分别平移和旋转的方法嵌入水印,设计出了一种可抵抗几何攻击的彩色二维码水印算法,提高了二维码的安全性和实用性。

数字水印 彩色二维码 抗几何攻击

1 引言

目前,二维码技术已经渗入到社会生活的方方面面,随之也产生了一系列安全问题。某些不法分子借助二维码传播病毒、木马程序和钓鱼网站等,以达到其窃取信息和欺骗讹诈的目的。二维码不具备防伪功能,只要有二维码生成软件,一般人都可以制作。犯罪分子正是利用这一特点,将木马病毒或手机吸费软件等恶意程序通过网址链接生成二维码,诱导用户进行扫描,一旦中毒,手机中存储的通讯录和银行卡卡号,包括交易时银行发来的验证码等隐私信息都会泄露出去。因此,将含有身份认证的数字水印信息嵌入到二维码中,通过这些隐藏在载体中的信息,可以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的,从而提高了二维码的安全性。

若将传统二维码的外观变成彩色,就形成了彩色二维码。彩色二维码与黑白二维码的区别仅仅是外观上更具吸引力,其本质并未改变。然而,从数字水印的角度来看,彩色图像相对于二值图像和灰度图像而言具有更大的水印嵌入容量,在水印嵌入强度相同的情况下具有更高的不可见性。但目前鲜少有人专门对彩色二维码水印进行过研究。因此,在分析了二维码的发展现状和现有的二维码水印技术后,本文提出了一种基于彩色二维码的数字水印研究技术。

2 二维码

二维码是在横向和纵向2个方向上同时进行编码和解码的,具有信息容量大、可靠性高、成本低和鲁棒性强等特点[1]。目前,国内外关于二维码信息隐藏技术的文献不是很多,研究对象主要是四一七条码(Portable Data File 417,PDF417码)。在国内,针对PDF417码的研究较多且以空域水印为主;在国外,以研究QR码居多,以频域水印为主[2]。

QR Code[3]是一种矩阵二维码符号,是日本Denso公司于1994年9月研制的,它除了具有一维条码及其他二维码所具有的优点外,还有如下主要特点:超高速全方位识读、能够有效地表示中国汉字和日本汉字。QR码有40个版本,4个纠错等级,单个字符最大可以容纳1 817个字符,最高纠错等级可以纠错约30%的数据码字,因此本文着重于对QR码的水印研究。

QR码符号如图1所示,它由编码区域和包括位置探测图形、定位图形和校正图形在内的功能图形组成[4]。编码区域的作用是数据编码,功能图形不用于数据编码,符号的四周留有宽度至少为4个模块的空白区。

图1 QR码符号

彩色二维码是一种特殊的二维码,它具有传统黑白二维码的所有功能,但彩色二维码需满足前景色为深色、背景色为浅色,并且定位点的颜色与其他模块的颜色类似的条件,否则会影响扫码软件的识读。前景色为多彩色,背景色为纯白色构成的一幅彩色二维码图像如图2所示。

图2 彩色二维码

3 彩色二维码水印算法

3.1 图像预处理

针对QR码数据容量和安全性的要求,必须对拟嵌入图像进行预处理。对嵌入图像进行压缩,采用Arnold变换置乱图像,使的Arnold变换[5]的定义为:

式中,x、y∈{0,1,K,N-1},(x,y)、(x',y')分别表示像素在图像矩阵中变换前后的坐标,N为图像阶数。Arnold变换运算遍历图像所有像素以后,将坐标(x,y)对应的图像信息映像到新坐标(xc,yc)即可得到一幅新的与原先截然不同的图像。对水印图W像进行Arnold置乱,再将其展开成一维序列后进行混沌加密,得到水印序列Wk(如果水印本身就是二值序列,可直接进行混沌加密)。置乱次数n以及混沌发生器的初值作为密钥保存。

3.2 水印嵌入

为了提高彩色二维码的安全性,在其中嵌入数字水印,具体算法如下:

①由于二维码的空白区大小不定,且在此区域作修改会影响二维码的正常识读,因此嵌入水印前需将空白部分裁剪掉,只保留中间部分作为水印嵌入区域[6]。因此,首先对彩色二维码图像I0去除空白区,并进行4×4大小的模块标准化得到I,经过去除空白区和模块标准化的二维码核心部分如图3所示;

图3 去空白标准化

②对I进行RGB色彩分离,得到R、G和B三个分量的灰度图;

③对R分量进行8×8大小的不重叠分块,分块大小应等于模块大小的整数倍,以抵抗缩放等攻击;

④对各分块做DCT变换(离散余弦变换),得到DC系数,记为dij;

⑤对某一分块嵌入强度为α,对所有的dij做如下四舍五入取整变换:s=round(dij/α),若mod(s+Wk,2)=1,则dij'= (s-0.5)×α;若mod(s+Wk,2)=0,则dij'=(s+0.5)×α;

⑥对各分块做DCT反变换,得到含水印的R分量图像,记为R';

⑦将G分量旋转90°并向右循环平移图像大小的1/2,将B分量旋转180°并向上循环平移图像大小的1/2,与R分量相同,分别对变换后的分量执行第2至5步,然后分别逆旋转和循环平移恢复得到G'和B';

⑧合并R'、G'和B'三个分量得到含水印的彩色图像,添加空白区域使之变为标准的二维码图像I'。

3.3水印提取

水印提取基本上是嵌入的逆过程,不需原始载体图像参与,实现了水印的盲提取:

①对含水印的彩色二维码图像Ic0校正后去除空白区,并进行4×4大小的模块标准化,得到Ic;

②对Ic进行RGB色彩分离,得到3个分量的灰度图;

③对R分量进行8×8大小的不重叠分块;

④对各分块做DCT变换,得到DC系数,记为dij;

⑤对某一分块中所有dij做如下检测处理:s=floor(dij/α),若mod(s,2)=1,则该块计数器W1(k)=W1(k)+1;若mod(s,2)=0,则该块计数器W0(k)=W0(k)+1;当该块DC系数全部检测完成后,若W1(k)>W0(k),则该块提取出水印WR(k)=1;反之,WR(k) =0。

⑥将G分量旋转90°并向右循环平移载体图像大小的1/2,将B分量旋转180°并向上循环平移载体图像大小的1/2,之后按照与R分量相同的提取过程,得到WG和WB;

⑦对WR、WG和WB每一位按照多数原则进行合并,得到一维水印序列W';

⑧对W'进行混沌解密,还原为二维矩阵后对其进行Arnold逆变换,得到水印图像Wc。

4 仿真实验

选用大小为326×326的图2作为原始载体图像,以大小为32×32的“工程大学”字样的二值图像作为水印图像,如图4所示,实验平台为Matlab7.0。嵌入水印后的载体图像和提取出来的水印图像分别为图5和图6所示,PSNR=37.1891,NC=1,用二维码检测器可以正确识读含水印载体图像,这说明该算法满足了二维码水印不可见的条件,是有效的。

图4 原始水印图像

图5 含水印载体图

图6 提取水印

对含水印的载体图像进行放大和缩小2倍的缩放攻击,如图7(a)和图8(a)所示,提取出的水印如图7(b)和图8(b)所示。对提取水印进行标准化缩放校正,其NC值分别为1和0.9916,这证明该算法具有较好的抗缩放攻击能力,满足二维码水印的要求。

图7 放大2倍

图8 缩小1/2

将含水印载体图像的中心部分裁剪掉1/5,如图9所示,从不同分量中提取出的水印以及最终得到的水印如图10所示,NC=0.9859。由此可见,该算法可较好地抵抗裁剪涂抹攻击,对于类似在二维码中心覆盖不超过1/10图片的攻击,水印信息也可以准确地提取出来。同时,通过不同分量中提取出的水印可以直观的看出,在嵌入水印时对彩色二维码载体图像不同分量的旋转和平移,可以有效地分散局部连续涂抹攻击对同一位置水印信息的影响。此外,单个分量中提取出水印的NC值也分别能达到0.7142、0.8824和0.8685,基本满足了水印有效性的指标。因此,在没有特别要求时,可在不同分量中嵌入不同的水印信息,这样便能够成倍地增加彩色二维码嵌入水印的容量。

图9 中心裁剪1/5图像

图10 提取水印

5 结束语

本文通过理论分析与仿真实验分析,证明了在彩色二维码中嵌入水印序列是可行的。彩色二维码提供了更多的水印嵌入位置和更高的不可见性,对于提高二维码水印抗攻击能力有较为明显的作用,提高了二维码水印的安全性和实用性。

[1]刘丽,周亚建.二维条码数字水印技术研究[J].理论研究, 2014(1):56-60.

[2]朱本威,万武南,陈运.基于LSB的QR码数字水印算法研究[J].成都信息工程学院学报,2012,12(27):541-547.

[3]王瑞玲.面向二维条形码的数字水印技术研究[D].杭州电子科技大学,2010:1-6.

[4]Guo Zuhua,Ma Shixia,Xinxiang,et al.An Algorithm Based on Double-Fragile Digital Watermarking of Distance Education's Electronic Seal:proceedings of 2010 the Third IEEE International Conference on Computer Science and Information Technology,July 9,2010[C].Chengdu,2010.

[5]黄大足,陈志刚.基于广义猫映射与神经网络的图像空域水印算法[J].计算机应用研究,2008,25(4):1114-1146.

[6]孙丙,高美凤.基于QR码的数字水印算法研究[J].计算机与现代化,2011(11):74-77.

Research on Digital Watermarking Algorithm Based on Color Two-dimensional Code Image

LV Hui-zhong,LAN Feng-hua,LI Hong-chang
(Engineering University of CAPF,Xi爷an Shaanxi 710086,China)

This paper introduces the color two-dimensional code on the basis of introducing the traditional black and white two-dimensional code.The two dimensional code is changed into color to provide more watermark embedding position and higher visibility.The MATLAB simulation experiment proves the feasibility of embedding the watermark information in the two-dimensional code.Based on characteristics of color two-dimensional code,this paper studies the application of digital watermark in color two-dimensional code.By embedding watermark through through R,G,B color component translation and rotation,this paper designs a watermarking algorithm based on the color two-dimensional code,which can resist geometric attacks and improve the security and practicability of two-dimensional code.

digital watermarking;color two-dimensional code;anti-geometrical attack

TP319

A

1008-1739(2015)21-58-4

定稿日期:2015-10-12

猜你喜欢

数字水印分块二维码
可以吃的二维码
二维码
分块矩阵在线性代数中的应用
基于网屏编码的数字水印技术
让严肃的二维码呆萌起来
反三角分块矩阵Drazin逆新的表示
基于自适应中值滤波的分块压缩感知人脸识别
二维码,别想一扫了之
基于多分辨率半边的分块LOD模型无缝表达
基于数字水印的人脸与声纹融合识别算法