一類規範化文檔的加密方法
2023-05-15 07:47:06
專利名稱:一類規範化文檔的加密方法
技術領域:
本發明屬信息安全領域,涉及一類規範化文檔的加密方法,特別是針對這類規範化文檔的容易尋找偽密鑰,具有誤導功能的加密方法。
背景技術:
現實中存在的大量的文檔都是基於各種語言,存在許多的缺陷,比如對自然語言理解和處理比較困難,很難被計算機識別、統計和匯總,同時也極不規則,並且存在大量的冗餘。由於語言不規則,存在冗餘,所以採用傳統的方法加密後得到的密文,很難找到偽密鑰,惟一解距離很短。這樣,遭遇軟磨硬泡攻擊的時候,密鑰持有人往往不得不交出真正的密鑰來。同時,對於無限計算能力下的惟密文分析也很脆弱。發明人設計了一些具有誤導功能的加密方法,但是,也有它們自己的局限性,由於語言的不規則和規範,使得加密的運算量大,而且,有時候也會出現對關鍵詞的誤判,導致一些偽密鑰失效。因此,面對計算機處理和誤導加密的雙重需求,提出一種規範化的文檔。規範化的文檔是完全由標籤及其元素組成的,對於所有的標籤,都有固定的元素,假定元素的數量是有限的,這種文檔在許多情況下,可以完全取代一般的文本內容的文檔,在某些情況下,則可以與其他的文檔相結合來有效表達信息。舉一個簡單的例子,時間、地點、天氣、人物、活動,都可以作為一個標籤,將所有可能的時間集中起來,就是時間標籤的元素,其他的標籤也是如此。現實中的一些ml、 表、excel文檔加以約束後,可以變成這類的規範化文檔。這樣的文檔更容易壓縮,冗餘可以很好地消除,採用特別的加密可以增加偽密鑰的數量,這種規範化也更適用於計算機處理信息。為了表達複雜的語義,還可以對標籤之間的內容做更多規範。
發明內容
本發明旨在克服現有加密方法無法誤導的局限性,已經現有的具有誤導功能加密方法的複雜等缺陷,而在對文檔進行規範化後,提供一種簡單、實用的具有誤導功能的規範化文檔的加密算法。為了各種安全性的考慮,本發明包含了外層和內層兩層加密,內層加密使得可以具有誤導功能,而外層的加密則講一些可能需要保密的標籤等信息也進一步加密,外層加密是可選的。基於我們對這類規範化文檔的定義,每一個標籤都有有限的固定元素,可以建立一個標籤元素的資料庫,這個資料庫存放著每一個標籤中的所有元素,以及這些元素是什麼編碼,在資料庫中將所有的元素進行編號,在最為關鍵的內層加密中,將待加密的明文中每一個標籤中的元素都映射為資料庫中對應的編號,對編號進行加密得到密文C,加解密所採用的運算是封閉的,也就是說,針對於每一個標籤的編號的加密密文c,再用不同密鑰解密C可以遍歷所有的編號,然後將密文編號C寫入標籤對應的元素位置。完整加密流程如下
(一)逐一地讀取文檔中各個標籤的內容,即標籤中的元素,查詢資料庫,得出對應的標籤中這一元素對應的編號,然後逐一地從內層密鑰中截取對應位置的密鑰用於這一個標籤內容的加密,得到元素的密文c,加密解密算法保證封閉性。逐一將標籤中元素的密文寫入文檔中相應標籤對應的內容。(二)保存內層加密後的文檔,得到過渡密文。(三)可選地,對這一文檔進行一個外層的加密,得到最終密文。這個加密採用傳統的加密方法進行,選擇一種對稱加密方法即可。解密過程中,首先將最終的密文用傳統的對稱密碼算法進行相應的解密,得到過渡的密文文件,其次要將得到的過渡文件進行內層的解密。當進行這層解密的時候,對每一個標籤中的密文進行讀取,然後,獲得這一個標籤對應的密鑰,經過解密,得到標籤內容的明文所對應的編號,然後根據資料庫,可以查得對應的內容。本加密方法可以很容易找到偽密鑰,即錯誤的密鑰可以解密出有意義的明文可以偽密鑰的獲取方法A)加密解密中有兩個密鑰,要獲取偽密鑰,可以將外層對稱密碼的密鑰不變,然後任意選取一個內層密鑰序列進行截取,依次分配給相應的標籤,進行解密,這時閱讀文本,是否有不如意(比如不合理、暴露破綻、認為誤導效果不好)的關鍵詞,如果不滿意,可以用同樣方法嘗試其他的密鑰,並且可以根據關鍵詞所在的位置根據自己的需要進行修改,這樣形成了最終的內層密鑰的有效部分,用這個密鑰配合正確的外層對稱密碼密鑰就是一個偽密鑰;B)還有一種更加自由的選擇偽密鑰的方式,可以根據自己所希望的誤導的標籤內容確定下來,以此確定內層加密的偽密鑰序列,方法為外層密鑰不變,根據文本的關鍵詞,以資料庫為依據,選擇想要替換的誤導元素,即可確定這一個元素的對應的偽子密鑰,將每一個標籤對應的偽子密鑰依次連接起來,即為內層的偽密鑰,採用不變的外層密鑰,即可得總的偽密鑰。在受到密碼分析者的密碼分析的時候,密碼分析者根據不同的內層密鑰是可以得到不同的有意義明文的,加上這些不同密鑰得到的明文的一樣也可能與原來明文相近、相反的意義,所以很吻合通信背景,密碼分析者也無法確定真正密鑰。
具體實施例方式下面是本發明的實施例,但是,本發明並不限於實施例。在具體實現的時候,雙方約定總密鑰的不同部分分別用於內層和外層加密,外層密鑰為固定長度,根據外層加密採用的算法來決定,比如外層加密算法採用256位的AES加密。密鑰的最前面256bit為外層密鑰,其餘為內層密鑰。內層密鑰進行等長度截取,截取長度根據資料庫中所有標籤中最大的可能元素的數目N來定,取值應該大於等於log2N。將內層密鑰截取後依次分配給各個標籤,作為加密用的子密鑰。文件加密流程如下
1)通信雙方共享密鑰,密鑰比較長,可以採用量子密鑰分配來實現長隨機密鑰的分配。 雙方規定採用相同的加密算法,並且共享相同的資料庫。2)加密過程中要根據文件的類型或者格式,用相應的軟體打開文件讀取其內容, 比如,xml或者excel文件的加密,就先用相應的軟體打開文件,讀取各個標籤中的內容,準備進行內層加密。3)內層加密,我們這裡選擇的編號為將所有元素從0到n-1,進行編號,η為這一個標籤的所有元素的數目。加密算法為模加運算,根據密鑰的固定結構,將子密鑰k從序列中截取出來,子密鑰的截取方法有A)採用截取等長度子密鑰的方法從隨機序列中截取,截取的長度為等於或者大於Iog2N的正整數,當10&N為正整數時,截取長度為Iog2N5Iog2N* 非整數的時候,截取Iog2N的整數部分加1,N為所有標籤中元素個數的最大值,加密和解密時候均按照這樣的規則進行截取,這樣能夠保證加解密截取的子密鑰同步,這種方法密鑰需求量大,但是運算速度快;B)根據每一個標籤遍歷所有元素所需要的最短長度截取,截取的長度為等於或者大於Iog2Ii的正整數,當為正整數時,截取長度為;log2n為非整數的時候,截取log2n的整數部分加l,n為這一個標籤所有元素的個數,加密和解密時候均按照這樣的規則進行截取,這樣能夠保證加解密截取的子密鑰同步,這種方法運算速度慢,但是可以最大限度節省密鑰需求量。計算密文編號的方法為c=m+k mod η,以下是一個非常簡單的文本的相關信息
權利要求
1.一類規範化文檔的加密方法,其特徵在於包括以下處理步驟A.打開文件,讀取各個標籤內容;B.對所有的標籤的內容依次用獨立的子密鑰進行內層加密,加密密鑰採用隨機序列來進行,依次將內層密鑰截取後分配給各個標籤,內層加密主要將標籤內容映射為編碼,然後將編碼進行加密,加解密算法具有封閉性,用所有可能的子密鑰解密加密的內容,最終可以遍歷同一標籤包含的所有的元素,加密解密依賴於一個資料庫,每一個標籤在資料庫中都有有限個元素,且對每一個標籤的元素進行編號;C.保存文件,得到過渡密文文檔;D.對過渡文檔進行傳統的對稱算法的外層加密,外層加密是可選的;E.計算偽密鑰如果有需要,可以計算偽密鑰,備用或者作為誘餌,在受到脅迫的時候可以交出偽密鑰,其中外層密鑰是不變的,內層密鑰進行改變,對方在做密碼分析的時候, 由於可以找到許多偽密鑰,所以無法判斷誰是正確密鑰。
2.如權利要求1所述的規範化文檔的加密方法,其特徵在於在所述步驟B當中的內層密鑰中的子密鑰的劃分方法為,根據密鑰的固定結構,確定內層密鑰,採用下面的截取等長度子密鑰的方法將內層加密的子密鑰k從內層密鑰序列中截取出來,截取的長度為等於或者大於的正整數,當Iog2N為正整數時,截取長度為10&N ;Iog2N為非整數的時候,截取Iog2N的整數部分加1,N為所有標籤中元素個數的最大值。
3.如權利要求2所述的規範化文檔的加密方法,其特徵在於在所述內層加密中的內層密鑰中的子密鑰的劃分方法為,根據密鑰的固定結構,確定內層密鑰,採用根據每一個標籤遍歷所有元素所需要的最短長度截取當前標籤的子密鑰k,截取的長度為等於或者大於 Iog2Ii的正整數,當Iog2Ii為正整數時,截取長度為Iog2Ii ;10&11為非整數的時候,截取的整數部分加1,η為這一個標籤所有元素的個數。
4.如權利要求3所述的規範化文檔的加密方法,其特徵在於在所述內層加密當中的內層加密,將每個標籤的所有元素從O到η-1,進行編號,η為這一個標籤的所有元素的個數, 將元素映射為其編號,然後將這個編號進行加密,加密算法為模加運算,根據密鑰的固定結構,將子密鑰k從序列中截取出來,計算密文編號的方法為c=m+k mod η。
5.如權利要求4所述的規範化文檔的加密方法,其特徵在於可以得出有意義明文的偽密鑰,產生偽密鑰的方法為Α)加密解密中有兩個密鑰,要獲取偽密鑰,可以將外層對稱密碼的密鑰不變,然後任意選取一個內層密鑰序列進行截取,依次分配給相應的標籤,進行解密,這時閱讀文本,是否有不如意(比如不合理、暴露破綻、認為誤導效果不好)的關鍵詞, 如果不滿意,可以用同樣方法嘗試其他的密鑰,並且可以根據關鍵詞所在的位置根據自己的需要進行修改,這樣形成了最終的內層密鑰的有效部分,用這個密鑰配合正確的外層對稱密碼密鑰就是一個偽密鑰;B)還有一種更加自由的選擇偽密鑰的方式,可以根據自己所希望的誤導的標籤內容確定下來,以此確定內層加密的偽密鑰序列,方法為外層密鑰不變, 根據文本的關鍵詞,以資料庫為依據,選擇想要替換的誤導元素,即可確定這一個元素的對應的偽子密鑰,將每一個標籤對應的偽子密鑰依次連接起來,即為內層的偽密鑰,採用不變的外層密鑰,即可得總的偽密鑰。
全文摘要
現實中存在的大量的文檔都是基於各種語言,存在許多的缺陷,比如對自然語言理解和處理比較困難,很難被計算機識別、統計和匯總,同時也極不規則,並且存在大量的冗餘。採用傳統的方法加密後得到的密文,很難找到偽密鑰,惟一解距離很短。面對計算機處理和加密安全性的雙重需求,提出一種規範化的文檔。規範化的文檔是由標籤及其元素組成的,對於所有的標籤,都有固定的元素,假定元素的數量是有限的,這種文檔在許多情況下,可以完全取代一般的文本內容的文檔,在某些情況下,則可以與其他的文檔相結合來有效表達信息。本發明設計了一種針對這類規範化文檔的加密方法,加密方法簡潔,並且很容易找到偽密鑰,也能保證傳統的安全性要求。
文檔編號H04L9/32GK102497270SQ201110438290
公開日2012年6月13日 申請日期2011年12月24日 優先權日2011年12月24日
發明者王勇 申請人:王勇