【技术实现步骤摘要】
本专利技术涉及自然语言水印领域,特别涉及一种自然语言水印鲁棒性测试方法及其系统。
技术介绍
随着计算机技术的发展和互联网的普及,人们一方面享受着科技发展带来的便捷,一方面却越来越担心信息的安全传递。无论是国家军事信息、文学作品或者是个人隐私,人们都希望这些信息能够在网络上安全的传输,所以数字水印这项技术也越来越受到人们的关注和重视。1993年Tirkel首次正式提出了数字水印的概念,数字水印旨在通过给图像、音频视频等作品中嵌入水印来保护数字作品的版权。图像水印是较成熟的一项数字水印技术,它将一段标志版权所有者的信息嵌入图 像中,并使该信息不被人感知。但利用图像水印保护文字作品却面临着如下问题(1)作品必须以图片的形式保存、传播,导致最终用户无法进行正常的编辑;(2) OCR能够去除水印,导致保护失效;(3)图片的传播形式容易引起敌手的怀疑,增大了水印被破坏的可能性。因此,图像水印技术并不适于文字作品的版权保护。自然语言水印为文字作品的保护开辟了新的思路,它使用自然语言文本作为水印载体,利用保留语义的变换方法改写文字,从而在语法语义结构中嵌入秘密信息,因此水印不会因为排版、OCR等操作而被破坏或去除,更能有效的保护文字作品。水印算法的鲁棒性体现在含水印文本在遭受恶意攻击或者经过正常操作后,依然能够从中正确的提取出水印信息的特性。恶意攻击是指为破坏水印而采取的具有攻击性的处理方法,如删除关键语句、打乱语句顺序;正常操作是用户对于文本进行的不可避免的操作,如复制粘贴、字体更改、排版。由于互联网上的文字作品能够轻易的被复制、修改,因此,一个好的水印系统必须具备良好的鲁棒 ...
【技术保护点】
一种自然语言水印鲁棒性测试方法,其特征在于,具体包括如下步骤:1)读取系统运行所需参数;2)利用待测水印嵌入算法,向原始载体文本中嵌入水印信息,生成水印文本;3)利用主动攻击方法对水印文本进行主动攻击,生成攻击后文本;4)利用待测水印提取算法,从攻击后文本中提取出新的水印信息;5)计算误比特率,将从攻击后文本中提取出的新的水印信息和原始水印信息逐比特比较,不相同的比特数和水印信息比特总数之比即为误比特率。
【技术特征摘要】
1.一种自然语言水印鲁棒性测试方法,其特征在于,具体包括如下步骤 1)读取系统运行所需参数; 2)利用待测水印嵌入算法,向原始载体文本中嵌入水印信息,生成水印文本; 3)利用主动攻击方法对水印文本进行主动攻击,生成攻击后文本; 4)利用待测水印提取算法,从攻击后文本中提取出新的水印信息; 5)计算误比特率,将从攻击后文本中提取出的新的水印信息和原始水印信息逐比特比较,不相同的比特数和水印信息比特总数之比即为误比特率。2.如权利要求I所述的自然语言水印鲁棒性测试方法,其特征在于,所述主动攻击方法采用替换攻击方法、删除攻击方法或者排序攻击方法,所述替换攻击方法是指使用与待测水印嵌入算法相同的NLP工具对载体文本中的载体单元进行语义不变的变换的方法;所述删除攻击方法为SAI删除攻击方法、SAII删除攻击方法或SAIII删除攻击方法,其中,所述SAI删除攻击方法是指利用自动摘要工具对整篇水印文本进行压缩比为c的自动摘要,其攻击力度为被删除的载体单元个数和水印文本中载体单元总数的比值;所述SAII删除攻击方法是指利用自动摘要工具,对水印文本中的每个段落分别进行给定压缩比的自动摘要;所述SAIII删除攻击方法是指利用自动摘要工具,对水印文本中的每个段落分别进行给定压缩比的摘要,其攻击力度为删除的单词个数和水印文本单词总数的比值;所述排序攻击方法是指调整段落在载体文本中的顺序,以期破坏水印信息同步的方法。3.如权利要求2所述的自然语言水印鲁棒性测试方法,其特征在于,所述替换攻击方法具体包括如下步骤 步骤I :利用与待测水印算法相同的NLP工具分析载体得到所有载体单元,并将所有载体单元加入集合AllUnits ; 步骤2 :令当前攻击力度a=minstrength ; 步骤3 :若a〈=maxstrength,计算需要攻击的载体单元个数an,其中a为当前攻击力度,η为载体文本AllUnits中载体单元的个数;否则,攻击结束; 步骤4 :从AllUnits中随机挑选an个载体单元;对于每个载体单元,随机选取它的一个可行变换对其进行替换;最终生成攻击后文本。 步骤5 :a=a+step,转至步骤3。4.如权利要求2所述的自然语言水印鲁棒性测试方法,其特征在于,所述SAII删除攻击方法具体包括如下步骤 步骤I :若载体文本中所有段落都已处理完毕,转至步骤5,否则,选取下一个段落,统计该段落中载体单元个数i,转至步骤2 ; 步骤2:对该段落进行给定压缩比c的自动摘要,生成攻击后的文本段落attackedPar ; 步骤3 :统计attackedPar中的载体单元个数j ; 步骤4 :计算攻击前后载体单元减少的数目unitNum=i-j。若unitNum>0,则将该段落加入集合AllUnits,保存对应的attackedPar和unitNum,同时记录该段在载体文本中的位置Ioc;否则,转至步骤I; 步骤5 :令当前攻击力度a=minstrength ; 步骤6 :若a〈=maxstrength,计算水印文本中需要删除的载体单元个数an, η是载体文本中载体单元的个数;否则,攻击结束; 步骤7 :利用背包算法从AllUnits中选择需要攻击的段落;此时,AllUnits中的每一段相当于一个物品,an相当于背包容量,每段对应的unitNum相当于该物品的体积,I为每个物品的价值,利用背包算法选择体积不超过背包容量时,物品价值最大的选择方案; 步骤8 :对每一个需要攻击的段落,用attackedPar替换该段落的内容,然后对照相应的loc,生成该攻击力度对应的攻击后文本; 步骤9 :a=a+step,转至步骤6。5.如权利要求2所述的自然语言水印鲁棒性测试方法,其特征在于,所述SAIII删除攻击方法的具体步骤如下 步骤I :若载体文本中所有段落都已处理完毕,转至步骤5,否则,选取一个未检测段落,统计该段落中单词个数i,转至步骤2 ; 步骤2 :对该段进行给定压缩比c的自动摘要,生成攻击后的段落attackedPar ; 步骤3 :统计attackedPar中的单词个数j ; 步骤4 :计算攻击前后单词减少的数目wordNum=i - j。若wordNum>0,则将该段落加入集合AllUnits,保存对应的attackedPar和wordNum,同时记录该段在载体文本中的位置loc;否则,转至步骤I; 步骤5 :令当前攻击力度a=minstrength ; 步骤6 :若a〈=maxstrength,计算水印文本中需要删除的单词个数an, η是载体文本中单词总和;否则,攻击结束; 步骤7 :利用背包算法从AllUnits中选择需要攻击的段落。此时,AllUnits中的每一个段落相当于一个物品,an相当于背包容量,每段落对应的wordNum相当于该物品的体积,I为每个物品的价值,利用背包算法选择体积不超过背包容量时,物品价值最大的选择方案; 步骤8 :对每一个需要攻击的段落,用attackedPar替换该段落内容,然后对照相应的loc,生成攻击后文本; 步骤9 :a=a+step,转至步骤6。6.如权利要求2所述的自然语言水印鲁棒性测试方法,其特征在于,所述排序攻击方法的具体步骤如下 步骤I :若载体文本中所有段落都...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。