一种票据的数字水印防伪方法

文档序号:6565225阅读:490来源:国知局
专利名称:一种票据的数字水印防伪方法
技术领域
本发明涉及一种票据的数字水印防伪方法。
背景技术
随着信息时代的到来,特别是Internet的普及,信息的安全保护问题日益突出。当前的信息安全技术基本上以密码学理论为基础,其保护方式均是控制文件的存取,即将文件加密成密文,使非法用户不能解读,随着多媒体技术的广泛应用,需要进行加密、认证和版权保护的声像数据也越来越多。数字化的声像数据从本质上来说就是数字信号,如果对这类信号也采用密码加密的方式,则其本身的信号属性就被忽略了。最近几年,许多研究人员放弃了传统的密码学的技术路线,尝试采用各种信号处理的方法对声像数据进行隐蔽加密,并将该技术应用于制作多媒体的“数字水印”。
数字水印技术是指用信号处理的方法在数字化的多媒体数据中嵌入隐含的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。数字水印设计必须满足非法用户不能识别,只能够被合法的版权拥有者所确认的要求。
数字水印处理技术可以划分为两大类时域水印处理技术和变换域水印处理技术。时域水印处理技术的优点是水印的嵌入和检测的速度快,缺点是抗噪声、滤波、压缩等攻击能力差,而且嵌入水印信息小,在变换域水印处理技术中,首先将数字信号的采样数据进行某种变换(如离散傅立叶变换、离散余弦变换——DCT或离散小波变换——DWT)。然后结合变换自身的特性和人的要求将水印信息嵌入到数字信号的变换域系数上,最后通过逆变换恢复出含有水印信息的数字信号。变换域水印处理技术的优点是嵌入水印的信息量大,抗噪声、滤波、压缩等攻击能力比较强,嵌入水印的稳健性好,变换域水印处理技术是目前数字水印处理技术的主流研究方向。但是另一个方面,已有的变换域数字水印方法,不能实施数字信号的无损表示,因此也不能应用于票据的防伪。

发明内容
本发明的目的在于提供一种票据的数字水印防伪方法,这种方法由于采用了一维整数DCT变换和Rijndael加密,可实现图像的无损重构,并具有很好的安全性。
为实现上述目的,在数字图像信号中加入水印信号的步骤为1)、由校验器将待加密的二进制数据流做一次CRC校验,生成两个字节长的校验核,将待加密的二进制数据流随机截取8n-2个字节数据,n≥2,若截取数据字节数不够则以0或1填充满,并将校验核添加在所截取数据流的后面,生成待加密的明文;2)、将待加密的明文输入频域变换器,频域变换器将明文按8点分段,并对每段作一维整数DCT变换,得到IntDCT系数;3)、水印插入器将数字水印信息加入到IntDCT系数的中频部分,得到含有水印信息的IntDCT系数;4)、加密器将含有水印信息的IntDCT系数进行128位密钥的Rijndael加密,生成密文;
5)、将密文输入乱码器进行区域截取UUEncode,使其可以表现为可识别的字母信息,最后得到了票面上的隐含数字水印的防伪码。
提取水印信号的步骤1)、将隐含数字水印的防伪码输入到解码器进行反区域截取UUEncode,得到密文;2)、将密文输入解密器进行反Rijndael解密,输出IntDCT系数;3)、将IntDCT系数输入到水印提取器,得到数字水印。
本发明所具有的优点A、采用有限长的明文,可大大提高系统的速度,并减小系统软、硬件的开支;B、采用整体校验可以检验出所有的一位的改动和连续的两位改动,实现对整体数据的保护;C、采用一维整数DCT变换和密钥长度为128位的Rijndael加密,可抗击所有的攻击,确保加密数据信息的安全。
下面结合附图对本发明作进一步的说明。


附图1为向数字信号中加入水印信息的原理框图。
附图2为从含有水印信号的数字信号提取水印信息的原理框图。
附图3为第一种8点整数DCT流程图。
附图4为第二种整数DCT流程图。
具体实施例方式参见图1,要将水印信息插入到待加密的二进制数据流中,首先由校验器1将待加密的二进制数据流做一次CRC校验,以防止非法改动待加密的二进制数据流,并对待加密的二进制数据流作整体保护,生成两个字节长的校验核,将待加密的二进制数据流随机截取14字节数据(也可选为22、30字节等,字节越短,则系统速度越快,并可减少系统的软、硬件开支),若不够14字节则填充0(或1)至14字节,并将校验核添加在所截取14字节数据的后面,生成16字节待加密的明文。
上述的CRC校验原理如下CRC检验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列,例如,p位二进制数据序列D=[dp-1dp-2......d1d0],r位二进制检验码R=[rr-1rr-2....r1r0],所得到的这个n位二进制序列就是M=[dp-1dp- 2......d1d0rr-1rr-2....r1r0];附加在数据序列之后的这个检验码与数据序列的内容之间存在着某种特定的关系。如果因干扰等原因使数据序列中的某一位或某些位发生错误,这种特定关系就会被破坏,因此,通过检查这一关系,就可以实现对数据正确性的检验。
校验码R是通过对数据序列D进行二进制除法取余式运算得到的,它被一个称为生成多项式的(r+1)位二进制序列G=[grgr-1....g1g0]来除,用多项式形式表示为xrD(x)G(x)=Q(x)+R(x)G(x)----(1)]]>其中,xrD(x)表示将数据序列D左移r位(即在D的末尾再增加r个0位),Q(x)代表这一除法所得的商,R(x)就是所需的余式。这一运算关系还可以用式(2)来表达R(x)=Re[xrD(x)G(x)]----(2)]]>其中,Re[]表示对括号内的式子进行取余式运算。检验码的编码计算如上所述,而检验过程则是对M序列直接进行除法取余式运算,即M(x)G(x)=Q(x)+R(x)G(x)----(3)]]>或表示为R(x)=Re[M(x)G(x)]----(4)]]>所得到的余式R(x)若为零则表示数据正确,否则认为发生错误。
校验器1输出的16字节待加密的明文送到频域变换器2,频域变换器2将16字节待加密的明文按8点分段,并对每段作一维整数DCT变换,得到IntDCT系数。
上述的一维整数DCT变换的算法如下第一类8点IntDCT-II的变换矩阵C811定义为C‾811=P8(1)I4J4I5R‾-π41P4(1)P4(1)I2J2111-1-1111]]>xR‾π4R‾π8T~-411-1-11-1-11I2I2I4J4I4-J4,(8)]]>而第二类IntDCT-II的变换矩阵C811又可以定义为C811=P8(1)I4-J2J2P4(1)T~-4I2J2111-1I2-I2R-π4R-π8I4]]>x11-1-11-1-11P4(1)I5R‾π41I4I4I4-J4,(9)]]>
利用整数变换的定义中非线性性质,对于任意整数序列,上述两种IntDCT-II的输出结果一般不同,因此在实际问题中可以根据需要选取合适的IntDCT-II。附图3和附图4分别给出了上述两种8点IntDCT-II的流程图。其中,I~2(1)=diag{1,-1},I~2(2)=diag{-1,1},I~2(3)=diag{-1,-1}.]]>现在将上述4点与8点IntDCT-II与IntDCT-IV推广到一般的N=2t,t≥3点IntDCT-II与IntDCT-IV的设计。
注意到命题1中矩阵IM,VM,PM,PM(1),D,DM,JM本身为整数到整数的变换。 阶矩阵 可以用来递推定义IntDCT,而矩阵 包含了 个平面旋转,矩阵 可以通过整数变换近似得到。为了建立一般长度的IntDCT的定义与算法,现在剩下的是需要对矩阵BN中的一个子块矩阵 作整数变换近似,为此首先建立下面的引理。
引理1矩阵 存在下列两种分解形式diag(2,2)=Rπ411-11,(10)]]>或者diag(2,2)=22-20111112-1110-121,(11)]]>(10)与(11)可以直接通过矩阵乘法建立,限于篇幅,此处略去。
由于(10)或(11)中出现的矩阵均为整数矩阵或具有提升结构的矩阵,因此矩阵 可以通过整数变换来近似,设其整数变换为K2。
综合上述讨论,递推地建立长度N=2t,t≥3的IntDCT-II与IntDCT-IV矩阵如下C‾NII=PN(1)IN/200JN/2C‾N/2IIC‾N/2IVIN/2JN/2IN/2-JN/2.(4.12)]]>C‾NIV=PN(2)B‾NPN(2)PN(1)C‾N/2IIC‾N/2IIIN/2DN/2JN/2T~‾NIN2-IN2,(13)]]>其中,BN=diag(K2,VN-2), 包含了 个旋转变换的整数提升矩阵分解。当然,利用DCT-IV的对称性,还可以象8点IntDCT-IV那样,定义出多种整数DCT-IV以及相应的多种整数DCT-II.现在将上述讨论表达成下列算法。
算法(1).长度N=2t,t≥3的IntDCT-II的计算设输入序列为x(k),k=0,1,2,A,N-1.
第一步计算g(k)=x(k)+x(N-k-1),h(k)=x(k)-x(N-k-1),k=0,1,2,Λ,N2-1;]]>第二步分别计算序列g(k)与序列h(k)的 点IntDCT-II与IntDCT-IV,设其输出为H1(k),0≤k≤N2-1]]>与H1(k),N2≤k≤N-1.]]>第三步序列重排X=PN(1)IN/200JN/2[H1,(0),H1(1),Λ,H1(N-1)]′.]]>上述三步按照长度N递推地进行。
(2).长度N=2t,t≥3的IntDCT-IV的计算设输入序列为x(k),k=0,1,2,Λ,N-1.
第一步对于序列x(k),0≤k≤N2-1]]>以及-x(k),N2≤k≤N-1,]]>按照H=[h(0),h(1),Λ,h(N-1)]′=T~‾N[x(0),x(1),Λ,x(N2-1),-x(N2),Λ,-x(N-1)]′]]>作提升变换;第二步对于序列H的后半部作重排[h(N2),h(N2+1),Λ,h(N-1)]′:=[h(N-1),-h(N-2),h(N-3),-h(N-4),Λ,-h(N2)]′]]>然后分别计算h(k),0≤k≤N2-1]]>与h(k),N2≤k≤N-1]]>的 点IntDCT-II,设其输出为H2(k),0≤k≤N2-1]]>与H2(k),N2≤k≤N-1;]]>第三步按照Y=PN(2)PN(1)[H2(0),H2(1),Λ,H2(N-1)]′]]>做序列重排,然后计算,y(2)y(N-1):=11-11,y(2k+1)y(2k+2):=11-11y(2k+1)y(2k+2),k=1,2,N/2-2;]]>第四步按照X=PN(2)Y]]>做序列重排得到所需要的IntDCT-IV序列。
注意到在IntDCT的定义中有些矩阵本身就是整数矩阵,且其逆除常数因子外也为整数矩阵,例如有VM-1=12Vm,PN(1)-1=PM(1)′,PN(2)-1=PN(2),JN-1=JN,(DMJM)-1=DMJM]]>以及IN2JN2IN2-JN2=12IN2IN2JN2-JN2.]]>经频域变换器2进行一维整数DCT变换后,水印插入器3将水印信息加入到IntDCT系数的中频部分,这样得到含有水印信息的IntDCT系数;加密器4将含有水印信息的IntDCT系数进行密钥长度为128位Rijndael加密,并生成密文;生成的密文被送到UUEncode乱码器5,采用UUEncode技术进行区域截取,它是将二进制数据流全部拆分成以位为单位的数据流,如相邻两个字节为a,b。则拆分的结果是a0a1a2a3a4a5a6a7b0b1b2b3b4b5b6b7
其中ai,bi={0,1}(i=0,1,....7)。对位数据流依次选取6位为一个单元组成一个码,它的取值范围是0-63,将其作为序号,在给定的字符集里面取值,使其可以表现为可识别的字母信息,最后得到了票面上的隐含数字水印的防伪码。
上述的加密器4也可采用其它公知的加密算法。
参见图2,从隐含数字水印的防伪码中提取水印信号的过程是将隐含数字水印的防伪码输入到解码器6进行反区域截取UUEncode,得到密文;将密文送到解密器7进行反Rijndael解密,输出含水印信息的IntDCT系数;将含水印信息的IntDCT系数送到水印提取器8,得到数字水印。
权利要求
1.一种向票据数字信息中加入水印信号的方法,其特征在于包括以下步骤为a、由校验器(1)将待加密票据的二进制数据流做一次CRC校验,生成两个字节长的校验核,将待加密的二进制数据流随机截取8n-2个字节数据,n≥2,若字节不够则以0填充满,并将校验核添加在截取数据流的后面,生成待加密的明文;b、将待加密的明文输入频域变换器(2),频域变换器(2)将明文按(8)点分段,并对每段作一维整数DCT变换,得到IntDCT系数;c、水印插入器(3)将数字水印信息加入到IntDCT系数的中频部分,得到含有水印信息的IntDCT系数;d、加密器(4)将含有水印信息的IntDCT系数加密,生成密文;e、将密文输入乱码器(5),采用UUEncode技术进行区域截取,使其可以表现为可识别的字母信息,最后得到了票面上的隐含数字水印的防伪码。
2.根据权利要求1所述的一种向票据数字信息中加入水印信号的方法,其特征在于所述步骤a中截取14个字节数据。
3.根据权利要求1或2所述的一种向票据数字信息中加入水印信号的方法,其特征在于所述的加密器(4)为Rijndael加密器。
4.一种从隐含数字水印的防伪码中提取水印信息的方法,其特征在于包括以下步骤a、将隐含数字水印的防伪码输入到解码器(6)进行反区域截取,得到密文;b、将密文输入解密器(7)进行反Rijndael解密,输出IntDCT系数;c、将IntDCT系数输入水印提取器(8),得到数字水印。
全文摘要
一种票据的数字水印防伪方法,经对待加密票据信息进行整体校验、随机截取、填充后,再进行一维整数DCT变换、Rijndael加密、区域截取UUEncode,得到隐含数字水印的防伪码,这种数字水印防伪方法由于采用了有限长的明文,可大大提高系统的速度,并减小系统软、硬件的开支;采用整体校验可以检验出所有的一位的改动和连续的两位改动,实现对整体数据的保护;采用一维整数DCT变换和密钥长度为128位的Rijndael加密,可抗击所有的攻击,确保加密票据数据信息的安全。
文档编号G06K5/00GK1421782SQ01131570
公开日2003年6月4日 申请日期2001年11月28日 优先权日2001年11月28日
发明者田力, 鲍家文, 罗永 , 成礼智, 毛紫阳 申请人:佳程防伪科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1