專利名稱:利用統(tǒng)計檢驗的數(shù)據(jù)隱藏方法和數(shù)據(jù)提取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)隱藏方法和數(shù)據(jù)提取方法,該方法以一種不可感覺的方式將關(guān)于所有人或版權(quán)的信息嵌入到諸如數(shù)字圖象、數(shù)字視頻或數(shù)字音頻之類的媒體信息中。特別涉及一種數(shù)據(jù)隱藏方法,該方法在利用統(tǒng)計檢驗控制信息嵌入操作的同時,以一種不可感覺的方式嵌入媒體信息。它還涉及一種數(shù)據(jù)提取方法,該方法利用統(tǒng)計檢驗判定是否嵌入了媒體信息,并根據(jù)判定結(jié)果正確地恢復(fù)被嵌入的信息。
下述的技術(shù)作為利用統(tǒng)計方法的數(shù)據(jù)隱藏方法已為公眾所知。首先,從圖象數(shù)據(jù)中選擇兩個象素點陣列(此后分別稱為“{an}和{bn}”)。每個象素點陣列由假設(shè)為“n”個象素點構(gòu)成。然后,通過將一個定值c加到一個點陣列{an}中的n個象素值v(an)上,而從另一個點陣列{bn}中的n象素值v(bn)中減去該定值c來執(zhí)行嵌入操作。v0(an)=v(an)+cv0(bn)=v(bn)-c通過計算兩個點陣列中n個象素的差值并平均該差值,根據(jù)其結(jié)果判定是否在圖象數(shù)據(jù)中執(zhí)行了嵌入操作,如下式所示[式2]1NΣn=1N(v′(an)-v′(bn))]]>即,當(dāng)計算在數(shù)量上出現(xiàn)了統(tǒng)計特性的象素值之間的差值的平均值時,如果沒有加法操作的話,則希望該平均值趨近于0。另一方面,如果執(zhí)行了加法操作,則希望該平均值為一個定值2c。因此,根據(jù)在設(shè)置了一個臨界值的條件下該平均值接近于0還是接近于2c,判定是否執(zhí)行了嵌入操作。
將被嵌入的信息為一位,且兩個象素點陣列的位置是保密的,只有執(zhí)行嵌入操作的人才知道。由于平均值2c不能被執(zhí)行嵌入操作的人之外的人恢復(fù),除非能識別象素點陣列的位置,所以能提取這個值的事實證明了此人是該數(shù)據(jù)的所有人。
但是,利用統(tǒng)計方法的現(xiàn)有技術(shù)中存在的第一個問題在于通過執(zhí)行新的嵌入操作,很容易混淆誰是數(shù)據(jù)的所有人。即,即使第三者不能操作只有所有人才知道的象素點陣列中的象素值,但是通過選擇這樣的象素點陣列并在其象素值上執(zhí)行嵌入操作,就可以重新在另兩個適當(dāng)?shù)南笏攸c陣列中產(chǎn)生該平均值2c。因此,當(dāng)執(zhí)行了這樣的操作的第三者根據(jù)從他或她識別的點陣列中計算出的平均值,錯誤地宣稱他或她本人即為數(shù)據(jù)的所有人時,背景技術(shù)不能證明誰是真正的所有人。
第二個問題在于沒有充分考慮嵌入操作和由它引起的圖象質(zhì)量的變異。即使加上或減去同一個值c,由于圖象質(zhì)量的特定特征,也會在視覺圖象質(zhì)量的變異上產(chǎn)生重要的差異。因此,最好根據(jù)圖象質(zhì)量的特征適應(yīng)性地改變嵌入操作的數(shù)量。即,最好適應(yīng)性地選擇定值c和象素點陣列中的象素數(shù)量N。
從而,本發(fā)明的一個目的是提供一種能夠準確證明誰是真正的所有人的數(shù)據(jù)隱藏方法。
本發(fā)明的另一個目的是通過在執(zhí)行嵌入處理的媒體信息中,適應(yīng)性地確定對特征值,如象素值的操作量來禁止圖象質(zhì)量的變異。
為達到上述目的,本發(fā)明的一個特征是利用了一個用于選擇一個象素點陣列的密鑰。這能防止所有人的錯誤辨認。本發(fā)明的另一個特征是適應(yīng)性地確定被選定的象素點陣列的大小(N)和將對特征值進行操作的統(tǒng)計量的多少(c)。在數(shù)據(jù)的恢復(fù)中,為了確定是否在一個區(qū)域中嵌入了信息,即是否在該區(qū)域的特征值上進行了運算操作,而計算可靠性。這樣能以一種不可感覺的方式,在一個圖象中嵌入多位信息(作者、分布ID等),并能夠從該圖象中恢復(fù)嵌入的信息,以宣布該圖象的所有人或識別分布通道。
具體地,本發(fā)明的第一方面是一種用于在數(shù)據(jù)中嵌入消息的數(shù)據(jù)隱藏方法,包括步驟通過向一個指定的函數(shù)輸入一個具有預(yù)定值的密鑰,得到一個輔助密鑰;根據(jù)得到的輔助密鑰,確定在其中將被嵌入消息的隱藏位置,并根據(jù)輔助密鑰選擇多個隱藏函數(shù)中的一個,使得選定的隱藏函數(shù)適用于每個所確定的隱藏位置;以及按照選定的、相應(yīng)于隱藏位置的隱藏函數(shù),將消息嵌入到每個所確定的隱藏位置中。
本發(fā)明的第二方面是一種用于從嵌入了消息的數(shù)據(jù)中提取消息的數(shù)據(jù)提取方法,包括步驟通過向一個指定的函數(shù)輸入一個具有預(yù)定值的密鑰,得到一個輔助密鑰;根據(jù)得到的輔助密鑰,確定其中被嵌入消息的隱藏位置,并根據(jù)輔助密鑰選擇多個隱藏函數(shù)中的一個,使得選定的隱藏函數(shù)適用于每個所確定的隱藏位置;向一個檢測基本函數(shù)輸入所確定的位置中的信息,按照所確定的隱藏函數(shù)識別該檢測基本函數(shù);將檢測基本函數(shù)的一個輸出輸入到一個檢測函數(shù);以及根據(jù)該檢測函數(shù)的一個輸出,判斷是否嵌入了消息。
因此,本發(fā)明能夠準確證明誰是真正的所有人,并能通過適應(yīng)性地確定對特征值,如象素值的操作量來禁止執(zhí)行了嵌入處理的媒體信息的圖象質(zhì)量的變異。
圖1是說明實施例中的圖象分布與密鑰的產(chǎn)生之間的聯(lián)系的方框圖;以及圖2是示出了在被加到一個測試圖象上時,一個檢測基本函數(shù)的特征曲線的結(jié)果的圖表。
圖1是圖象分布與密鑰的產(chǎn)生之間的聯(lián)系。通過首先產(chǎn)生一個密鑰并根據(jù)該密鑰將多位信息嵌入該圖象中來對一個圖象進行分布(distribute)。如果想加密和分布一個圖象,則在結(jié)果上將多位信息另外嵌入到解密的圖象中。然后,根據(jù)該密鑰檢測一個被分布的圖象以觀察該圖象是否侵犯了版權(quán)。如果是,則從被提取的位信息中識別其分布通道。下面,首先描述一個用于檢測是否在一個數(shù)字內(nèi)容中執(zhí)行嵌入處理并恢復(fù)位信息的系統(tǒng)。然后,描述一個用于檢測/嵌入多位信息的系統(tǒng)。而且,將詳細描述實施例的重要概念、檢測基本函數(shù)和重寫、用于計算檢測函數(shù)的特性、被嵌入的錯誤證實以及利用單向函數(shù)的嵌入。
(1)檢測/恢復(fù)系統(tǒng)該檢測/恢復(fù)系統(tǒng)包括一個用于根據(jù)一個給定的密鑰,確定一個點陣列和一個檢測基本函數(shù)的機構(gòu);·一個用于根據(jù)點陣列和檢測基本函數(shù)獲得每個點的值,并用于計算它們的和的機構(gòu);·一個用于確定一個檢測函數(shù)的機構(gòu);以及·一個用于通過將該檢測函數(shù)加到計算出的和上,來確定位信息和它的概率可靠性的機構(gòu)。
點陣列用于確定一個數(shù)字內(nèi)容被嵌入的位置。如果該數(shù)字內(nèi)容是一維的,則它是一個一維坐標的數(shù)組,而如果該數(shù)字內(nèi)容是二維的,則它是一個二維坐標的陣列。點陣列被分成多個組,每個組中嵌入一個1位信息。根據(jù)嵌入的數(shù)字內(nèi)容恢復(fù)相應(yīng)于組數(shù)的位長度信息。點陣列中的每個點用xna表示。添加雙下標便于表明該點陣列被分成了多個組,其中a代表它所屬的組。
檢測基本函數(shù)的特點是利用一個指定點附近的數(shù)字數(shù)據(jù)計算一個值。后面將說明檢測基本函數(shù)的具體示例。一個通用的檢測基本函數(shù)可以適用于點陣列中的所有點,而一個區(qū)別檢測基本函數(shù)可以根據(jù)用于每個點的密鑰來從多個檢測基本函數(shù)中選擇。為了防止一個有預(yù)謀的第三者消除嵌入的信息,設(shè)計成根據(jù)密鑰為每個點選擇一個檢測基本函數(shù),使得每個點具有不同的檢測基本函數(shù)。下面用fna表示點xna的檢測基本函數(shù)。
在點陣列和檢測基本函數(shù)的基礎(chǔ)上為每個點確定一個值,以計算它們在每個組(下標a)中的和sa。Sa=Σn=1Na∫na(xna)]]>其中,Na是屬于組a的點數(shù),且每個組的點數(shù)可以彼此不同。沒有必要保存點陣列和檢測基本函數(shù)。逐一產(chǎn)生密鑰并在其和被加到一個累計存儲器中之后立即破壞掉這些密鑰是重要的。
假設(shè)點陣列和檢測基本函數(shù)是隨機選擇的,為了提供一種其總和大于和低于一個特定值的概率,定義一個檢測函數(shù)。其中,點陣列的總和N大于s的概率用E+(Ns)表示,而和低于s的概率用E-(Ns)表示。此時,從計算出的和sa中發(fā)現(xiàn)位信息及其概率可靠性如下[式4]E+(Na,sa)>E-(Na,sa)如果滿足上式,則確定位0被嵌入,且確定E+(Na,sa)為其可靠性。相反,如果[式5]E+(Na,sa)<E-(Na,sa),則確定位1被嵌入,且確定E-(Na,sa)為其可靠性。如果建立了等式關(guān)系,則對位0和位1來說,概率是相等的。即,不能檢測該位信息。如果檢測函數(shù)滿足下式,則上述用于確定位信息及其概率可靠性的機構(gòu)可能更為簡化。E+(N,s)+E-(N,s)=1此時,如果[式7]E+(Na,sa)>0.5,則則確定位0被嵌入,且確定E+(Na,sa)為其可靠性。相反,如果[式8]E+(Na,sa)<0.5,則確定位1被嵌入,且確定1-E+(Na,sa)為其可靠性。此處,對位0和位1的檢測規(guī)則是反向的。
根據(jù)是否超過了由一個實際的子系統(tǒng)用戶為其個人目的而確定的可靠性的事實,判定位信息是否被嵌入到一個數(shù)字內(nèi)容中。由于檢測/提取系統(tǒng)需要對數(shù)字內(nèi)容數(shù)據(jù)進行隨機存取,所以該系統(tǒng)可被配置如下以將數(shù)字內(nèi)容數(shù)據(jù)作為一個流進行處理,而不是將其保存在存儲區(qū)中·一個用于根據(jù)其位置(點)和一個給定的密鑰,判定哪個檢測基本函數(shù)f適用于數(shù)字內(nèi)容的流數(shù)據(jù)和它的值被加到哪個和sa中的機構(gòu);
·一個用于臨時產(chǎn)生檢測基本函數(shù)1的值,并將其加到和sa上進行累加的機構(gòu);·一個用于累加根據(jù)流數(shù)據(jù)獲得檢測函數(shù)所必需的數(shù)據(jù)的機構(gòu);以及·一個用于在處理了所有流數(shù)據(jù)之后獲得一個檢測函數(shù),并將該檢測函數(shù)加到累加和sa上以確定位信息及其概率可靠性的機構(gòu)。
(2)嵌入系統(tǒng)概述嵌入系統(tǒng)包括·一個用于根據(jù)給定的密鑰確定一個點陣列和一個檢測基本函數(shù)的機構(gòu);·一個用于得到一個檢測函數(shù)的機構(gòu);·一個用于根據(jù)概率可靠性和檢測函數(shù),確定嵌入到位信息中所必需的總和的大小的機構(gòu);以及·一個用于在保持不可理解的同時,操作點陣列中的每個點附近的數(shù)字數(shù)據(jù),使得檢測基本函數(shù)的總和超過一個預(yù)定值的機構(gòu)。
點陣列和檢測基本函數(shù)分別用xna和fna表示。由嵌入系統(tǒng)根據(jù)密鑰產(chǎn)生的點陣列組數(shù)通常應(yīng)設(shè)計成大于檢測/提取系統(tǒng)中所用的組數(shù),以使得數(shù)字內(nèi)容的統(tǒng)計特性不會由于操作而改變,而屬于每個組a的點數(shù)Na應(yīng)被設(shè)計成大于需要以更高的可靠性嵌入位信息的組的點數(shù)。檢測函數(shù)用E+(N,s)或E-(N,s)表示。當(dāng)位信息被以可靠性pa或更高的可靠性嵌入到組a中時,對位0執(zhí)行嵌入操作,以使得檢測函數(shù)的和sa為[式9]E+(Na,sa)>pa.
對位1執(zhí)行嵌入操作,以使得檢測函數(shù)的和sa為[式10]E-(Na,sa)>pa.
此處,假設(shè)可靠性pa大于0.5。即可靠性被設(shè)計成對位0來說,小于檢測基本函數(shù)的和sa,其中E+(Na,sa)=pa,而對位1來說,大于檢測基本函數(shù)的和sa,其中E-(Na,sa)=pa。其中,在上述位嵌入過程中,用于位0和位1的嵌入規(guī)則可以是反向的。
由于檢測函數(shù)依賴于數(shù)字內(nèi)容的統(tǒng)計特性,所以嵌入系統(tǒng)中的點陣列的組數(shù)被設(shè)計成大于檢測/提取系統(tǒng)中的組數(shù),多余的組被用來消除在統(tǒng)計特性中的變化。特別是,通過設(shè)置用于多余組的檢測基本函數(shù)的總和的一個目標值,執(zhí)行嵌入操作,以使得用于整個數(shù)字內(nèi)容的檢測基本函數(shù)的平均值不會在操作之前被改變。用于消除的多余組數(shù)可能是一個或更多。每執(zhí)行一次一位嵌入,就執(zhí)行一次消除嵌入,以使得進行了位嵌入的組數(shù)等于多余組數(shù)。
通過在保持不可理解的同時,對位于點陣列中的每個點xna附近的點值進行運算來執(zhí)行嵌入操作。假設(shè)檢測基本函數(shù)的總和為sa0時,Δsa=sa-sa0即為每個組的目標變化范圍。如果點陣列中每個點的變化范圍是相等的,則Δsa/Na為檢測基本函數(shù)值在每個點的目標變化范圍。
為了在保持不可理解的同時提供干擾阻力(tamperingresistance),通過對嵌入明顯的區(qū)域利用一個較窄的變化范圍,對嵌入不明顯的區(qū)域利用一個較寬的變化范圍取代相等的變化范圍,計算點陣列中每個點xna附近的點值來執(zhí)行嵌入操作。為了嵌入到數(shù)字內(nèi)容中,計算對于一個點陣列中每個點的不可理解性(unperceptivity)的指數(shù)(index),并確定用于檢測基本函數(shù)的一個目標變化范圍以計算該點附近的點值。
不可理解性指數(shù)是一個根據(jù)位于一給定點x附近的點上的數(shù)字內(nèi)容值計算出的值,包括下述類型·比例指數(shù)一個用于在每個點x的變化范圍與指數(shù)g(x)成比例時,在近似程度上提供可理解性的指數(shù)·識別臨界指數(shù)一個用于在每個點x的變化范圍小于指數(shù)g(x)時,在近似程度上提供可理解性的指數(shù)·混合指數(shù)一個組合了上述內(nèi)容的指數(shù)對于比例指數(shù)來說,通過下式確定一個比例常數(shù)r,且rg(xna)為在每個點xna的一個目標變化范圍。r=ΔSa/Σn=1Nag(Xna)]]>對于識別臨界指數(shù)來說,如果[式12]|ΔSa|≤Σn=1Nag(Xna),]]>則沿著Δsa的符號方向,利用一個變化范圍(xna)對每個點xna連續(xù)進行運算,直到大于|Δsa|為止。然后,在被超出的點中止該變化運算,或?qū)λ械狞cxna執(zhí)行下述運算。g(Xna)ΔSa/Σn=1Nag(Xna)]]>此外,如果[式14]|ΔSa|≥Σn=1Nag(Xna),]]>則按照Δsa的符號,對每個點xna執(zhí)行變化范圍為[式15]g(Xna)+(|ΔSa|-Σn=1Nag(Xna))/Na]]>的運算。對于混合指數(shù),通過組合上述內(nèi)容執(zhí)行嵌入操作。
(3)檢測基本函數(shù)和重寫密鑰規(guī)定了一個點陣列和一個檢測基本函數(shù)。這里給出關(guān)于檢測基本函數(shù)、相關(guān)的嵌入操作以及重寫技術(shù)的說明。檢測基本函數(shù)是一個用于利用數(shù)字數(shù)據(jù)計算在一規(guī)定點附近的點上的值的機構(gòu)。檢測基本函數(shù)用fα表示,其中α是一個用于區(qū)別多個檢測基本函數(shù)的下標。
首先,給出關(guān)于系數(shù)和為0的線性濾波器的說明。盡管在原理上,檢測基本函數(shù)可以采用任何形式,但由于一個數(shù)字內(nèi)容通常被提供給一個整數(shù)值陣列,所以就希望它的輸入端接收一個整數(shù)值,并輸出另一個整數(shù)值,并且為了滿足不可理解性,檢測基本函數(shù)的值被集中在它們的平均值附近,在對于改變檢測基本函數(shù)值所必需的附近點,這些平均值的變化范圍較小。尤其是,對于后面的情況,在假設(shè)σ是用于整個數(shù)字內(nèi)容的檢測基本函數(shù)的標準差時,希望該檢測基本函數(shù)是這樣一個函數(shù)在對于通過σ增加/減小該檢測基本函數(shù)所必需的點周圍的值的變化范圍的平均值應(yīng)小于用于整個數(shù)字內(nèi)容的每個點的值的標準差。
一個具有這樣的特點的檢測基本函數(shù)包括一個用下述等式表示的線性濾波器[式16]fα(x)=ΣyFα(y)v(x+y)]]>其中v(x+y)是數(shù)字內(nèi)容在一個從點x移動了y的點上的值,且濾波器系數(shù)Fα(y)是一個用下式表示的整數(shù)[式17]0=ΣyFα(y)]]>x和y是用于數(shù)字圖象和數(shù)字視頻信息的二維向量。系數(shù)和為0的原因是為了使嵌入的信息不依賴于數(shù)字數(shù)據(jù)在該點的絕對值,而是依賴于數(shù)字數(shù)據(jù)在該點周圍的狀態(tài)或一個相對值。例如,認為下述的為用于數(shù)字圖象的最簡單的線性濾波器。給定的檢測基本函數(shù)系數(shù)fS0為[式18](FS0(0,0);FS0(1,0))=(1,-1),且給定的檢測基本函數(shù)系數(shù)fS1為[式19](FS1(0,0); FS1(0,1))=(1,-1).
圖2是示出了將檢測基本函數(shù)的特性加到測試圖象上的圖表。每個檢測基本函數(shù)的標準差被認為是小于象素值的標準差。因此,就希望通過使用fS0和fS1采用一個較窄的變化范圍作為檢測基本函數(shù),取代原有的利用象素值本身作為檢測基本函數(shù)。
為了符合JPEG和MPEG標準,寬度和高度與用于DCT轉(zhuǎn)換的8*8塊相匹配的線性濾波器被用作檢測基本函數(shù)。即使用4*4、4*8、8*4、8*8、16*8、8*16或16*16線性濾波器。例如,下面使用8*8濾波器fJ0,fJ1,fJ2,fJ 3[式20]FJ0(j,k)=1100-1-1001100-1-10000-1-1001100-1-10011-1-1001100-1-1001100001100-1-1001100-1-1]]>[式21]FJ1(j,k)=00-1-1001100-1-10011-1-1001100-1-1001100001100-1-1001100-1-11100-1-1001100-1-100]]>[式22]FJ2(j,k)=1100-1-1001100-1-100001100-1-1001100-1-1-1-1001100-1-100110000-1-1001100-1-10011]]>[式23]FJ3(j,k)=00-1-1001100-1-100111100-1-1001100-1-100001100-1-1001100-1-1-1-1001100-1-1001100]]>
通過利用不可理解性指數(shù)確定用于點陣列中每個點的檢測基本函數(shù)值的目標變化值Δfα(X)=fα(x)′-fα(x)。這里在給定了一個線性濾波器的情況下,詳細描述為達到這樣的目標值而在嵌入點陣列中的點周圍的每個點對數(shù)字數(shù)據(jù)的操作。下面,用w(x,y)表示用于嵌入點陣列中的一個點x周圍的每個點(x+y)的變化值。即,在一個點(x+y)的數(shù)字數(shù)據(jù)值v(x+y)變成了v(x+y)+w(x,y)。
為用于檢測基本函數(shù)fff的線性濾波器系數(shù)Fα(y)定義了一個系數(shù)Gff(y)[式24]ΣyFα(y)Gα(y)=Dα>0]]>然后根據(jù)[式25]d(x)=ΔFα(x)/Dα得到d(x)。根據(jù)[式26]w(x,y)=d(x)Gα(y)得到變化值。
一個選定的最簡單的系數(shù)Gα(y)為Gα(y)=Fα(y)。如果d(x)的絕對值大于1,則通過稍微改變和求d(x)Gα(y)的平均值以使該值逐漸變化而增強其不可理解性。例如,如果對于GJ1(j,k)=FJ1(j,k),d(x)=4,則利用[式28]代替[式27]來求其平均值。d(x)GJ1(j,k)=00-4-4004400-4-40044-4-4004400-4-4004400004400-4-4004400-4-44400-4-4004400-4-400]]>w(x,y)=00-3-4004300-4-40134-3-4004310-4-4004400004400-4-4013400-4-34310-4-4003400-4-300]]>下述方法被用于通過重寫嵌入多個消息·正交嵌入;以及·分層嵌入。
其中,正交嵌入通過利用相互之間高度獨立的檢測基本函數(shù)進行位重寫。在線性濾波器的情況下,通過一組正交系數(shù)執(zhí)行[式29]ΣyFα(y)Gβ(y)=Dα≠0,]]>如果α=β=0,其它如果α和β不相等,則由系數(shù)Fα(y)給定的檢測基本函數(shù)fα沒有檢測用w(x,y)=d(x)Gβ(y)執(zhí)行的嵌入過程。
此外,分層嵌入意味著這樣一種情況在被加到不同大小的區(qū)域上的檢測基本函數(shù)之間,其中一個檢測函數(shù)被加到的較小區(qū)域被擴大到另一個函數(shù)被加到的較大區(qū)域時,它們之間具有高度獨立性。例如,一個2*1大小的線性濾波器能被擴大到后面的2*2大小的線性濾波器[式30]FSO.0(i,j)=1-100]]>FSO.1(i,j)=001-1]]>FSS(i,j)=11-1-1]]>按照上述的正交嵌入,它們與后面的線性濾波器是正交的。因此,fSS和fSO能被重寫。
這里,說明檢測函數(shù)的計算。當(dāng)確定了一個數(shù)字內(nèi)容時,對整個內(nèi)容中的檢測基本函數(shù)fα值為f的頻率進行記數(shù)以產(chǎn)生一個頻率分布(直方圖)h(f)。它用于計算檢測基本函數(shù)fα值為f時的概率p(f)[式32]p(f)=h(f)/Σfh(f)]]>即使直方圖是通過在隨機選定的點,而不是在內(nèi)容的所有點計算檢測基本函數(shù)值而產(chǎn)生的,但是只要選定的點數(shù)足夠大,在實際應(yīng)用中就不會出現(xiàn)問題。按照下列等式,根據(jù)概率p(f)的結(jié)果就可以求出在N個檢測基本函數(shù)的和為s時的概率PN(s)[式33]PN(s)=Σf1Σf2...ΣfN-1p(f1)p(f2)...p(fN-1)p(s-f1-f2...-fN-1)]]>據(jù)此可求出檢測函數(shù)如下[式34]E+(N,s)=Σs′>sPN(s′)]]>E-(N,s)=Σs′<sPN(s′)]]>檢測函數(shù)的近似計算下面,說明一種用于有效求出檢測函數(shù)的方法,該方法根據(jù)一個檢測基本函數(shù)的統(tǒng)計矩(statistical moment)或<fn>次方的平均值近似求出一個檢測函數(shù)。其中,假設(shè)通過下式計算統(tǒng)計矩[式35]<fn>=ΣxΣαfα(x)n/ΣxΣα1]]>如下所述,由于沒有必要根據(jù)直方圖h(f)計算概率PN(s),所以存儲量和計算量能被保持在一個低水平。利用<fn>c=<(f-<fi>)n>來簡化公式。即,[式36]<f>c= 0<f2>c= <f2>-<f>2<f3>c=<f4>-3<f2><f>+2<f>3<f4>c=<f4>-4<f3><f>+6<f2><f>2-3<f>4其中,對于足夠大的N,可將其近似為[式37]PN(s)(0)=12πN<f2>cexp(-(s-N<f>)2-2N<f2>c)]]>從而,通過下式得到檢測函數(shù)[式38]E+(N,s)(0)=12πN<f2>c∫⟨s∞ds′exp(-(s′-N<f>)22N<f2>c)]]>E-(N,s)(0)=12πN<f2>c∫∞sds′exp(-(s′-N<f>)22N<f2>c)]]>通過下式計算近似檢測函數(shù)中的修正項E+(N,s)(n)和E-(N,s)(n)E+(N,s)(n)=-Qn(N,s)PN(s)(0)E-(N,s)(n)=Qn(N,s)PN(s)(0)為簡化起見,如果[式40]v=s-N<f>
且[式41]w=(s-N<f>)2N<f2>c,]]>則通過下式求出Qn(N,s)[式42]Q1(N,s)=<f>3c3!<f2>c(w-1)]]>[式43]Q2(N,s)=uN[(<f4>c-3<f2>c2)4!<f2>c2(w-3)+<f3>c22!3!3!<f2>c3(w2-10w+15)]]]>當(dāng)通過E+(0)+E+(1),E+(0)+E+(1)+E+(2),E-(0)+E-(1)和E-(0)+E-(1)+E-(2)估計修正項時,如果提供了一個負值,則用0代替該值。
檢測函數(shù)的精確計算為了求出準確的概率PN(s),利用了一個遞歸公式[式44]PN+N′(s)=Σs′PN(s′)PN′(s-s′)]]>例如,對于N=2M,足以重復(fù)上述遞歸公式M次。其缺點在于存儲器的大小。它被用于試驗階段或不允許近似的情況下。
嵌入的錯誤證明當(dāng)確定了一個數(shù)字內(nèi)容時,對整個內(nèi)容中的檢測基本函數(shù)fα值為f的頻率進行記數(shù),產(chǎn)生一個頻率分布(直方圖)h(f)以求出后面的點陣列,并計算該頻率分布h(f)以產(chǎn)生一個與點陣列相對應(yīng)的頻率分布ha(f)·使點陣列上的檢測基本函數(shù)的和超過一個目標值;·使點陣列上的檢測基本函數(shù)的和接近一個目標值;以及·使兩個點陣列上的檢測基本函數(shù)的和接近一個目標值。
如果沒有帶有一個單向函數(shù)的密鑰系統(tǒng),則可能產(chǎn)生一個錯誤證明,證明在一個數(shù)字內(nèi)容中,已經(jīng)對沒有被嵌入到系統(tǒng)中的位信息執(zhí)行了嵌入操作。下面,本發(fā)明將給予詳細說明。
假設(shè)對于整個數(shù)字內(nèi)容的檢測基本函數(shù)值的頻率分布為h(f),而對于點陣列組a的檢測基本函數(shù)值的頻率分布為ha(f)時,[式45]0≤ha(f)≤h(f)滿足于所有的f,通過下式給定點陣列組a中檢測基本函數(shù)值的和[式46]sa=Σffha(f)]]>并通過下式給定點陣列組a中的點數(shù)[式47]Na=Σfha(f)]]>此時,[式48]Sa/Na=-Sb/Nb=c實際上是為位提取條件公式(式1)設(shè)定的,該公式用于說明利用下式求出ha(f)和hb(f)的
背景技術(shù):
[式49]Na=Nb=N且ha(f)+hb(f)≤h(f)此外,在注意到如果用于檢測函數(shù)的Na足夠大而使得依據(jù)本發(fā)明的具有檢測函數(shù)的位提取條件近似于正常分布時,為位1設(shè)立如下式子[式50]sa/Na≥c]]>
另一方面,為位0設(shè)立如下式子[式51]sa/Na≥-c]]>[式52]Σa=ha(f)≤h(f)]]>從而,得到ha(f)。
一個用于生成錯誤嵌入證明的系統(tǒng)通過第一次掃描從數(shù)字內(nèi)容中產(chǎn)生一個頻率分布h,然后產(chǎn)生一個滿足于上述h(f)的頻率分布,并通過第二次掃描從數(shù)字內(nèi)容中選擇點f=f(x)的ha(f),從而它們的集合成為了一個用于錯誤證明的點陣列。
通過對所有a重復(fù)執(zhí)行在后述的預(yù)定規(guī)則下計算f的基本操作,直到和∑fha(f)達到一個值Na為止,從整個頻率分布h中產(chǎn)生頻率分布ha,所述的預(yù)定規(guī)則是以ha(f)=0為初值,如果h(f)是正的,就使h(f)減1,而ha(f)加1。對a的循環(huán)是內(nèi)部的。
為了產(chǎn)生用于具有檢測函數(shù)的位提取的情況下的頻率分布ha,按照嵌入位1所用的頻率分布f的遞減順序,嵌入位0所用的頻率分布f的遞增順序執(zhí)行基本操作。
用于說明背景技術(shù)的位提取條件公式(式1)被改動如下。其中以Delta0(+)=0,elta0(-)=0為初值,求出fna接近于[式53]fna=c+Δn(+),且在ha的基礎(chǔ)上執(zhí)行基本操作以求出[式54]Δn+1(+)=c+Δn(+)-fna然后,求出fnb接近于[式55]fnb=-c+Δn(-),且在hb的基礎(chǔ)上執(zhí)行基本操作以求出[式56]Δn+1(-)=-c+Δn(-)-fnb
通過ΔN(+)=N和ΔN(-)=N確定最后的錯誤。
利用雙向函數(shù)的嵌入如上所述,通過選擇一個似乎被嵌入的點陣列能夠從一個沒有嵌入操作的數(shù)字內(nèi)容中提取出位信息。因此,它不能只根據(jù)知道用于從數(shù)字內(nèi)容中提取預(yù)定位信息的點陣列這個事實,就判定該人是否就是數(shù)字內(nèi)容的所有人。而作為這個問題的解決方法,是設(shè)想利用一個第三者組織預(yù)先登記如下利用一個特定的點陣列將位信息嵌入到一個特定的數(shù)字內(nèi)容中,這種解決方法具有如下缺點·需要對每次嵌入執(zhí)行登記過程,從而需要用于登記的成本。
·由于通過第三者組織登記被嵌入的點陣列,所以增加了嵌入的點陣列被暴露的危險性和嵌入信息被消除的危險性。
因此,本發(fā)明的用于嵌入位信息的方法和系統(tǒng)可以作為所有人錯誤認證問題的解決方法,本發(fā)明所公開的方法根據(jù)利用一個單向函數(shù)的整數(shù)值(此后稱為“密鑰”),確定一個嵌入位置,其中“密鑰”是秘密的且只有所有人本人知道。只要采用了本方法,即使能夠從一個特定的數(shù)字內(nèi)容中得到一個能夠錯誤認證所有人的點陣列,但由于單向函數(shù)的特性而使得來自點陣列的“密鑰”不能被計算出來,所以根據(jù)一個已知的私人密鑰也不可能進行所有人的錯誤認證。
根據(jù)利用了單向函數(shù)的密鑰,產(chǎn)生用于確定進行嵌入的位置的點陣列的方法可以通過如下步驟實現(xiàn)利用該單向函數(shù)產(chǎn)生一個“輔助密鑰”,并根據(jù)該“輔助密鑰”產(chǎn)生點陣列。由于密鑰和“輔助密鑰”都 是非負的整數(shù)值,所以可以使用一個普通的單向函數(shù)。也可以通過從利用單向函數(shù)的密鑰中產(chǎn)生一個“輔助密鑰”來實現(xiàn)根據(jù)利用了單向函數(shù)的密鑰,產(chǎn)生用于確定進行嵌入的位置的點陣列的方法。
下面將詳細描述用于根據(jù)一個“輔助密鑰”產(chǎn)生一點陣列的方法。一個數(shù)字內(nèi)容被分成N個區(qū)域,每個區(qū)域具有一個號數(shù),這里用n表示該號數(shù)。每個區(qū)域n被分成M個子區(qū),檢測基本函數(shù)被加于該子區(qū)之上,且每個子區(qū)有一個號數(shù)。此外,假設(shè)選擇了L個檢測基本函數(shù)。此時,輔助密鑰從每個子區(qū)n成選擇一個子區(qū)的號數(shù)mn,和被加到這個子區(qū)上的檢測基本函數(shù)fln。即,假設(shè)輔助密鑰(非負整數(shù)值)k生成一個用以確定子區(qū)和檢測基本函數(shù)的整數(shù)[式57]j=Σn=0N-1LnMn(mn+Mln)]]>輔助密鑰的可能范圍(k的位長)通常短于一個整數(shù)j的可能范圍(j的位長)。因此,如果假設(shè)k0為輔助密鑰,則通過從ki開始連續(xù)計算ki+1,確定子區(qū)和檢測基本函數(shù),然后計算[式58]j=Σi=0Kiki]]>其中,K是非負整數(shù)值的上限ki。用于從ki開始計算ki+1的機構(gòu)可以是一個單向函數(shù)或一種普通算術(shù)操作。希望它是一個一對一函數(shù)。通過將M個子區(qū)和L個檢測基本函數(shù)作為2的冪數(shù),從整數(shù)j開始逐位計算Mn和ln。
權(quán)利要求
1.一種用于將消息嵌入到數(shù)據(jù)中的數(shù)據(jù)隱藏方法,包括步驟通過向一個指定的函數(shù)輸入一個具有預(yù)定值的密鑰,得到一個輔助密鑰;根據(jù)所述的求得的輔助密鑰,確定所述消息將被嵌入的隱藏位置,并根據(jù)所述輔助密鑰選擇多個隱藏函數(shù)中的一個,使得所述選定的隱藏函數(shù)用于每個所述確定的隱藏位置;以及按照所述選定的、相應(yīng)于所述隱藏位置的隱藏函數(shù),將消息嵌入到每個所述確定的隱藏位置中。
2.一種用于從嵌入了消息的數(shù)據(jù)中提取消息的數(shù)據(jù)提取方法,包括步驟通過向一個指定的函數(shù)輸入一個具有預(yù)定值的密鑰,得到一個輔助密鑰;根據(jù)所述求得的輔助密鑰,確定所述消息被嵌入的隱藏位置,并根據(jù)所述輔助密鑰選擇多個隱藏函數(shù)中的一個,使得所述選定的隱藏函數(shù)用于每個所述確定的隱藏位置;向一個檢測基本函數(shù)輸入所述確定的位置中的信息,按照所述確定的隱藏函數(shù)識別該檢測基本函數(shù);將所述檢測基本函數(shù)的一個輸出輸入到一個檢測函數(shù);以及根據(jù)所述檢測函數(shù)的一個輸出,判斷是否嵌入了所述消息。
全文摘要
本發(fā)明的用于將消息嵌入到數(shù)據(jù)中的數(shù)據(jù)隱藏方法,包括步驟:通過向一個指定的函數(shù)輸入一個具有預(yù)定值的密鑰,得到一個輔助密鑰;根據(jù)所述的求得的輔助密鑰,確定所述消息將被嵌入的隱藏位置,并根據(jù)所述輔助密鑰選擇多個隱藏函數(shù)中的一個,使得所述選定的隱藏函數(shù)適用于每個所述確定的隱藏位置;以及按照所述選定的、相應(yīng)于所述隱藏位置的隱藏函數(shù),將消息嵌入到每個所述確定的隱藏位置中。
文檔編號G06T1/00GK1197244SQ9712538
公開日1998年10月28日 申請日期1997年12月10日 優(yōu)先權(quán)日1996年12月26日
發(fā)明者小出昭夫, 森本典繁, 清水周一, 小林誠士 申請人:國際商業(yè)機器公司