新四季網

水印嵌入和/或檢測的方法、裝置及系統的製作方法

2023-07-25 03:22:26

專利名稱:水印嵌入和/或檢測的方法、裝置及系統的製作方法
技術領域:
本發明涉及信息安全領域,並且尤其涉及利用數字水印技術和信息隱藏技術的信息安全領域。
背景技術:
在當前的商務領域中越來越多地採用無紙辦公環境和進行電子交易。許多重要的文件、例如遺囑、表格、身份證明和合同等需要嚴格的認證和完整性保證。對於那些包含敏感信息的文件來說,即使是很小的修改、例如添加、刪除或者修改段落、短語或詞語等也有可能導致內容含義的很大改變,並且在商務活動中很可能造成很大的損失,因此是不允許的。
數字籤名是一種傳統的眾所周知的驗證電子文件完整性的技術。它首先通過一個單向哈希函數生成文件內容的摘要(digest),然後使用作者的私鑰對摘要進行加密並將其附加到將要籤名的內容上。整個過程就是所謂的數字籤名技術。具有相應公鑰的人能夠對摘要進行解密,並且驗證它是否與所接收內容的哈希值相同。
然而,在大多數實際應用中,紙件仍然處於不可缺少的地位,並且數字籤名後的文件經常會被列印出來或者是進行傳真。在這種情況下,由於數字籤名技術需要和電子文件本身一起傳送輔助信息(即,加密的摘要),因此它對於列印或傳真後得到的文件來說無法利用。此外,數字籤名只能確保文件的完整性,而不能隱藏不希望他人直接看到的任何附加保密信息。
此外,隨著數位技術和網際網路的發展,數字水印技術如今已經成為多媒體信息安全研究領域的一個熱點,也是信息隱藏技術研究領域的重要分支。該技術通過在原始數據中嵌入水印信息來驗證數據的所有權。這種被嵌入的水印可以是一段文字、標識或者序列號等,而且這種水印通常是不可見或不可察的,它與原始數據(如文本、圖像、音頻或視頻數據)緊密結合併隱藏在其中,並且能夠經歷一些不破壞源數據使用價值或商用價值的操作而保存下來。
文本水印通常是指用於文本文件的水印。典型的文本文件由常見的結構組成,包括字、字間距、行、段落等,有時候還包括公式和圖表。與靜態圖像和視頻中的數據隱藏方法不同,在文本文件中可以隱藏信息的空間更少。
總體來說,水印能夠用在下列兩類應用中版權保護和完整性檢查。對於這兩類應用來說,相應的攻擊模型和技術要求是很不同的。當水印用於版權保護時,攻擊的目的是使得水印是不能恢復的。由於文本水印容易受到蓄意破壞的攻擊,所以當它用於內容保護時可能會遇到很大的技術挑戰。但是,在完整性檢查的應用中,潛在的攻擊不是為了刪除水印,而是為了修改水印或者內容的含義。所以,在這種情況下,對於某些蓄意的破壞、諸如非線性處理不必過於關注,而是要求抵抗由正常的列印、複製和掃描等操作所造成的水印的破壞的魯棒性,以與實際的應用相匹配。
現有水印技術大多為對稱水印技術。一般來說,用對稱水印技術進行完整性保護需通過先對文本摘要進行公鑰算法加密籤名,然後將加密後的摘要用對稱水印技術隱藏到文件中來實現。然而,對於一些應用場景,除了驗證完整性的需求之外,還存在加入額外的保密信息的要求,例如,作者不希望這些信息被他人看到。如果這些信息採用對稱水印嵌入,由於對稱水印的嵌入和提取是可互推的,如果某個人被授權檢測水印,那麼他能夠在不需要允許的情況下很容易偽造出另一個水印。因此,如果除了完整性保護之外還希望通過水印攜帶其他保密信息,傳統的對稱水印方法並不能確保這部分保密信息的完整性,因而存在很大的限制。
因此,在包括列印、複印和掃描的整個文件生命周期中,如果能夠在驗證其完整性的同時,以不易覺察的方式嵌入某些保密信息是有益的。

發明內容
為了解決現有技術的上述問題,本發明的一個目的是提供一種新的水印嵌入方法和裝置,它能夠在對電子文本文件(亦稱作電子文檔)、圖像或者紙件形式的文件驗證其完整性的同時,以不易察覺的方式隱藏一些僅限部分人看到的保密信息。
本發明的另一個目的是提供相應的水印檢測方法和裝置,它能夠確保在列印、複印或者掃描之後仍然可以檢測出文件中所嵌入的保密信息。
本發明的再一個目的是提供一種保護文件完整性的方法和系統,它利用上述水印嵌入和水印檢測方法,以檢測文件的完整性。
本發明還有一個目的是提供相應的計算機可讀存儲介質和電腦程式產品。
為了實現上述目的,本發明提供了一種水印嵌入方法,用於向一個文件中嵌入保密消息序列,該方法包括以下步驟獲取所述文件的布局信息;利用哈希函數提取文件的摘要;計算保密消息序列在所述文件中的嵌入位置;通過改變布局在通過計算所得到的各個嵌入位置中分散隱藏所述保密消息序列。
為了實現上述目的,本發明提供了一種水印嵌入裝置,用於向一個文件中嵌入保密消息序列,包括布局信息獲取單元,用於獲取所述文件的布局信息;摘要提取單元,用於利用哈希函數提取文件的摘要;嵌入位置計算單元,用於計算保密消息序列在所述文件中的嵌入位置;信息隱藏單元,用於通過改變布局在通過計算得到的各個嵌入位置中分散隱藏所述保密消息序列。
為了實現上述目的,本發明還提供了一種水印檢測方法,用於從一個文件中檢測出其中嵌入的保密消息序列,該方法包括以下步驟獲取所述文件的布局信息;利用哈希函數提取文件的摘要;計算保密消息序列在所述文件中的嵌入位置;根據在計算得到的各個嵌入位置中的布局改變,分別提取出所述保密消息序列的各個保密消息。
為了實現上述目的,本發明還提供了一種水印檢測裝置,用於從一個文件中檢測出其中嵌入的保密消息序列,包括布局信息獲取單元,用於獲取所述文件的布局信息;摘要提取單元,用於利用哈希函數提取文件的摘要;嵌入位置計算單元,用於計算保密消息序列在所述文件中的嵌入位置;信息提取單元,用於根據在計算得到的各個嵌入位置中的布局改變分別提取出所述保密消息序列的各個保密消息。
為了實現上述目的,本發明還提供了一種用於檢測文件完整性的方法,包括上述水印嵌入方法的各個步驟、以及上述水印檢測方法的各個步驟。
此外,本發明還提供了一種用於檢測文件完整性的系統,包括上述水印嵌入裝置、以及上述水印檢測裝置。
為了實現本發明的上述目的,本發明還提供了一種計算機可讀存儲介質,其上存儲有用於執行上述水印嵌入方法和/或上述水印檢測方法的電腦程式。
此外,本發明還提供了一種電腦程式產品,包括用於執行上述水印嵌入方法和/或上述水印檢測方法的電腦程式代碼。
本發明的一個優點在於,它可以不僅對包括電子文檔、圖像或者紙件形式的文件驗證其完整性,同時以不易察覺的方式隱藏一些保密信息,包括日期、名稱、價格等,並且不影響閱讀者的視覺效果。
本發明的另一個優點在於,不管文件是軟拷貝還是硬拷貝形式,合法的文件接收方都能夠從文件中準確地提取出所隱藏的保密信息,從而對列印、複印和掃描等操作具有很好的魯棒性。
本發明的又一個優點在於,由於在水印嵌入和檢測過程中採用了基於公鑰機制的有限狀態機,因此只有已知私鑰的人才能夠對文件內容進行修改,即使是已知公鑰的合法文件接收方也不能對文件進行修改。一旦有人篡改文件內容或是偽造保密信息,在對此類文檔檢測水印時都會觸發完整性報警,從而可以實現文件的完整性檢測和保護。
通過以下結合附圖對本發明的最佳實施例的詳細說明,本發明的這些以及其他優點將更加明顯。


圖1示出了根據本發明的一個實施例對電子文本文件進行水印嵌入處理的方法100的流程圖;圖2示出了在圖1所示的方法100中採用的有限狀態機;圖3示出了對文本文檔進行單詞三元組分組處理後的結果的一個例子;圖4示出了根據本發明的另一個實施例對文本圖像文件進行水印嵌入處理的方法200的流程圖;圖5示出了根據本發明的一個實施例用於對文本文件進行水印嵌入處理的水印嵌入裝置500的結構方框圖;圖6示出了如圖5所示的水印嵌入裝置500在文件完整性保護應用中的一個例子;圖7示出了根據本發明的另一個實施例用於對文本文件進行水印嵌入處理的水印嵌入裝置700的結構方框圖;圖8示出了如圖7所示的水印嵌入裝置700在文件完整性保護應用中的一個例子;圖9示出了根據本發明的水印檢測方法和裝置在文件完整性保護應用中的一個例子;圖10示出了根據本發明的一個實施例從電子文本文件中檢測並提取出其中嵌入的水印(即保密消息序列m)並驗證文本文件完整性的水印檢測方法1000的流程圖;圖11示出了在圖10所示的方法1000中採用的有限狀態機;圖12示出了根據本發明一個實施例的用於檢測並提取出文本文件中嵌入的水印的水印檢測裝置1200的結構圖。
具體實施例方式
下面將結合附圖描述根據本發明的具體實施方式

為了簡單和清楚地說明本發明起見,在下面的各個實施例中假定對英文文本文件進行水印嵌入處理,並且要處理的文本文件中僅包括單詞而不包括公式、圖表等。
此外,假定要嵌入即隱藏到文本文件中的保密消息序列為m{m0,m1,m2,...,mM},其中M+1表示該消息序列的長度,mj-1表示該消息序列中的第j個隱藏信息,M和j為非負整數數,且0<j≤M+1。該保密消息序列m是預先指定的,並且m0、m1、......、mM分別表示要隱藏在第一個、第二個、......、第M+1個位置處的信息位,它可以是1個比特也可以是多個比特。例如,如果在第j個位置處需要隱藏兩個比特的信息,則mj-1為兩個比特長。但是,為了簡單起見,在該實施例中假定在每個位置處僅隱藏一個信息位。
圖1示出了根據本發明的一個實施例對電子文本文件進行水印嵌入處理的方法100的流程圖。
如圖1所示,該方法100在步驟S110開始。
在步驟S120,從電子文本文件、例如word文件中獲得版面布局(以下簡稱布局)信息,包括例如找到每一行的索引、在每一行中定位單詞、以及標識字間距等,並且在此基礎上對文件進行分段處理,將文件分成N個片段(segment)(N為自然數)。其中,一個片段可以包括多個單詞的組合,可以是多行,例如兩行或更多行。
接下來,在步驟S130,提取該文本文件的摘要(digest),即計算該文本文件的文本哈希、即TextHash,它是利用單向哈希函數根據文本文件的內容得到的,可能不只一個比特長。
然後,在步驟S140,計算上述消息序列m在文本文件中的嵌入位置,即計算確定將要把上述消息序列m隱藏到文本文件中的何位置處。
在本實施例中,採用了一種公鑰驅動的有限狀態機(FSM),用以確定將要在其中隱藏信息的各個片段的順序。該狀態機如圖2所示。其中消息序列m』{m0』,m1』,...,mK』}即為希望嵌入的保密信息,具體含義將在下文中進行說明。
定義基於RSA算法的單向隱藏函數HD和提取函數ET,如下所示HD(x)=xd(mod n),ET(x)=xe(mod n),其中n=pq,p和q為質數,d和e分別是私鑰和公鑰。其中p和q是保密的,但是pq即n是公開的。一般來說,如果p和q為512比特長度,則認為是安全的。私鑰d滿足ed≡1(modφ(n)),其中φ(n)=(p-1)(q-1)為Euler函數。在計算私鑰d時,可以採用Euclidean算法。此外,為了減少計算過程中的位數和減低複雜程度,也可以採用橢圓曲線密碼系統(Elliptic Curve Cryptosystem)代替RSA。
假設狀態序列用S{S0,S1,...,SK}表示,並且用於標識哪個片段被選擇用來嵌入或隱藏信息位的位置序列用P{P0,P1,...,PK}表示,其中Pj≡Sj(modN),N如上所述表示所分片段的數目,K>M+1,並且K>N。為了保證安全性級別,N最好是不小於64。
另外,要說明的是,由於上文中已經假設在一個片段中僅隱藏一個信息位,所以在此保密消息序列的長度M+1與所分片段的總數N是相同的。當然,對於本領域技術人員來說,可以在每個片段中隱藏不只一個信息位,也可以在N個片段中隱藏長度M+1小於N的信息位(即,此時會出現有的片段中不隱藏信息的情況),此時N和M+1遵循一定的關係。
假定初始狀態S0滿足下式S0=hash(m0‖m1‖…‖mN‖TextHash‖10…0),在上式中,「‖」表示連接符,10…0表示用來將要隱藏的消息序列補足512比特。在一個優選實施例中,使用了MD5哈希算法。但是,本領域技術人員將會認識到,也可以使用其它安全的哈希算法來增強安全性級別。從上述計算公式中可以看出,S0與文件的布局無關,而是與要隱藏的消息序列和文本內容有關。
在確定S0之後,後續的狀態可以使用密鑰d計算得到,即Sj≡Sj-1d(modn),並且計算Pj≡Sj(modN),Pj表示將在哪個片段中隱藏信息。
在此應當注意的是,如果某一狀態Sj被映射到與在前的某一位置Pl≡Sl(mod N)(其中,l為非負整數,且0≤l≤j-1)相同的位置Pj≡Sj(mod N)處,即如果Pj=Pl,則會出現在同一位置處重複嵌入的情況,因此當前計算的位置Pj應當是無效的。如果計算的Pj與在前的所有位置P0、......、Pj-1均不相同,則Pj是有效的,並且mj』=mj。為了避免在某一位置處出現重複嵌入的情形,在計算出的位置Pj無效時,mj』為空,它表示在該位置處不需要嵌入信息。
然後,採用上述方法迭代計算狀態序列S和位置序列P,直到計算出M+1個彼此不相同的狀態S0、S1、......、SK以及M+1個彼此不相同的位置P0、P1、......、PK為止。
在獲得要嵌入信息的上述位置序列P之後,方法100進行到步驟S140。
在步驟S150中,在P0、P1、......、PK個位置處嵌入上述保密消息序列,即分別嵌入m0』、m1』、......、mK』,也就是說,在第i個位置Pi處、即第Pi個片段中嵌入或者隱藏mi』。注意此處嵌入的是保密信息序列,而文檔的哈希值並不用來做嵌入,而只用來計算狀態值以保證文檔完整性。
在該優選實施例中,隱藏信息是通過改變字間距來實現的。
例如,在其中需要嵌入保密消息序列m的各個片段中,對一行中的單詞進行單詞分組處理,將其分成若干個彼此之間有一個單詞重疊的三元組,然後通過調整該片段中所有三元組內的左字間距長度和右字間距長度的總和,在各個相應的片段中隱藏相應的一個信息位。
為了減小文件中可能存在的不準確的單詞劃分的影響,在每一行中,從行的兩邊進行三元組分組。假設一行有L個單詞(L為自然數),分別由w1w2w3w4w5w6...wL-4wL-3wL-2wL-1wL表示,三元組分組過程如下所示(1)從行的左邊開始獲得第一個三元組,即w1w2w3w4w5w6...wL-4wL-3wL-2wL-1wL;(2)從右邊開始獲得第二個三元組,即
w1w2w3w4w5w6...wL-4wL-3wL-2wL-1wL;(3)從左邊獲得第三個三元組,即w1w2w3w4w5w6...wL-4wL-3wL-2wL-1wL;(4)從右邊獲得第四個三元組,即w1w2w3w4w5w6...wL-4wL-3wL-2wL-1wL;........................
在按照上述方式對單詞進行三元組分組之後,總共可以得到 個三元組,其中「」表示取整運算。
圖3示出了對電子文本文檔進行單詞三元組分組處理後的結果的一個例子。圖3中顯示了在兩個片段中、尤其是在一行中的三元組分組情況。
如圖3所示,假設在由t(t為自然數)個三元組構成的某一片段中,SpaceLefti和SpaceRighti分別表示在第i個三元組的左右間距,其中i為非負整數且0≤i≤t-1。定義一個變量Threshold,表示對由列印、複印和掃描引起的字間距像素誤差的最大容錯能力。它可以被設置為一個全局固定值,也可以被設置為一個在不同片段中不同的局部值。
假設L=i=0t-1SpaceLefti,]]>R=i=0t-1SpaceRighti.]]>採用的隱藏方法如下所示如果希望在某個片段中嵌入信息位「1」,則將該片段中所有三元組內的所有中間單詞右移 以滿足L-R>Threshold;如果希望在某個片段中嵌入信息位「0」,則將該片段中所有三元組的所有中間單詞左移 以滿足R-L>Threshold。
其中單詞的左移或右移可以通過改變電子文本文檔的格式信息來實現,例如改變字間距設定值或在單詞間加入設定字號的空格等。在此,需要說明的是,如果要嵌入的信息位mj』為空,則這表示在計算的第Pj個片段中不需要嵌入信息,即不需要改變該片段內所有三元組的字間距。
在由幾個三元組形成的各個片段中,為了避免大規模的單詞移動影響視覺質量甚至是單詞劃分,首先估計每個三元組中左右間距的大小,並且由此相應地移動中間單詞。如果某個三元組沒有足夠的空間進行移動,則能夠將其它三元組移動得更多以補足它的影響。
當然,對於本領域技術人員來說,也可以採用其它的隱藏信息的方法,例如可以通過改變字體來隱藏信息。
在步驟S150之後,方法100在步驟S160結束。
圖4示出了根據本發明另一個實施例對文本圖像文件進行水印嵌入處理的方法400的流程圖。
由於圖4所示的方法400用於對文本圖像文件、例如JPEG、TIFF等格式的圖像文件進行水印嵌入處理,因此與圖1所示的方法100相比,不同之處僅在於在獲得布局信息在前需要對文本圖像文件進行布局分析。
方法400在步驟S410開始。
接著,在步驟S420,對文本圖像文件進行布局分析,包括對圖像文件進行OCR識別及其它某些處理,以獲得文本行、單詞等布局信息。
在一個優選實施例中,可以採用基於組分的自上而下的布局分析(component-based bottom-up layout analysis)方法。例如,該方法可參見IEEE Transactions on Signal Processing,2003年4月第51卷第4期,第981至995頁,由T.Furon和P.Duhamel所著的「Anasymmetric watermarking method」。在該布局分析方法中,首先執行某些預處理工作,包括諸如將圖像轉換成二進位格式、過濾噪聲、以及調整文本的傾斜等,然後找到所有連接的區域,並且將它們分成語義塊,最後依據水平和垂直投影將這些語義塊分成文本行和單詞。
接下來的步驟S430至S470的處理與圖1中的步驟S120至S160的處理類似,因此,為了簡要和清楚起見,上述步驟的處理過程在此就不再詳述了。
在另一個優選實施例中,根據本發明的水印嵌入方法可以用於在發出文件列印命令之後並在印表機列印文檔之前對印表機描述語言格式的電子文件進行水印嵌入,此時其在文檔完整性保護應用如圖8所示。在這種情況下,水印嵌入方法除了包括如圖1所示的各個步驟之外,在獲取布局信息步驟S120之前還包括印表機語言分析步驟,用於對印表機描述語言文件進行分析,將印表機命令和電子文件的內容本身分離開來用於後續處理,並且在隱藏信息步驟S150之後還包括印表機語言重新組合步驟,用於將上述印表機命令和其中嵌入了水印的文件內容進行重新組合,以生成重新組合的帶有水印信息的印表機語言文件。
圖5示出了根據本發明一個實施例的用於對文本文件進行水印嵌入處理的水印嵌入裝置500的結構方框圖。
如圖5所示,該水印嵌入裝置500包括布局信息獲取單元501、摘要提取單元502、嵌入位置計算單元503和信息隱藏單元504。
其中,布局信息獲取單元501用於從電子文本文件(例如word文件),並將文本文件分成若干個片段。
摘要提取單元502用於根據文本文件的內容利用單向哈希函數獲得該文本文件的摘要、即TextHash。
嵌入位置計算單元503用於採用以上結合圖1描述的方法計算嵌入位置P0、P1、......、PK。
信息隱藏單元504用於利用以上結合圖1描述的方法、在由嵌入位置計算單元503計算出來的各個位置Pj處嵌入相應的保密信息mj,生成其中已經嵌入了水印(即,隱藏了保密信息)的文本文件。
為了簡明和清楚起見,布局信息獲取單元501、嵌入位置計算單元503和信息隱藏單元504的具體處理過程在此就不再詳述了。
圖6示出了如圖5所示的水印嵌入裝置500在文件完整性保護應用中的一個例子。
如圖6所示,經由文檔編輯器602、例如主機601中的MicrosoftWord編輯後的電子文件e-Doc由水印嵌入裝置500進行水印嵌入處理,得到其中已經嵌入了水印的電子文件。然後,帶水印的文件就可以經由網絡傳送到目標計算機,或者是經由印表機驅動程序603處理生成帶水印的印表機描述語言文件後傳送到印表機埠然後由印表機604列印出文檔紙件。
在另一個優選實施例中,根據本發明的水印嵌入裝置也可以對文本圖像文件進行水印嵌入處理。此時水印嵌入裝置除了要包括如圖5所示的各個單元外,還包括一個布局分析單元(圖中未示出),用於對文本圖像文件進行布局分析,並將分析的結果提供給布局信息獲取單元501。
圖7示出了根據本發明另一個實施例的用於進行水印嵌入處理的水印嵌入裝置700的結構方框圖,而圖8示出了如圖7所示的水印嵌入裝置700在文件完整性保護應用中的一個例子。
如圖8所示,由文檔編輯器802編輯後得到的電子文件e-Doc經由印表機驅動程序803生成印表機描述語言文件,然後由水印嵌入裝置700對其進行水印嵌入處理,生成其中嵌入了水印的重新組合的印表機語言文件,然後該文件傳送到印表機埠並經由印表機804列印得到文檔紙件。
如圖7所示,水印嵌入裝置700包括印表機語言分析單元701、布局信息獲取單元702、摘要提取單元703、嵌入位置計算單元704和信息隱藏單元705、印表機語言重新組合單元706。
印表機語言分析單元701用於對印表機描述語言文件進行分析,將印表機命令和電子文件e-Doc的內容本身分離開來用於後續處理。
布局信息獲取單元702、摘要提取單元703、嵌入位置計算單元704和信息隱藏單元705的處理過程與水印嵌入裝置500中的布局信息獲取單元501、摘要提取單元502、嵌入位置計算單元503和信息隱藏單元504的處理過程類似,因此為了簡明和清楚起見在此就不再詳述了。
印表機語言重新組合單元706用於將上述印表機命令和其中嵌入了水印的文件內容重新組合,生成重新組合的帶水印的印表機語言文件。
應該注意到,對於本領域技術人員來說,根據本發明的水印嵌入裝置也可以有其它的變形。例如,在印表機具有強大的CPU控制器的情況下,水印嵌入裝置可以集成在印表機內部實現。
圖9示出了根據本發明的水印檢測方法和裝置在文件完整性保護應用中的一個例子。
如圖9所示,目標計算機903可能通過網際網路從其它計算機收到利用根據本發明的水印嵌入方法處理後的帶水印的電子文件。另外,經由根據本發明的水印嵌入方法處理後得到的列印文件也可能在經複印機901進行複印、掃描儀902進行掃描得到電子文檔後到達目標計算機903。此後,目標計算機利用根據本發明的水印檢測方法和裝置、例如水印檢測裝置904判斷收到的文件是否完整以及是否被篡改。
圖10示出了根據本發明一個實施例的用於從電子文本文件中檢測並提取出其中嵌入的水印(即保密消息序列m)的水印檢測方法1000的流程圖。
圖11示出了在圖10所示的方法中採用的有限狀態機。如圖11所示,從SK開始,利用與以上結合圖1和圖2描述的計算嵌入位置過程相反的過程,使用公鑰e通過SK-1=SKe(mod n)迭代計算出SK-1、......、S1、S0以及相應的PK-1、......、P1、P0,即計算出狀態序列S和位置序列P。比較圖2和圖11後不難看出,圖11所示的有限狀態機是圖2所示的有限狀態機的相應逆過程,其中的密鑰為私鑰d對應的公鑰e。
在此需要說明的是,將文本文件分成若干片段的規則、SK、n、公鑰e、表示對由列印、複印和掃描引起的像素誤差的最大容錯能力的Threshold、以及隱藏消息序列m的規則對於水印檢測方來說都是已知的。例如,它們可以隨電子文本文件一起從水印嵌入方進行發送,也可以利用常規水印嵌入技術(例如對稱水印技術)隱藏在文檔紙件中。當然,也可以採用其它本領域技術人員公知的方式將上述信息告知水印檢測方。
為了簡明和清楚起見,與以上結合圖1至圖3描述的水印嵌入方法中相同的處理,在此就不再詳述了,以下將著重說明水印檢測過程中與水印嵌入過程的不同之處。
如圖10所示,水印檢測方法1000在步驟S1010開始。
在步驟S1020,從電子文本文件、例如word文件中獲得布局信息,並且依據與水印嵌入方相同的分段規則將文件完成N個片段。
在步驟S1030,根據文本文件的內容提取摘要,即計算文本哈希TextHash。
在步驟S1040,計算水印在文本文件中的嵌入位置。
根據PK≡SK(mod N),從SK計算得到PK。
接下來,在步驟S1050,從計算得到的嵌入位置中提取隱藏在其處的保密信息。
在提取隱藏信息時,採用與水印嵌入方隱藏信息時所用規則相同的規則。例如,仍以上文中結合圖1至圖3描述的通過改變字間距來隱藏信息為例進行說明。
在經過步驟S1040計算得到的第PK個片段中,取L=i=0t-1SpaceLefti,]]>R=i=0t-1SpaceRighti,]]>然後比較L和R的大小,如果L-R>Threshold,則mk』=1,反之,如果R-L>Threshold,則mk』=0。
隨後,在步驟S1060,判斷是否到達保密消息序列的開始,判斷是通過計算Sj-1≡Sje(mod n)以及Pj≡Sj(modN),並且從計算的位置Pj處提取mj』,如果滿足下式hash(mj′‖mj+1′‖…‖mK′‖TextHash‖10…0)=Sj等式(1)。
這表示到達保密消息序列的開始,這也意味著已經從文本文件中提取了所有嵌入的保密信息,則方法1000在步驟S1070結束。在這種情況下,在文本文件中嵌入的保密信息為mK』。
如果等式(1)中兩個值不相等,這表示尚未到達保密消息序列的開始,則方法1000返回到步驟S1040。接下來,重複上述步驟S1040至S1060,直到滿足等式(1)為止在上述迭代計算過程中,需要說明的是,為了與隱藏信息的過程保持一致,如果在後的位置Pj與在前的某一位置Pl相同,即Pj=Pl(0≤l≤j-1),這說明Pj是無效的,則使ml』=mj』然後將mj』置空。
在上述迭代計算結束後、即在步驟S1060中確定滿足上式之後,可以得到m0』、m1』、......、mK』,其中從m0』開始不為空的各個值依次為實際隱藏到文本文件中的保密信息m0、m1、......、mM。
根據本發明的水印檢測方法也可以有其它的變形。例如,它可以用於對文本圖像文件或者列印的文檔紙件進行水印檢測。當對文本圖像文件進行水印檢測時,在步驟S1010和步驟S1020之間需要添加一個對文本圖像文件進行OCR識別以及分析布局信息的步驟S1015。當對列印的文檔進行水印檢測時,除了要添加上述步驟S1015外,還需要在其之前添加對列印文檔進行掃描的步驟S1011。
圖12示出了根據本發明一個實施例的用於檢測並提取出文本文件中的水印的水印檢測裝置1200的結構圖。
如圖12所示,水印檢測裝置1200包括布局信息獲取單元1201、摘要提取單元1202、嵌入位置計算單元1203、隱藏信息提取單元1204和。
布局信息獲取單元1201、摘要提取單元1202的功能與上文結合圖5描述的布局信息獲取單元501和摘要提取單元502的功能類似,因此在此就不再詳述了。
判斷單元1205用於根據當前狀態、所提取的文件摘要和已經提取出的各個保密消息判斷是否提取了所有已嵌入的保密消息,即判斷是否滿足以上結合圖10描述的等式(1)。
嵌入位置計算單元1203用於採用以上結合圖10描述的方法計算嵌入位置P0、P1、......、PK、以及計算判斷是否到達消息序列的開始,而隱藏信息提取單元1204用於利用以上結合圖10描述的方法從相應的計算位置處提取隱藏的信息。為了簡明和清楚起見,這兩個單元的具體處理過程在此也不再詳述了。
通過利用根據本發明的水印嵌入方法和裝置以及水印檢測方法和裝置,可以實現在文本文件、包括電子文本文件和文本圖像文件中安全地隱藏保密信息,並且只有那些被授權的接收方、即具有公鑰的接收方才能夠從文本文件中提取出所隱藏的信息。未被授權的接收方在進行水印檢測的過程中,在規定的迭代次數例如16N中滿足迭代終止條件即等式(1)的概率接近為零,這樣就能夠檢測出有人惡意攻擊。
此外,由於根據本發明的上述方法和裝置是基於公鑰對的,所以被授權的接收方即使能夠提取並閱讀所隱藏的信息,他也不能偽造或修改隱藏信息。所以通過利用本發明的方法和裝置,還可以起到保護文本文件完整性的作用。具體來說,即使一個人有權提取並閱讀隱藏信息,一旦他偽造或是修改了某一隱藏的信息位mi後,水印檢測過程中的迭代終止條件、即等式(1)就不可能得到滿足,這樣就會無限次地進行迭代計算,從而會報告所接收文件的完整性遭到了破壞。
綜上所述,根據本發明的方法和裝置在包括列印、複印和掃描的整個文件生命周期過程中實現了對文本文件完整性的更好保護,並且可以安全地在其中隱藏不希望公眾看到的信息。
應該注意的是,上面所描述的實施方式只是用於說明本發明,並不構成對本發明的限制。
另外,上述各操作過程可以以存儲在各種介質中的計算機可以執行的程序的方式實現。這些介質包括但不限於各種存儲器和存儲單元,半導體設備,磁碟單元例如光、磁和磁光碟,以及其它適於存儲信息的介質。另外,通過網絡下載程序等方式也可以實現本發明。
雖然結合附圖詳細描述了本發明的實施例,但是對於本領域的技術人員來說,仍可以對上述實施方式作出各種修改和變更而不改變本發明的實質和範圍。因此,本發明的範圍僅由所附權利要求限定。
例如,雖然以上針對文本文件、包括電子文本文件和文本圖像文件的水印嵌入過程和水印檢測過程對本發明的優選實施方式進行了描述,但是本領域技術人員根據本發明的教義可知本發明也可應用於視頻、音頻、圖形文件。
權利要求
1.一種水印嵌入方法,用於向一個文件中嵌入保密消息序列,該方法包括以下步驟獲取所述文件的布局信息;利用哈希函數提取文件的摘要;計算保密消息序列在所述文件中的嵌入位置;通過改變布局在通過計算所得到的各個嵌入位置中分散隱藏所述保密消息序列。
2.如權利要求1所述的水印嵌入方法,其中所述嵌入位置計算步驟是利用文件的哈希摘要和公鑰加密算法驅動的有限狀態機進行的。
3.如權利要求2所述的水印嵌入方法,其中所述嵌入位置計算步驟進一步包括以下步驟根據所提取的文件摘要和所述保密消息序列,計算初始狀態;根據所述初始狀態和公鑰,計算狀態序列;根據狀態序列計算出嵌入位置序列。
4.如權利要求1所述的水印嵌入方法,其中所述布局信息獲取步驟進一步包括將文件分成多個片段的步驟。
5.如權利要求1所述的水印嵌入方法,其中所述文件為文本文件。
6.如權利要求4所述的水印嵌入方法,其中所述保密消息序列隱藏步驟進一步包括通過在由計算得到的各個嵌入位置表示的相應片段中改變字間距,分散隱藏所述保密消息序列中的各個保密消息。
7.如權利要求4所述的水印嵌入方法,其中所述保密消息序列隱藏步驟進一步包括通過在由計算得到的各個嵌入位置表示的相應片段中改變字體,分散隱藏所述保密消息序列中的各個保密消息。
8.如權利要求1至7中任意一個所述的水印嵌入方法,其中所述文件是電子文件。
9.如權利要求8所述的水印嵌入方法,其中所述文件是印表機描述語言格式的文件,並且所述水印嵌入方法還包括以下步驟在布局信息獲取步驟之前,對印表機描述語言格式的文件進行印表機語言分析,將印表機命令和電子文件的內容本身分離開來用於後續處理;在保密消息序列隱藏步驟之後,對所述印表機命令和其中嵌入了保密消息序列的文件內容進行重新組合,以生成可供列印的重新組合的印表機語言文件。
10.如權利要求1至4中任意一個所述的水印嵌入方法,其中所述文件是圖像文件,並且所述方法在所述布局信息獲取步驟之前還包括對圖像文件進行布局分析的步驟。
11.如權利要求1至4中任意一個所述的水印嵌入方法,其中所述文件為紙件形式,並且所述方法在所述布局信息獲取步驟之前還包括以下步驟對紙件形式的文件進行掃描得到圖像文件;對圖像文件進行布局分析。
12.一種水印嵌入裝置,用於向一個文件中嵌入保密消息序列,包括布局信息獲取單元,用於獲取所述文件的布局信息;摘要提取單元,用於利用哈希函數提取文件的摘要;嵌入位置計算單元,用於計算保密消息序列在所述文件中的嵌入位置;信息隱藏單元,用於通過改變布局在通過計算得到的各個嵌入位置中分散隱藏所述保密消息序列。
13.如權利要求12所述的水印嵌入裝置,其中所述嵌入位置計算單元利用公鑰驅動的有限狀態機計算嵌入位置。
14.如權利要求13所述的水印嵌入裝置,其中所述嵌入位置計算單元進一步包括用於根據所提取的摘要和所述保密消息序列計算初始狀態的單元;用於根據所述初始狀態和公鑰計算狀態序列的單元;用於根據狀態序列計算出嵌入位置序列的單元。
15.如權利要求12所述的水印嵌入裝置,其中所述布局信息獲取單元進一步包括用於將所述文件分成多個片段的單元。
16.如權利要求12所述的水印嵌入裝置,其中所述文件為文本文件。
17.如權利要求15所述的水印嵌入裝置,其中所述信息隱藏單元通過在由計算得到的各個嵌入位置表示的相應片段中改變字間距,分散隱藏所述保密消息序列中的各個保密消息。
18.如權利要求15所述的水印嵌入方法,其中所述信息隱藏單元通過在由計算得到的各個嵌入位置表示的相應片段中改變字體,分散隱藏所述保密消息序列中的各個保密消息。
19.如權利要求12至18中任意一個所述的水印嵌入裝置,其中所述文件是電子文件。
20.如權利要求19所述的水印嵌入裝置,可以被包括在文件編輯器中。
21.如權利要求19所述的水印嵌入裝置,其中所述文件是印表機描述語言格式的文件,並且所述水印嵌入裝置還包括印表機語言分析單元,用於對印表機描述語言格式的文件進行印表機語言分析,將印表機命令和電子文件的內容本身分離開來用於後續處理;印表機語言重新組合單元,用於對所述印表機命令和其中嵌入了保密消息序列的文件內容進行重新組合,以生成可供列印的重新組合的印表機語言文件。
22.如權利要求21所述的水印嵌入裝置,該水印嵌入裝置可以設置在文件編輯器和印表機之間。
23.如權利要求12至15中任意一個所述的水印嵌入裝置,其中所述文件是圖像文件,並且所述水印嵌入裝置還包括用於對圖像文件進行布局分析以得到布局信息的單元。
24.一種水印檢測方法,用於從一個文件中檢測出其中嵌入的保密消息序列,該方法包括以下步驟獲取所述文件的布局信息;利用哈希函數提取文件的摘要;計算保密消息序列在所述文件中的嵌入位置;根據在計算得到的各個嵌入位置中的布局改變,分別提取出所述保密消息序列的各個保密消息。
25.如權利要求24所述的水印檢測方法,其中所述嵌入位置計算步驟是利用公鑰驅動的有限狀態機進行的。
26.如權利要求25所述的水印檢測方法,進一步包括以下步驟重複所述嵌入位置計算步驟和所述隱藏信息提取步驟,直至根據當前狀態、所述文件摘要和已經提取出的各個保密消息確定已經提取了所有已嵌入的保密消息為止。
27.如權利要求26所述的水印檢測方法,其中所述嵌入位置計算步驟進一步包括以下步驟根據當前狀態和私鑰,計算前一狀態;根據計算的狀態計算出嵌入位置。
28.如權利要求24所述的水印檢測方法,其中所述布局信息獲取步驟進一步包括將所述文件分成多個片段的步驟。
29.如權利要求24所述的水印檢測方法,其中所述文件為文本文件。
30.如權利要求28所述的水印檢測方法,其中所述保密消息序列提取步驟進一步包括根據在由計算得到的各個嵌入位置所表示的相應片段中的字間距改變,分別提取出所述保密消息序列中的各個保密消息。
31.如權利要求28所述的水印檢測方法,其中所述保密消息序列提取步驟進一步包括根據在由計算得到的各個嵌入位置所表示的相應片段中的字體改變,分別提取出所述保密消息序列中的各個保密消息。
32.如權利要求24至31中任意一個所述的水印檢測方法,其中所述文件是電子文件。
33.如權利要求24至28中任意一個所述的水印檢測方法,其中所述文件是圖像文件,並且所述方法在所述布局信息獲取步驟之前還包括對圖像文件進行布局分析的步驟。
34.如權利要求24至31中任意一個所述的水印檢測方法,其中所述文件為紙件形式,並且所述方法在所述布局信息獲取步驟之前還包括以下步驟對紙件形式的文件進行掃描得到圖像文件;對圖像文件進行布局分析。
35.一種水印檢測裝置,用於從一個文件中檢測出其中嵌入的保密消息序列,包括布局信息獲取單元,用於獲取所述文件的布局信息;摘要提取單元,用於利用哈希函數提取文件的摘要;嵌入位置計算單元,用於計算保密消息序列在所述文件中的嵌入位置;信息提取單元,用於根據在計算得到的各個嵌入位置中的布局改變分別提取出所述保密消息序列的各個保密消息。
36.如權利要求35所述的水印檢測裝置,其中所述嵌入位置計算單元利用公鑰驅動的有限狀態機計算嵌入位置。
37.如權利要求36所述的水印檢測裝置,進一步包括判斷單元,用於根據當前狀態、所述文件摘要和已經提取出的各個保密消息判斷是否已經提取了所有已嵌入的保密消息。
38.如權利要求37所述的水印檢測裝置,其中所述嵌入位置計算單元進一步包括用於根據當前狀態和私鑰計算前一狀態的單元;用於根據計算的狀態計算嵌入位置的單元,其中所述計算狀態的單元和所述計算嵌入位置的單元在所述判斷單元的判斷結果表示尚未提取完所有已嵌入的保密消息時進行迭代計算。
39.如權利要求35所述的水印檢測裝置,其中所述布局信息獲取單元進一步包括用於將所述文件分成多個片段的單元。
40.如權利要求35所述的水印檢測裝置,其中所述文件為文本文件。
41.如權利要求39所述的水印檢測裝置,其中所述保密消息序列提取單元根據在由計算得到的各個嵌入位置所表示的相應片段中的字間距改變,分別提取出所述保密消息序列中的各個保密消息。
42.如權利要求39所述的水印檢測裝置,其中所述保密消息序列提取單元根據在由計算得到的各個嵌入位置所表示的相應片段中的字體改變,分別提取出所述保密消息序列中的各個保密消息。
43.如權利要求35至42中任意一個所述的水印檢測裝置,其中所述文件是電子文件。
44.如權利要求35至39中任意一個所述的水印檢測裝置,其中所述文件是圖像文件,並且所述水印檢測裝置還包括對圖像文件進行布局分析以得到布局信息的單元。
45.一種用於檢測文件完整性的方法,包括如權利要求1至11中任意一個所述的水印嵌入方法的各個步驟、以及如權利要求24至34中任意一個所述的水印檢測方法的各個步驟。
46.一種用於檢測文件完整性的系統,包括如權利要求12至23中任意一個所述的水印嵌入裝置、以及如權利要求35至44中任意一個所述的水印檢測裝置。
47.一種計算機可讀存儲介質,其上存儲有用於執行如權利要求1至11中任意一個所述的水印嵌入方法和/或如權利要求24至34中任意一個所述的水印檢測方法的電腦程式。
48.一種電腦程式產品,包括用於執行如權利要求1至11中任意一個所述的水印嵌入方法和/或如權利要求24至34中任意一個所述的水印檢測方法的電腦程式代碼。
全文摘要
本發明提供了一種水印嵌入方法,用於向一個文件中嵌入一個保密消息序列,該方法包括以下步驟獲取所述文件的布局信息;利用哈希函數提取文件的摘要;計算保密消息序列在所述文件中的嵌入位置;通過改變布局在計算得到的各個嵌入位置中分散隱藏所述保密消息序列。本發明還提供了水印嵌入裝置、相應的水印檢測方法和裝置、以及用於檢測文件完整性的方法和系統。利用本發明,可以對各種形式的文件進行完整性的檢測,同時可以對其嵌入和提取隱藏的保密信息。本發明的方法不限於文件是軟拷貝還是硬拷貝形式,具有很好的魯棒性。
文檔編號H04L9/32GK1897522SQ200510084619
公開日2007年1月17日 申請日期2005年7月15日 優先權日2005年7月15日
發明者羅琳, 邵凌, 向哲, 蘇明, 何源 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀