欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種可修正偽隨機(jī)序列的可誤導(dǎo)的加密方法

文檔序號(hào):6434882閱讀:138來(lái)源:國(guó)知局
專利名稱:一種可修正偽隨機(jī)序列的可誤導(dǎo)的加密方法
技術(shù)領(lǐng)域
本發(fā)明屬信息安全領(lǐng)域,涉及一種加密方法,特別是一種可以修正偽隨機(jī)序列的, 具有誤導(dǎo)功能的加密方法。
背景技術(shù)
現(xiàn)有的大多數(shù)密碼算法得到的密文用錯(cuò)誤的密鑰解密得到有意義明文的概率非常小,這種能夠得到有意義明文的錯(cuò)誤密鑰,稱為偽密鑰。隨著密文的增加,偽密鑰的數(shù)量會(huì)逐步減少。偽密鑰會(huì)減少到最后只剩下唯一一個(gè)密鑰,這會(huì)威脅密碼體制的安全。唯一解距離是當(dāng)密文的用不同的密鑰去嘗試,只能得到一個(gè)有意義明文的密文的長(zhǎng)度,實(shí)際上唯一解距離的估計(jì)公式?jīng)]有考慮那個(gè)真正的密文必然地存在,不受明文冗余度的影響,有一定的偏離,但是依然是一個(gè)值得考慮的指標(biāo)。Shannon定義理想保密為唯一解距離為無(wú)限長(zhǎng),而一般現(xiàn)實(shí)的密碼體制是不能達(dá)到理想保密的,即隨著密文的長(zhǎng)度增加,得到有意義的明文數(shù)最終趨向于一。雖然aiarmon以上分析具有很大理論價(jià)值,但是由于實(shí)現(xiàn)的困難,密碼分析者很少沿著這個(gè)方面做,現(xiàn)有的密碼分析和編碼被沒(méi)有考慮這些因素,只有少量的研究是將量子密碼學(xué)與一次一密體制結(jié)合起來(lái)進(jìn)行研究。當(dāng)前的密碼分析主要是考慮有限計(jì)算能力背景下的計(jì)算安全為主,對(duì)于算法的這類安全性研究的非常深入,考慮了各種各樣的情況下的分析,不僅有直接對(duì)算法的分析,而且有基于實(shí)現(xiàn)的分析。在分組密碼分析方面已經(jīng)有很多分組密碼分析技術(shù),如強(qiáng)力攻擊(包括窮盡密鑰搜索攻擊、字典攻擊、查表攻擊、時(shí)間-存儲(chǔ)權(quán)衡攻擊)、差分密碼分析、線性密碼分析、差分-線性密碼分析、插值攻擊、 相關(guān)密鑰攻擊、Multiset攻擊、reflection攻擊、自相似攻擊、能量分析、錯(cuò)誤攻擊、定時(shí)攻擊等等。序列密碼分析方面主要的分析方法有線性校驗(yàn)子分析方法機(jī)器改進(jìn)分析方法、線性一致性測(cè)試分析、分別征服分析、最佳仿射逼近分析、快速相關(guān)分析方法、多輸出前饋網(wǎng)絡(luò)密碼系統(tǒng)的分析、收縮序列的分析等,而公鑰密碼相關(guān)的分析方法主要是針對(duì)所采用的難題降低其難度。這些分析方法中有許多都是在很難具備的條件下實(shí)施的(比如截獲明文密文對(duì)、截獲密碼機(jī)、靠近密碼機(jī)、臨時(shí)使用密碼機(jī)、獲得不應(yīng)當(dāng)為密碼分析者獲得的特別信息等),且研究非常深入。當(dāng)然針對(duì)于無(wú)限的計(jì)算能力,一次一密體制具有很好的安全性, 但是,它也泄露明文的長(zhǎng)度,而且需要的密鑰和明文等長(zhǎng)度,分配長(zhǎng)密鑰也是一個(gè)很不現(xiàn)實(shí)的問(wèn)題。由于加密中運(yùn)用了大量的復(fù)雜混淆擴(kuò)散和加上語(yǔ)義信息的高度冗余,現(xiàn)代密碼體制中的分組密碼或者流密碼體制中若采用錯(cuò)誤密鑰進(jìn)行解密的時(shí)候往往得到的是沒(méi)有意義的亂碼,可以被排除。即使大量的密鑰中存在偽密鑰,可以解密出有意義的偽“明文” 來(lái),但是密碼分析者可能根據(jù)已經(jīng)知道的信息和接受發(fā)送雙方的情況來(lái)判斷大部分偽明文 (錯(cuò)誤密鑰得到的有意義的明文)不是真正的明文,實(shí)際上能夠讓密碼分析者考慮的偽密鑰非常少。這導(dǎo)致密碼分析者非常相信能夠解密得到有實(shí)際意義和符合通信語(yǔ)境的“明文” 的密鑰就是那個(gè)真正的密鑰,實(shí)際上一個(gè)密鑰如果符合上述條件,它是真正密鑰的概率非常大。在軟磨硬泡攻擊情形下,給出的密鑰對(duì)于密碼分析者具有可信性,因?yàn)槊荑€持有者想要偽造一個(gè)符合通信語(yǔ)境,可以被密碼分析者信賴的偽密鑰非常困難,而且在被劫持等情形中,很短時(shí)間內(nèi)沒(méi)有計(jì)算設(shè)備的情況下他無(wú)法計(jì)算出來(lái)。為了能夠很容易找到偽密鑰,并且能夠有意誤導(dǎo)密碼分析者,有必要加密時(shí)對(duì)于文件內(nèi)容予以識(shí)別并且以語(yǔ)言的字、詞等結(jié)構(gòu)為單位根據(jù)語(yǔ)義進(jìn)行加密。研究表明實(shí)際上大多數(shù)現(xiàn)代密碼算法的唯一解距離都是較短的,比如針對(duì)現(xiàn)代的較長(zhǎng)的256bit長(zhǎng)密鑰的分組密碼算法,ASCII文本加密算法的唯一解距離才是37. 6個(gè)字符,顯然獲得大大超過(guò)37. 6個(gè)字符的密文的條件是很容易達(dá)到的,加上背景信息的限制等,針對(duì)具體情況的真正的得到唯一解的距離還會(huì)短。目前研究尚未涉及到設(shè)計(jì)唯一解距離較長(zhǎng)的加密算法。在密碼分析中,有一種軟磨硬泡(RiAber-hose)攻擊。在此分析中密碼分析者威脅、勒索,或者折磨某人,直到他給出密鑰為止,類似的還有行賄購(gòu)買(mǎi)密鑰攻擊。這些都是非常有效的攻擊,并且經(jīng)常是破譯算法的最好途徑。常見(jiàn)的密碼分析已知明文攻擊、選擇明文和選擇密文攻擊都需要非常巨大的資源而且必須擁有一些難于獲取的已知信息,往往在現(xiàn)實(shí)上不可能實(shí)現(xiàn),但是軟磨硬泡攻擊卻非常容易實(shí)現(xiàn)??箵糗浤ビ才莨舨](méi)有最好途徑, 只能給一個(gè)偽密鑰或者讓密碼分析者不信任密鑰。設(shè)計(jì)具有誤導(dǎo)功能的加密方法,意義如下(1)具有誤導(dǎo)功能的加密方法可以對(duì)抗軟磨硬泡攻擊,或者是礙于其他的壓力,包括權(quán)勢(shì)、情面等情形,特別是在軍事環(huán)境中有非常重要的意義。由于其他密碼分析方法的條件難于獲得,現(xiàn)實(shí)中軟磨硬泡攻擊經(jīng)常是破解算法的最好途徑,所以其價(jià)值是很現(xiàn)實(shí)的。(2)可以對(duì)抗無(wú)限計(jì)算能力或者很強(qiáng)的計(jì)算能力下的各種密碼分析,乃至于唯密文分析。(3)在密鑰可能被盜取情況下,可以用偽密鑰作為誘餌誤導(dǎo)對(duì)方。這個(gè)也是具有很強(qiáng)的現(xiàn)實(shí)意義,現(xiàn)實(shí)中黑客和木馬可能竊取我們的密鑰文件及其加密的口令。(4)可以主動(dòng)去誤導(dǎo)對(duì)方,錯(cuò)誤密鑰可以得到有意義的明文去誤導(dǎo)對(duì)方,并且用偽密鑰可以得到各種相近、相反的“明文”相比較原始明文具有一定的“抵消”作用,讓密碼分析者無(wú)所適從。( 理論上可以達(dá)到理想保密。要求對(duì)稱加密算法偽密鑰數(shù)量多,而且容易找到偽密鑰,就要轉(zhuǎn)變算法設(shè)計(jì)的思路。這樣的算法具有誤導(dǎo)功能,比如在密鑰可能被竊取的時(shí)候,可以用偽密鑰作為誘餌,在受到軟磨硬泡攻擊的時(shí)候,可以交出偽密鑰。在對(duì)方進(jìn)行唯密文分析的時(shí)候,無(wú)法確定真正的密鑰。在這方面,發(fā)明人采用類似于選擇題加密的方法設(shè)計(jì)了一種具有誤導(dǎo)功能的算法。 為了減少密鑰實(shí)際長(zhǎng)度,采用流密碼算法來(lái)產(chǎn)生密鑰流用于加密關(guān)鍵詞的編號(hào),密鑰流有一定的不可控性,采用一定的修正方法來(lái)根據(jù)需要修正偽明文中的關(guān)鍵詞,達(dá)到較適合現(xiàn)實(shí)需要的偽明文。

發(fā)明內(nèi)容
本發(fā)明旨在克服現(xiàn)有技術(shù)的不足之處,以及誤導(dǎo)功能實(shí)現(xiàn)的一些難題,而提供一種方便、實(shí)用的具有誤導(dǎo)功能的加密算法。為了各種安全性的考慮,我們包含了外層和內(nèi)層兩層加密,分別達(dá)到傳統(tǒng)的密碼安全特征和在特殊背景下能夠很容易計(jì)算出偽密鑰的安全特征。為具備誤導(dǎo)功能,在本發(fā)明中,設(shè)計(jì)了采用類似選擇題加密方式,它需要有一個(gè)關(guān)鍵詞數(shù)據(jù)庫(kù),加密的時(shí)候,打開(kāi)文件,讀取文本的內(nèi)容,加密時(shí)候把關(guān)鍵詞替換成為一個(gè)擴(kuò)充項(xiàng),擴(kuò)充項(xiàng)把許多相近、相對(duì)的關(guān)鍵詞放在一起,用標(biāo)號(hào)加以標(biāo)記,正確的選擇項(xiàng)給予正確的標(biāo)號(hào),解密時(shí)進(jìn)行運(yùn)算判斷哪個(gè)選擇項(xiàng)是真正的關(guān)鍵詞。顯然這樣的加密具有上述的迷惑和誤導(dǎo)作用,并且很容易尋找到偽密鑰,具有密鑰可信度低的優(yōu)點(diǎn)。為了使得加密密鑰不要太長(zhǎng),而且具有很好的安全性,采用了對(duì)稱密碼作為加密的子密鑰生成器,這樣的一個(gè)序列是偽隨機(jī)的。為了讓偽隨機(jī)序列可以在某些特定的情況下進(jìn)行修改以適應(yīng)需求,設(shè)置了一種可以修改的偽隨機(jī)密鑰結(jié)構(gòu),對(duì)子密鑰生成器的密鑰在需修正的特定部位根據(jù)需要做一定的修改。為了減少密文的冗余,采用了盡量緊湊的編碼格式,擴(kuò)充的時(shí)候已經(jīng)將關(guān)鍵詞嵌入了密文中,解密的時(shí)候無(wú)需相應(yīng)的數(shù)據(jù)庫(kù)即可解密,避免了數(shù)據(jù)庫(kù)同步的問(wèn)題。許多時(shí)候,明文中可能出現(xiàn)任意的字符(編碼),而加密的時(shí)候,需要做一定的編輯區(qū)分不同的內(nèi)容,而標(biāo)記又可能與原文相混淆,在本發(fā)明中做一定的處理。本發(fā)明中需要的若干標(biāo)記應(yīng)當(dāng)選擇出現(xiàn)概率較小的符號(hào),而且標(biāo)記不能出現(xiàn)在關(guān)鍵詞中。這些標(biāo)記如果出現(xiàn)在原文中,或者連續(xù)相同的標(biāo)記出現(xiàn)在原文中,加密的時(shí)候,需要在標(biāo)記前添加一個(gè)相同標(biāo)記,對(duì)應(yīng)的內(nèi)層的加密則需要判斷是否出現(xiàn)了幾個(gè)相同的標(biāo)記,如果重復(fù)出現(xiàn)相同標(biāo)記,則不當(dāng)做標(biāo)記處理,而是直接增加一個(gè)標(biāo)記,連續(xù)的重復(fù)標(biāo)記都不當(dāng)做標(biāo)記,而且2個(gè)以上的連續(xù)標(biāo)記只增加一個(gè)標(biāo)記。解密的時(shí)候,連續(xù)的重復(fù)標(biāo)記都不當(dāng)做標(biāo)記,只有標(biāo)記后面不是同一標(biāo)記才被認(rèn)為是標(biāo)記。如果重復(fù)出現(xiàn)相同標(biāo)記,則不當(dāng)做標(biāo)記處理,而是直接減少一個(gè)標(biāo)記,而且2個(gè)以上的連續(xù)相同標(biāo)記只減少一個(gè)標(biāo)記。為了使得偽密鑰很容易計(jì)算,加密是基于語(yǔ)義的。為了達(dá)到語(yǔ)義加密的功能,我們需要打開(kāi)文件,對(duì)文本進(jìn)行讀取、識(shí)別和加密代換。考慮到關(guān)鍵詞數(shù)據(jù)庫(kù)可以是不一樣的,可能隨時(shí)改變,或者有多個(gè)版本,所以在算法在設(shè)計(jì)的時(shí)候考慮解密的時(shí)候不需要數(shù)據(jù)庫(kù),以免出現(xiàn)關(guān)鍵詞數(shù)據(jù)庫(kù)無(wú)法同步等問(wèn)題。 在無(wú)需關(guān)鍵詞數(shù)據(jù)庫(kù)解密的情況下,也通過(guò)盡量壓縮擴(kuò)充項(xiàng),對(duì)密文的長(zhǎng)度做了壓縮,即對(duì)一般的選擇題的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了壓縮。本加密方法出于多種安全性的考慮,相對(duì)復(fù)雜。整個(gè)加密解密的全過(guò)程如圖2所本加密方法的加密步驟為打開(kāi)文件,根據(jù)文本內(nèi)容進(jìn)行內(nèi)層加密,然后保存文件,對(duì)文件進(jìn)行外層加密。內(nèi)層加密類似于編制選擇題,外層的加密是傳統(tǒng)的對(duì)稱加密。在內(nèi)層加密中,系統(tǒng)需要有一個(gè)關(guān)鍵詞的數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)中存儲(chǔ)著許多關(guān)鍵詞,將同樣一類可以替換的相近、相反意義的關(guān)鍵詞放在一組中,比如星期一、星期二、星期四,……,之類的。每一組關(guān)鍵詞中的每一個(gè)關(guān)鍵詞都有一個(gè)在本組中唯一的編號(hào)。在設(shè)計(jì)關(guān)鍵詞數(shù)據(jù)庫(kù)的時(shí)候,保證互相不要重復(fù)、重疊,當(dāng)然這也帶來(lái)了一定的局限。當(dāng)然也可以在采用一定的判斷規(guī)則或者自然語(yǔ)言理解的情況下,完全可以取消這些對(duì)關(guān)鍵詞的限制, 但是要能夠保證加密的時(shí)候能夠確定文本的關(guān)鍵詞的分詞,以及一個(gè)關(guān)鍵詞同時(shí)屬于多個(gè)組的時(shí)候,能夠根據(jù)上下文判斷文本中的關(guān)鍵詞的意義應(yīng)該屬于哪一組。在進(jìn)行了自然語(yǔ)言理解的判斷理解后再進(jìn)行內(nèi)層加密。
系統(tǒng)的總密鑰包括外層密鑰和內(nèi)層密鑰。外層密鑰長(zhǎng)度是固定的,內(nèi)層密鑰長(zhǎng)度是可變的。為了達(dá)到對(duì)偽隨機(jī)密鑰流的修改,在內(nèi)層密鑰中附加一些特定的信息,確定對(duì)密鑰流修改的位置,以及如何修改。內(nèi)層密鑰的結(jié)構(gòu)分為兩部分,其前面的固定長(zhǎng)度的部分為產(chǎn)生密鑰流的密鑰。隨后會(huì)出現(xiàn)若干個(gè)固定長(zhǎng)度的分組信息,用于修改特定位置的密鑰流, 我們稱為修正塊。這些固定長(zhǎng)度的修正塊的數(shù)目η是可以隨意選擇的,也可以完全不需要, 但是為了達(dá)到比較好的誤導(dǎo)效果,防止暴露破綻,一般這個(gè)修正塊的數(shù)目η最好與在相同長(zhǎng)度的明文(密文)下,隨機(jī)選取一個(gè)內(nèi)層的偽密鑰需要對(duì)密鑰流進(jìn)行修改的平均數(shù)目接近。每一個(gè)修正塊的結(jié)構(gòu)為,前面為需要修改的密鑰流的相對(duì)位置,這個(gè)相對(duì)位置是用從文本的開(kāi)始,每一個(gè)關(guān)鍵詞依次按照1,2,3,這樣的順序編號(hào),這個(gè)編號(hào)即為相對(duì)位置,需要修改密鑰流所對(duì)應(yīng)的關(guān)鍵詞的相對(duì)位置編號(hào)即為分組信息的前面一部分信息,其后面一部分信息即為密鑰流的修改值M,M最終參與對(duì)應(yīng)位置的關(guān)鍵詞的內(nèi)層的加密和解密計(jì)算,起到修正關(guān)鍵詞的作用。加密流程如下(一)首先是打開(kāi)文件,讀取文本的內(nèi)容,準(zhǔn)備進(jìn)行內(nèi)層加密。(二)內(nèi)層加密,內(nèi)層加密的具體方式如下在進(jìn)行本層加密時(shí),逐個(gè)掃描文本中的字符是否存在關(guān)鍵詞數(shù)據(jù)庫(kù)中已有的關(guān)鍵詞。在掃描過(guò)程中,Α)、如果文本中沒(méi)有關(guān)鍵詞,也沒(méi)有出現(xiàn)標(biāo)記,則直接輸出原文本,掃描的指針指向輸出的文本之后;B)、如果掃描遇到的是標(biāo)記,則在輸出所有的連續(xù)的相同的標(biāo)記的同時(shí),增加一個(gè)相同的標(biāo)記,并且讓掃描的指針指向這些相同的連續(xù)標(biāo)記之后。C)、如果遇到關(guān)鍵詞,需要對(duì)關(guān)鍵詞進(jìn)行計(jì)數(shù),從1 開(kāi)始計(jì)數(shù)編號(hào),然后將關(guān)鍵詞替換為擴(kuò)充項(xiàng),為了減少冗余,我們對(duì)擴(kuò)充項(xiàng)的處理如下為了便于解密,需要對(duì)于擴(kuò)充項(xiàng)、選擇項(xiàng)和標(biāo)號(hào)加以標(biāo)記和區(qū)分,可選擇3個(gè)在文本中出現(xiàn)概率較低的符號(hào)分別作為擴(kuò)充項(xiàng)的起始標(biāo)記S、分隔標(biāo)記D和結(jié)束標(biāo)記F,標(biāo)記不能是關(guān)鍵詞或者關(guān)鍵詞的一部分。擴(kuò)充項(xiàng)的格式為起始標(biāo)記S| I確定關(guān)鍵詞的代號(hào)密文Τ| I分割標(biāo)記d| I關(guān)鍵詞一 I |D| I關(guān)鍵詞二 11…11分割標(biāo)記D| |關(guān)鍵詞n| |結(jié)束標(biāo)記F。τ是根據(jù)內(nèi)層密鑰結(jié)合關(guān)鍵詞在文本中的位置得出的一個(gè)可以獲得正確原明文關(guān)鍵詞的數(shù)據(jù),是根據(jù)內(nèi)層密鑰計(jì)算出來(lái)的,計(jì)算的算法必須是安全的,不可逆的,以保證即使某個(gè)τ以及相對(duì)的關(guān)于明文的信息泄露,內(nèi)層密鑰的相關(guān)其他信息依然是在有限計(jì)算能力下保密的。11表示將數(shù)據(jù)合并銜接起來(lái)。內(nèi)層加密需要相應(yīng)的密鑰,是從總密鑰中截取的一部分。由于外層密鑰是固定長(zhǎng)度的,因此,截去了外層密鑰即為內(nèi)層密鑰。(三)內(nèi)層加密得到了新的文本,將文本保存到過(guò)渡的密文文件中。(四)進(jìn)行外層加密,得到最終密文。為了保證安全性,僅僅進(jìn)行一次上述的加密是不夠的,雖然許多信息具有迷惑性,由于語(yǔ)言本身的復(fù)雜性、數(shù)據(jù)庫(kù)的識(shí)別能力和有效性未必很強(qiáng),一些沒(méi)有被替換的詞直接泄漏了,此外由于上述加密的處理過(guò)程中對(duì)于關(guān)鍵詞識(shí)別的時(shí)候存在部分誤判,也對(duì)于安全性有一定影響。為加強(qiáng)安全性對(duì)過(guò)渡的密文文件進(jìn)行外層的加密,得到最終的密文。這個(gè)加密采用傳統(tǒng)的加密方法進(jìn)行,選擇一組對(duì)稱加密方法即可。解密為一個(gè)相反的過(guò)程解密過(guò)程中,首先將最終的密文用傳統(tǒng)的對(duì)稱密碼算法進(jìn)行相應(yīng)的解密,得到過(guò)渡的密文文件,其次要將得到的過(guò)渡文件進(jìn)行內(nèi)層的解密。當(dāng)進(jìn)行這層解密的時(shí)候,先打開(kāi)文件或者輸入外一層解密的內(nèi)容,讀取和識(shí)別內(nèi)容,1)如果既不是標(biāo)記,又不是關(guān)鍵詞,則直接輸出原文,指針指向下一個(gè)字;2)如果遇到擴(kuò)充項(xiàng)的起始標(biāo)記,且有連續(xù)重復(fù)的相同標(biāo)記,則說(shuō)明不是真正標(biāo)記,去掉一個(gè)標(biāo)記,直接輸出這些連續(xù)的標(biāo)記;3)如果遇到的標(biāo)記為起始標(biāo)記且不重復(fù),則判斷為擴(kuò)充項(xiàng)。讀取起始標(biāo)記S后面的 T,并且數(shù)結(jié)束標(biāo)記F之前的分割標(biāo)記D的數(shù)目,這個(gè)數(shù)目即為這一組關(guān)鍵詞中對(duì)應(yīng)的關(guān)鍵詞數(shù)n,然后根據(jù)內(nèi)層密鑰,以加密所采用的不可逆函數(shù),可以確定到底是第幾個(gè)關(guān)鍵詞是原明文的關(guān)鍵詞,將擴(kuò)充項(xiàng)用這一關(guān)鍵詞代替,指針指向結(jié)束標(biāo)記之后。最后將所有輸出的文檔內(nèi)容保存到相應(yīng)的文檔或者直接輸出。偽密鑰的獲取加密解密中有兩個(gè)密鑰,要獲取偽密鑰,可以將外層分組密碼的密鑰不變,然后任意選取迷惑與誤導(dǎo)加密層的內(nèi)層密鑰中的前面的固定長(zhǎng)度的產(chǎn)生流密碼部分的密鑰,產(chǎn)生密鑰流,不考慮修正,進(jìn)行解密,這時(shí)閱讀文本,是否有不如意(比如不合理、暴露破綻、認(rèn)為誤導(dǎo)效果不好)的關(guān)鍵詞,然后根據(jù)將這些不如意的地方修改為自己滿意的關(guān)鍵詞,并且記下這些關(guān)鍵詞的位置和修改的密鑰值,以此在內(nèi)層密鑰的后面部分附加修正的密鑰信息。這樣形成了最終的內(nèi)層密鑰,用這個(gè)密鑰配合正確的外層分組密碼密鑰就是一個(gè)偽密鑰。在受到密碼分析者的密碼分析的時(shí)候,密碼分析者根據(jù)不同的內(nèi)層密鑰是可以得到不同的有意義明文的,加上這些不同密鑰得到的明文的一樣也可能與原來(lái)明文相近、相反的意義,所以很吻合通信背景,密碼分析者也無(wú)法確定真正密鑰。目前計(jì)算機(jī)的計(jì)算能力越來(lái)越強(qiáng)大,通信能力,信道的容量也越來(lái)越大。這使得復(fù)雜的加密可以得以實(shí)施,本發(fā)明在一定的程度上會(huì)增加一定的計(jì)算量,帶來(lái)一定的冗余,但是在目前一般情況下,我們的計(jì)算能力、信道容量和存儲(chǔ)能力往往被閑置,因此,這些一般不會(huì)給實(shí)現(xiàn)帶來(lái)麻煩。


圖1是本發(fā)明的內(nèi)層加密處理的流程2是本發(fā)明的整體加密解密的全過(guò)程3是本發(fā)明的實(shí)施例內(nèi)層密鑰的結(jié)構(gòu)圖
具體實(shí)施例方式下面是本發(fā)明的實(shí)施例,但是,本發(fā)明并不限于實(shí)施例。在具體實(shí)現(xiàn)的時(shí)候,規(guī)定總密鑰的不同部分分別用于內(nèi)層和外層加密,外層密鑰為固定長(zhǎng)度,根據(jù)外層加密采用的算法來(lái)決定,比如外層加密算法采用256位的AES加密。 密鑰的最前面256bit為外層密鑰,其余為內(nèi)層密鑰。內(nèi)層加密中為了保證不可逆性,采用一種流密碼算法,比如可以采用256bit的流密碼算法,內(nèi)層密鑰的前256bit為流密碼算法的密鑰,對(duì)應(yīng)附圖3的產(chǎn)生密鑰流部分,密鑰的剩余部分是用于修正密鑰流的,其前面部分為關(guān)鍵詞的位置信息,根據(jù)關(guān)鍵詞的排序計(jì)數(shù)s來(lái)定位,后面部分為修改的值rs,兩者均為固定長(zhǎng)度,前者根據(jù)文件中最大關(guān)鍵詞數(shù)M來(lái)確定,取值應(yīng)該大于Iog2M,后者根據(jù)關(guān)鍵詞數(shù)據(jù)庫(kù)中同一組關(guān)鍵詞的最大數(shù)目N來(lái)定,取值應(yīng)該大于Iog2N,為了方便計(jì)算機(jī)處理,一般采用字節(jié)為單位。
文件加密流程如下1)加密過(guò)程中要根據(jù)文件的類型,用相應(yīng)的軟件打開(kāi)文件讀取其內(nèi)容,比如,txt 文件的加密,就先用記事本方式打開(kāi)文件,讀取其文本內(nèi)容,準(zhǔn)備進(jìn)行內(nèi)層加密。2)內(nèi)層加密,內(nèi)層加密的具體方式如說(shuō)明書(shū)附圖1所示。為了便于解密,需要對(duì)于擴(kuò)充項(xiàng)、選擇項(xiàng)和代號(hào)加以標(biāo)記和區(qū)分,可選擇3個(gè)在文本中出現(xiàn)概率較低的符號(hào)分別作為擴(kuò)充項(xiàng)的起始標(biāo)記S、分隔標(biāo)記D和結(jié)束標(biāo)記F,標(biāo)記不能是關(guān)鍵詞或者關(guān)鍵詞的一部分。擴(kuò)充項(xiàng)的格式為起始標(biāo)記s 11確定關(guān)鍵詞的代號(hào)密文τ I |D| |關(guān)鍵詞一 | |D| |關(guān)鍵詞二 11…I |D| I關(guān)鍵詞n| |F。τ是根據(jù)內(nèi)層密鑰結(jié)合關(guān)鍵詞在文本中的位置得出的一個(gè)可以獲得正確原明文關(guān)鍵詞的數(shù)據(jù),舉如下例子來(lái)說(shuō)明其計(jì)算方法當(dāng)遇到某個(gè)關(guān)鍵詞如“今天”并且在數(shù)據(jù)庫(kù)中查實(shí)它是關(guān)鍵詞,那么就根據(jù)數(shù)據(jù)庫(kù)的數(shù)據(jù),將與之相關(guān)的一組關(guān)鍵詞為明天、今天、后天、昨天、前天等,將它們嵌入作為一個(gè)擴(kuò)充項(xiàng),在這一組中,所有關(guān)鍵詞有固定的順序,并且依次編號(hào)作為解密用的代號(hào),從0到 η-1依次編號(hào),這個(gè)編號(hào)決定于它們?cè)谶@組關(guān)鍵詞中的次序。比如,以0標(biāo)記今天,1標(biāo)記后天,2標(biāo)記昨天,3標(biāo)記前天,4標(biāo)記明天。加密的時(shí)候,采用流密碼算法產(chǎn)生密鑰流,將密鑰流按照每一個(gè)比特截取下來(lái),按照順序分配給在文本序列中的各個(gè)關(guān)鍵詞作為子密鑰k, 第s個(gè)關(guān)鍵詞分配ks,假設(shè)明文中關(guān)鍵詞在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的一組的編號(hào)是H,在這一組中的獨(dú)立編號(hào)是a,這一組中關(guān)鍵詞的數(shù)目為n,m表示修改值,一般的情況下修改的信息沒(méi)有涉及到本位置的關(guān)鍵詞,則m = 0,如果修改的信息中前面的定位信息剛好是本關(guān)鍵詞的位置 (這個(gè)位置是對(duì)所有的關(guān)鍵詞依次從1開(kāi)始計(jì)數(shù)來(lái)確定的),則m = rs, rs為修改密鑰流部分中的后面的部分,可以計(jì)算出這一個(gè)擴(kuò)充項(xiàng)的代號(hào)密文T = ks+a+mmod(n)。我們?cè)谶@里可以看到,完全無(wú)需關(guān)鍵詞數(shù)據(jù)庫(kù),就可以解密。3)內(nèi)層加密得到了新的文本,將文本保存到過(guò)渡的密文文件中。4)進(jìn)行外層的加密得到最終密文。為加強(qiáng)安全性對(duì)過(guò)渡的密文文件進(jìn)行外層的加密。這個(gè)加密采用傳統(tǒng)的AES算法進(jìn)行加密。解密為一個(gè)相反的過(guò)程,文件解密流程如下解密過(guò)程中,首先對(duì)于外層的對(duì)稱密碼加密進(jìn)行相應(yīng)的解密,得到過(guò)渡的密文文件,其次要將得到的過(guò)渡文件用記事本打開(kāi),讀取其文本內(nèi)容,對(duì)于擴(kuò)充進(jìn)行內(nèi)層的解密。 當(dāng)進(jìn)行這層解密的時(shí)候,先打開(kāi)文件或者輸入外一層解密的內(nèi)容,讀取和識(shí)別內(nèi)容,A)如果遇到的不是標(biāo)記,也不是關(guān)鍵詞,直接輸出;B)如果遇到重復(fù)的起始標(biāo)記則不認(rèn)為是起始標(biāo)記,去掉一個(gè)標(biāo)記后將遇到的連續(xù)的相同的標(biāo)記輸出;C)如果遇到單獨(dú)的標(biāo)記,則認(rèn)定是擴(kuò)充項(xiàng)。第s個(gè)擴(kuò)充項(xiàng)的起始標(biāo)記讀取相應(yīng)的起始標(biāo)記S和D之間的T,然后讀取結(jié)束標(biāo)記之前的D的數(shù)目,即可得到n,然后根據(jù)內(nèi)層密鑰可以確定m和ks,根據(jù)H查找對(duì)應(yīng)的一組關(guān)鍵詞,然后計(jì)算a = (T-m-ks)mod(n)這樣就可以確定到底是這一組中的哪一個(gè)關(guān)鍵詞。解密時(shí)沒(méi)有遇到標(biāo)記的非擴(kuò)充項(xiàng)部分直接輸出,遇到標(biāo)記則用上述的方法找出正確選擇項(xiàng),作為輸出,最后將所有輸出的文檔內(nèi)容保存到相應(yīng)的文檔或者直接輸出。這樣我們也可以根據(jù)前面提到的方法獲取偽密鑰,得到有意義的明文,而且可以根據(jù)自己的意圖得到滿意的“偽明文”。
權(quán)利要求
1.一種可修止偽隨機(jī)序列的可誤導(dǎo)的加密方法,其特征在于包括以下處理步驟A.打開(kāi)文件,讀取文本內(nèi)容;B.根據(jù)文本內(nèi)容進(jìn)行內(nèi)層加密,內(nèi)層加密主要涉及到關(guān)鍵詞的擴(kuò)充和文本中出現(xiàn)的與標(biāo)記相同的符號(hào)的處理;C.保存文件,得到過(guò)渡密文文件;D.對(duì)文件進(jìn)行傳統(tǒng)的對(duì)稱算法的外層加密;E.計(jì)算偽密鑰如果有需要,可以計(jì)算偽密鑰,備用或者作為誘餌,在受到脅迫的時(shí)候可以交出偽密鑰,其中外層密鑰是不變的。對(duì)方在做密碼分析的時(shí)候,由于可以找到許多偽密鑰,所以無(wú)法判斷誰(shuí)是正確密鑰。
2.如權(quán)利要求1所述的具有誤導(dǎo)功能的加密方法,其特征在于在所述步驟B當(dāng)中采用一個(gè)關(guān)鍵詞數(shù)據(jù)庫(kù)進(jìn)行加密,將原文本中的關(guān)鍵詞替換為擴(kuò)充項(xiàng),有點(diǎn)類似于設(shè)計(jì)選擇題,但是為了壓縮數(shù)據(jù)有一定的改變。關(guān)于關(guān)鍵詞的擴(kuò)充按照如下方法處理為了便于解密,需要對(duì)于擴(kuò)充項(xiàng)、選擇項(xiàng)和標(biāo)號(hào)加以標(biāo)記和區(qū)分,可選擇3個(gè)在文本中出現(xiàn)概率較低的符號(hào)分別作為擴(kuò)充項(xiàng)的起始標(biāo)記S、分隔標(biāo)記D和結(jié)束標(biāo)記F,注意標(biāo)記不能是關(guān)鍵詞或者關(guān)鍵詞的一部分。擴(kuò)充項(xiàng)的格式為起始標(biāo)記S| I確定關(guān)鍵詞的密文T| I分割標(biāo)記D| I關(guān)鍵詞一 I |D| I關(guān)鍵詞二 11…11分割標(biāo)記D11關(guān)鍵詞n| |結(jié)束標(biāo)記F。τ是根據(jù)內(nèi)層密鑰結(jié)合關(guān)鍵詞在文本中的位置得出的一個(gè)可以獲得正確原明文關(guān)鍵詞的數(shù)據(jù),是根據(jù)內(nèi)層密鑰計(jì)算出來(lái)的,計(jì)算的算法必須是安全的,不可逆的,可以采用流密碼算法產(chǎn)生,以保證即使τ 以及相對(duì)的關(guān)于明文的信息泄露,內(nèi)層密鑰的相關(guān)信息依然是在有限計(jì)算能力下保密的。I表示將數(shù)據(jù)合并銜接起來(lái)。關(guān)鍵詞已經(jīng)嵌入密文中,解密時(shí)候無(wú)需數(shù)據(jù)庫(kù),只需通過(guò)密鑰計(jì)算出所對(duì)應(yīng)的明文關(guān)鍵詞即可。
3.如權(quán)利要求1所述的具有誤導(dǎo)功能的加密方法,其特征在于在所述步驟B當(dāng)中為了有效區(qū)分正常文本和若干標(biāo)記,采用如下方法做處理在選擇標(biāo)記對(duì)應(yīng)的符號(hào)的時(shí)候,選擇文本中出現(xiàn)概率較小,而且不出現(xiàn)在關(guān)鍵詞中的符號(hào)作為標(biāo)記。這些標(biāo)記如果出現(xiàn)在原文中,或者連續(xù)相同的標(biāo)記出現(xiàn)在原文中,進(jìn)行內(nèi)層加密的時(shí)候,需要在標(biāo)記前添加一個(gè)相同標(biāo)記,對(duì)應(yīng)的內(nèi)層的加密還需要判斷是否出現(xiàn)了幾個(gè)連續(xù)相同的標(biāo)記,如果重復(fù)連續(xù)出現(xiàn)相同標(biāo)記,則后面的標(biāo)記不當(dāng)做標(biāo)記處理,而是當(dāng)做一個(gè)整體直接增加一個(gè)標(biāo)記,即連續(xù)的重復(fù)標(biāo)記都不當(dāng)做標(biāo)記,而且2個(gè)以上的連續(xù)標(biāo)記只增加一個(gè)標(biāo)記。解密的時(shí)候,連續(xù)的重復(fù)標(biāo)記都不當(dāng)做標(biāo)記,只有標(biāo)記后面不是同一標(biāo)記才被認(rèn)為是標(biāo)記,即如果是多個(gè)連續(xù)重復(fù)標(biāo)記,只減少一個(gè)該標(biāo)記。
4.如權(quán)利要求1所述的可以修正偽隨機(jī)序列的具有誤導(dǎo)功能的加密方法,其特征在于在所述步驟B當(dāng)中為了保證抵御潛在的泄露明文密文對(duì)相關(guān)的情況下的安全性,采用流密碼算法來(lái)產(chǎn)生內(nèi)層加密的某些編碼代號(hào),防止泄露部分信息。而為了避免因?yàn)槭敲荑€流而非隨機(jī)數(shù)造成的不能有效誤導(dǎo)的問(wèn)題,增加了修正信息,其結(jié)構(gòu)包括定位信息和修正值,對(duì)流密碼產(chǎn)生的子密鑰根據(jù)需要進(jìn)行修正,消除了流密碼序列的不可控性。
5.如權(quán)利要求1所述的可以修正偽隨機(jī)序列的具有誤導(dǎo)功能的加密方法,其特征在于產(chǎn)生偽密鑰的方法為外層密鑰不變,內(nèi)層密鑰變動(dòng)后,解密密文即可得出有誤導(dǎo)意義的 “偽明文”來(lái)。如果偽明文滿意,即可不用附加修正信息,但是如果偽明文可能有些關(guān)鍵詞的替換并不讓人滿意,在密鑰后面附加相應(yīng)的定位信息和修正值,這樣可以在得到的偽明文中,相應(yīng)的關(guān)鍵詞剛好是最需要誤導(dǎo)對(duì)方的,這樣補(bǔ)充了修正信息的偽密鑰就能具有很好的誤導(dǎo)效果。
全文摘要
本發(fā)明針對(duì)密鑰的竊取、對(duì)密鑰持有人的挾持、軟磨硬泡攻擊和唯密文攻擊等攻擊,發(fā)明涉及一種具有誤導(dǎo)功能的加密方法,應(yīng)用該方法加密可以很容易得到偽密鑰,從而可以誤導(dǎo)密碼分析者,這種誤導(dǎo)是決定于內(nèi)層密鑰的,它包括產(chǎn)生密鑰流的信息和修正信息,利用修正信息可以根據(jù)實(shí)際需要增強(qiáng)誤導(dǎo)的有效性。對(duì)于文檔中的標(biāo)記采用特別的處理方式,使得即使規(guī)定的標(biāo)記可能出現(xiàn)在文本中,依然不會(huì)混淆。加密的時(shí)候需要有一個(gè)關(guān)鍵詞數(shù)據(jù)庫(kù),其內(nèi)層加密利用數(shù)據(jù)庫(kù)進(jìn)行關(guān)鍵詞的擴(kuò)充,外層加密采用了傳統(tǒng)的加密方法。本方法解密時(shí)無(wú)需數(shù)據(jù)庫(kù)的支持,避免了數(shù)據(jù)庫(kù)同步的問(wèn)題。本發(fā)明在各種場(chǎng)合加密應(yīng)用中均具有一定的使用價(jià)值,特別是軍事上。
文檔編號(hào)G06F21/24GK102360414SQ20111030177
公開(kāi)日2012年2月22日 申請(qǐng)日期2011年9月27日 優(yōu)先權(quán)日2011年9月27日
發(fā)明者王勇 申請(qǐng)人:桂林電子科技大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
沁水县| 陕西省| 汕尾市| 台江县| 莎车县| 芦溪县| 英山县| 安化县| 洪洞县| 台山市| 马龙县| 铜山县| 博兴县| 潞西市| 彩票| 枞阳县| 康保县| 南和县| 襄垣县| 莫力| 错那县| 衡山县| 象山县| 永胜县| 吉林市| 雅江县| 竹山县| 仁寿县| 固安县| 东阿县| 台山市| 吉安市| 孝感市| 梧州市| 宝山区| 达尔| 包头市| 五莲县| 嘉峪关市| 乐昌市| 灵川县|