APP下载

基于文本的鲁棒性水印技术初探

2015-10-21陈莹朱益多

华人时刊·中旬刊 2015年7期
关键词:字母表数字水印字符串

陈莹 朱益多

【摘要】数字文本水印技术主要用于保护各种数字化产品的版权,防止产品被篡改、假冒和盗用,本文从抗攻击性角度对数字文本水印进行分类,简要介绍了鲁棒性水印的两种算法。

【关键词】数字文本水印技术;鲁棒性水印

中图分类号:TP35文献标识码A文章编号1006-0278(2015)07-152-01

数字文本水印技术是指在不影响数字文本内容的使用价值和欣赏价值的前提下,利用人体视觉系统的掩蔽特性,将与文本内容相关或不相关的一些标记信息(水印)直接嵌入在文档中。它可以用来证明创作者对其作品的所有权,也可以作为鉴定、起诉非法侵权的证据,同时还可以通过对水印的检测和分析来保证数字文档的完整性和可靠性。因为文本文件没有太多的冗余信息,且在文本文件中嵌入信息极易被阅读者发现,同时一些字处理软件在有意无意间也会破坏原始文件,因而在其中嵌入数字水印比较困难。因此,文本数字水印研究与其它媒体水印技术相比有了滞后。

按照不同的分类标准,数字文本水印具有以下不同的分类方式:1.根据实现方法的不同,可分为空间域数字水印和变换域数字水印两大类。前者是在空间域中直接将水印信息嵌入到宿主文档中;后者是将待处理文档当作数字图像,先对该图像进行变换,然后在变换域中嵌入水印信息。2.按照抗攻击性的不同,可分为鲁棒性水印、半脆弱性水印和脆弱性水印。

鲁棒性文本水印是指在经历多种无意或有意的信号处理过程后,数字水印仍能保持部分完整性并能被准确鉴别。可能的信号处理过程包括信道噪声、滤波、数/模与模/数转换、重采样、剪切、位移、尺度变化以及有损压缩编码等。用于版权保护的数字水印易损水印,主要用于完整性保护,这种水印同样是在内容数据中嵌入不可见的信息。当内容发生改变时,这些水印信息会发生相应的改变,从而可以鉴定原始数据是否被篡改。

目前针对基于文本的鲁棒性水印算法研究很多,这里罗列两种较有价值的算法。

第一种算法是基于内容的水印生成方案,该方案消除了已有的数字水印方案的致命缺陷,任何不破坏文件内容完整性的攻击同样也不能影响文件的数字水印。这些特性使得该水印方案能够用于各种文本文件。

在讲述算法前先给出三个相关定义:

定义1字母表是称作符号的对象的有穷非空集合A={S1, S2,…, SN} (可以包括标点符号),A中符号的元组称作上的n(n≥1)字或字符串,记作a1,a2,…,an。字母A表上的所有字的集合记作A*·A*的任何子集称为A上的语言或字母表为A的语言。例如英语就是字母表{a,b,c,…,z}上的语言,汉语可以看作是字母表等多个字母的字母表上的语言。

定义2字符串的连接运算,设有字符串u1,u2,…,un∈A*,定义递归函数如下:

CONCAT1m(u)=u

CONCATn+1m(u1,…,un,un+1)=zun+1

这里z=CONCATnm(u1,…,un),于是,对于给定的字符串u1, u2,…,un∈A*,CONCATnm(u1,…,un)就是把字符串一个接一个连接起来所得到的字符串。

定义3文本文件是某一个字母表上的字或字符串序列M = m1, m2,…, mi(mi(1≤i≤)∈A*)。对字母语言是字符串序列,对汉语等就是字序列。

文本文件的存储与表示:我们可以用一个字符数组Char来表示与存储文本文件M=m1,m2,…,mi这可以很容易用C语言的语句for(i=1;<=;++)Char[i]=mi来实现。同样一个l段×m行×n列的文本文件,可以用一个l×m×n的三维矩阵 D来表示,其元素D(i ,j,k)就是该文件中第i段第j行第k个字符。

下面给出具体算法:

设有利用l×m×n矩阵表示的文本文件D,从文本文件中随机地找出t個词,这t个词的首字位置分别为(i1,j1,k1),(i2,j2,k2),…,(it,jt,kt)。当第i个合法用户提供一个副本时,利用任意随机数生成算法生成一个随机整数数组Ri=(r(i1),r(i2),…, r(is))(1≤r(ij)≤t,1≤j≤s),数组Ri确定这t个×词的一个子集,将这个子集(ir(i1) , jr(i1) , kr(i1)),…,(ir(is) , jr(is) , kr(is))所确定的词用它们的同义词代替(比如将狗用犬代替),得到新的文本文件Di。计算:

WMi=CONCATtN(Di(i1,j1,k1)),…,(Di(it,jt,kt))

则WMi就是该副本的水印,将该水印与数组Ri关联起来。

一旦发现文本D的某个副本D被非法复制或非法发行,可以通过计算:

WM=CONCATtN(Di(i1,j1,k1)),…,(D(it,jt,kt))

得到该副本的水印与数据库中存储的水印进行比较,如果有某个WMj使得WMj=WM,可以很容易找到该文件的第j个接受者,从而确定非法使用文件的来源,并决定采用什么手段对他进行惩罚。

另一种算法是根据水印序列和同义词替换评价模型,将水印不可感知地嵌入到文本的重要内容中。这种算法分析了文本的特征,提出了文本主题词集概念并得出以下性质:一个重要的句子是包含重要词的句子;一个重要的词就是经常出现在重要句子中的词。给出同义词替换评价模型,通过分类投票表决原则和同义词替换将水印嵌入到文本的重要内容中,从而使该算法既具有一定的扩展性、良好的不可见性和抗检测性的特点,又能提高水印的鲁棒性和安全性。其算法思想是:首先对文本载体进行分词和词性标注,根据主题词集定义,找出主题词,然后找出包含有主题词的主题句集(CS),再通过同义词特征过滤句子,得出子主题句集(subCS),再分类得子集(as),通过同义词替换将水印嵌入其中。与其他水印算法比较,有以下优点:1.具有较好的不可见性,根据同义词替换评价模型和水印嵌入方式,提高了文本水印的不可见性;2.具有较好的鲁棒性,利用了水印作用在实词上且与文本载体重要内容绑定和投票原则的使用,增强了本文算法的鲁棒性、安全性和降低了误检率,利用混沌序列调制水印及文本载体进行伪随机分类,从水印和载体两方面,进一步增强了本文算法的安全性;3.在提取水印时,既不需要原始文本载体,也不需要原始水印,增强了算法的实际应用能力。

水印在数字文本中的生存能力体现在水印的鲁棒性和安全性,目前多数文本水印算法存在抗攻击能力不强、鲁棒性较差的问题,寻找更加鲁棒、安全的水印算法在解决版权争端和防止文件篡改方面将会起到重要作用,是一个有很大潜力的研究领域,具有广阔的应用前景。

参考文献:

[1]姜传贤,陈孝威等.基于文本重要内容的鲁棒水印算法[J].自动化学报,2010(9).

[2]文昌.鲁棒性数字水印和脆弱性数字水印的研究[D].武汉:华中师范大学,2013.

猜你喜欢

字母表数字水印字符串
英语曾有第27个字母
一种基于PowerBuilder环境字符串相似度算法
基于DCT算法的视频数字水印的研究与实现
数字水印技术及其在电力系统中的应用
SQL server 2008中的常见的字符串处理函数
一种基于三维小波变换的鲁棒视频水印方案
倍增法之后缀数组解决重复子串的问题
基于分块DWT和SVD的鲁棒性数字水印算法
最简单的排序算法(续)