【技術實現步驟摘要】
本專利技術涉及自然語言水印領域,特別涉及一種自然語言水印魯棒性測試方法及其系統。
技術介紹
隨著計算機技術的發展和互聯網的普及,人們一方面享受著科技發展帶來的便捷,一方面卻越來越擔心信息的安全傳遞。無論是國家軍事信息、文學作品或者是個人隱私,人們都希望這些信息能夠在網絡上安全的傳輸,所以數字水印這項技術也越來越受到人們的關注和重視。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 :若載體文本中所有段落都...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。