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

利用無(wú)窮維超混沌構(gòu)造單向散列函數(shù)進(jìn)行密碼保護(hù)的方法

文檔序號(hào):8119436閱讀:289來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):利用無(wú)窮維超混沌構(gòu)造單向散列函數(shù)進(jìn)行密碼保護(hù)的方法
技術(shù)領(lǐng)域
本發(fā)明屬于信息安全技術(shù)領(lǐng)域,涉及一種密碼保護(hù)方法,具體涉及一種利用無(wú)窮維超混沌特性和密鑰流構(gòu)造的單向散列(Hash)函數(shù)進(jìn)行密碼保護(hù)的方法。

背景技術(shù)
密碼單向散列(Hash)函數(shù)是目前使用的最重要的密碼編碼方法之一。Hash函數(shù)被廣泛的應(yīng)用在IT業(yè)、安全協(xié)議和計(jì)劃中,例如,軟件的完整性檢測(cè)、數(shù)字簽名系統(tǒng)、消息認(rèn)證和密碼保護(hù)等。Hash函數(shù)是IT產(chǎn)業(yè)和安全協(xié)議的重要基礎(chǔ),典型的應(yīng)用包括數(shù)字簽名和密碼保護(hù)。隨著現(xiàn)代化商業(yè)、金融等領(lǐng)域的迅速發(fā)展,遠(yuǎn)距離交易和通信日顯重要,這時(shí)雙方需達(dá)成某種協(xié)議,并在協(xié)議中簽名。通過(guò)計(jì)算機(jī)和通信系統(tǒng)傳送或貯存的文件無(wú)法辨認(rèn)筆跡,而手工簽名和印章難以實(shí)現(xiàn),用數(shù)字簽名系統(tǒng)可解決這一問(wèn)題。數(shù)字簽名系統(tǒng)中需構(gòu)造一個(gè)抗攻擊能力強(qiáng)、壓縮報(bào)文的Hash函數(shù)。各種軟件設(shè)計(jì)的密碼,都是保存在本機(jī)數(shù)據(jù)庫(kù)中,如果直接保存密碼信息很容易被破解,采用單向散列函數(shù)對(duì)原始密碼信息進(jìn)行變換再進(jìn)行保存,即使非法用戶(hù)得到保存的信息,也無(wú)法正常使用。如果單向散列函數(shù)具有很好的性能,加密的密碼很難破譯。設(shè)計(jì)認(rèn)證系統(tǒng)和信息完整性檢測(cè)的核心問(wèn)題也是構(gòu)造單向Hash函數(shù)。
傳統(tǒng)的單向散列方法有MD2、MD5、SHA等標(biāo)準(zhǔn),多是采用基于異或等邏輯運(yùn)算的復(fù)雜方法或是用DES等分組加密方法多次迭代得到散列結(jié)果,后一種方法運(yùn)算量很大;而前面的幾種方法由于異或運(yùn)算中固有的缺陷,雖然每步運(yùn)算簡(jiǎn)單,但計(jì)算輪數(shù)即使在被處理的文本很短情況下也很大。2004年8月,王小云公布她的研究小組對(duì)MD5、HAVAL-128、MD4和RIPEMD等四個(gè)著名密碼算法的破譯結(jié)果。2005年初又破解了SHA-1密碼算法。因此設(shè)計(jì)高效安全的Hash算法是非常必要的。
近年來(lái),為獲得更安全的Hash函數(shù),利用混沌特有的性質(zhì)來(lái)構(gòu)造Hash函數(shù)并取得了一定的進(jìn)展,用混沌系統(tǒng)的不可預(yù)測(cè)性和對(duì)初值的敏感性構(gòu)造安全性更強(qiáng)的Hash函數(shù)。
現(xiàn)有技術(shù)提出了基于混沌映射來(lái)構(gòu)造單向散列函數(shù)、用改變參數(shù)的方法構(gòu)造單向Hash函數(shù)、基于帳篷映射構(gòu)造單向Hash函數(shù)、基于前饋-反饋非線(xiàn)性數(shù)字濾波器構(gòu)造帶密鑰的Hash函數(shù)、基于廣義混沌映射切換的混沌Hash方法、具有可變參數(shù)的分段線(xiàn)性混沌映射的Hash函數(shù)構(gòu)造、基于RBF神經(jīng)網(wǎng)絡(luò)和混沌映射構(gòu)造Hash函數(shù)等,這些方法均為低維的混沌動(dòng)力系統(tǒng)。還有的提出了基于時(shí)空混沌系統(tǒng)構(gòu)造單向Hash函數(shù),利用該單向Hash函數(shù)技術(shù)進(jìn)行密碼保護(hù)時(shí),在明文填充時(shí),僅僅填充了一些字符并沒(méi)有加入明文的任何信息,這樣很容易產(chǎn)生碰撞。


發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種利用無(wú)窮維超混沌構(gòu)造單向散列函數(shù)進(jìn)行密碼保護(hù)的方法,該方法利用延遲反饋產(chǎn)生的無(wú)窮維超混沌系統(tǒng)和密鑰流迭代方法構(gòu)造一混沌單向Hash函數(shù),利用該函數(shù)進(jìn)行密碼保護(hù),對(duì)預(yù)測(cè)攻擊具有更強(qiáng)的抗擊能力和更好的安全性。
本發(fā)明所采用的技術(shù)方案是,利用無(wú)窮維超混沌構(gòu)造單向散列函數(shù)進(jìn)行密碼保護(hù)的方法,首先把明文和密鑰進(jìn)行拆分和數(shù)值變換,作為兩個(gè)具有延遲反饋的超混沌Chen系統(tǒng)的初始值,按照系統(tǒng)的混沌動(dòng)力學(xué)特性進(jìn)行演化,將演化的最終結(jié)果進(jìn)行量化,將量化值代入密鑰流進(jìn)行迭代,實(shí)現(xiàn)明文和密鑰信息的混淆和置亂,并基于密碼塊鏈接方式產(chǎn)生任意長(zhǎng)度明文的128位Hash值,將待認(rèn)證的密碼與該Hash值進(jìn)行比對(duì),判斷其真?zhèn)?,該方法按以下步驟進(jìn)行, 步驟1、對(duì)待保護(hù)的密碼作為明文進(jìn)行分組、拆分和數(shù)值變換 將需要保護(hù)的密碼作為明文,對(duì)該明文按128位進(jìn)行分組,最后一個(gè)分組不足128位時(shí),明文后面補(bǔ)上待處理明文的長(zhǎng),然后補(bǔ)0使其達(dá)到128位,再將每一組的128位明文,拆分成40bit、40bit、48bit的三個(gè)二進(jìn)制數(shù),將上述每組拆分后得到的三個(gè)數(shù)的前兩個(gè)數(shù)除以240、后一個(gè)數(shù)除以242進(jìn)行變換,分別變換得到3個(gè)
區(qū)間上的小數(shù); 步驟2、對(duì)密鑰進(jìn)行拆分和數(shù)值變換 設(shè)定一個(gè)128位的初始密鑰,將該128位初始密鑰按先后順序分別拆分成40bit、40bit、48bit的三個(gè)二進(jìn)制數(shù),對(duì)上述每組拆分后得到的三個(gè)數(shù)的前兩個(gè)數(shù)除以240、后一個(gè)數(shù)除以242進(jìn)行變換,分別變換得到3個(gè)
區(qū)間上的小數(shù); 步驟3、待保護(hù)密碼明文帶入超混沌系統(tǒng)進(jìn)行演化 將步驟1最后變換得到的分組明文的3個(gè)
區(qū)間上的小數(shù)作為延遲反饋Chen系統(tǒng)的初始值,帶入下列直接延遲反饋控制的Chen電路數(shù)學(xué)模型中 其中a,b,c為系統(tǒng)參數(shù),k33和τ3為控制參數(shù), 進(jìn)行演化,得到混沌序列,把最后時(shí)刻的三個(gè)狀態(tài)值分別進(jìn)行x、y、z的坐標(biāo)變換,使變量的變化范圍限制在[-1,1]之間,變換的公式為 其中tend表示演化的最后時(shí)刻, 將演化最后時(shí)刻的三個(gè)值記為p1、p2、p3; 步驟4、將密鑰帶入超混沌系統(tǒng)進(jìn)行演化 將步驟2得到的3個(gè)
區(qū)間上的小數(shù)作為延遲反饋Chen系統(tǒng)的初始值,帶入上步的Chen電路數(shù)學(xué)模型中進(jìn)行演化,得到混沌序列,把最后時(shí)刻的三個(gè)狀態(tài)值分別進(jìn)行變換,使變量的變化范圍限制在[-1,1]之間,變換的公式為 其中tend表示演化的最后時(shí)刻, 演化最后時(shí)刻的三個(gè)值為v1,v2,v3; 步驟5、對(duì)上步經(jīng)置亂后明文和密鑰進(jìn)一步混合置亂與混淆 將步驟3、步驟4得到的三個(gè)明文p1,p2,p3和三個(gè)密鑰v1,v2,v3分別代入下列密鑰流函數(shù)中進(jìn)行迭代, 密鑰流迭代函數(shù)如下
其中pi為經(jīng)過(guò)超混沌系統(tǒng)置亂后的明文,vi為經(jīng)過(guò)超混沌系統(tǒng)置亂后的密鑰,n表示置亂后的明文pi和置亂后的密鑰vi經(jīng)過(guò)非線(xiàn)性函數(shù)f1的迭代次數(shù),f1為線(xiàn)性分段函數(shù),具體的形式如下 該函數(shù)中x和k的值在「-h,h]之間,經(jīng)過(guò)至少30次迭代得到三個(gè)密鑰流迭代輸出e(p1,v1),e(p2,v2),e(p3,v3),將得到的三個(gè)值分別變換為40bit、40bit、48bit的二進(jìn)制整數(shù),將得到的二進(jìn)制數(shù)eb1,eb2,eb3依次連接起來(lái),得到128位的二進(jìn)制整數(shù),這個(gè)整數(shù)就是第一組128位明文得到的單向散列變換值; 步驟6、對(duì)明文長(zhǎng)度大于128位的進(jìn)行密碼塊鏈接 采用密碼塊鏈接模式對(duì)明文長(zhǎng)度大于128位的進(jìn)行鏈接,最終對(duì)整個(gè)密碼明文得到完整的128位hash值; 步驟7、將需驗(yàn)證的明文經(jīng)過(guò)上述步驟得到的128位hash值與數(shù)據(jù)庫(kù)中保存信息進(jìn)行比對(duì)判斷,確定密碼的合法性 將經(jīng)上步Hash變換后得到的Hash值存入數(shù)據(jù)庫(kù),對(duì)需驗(yàn)證的明文也按上述步驟進(jìn)行Hash變換,將該變換值與數(shù)據(jù)庫(kù)中保存值進(jìn)行比較,如果相同則通過(guò),否則,則拒絕通過(guò)。
本發(fā)明方法的有益效果是, 1、利用該Hash函數(shù)進(jìn)行密碼保護(hù)時(shí),利用了無(wú)窮維超混沌系統(tǒng)產(chǎn)生的信號(hào)提高了信號(hào)的置亂性能和參數(shù)的敏感性,對(duì)預(yù)測(cè)攻擊具有更強(qiáng)的抗擊能力和更好的安全性。
2、采用無(wú)窮維超混沌系統(tǒng)和密鑰流迭代相結(jié)合的技術(shù),構(gòu)造出Hash函數(shù),使得構(gòu)造出的Hash函數(shù)具有更好的抗碰撞性能。



圖1是利用直接延遲反饋在Chen系統(tǒng)中產(chǎn)生的超混沌吸引子的2維相圖、時(shí)間序列圖和頻譜分布圖,其中,a是x坐標(biāo)和y坐標(biāo)的相圖,b是y坐標(biāo)和z坐標(biāo)的相圖,c是x坐標(biāo)和z坐標(biāo)的相圖,d是x(t)隨時(shí)間演化的時(shí)間序列圖,e是x(t)頻譜圖; 圖2是以明文的拆分值作為超混沌Chen系統(tǒng)的初值,通過(guò)超混沌Chen系統(tǒng)演化的時(shí)間序列圖,其中a是x的時(shí)間序列圖,b是y的時(shí)間序列圖,c是z的時(shí)間序列圖; 圖3是密碼塊連接方式原理圖; 圖4是文本1-5的Hash值比較圖; 圖5是明文敏感性分析,其中,a是明文為1024位的比特率變化圖,b是明文為2040位的比特率變化圖; 圖6是密鑰敏感性分析圖; 圖7是k-N(k)的分布圖; 圖8中,a、b、c分別是本發(fā)明方法與現(xiàn)有三種技術(shù)的抗碰撞性分析對(duì)比結(jié)果。

具體實(shí)施例方式 下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
本發(fā)明首先利用超混沌和密鑰流構(gòu)造高性能的單向散列函數(shù),再利用該函數(shù)對(duì)密碼進(jìn)行加密。
把明文(需要保護(hù)的密碼)和密鑰作為兩個(gè)具有延遲反饋的超混沌Chen系統(tǒng)的初始值,按照兩個(gè)系統(tǒng)的混沌動(dòng)力學(xué)特性進(jìn)行一定時(shí)間的演化,將演化的最終結(jié)果進(jìn)行量化,將量化值代入密鑰流進(jìn)行迭代,實(shí)現(xiàn)明文和密鑰信息的混淆和擴(kuò)散,并基于密碼塊鏈接方式產(chǎn)生任意長(zhǎng)度明文的128位Hash值,將待認(rèn)證的密碼的Hash值與合法密碼的Hash值進(jìn)行比對(duì),判斷其真?zhèn)巍?br> 本發(fā)明方法具體包括以下步驟 步驟1、待保護(hù)密碼作為明文進(jìn)行分組、拆分和數(shù)值變換 將需要保護(hù)的密碼作為明文,對(duì)該明文按128位(Bit)進(jìn)行分組,最后一個(gè)分組不足128位時(shí),明文后面補(bǔ)上待處理明文的長(zhǎng),然后補(bǔ)0使其達(dá)到128位。
例如如果明文為132位二進(jìn)制數(shù),表示成十六進(jìn)制數(shù)為 DDCC17E846755AE46F64F47A16565E237 將其按128位進(jìn)行分組,則得到 第一組為DDCC17E846755AE46F64F47A16565E23 第二組為7840000000000000000000000000000 第二組中“7”為實(shí)際明文,后面補(bǔ)充的84為整個(gè)明文的長(zhǎng)度132的十六進(jìn)制表示,后面補(bǔ)充29個(gè)十六進(jìn)制的0構(gòu)成128位的分組數(shù)據(jù)。
將得到的每一組128位明文,拆分成40位、40位、48位的三個(gè)二進(jìn)制數(shù)。
如對(duì)于上面例子,對(duì)第一組進(jìn)行拆分可以得到如下三個(gè)用十六進(jìn)制表示的數(shù) DDCC17E846 755AE46F64 F47A16565E23 對(duì)于第二組也同樣可以拆分為7840000000,0000000000,000000000000三個(gè)十六進(jìn)制表示的數(shù); 將每組拆分后的三個(gè)數(shù)變換為3個(gè)
區(qū)間上的小數(shù),具體的方法是給前兩個(gè)數(shù)除以240,后一個(gè)數(shù)除以242。
如對(duì)于第一組得到的三個(gè)數(shù)分別為 0.8663954679559... 0.0458418156809... 0.9549879036768... 同樣可以對(duì)分組中的第二組進(jìn)行拆分和變換得到三個(gè)
之間的數(shù)。將每組的128位轉(zhuǎn)換為3個(gè)
區(qū)間上的小數(shù),這樣整個(gè)明文得到一個(gè)大數(shù)組,記為P。
步驟2、對(duì)密鑰進(jìn)行拆分和數(shù)值變換 設(shè)定一個(gè)128位的初始密鑰(對(duì)合法用戶(hù)公開(kāi)),對(duì)該128位的初始密鑰,也按照上一步中的拆分方法,將128位初始密鑰按先后順序分解成40bit、40bit、48bit的三個(gè)二進(jìn)制數(shù),對(duì)上述每組拆分后得到的三個(gè)數(shù)的前兩個(gè)數(shù)除以240、后一個(gè)數(shù)除以242進(jìn)行變換,分別變換得到3個(gè)
區(qū)間上的小數(shù)。
步驟3、將待保護(hù)密碼(明文)帶入超混沌系統(tǒng)進(jìn)行演化(混淆) 利用直接延遲反饋控制方法在Chen電路中產(chǎn)生混沌,直接延遲反饋控制的Chen電路數(shù)學(xué)模型如下 其中a,b,c為系統(tǒng)參數(shù),k33和τ3為控制參數(shù),適當(dāng)調(diào)節(jié)控制參數(shù)可以得到具有多個(gè)李亞譜諾夫指數(shù)的超混沌系統(tǒng)。
該系統(tǒng)所產(chǎn)生的混沌吸引子如圖1所示,其中,a是x坐標(biāo)和y坐標(biāo)的相圖,b是y坐標(biāo)和z坐標(biāo)的相圖,c是x坐標(biāo)和z坐標(biāo)的相圖,d是x(t)隨時(shí)間演化的時(shí)間序列圖,e是x(t)頻譜圖。從圖1可以看出系統(tǒng)具有很好的混沌的特性,混沌程度的定量描述指標(biāo)為最大Lyapunov指數(shù),該系統(tǒng)有多個(gè)正的Lyapunov指數(shù),因此,是一個(gè)超混沌系統(tǒng)?;煦缦到y(tǒng)的一個(gè)重要特點(diǎn)是對(duì)初值的敏感性,即所謂的“蝴蝶效應(yīng)”,直觀的解釋是當(dāng)系統(tǒng)在兩個(gè)具有微小差別的初始值(理論上是無(wú)限小)開(kāi)始演化,經(jīng)過(guò)足夠長(zhǎng)的時(shí)間后兩個(gè)不同初始值演化出的系統(tǒng)狀態(tài)軌跡變得完全不相關(guān)(差別非常大)。因此,混沌系統(tǒng)對(duì)初始值具有很好的混淆能力,而超混沌系統(tǒng)比一般混沌系統(tǒng)具有更復(fù)雜的演化特性,對(duì)于初始值的敏感性和混淆能力更強(qiáng)。
將步驟1得到的分組明文作為如公式(1)所示延遲反饋Chen系統(tǒng)的初始值,進(jìn)行t≥30s的演化,得到混沌序列,把最后時(shí)刻的三個(gè)狀態(tài)進(jìn)行坐標(biāo)變換,使變量的變化范圍限制在[-1,1]之間,將演化最后時(shí)刻的三個(gè)值作為三個(gè)密鑰流迭代中的明文pi,其中參數(shù)a=35,b=3,c=18.5,k=2.85,τ=0.3,h=1。
例如將上面的明文分組得到的第一組數(shù)據(jù)作為超混沌系統(tǒng)的初始值,可以得到三個(gè)混沌時(shí)間序列如圖2所示,其中a是x的時(shí)間序列,b是y的時(shí)間序列,c是z的時(shí)間序列,演化的時(shí)間是30s,最后得到的三個(gè)狀態(tài)值分別是4.52222397579072...,4.72288981488884...,2.12903245563008...。通過(guò)計(jì)算每一個(gè)時(shí)間序列的最大和最小值,根據(jù)最大和最小值計(jì)算變換到[-1,1]之間所使用的公式中的數(shù)值。例如對(duì)于序列x可以得到其最大值xmax和最小值xmin,將x變換到[-1,1]之間所使用的公式則為 其中tend表示演化的最后時(shí)刻 對(duì)于y和z的變換公式也相似。上面三個(gè)最后時(shí)刻的值經(jīng)過(guò)變換變?yōu)?.904444795158143...,0.944577962977769...,-0.428594682907884...,這三個(gè)值可以分別作為三個(gè)密鑰流迭代運(yùn)算的輸入p1,p2,p3。
步驟4、將密鑰帶入超混沌系統(tǒng)進(jìn)行演化(混淆) 采用與步驟3相同的方法,將步驟2得到的初始密鑰值作為延遲反饋Chen系統(tǒng)的初始值,經(jīng)過(guò)延遲反饋混沌Chen系統(tǒng)的演化和坐標(biāo)變換得到最后時(shí)刻的三個(gè)狀態(tài)值,經(jīng)過(guò)變換作為三個(gè)密鑰流迭代中的密鑰v1,v2,v3。
本發(fā)明對(duì)需要變換的明文(128位)和密鑰(128位)作為上述超混沌系統(tǒng)的初始值,經(jīng)過(guò)一段時(shí)間的演化,得到經(jīng)過(guò)超混沌系統(tǒng)分別混淆的明文和密鑰,由于系統(tǒng)的超混沌特性,明文和密鑰經(jīng)過(guò)這一步后,已經(jīng)被很好地混淆和置亂。為了進(jìn)一步提高變換的置亂性能,將上述結(jié)果再送入具有很強(qiáng)置亂功能的密鑰流迭代函數(shù),進(jìn)一步混淆和置亂。
步驟5、將步驟3、4置亂后明文和密鑰進(jìn)一步進(jìn)行混合置亂與混淆 將第3、4步得到的三個(gè)明文p1,p2,p3和三個(gè)密鑰v1,v2,v3分別代入三個(gè)如公式(2)和(3)所示的密鑰流進(jìn)行迭代, 密鑰流迭代函數(shù)如下
其中pi為經(jīng)過(guò)超混沌系統(tǒng)置亂后的明文,vi為經(jīng)過(guò)超混沌系統(tǒng)置亂后的密鑰,n表示置亂后的明文pi和置亂后的密鑰vi經(jīng)過(guò)非線(xiàn)性函數(shù)f1的迭代次數(shù),f1為線(xiàn)性分段函數(shù),具體的形式如下 該函數(shù)中x和k的值必須限制在[-h,h]之間,迭代次數(shù)n≥30。
經(jīng)過(guò)至少30次迭代可以得到三個(gè)密鑰流迭代輸出e(p1,v1),e(p2,v2),e(p3,v3),將得到的三個(gè)值分別變換為40bit、40bit、48bit的二進(jìn)制整數(shù),具體的方法是, eb1=bin(int((e(p1,v1)+1)×239)), eb2=bin(int((e(p2,v2)+1)×239)), eb3=bin(int((e(p3,v3)+1)×247)), 其中int(·)表示取整,bin(·)表示將整數(shù)變?yōu)槎M(jìn)制的二進(jìn)制變換。
將得到的二進(jìn)制數(shù)eb1,eb2,eb3依次連接起來(lái),得到128位的二進(jìn)制整數(shù),這個(gè)整數(shù)就是第一組128位明文得到的單向散列變換值。
本發(fā)明通過(guò)密鑰流函數(shù)將經(jīng)過(guò)超混沌系統(tǒng)混淆和置亂后的明文和密鑰進(jìn)一步混淆和置亂,并構(gòu)成了由兩者共同決定的輸出,將輸出變換成128位,就可以得到一個(gè)長(zhǎng)度為128位的明文對(duì)應(yīng)的單向散列函數(shù)的輸出。
步驟6、對(duì)于明文長(zhǎng)度大于128位的通過(guò)密碼塊鏈接模式產(chǎn)生最終的128位Hash函數(shù)值 如果明文的長(zhǎng)度超過(guò)128位,則可以采用如圖3所示的密碼塊鏈接模式(CBC)將后面的信息用密碼塊鏈接的方式得到任意長(zhǎng)度明文的128位hash值。
通過(guò)引入密碼塊鏈接模式(CBC),可對(duì)任意長(zhǎng)度的明文數(shù)據(jù)產(chǎn)生128位的Hash值,密碼塊鏈接模式如圖3所示,其中H為實(shí)現(xiàn)(1)至(5)步算法的單向散列函數(shù)(Hash)單元。
下面對(duì)照?qǐng)D3詳細(xì)描述密碼塊鏈接方式,圖3中M表示需要變換的明文信息,其長(zhǎng)度可以是任意長(zhǎng)度。M0至Mn-1表示將明文M分組后得到的n個(gè)明文組。Key表示初始密鑰(對(duì)合法用戶(hù)公開(kāi))。如圖3所示,將明文的第一個(gè)分組128位二進(jìn)制數(shù)M0和初始密鑰Key通過(guò)上述步驟1中的數(shù)值調(diào)整和步驟2至步驟5得到對(duì)于第一個(gè)明文組M0的Hash值h0。將Key與h0異或作為下一次Hash變換的密鑰k1,下一次需變換的明文為M1,通過(guò)與得到h0相同的步驟可以得到h1,依次類(lèi)推,可以得到對(duì)于任意長(zhǎng)度明文的Hash值。
步驟7、利用上述Hash變換進(jìn)行密碼保護(hù) 將需要保護(hù)的密碼經(jīng)過(guò)上述Hash變換后得到的Hash值,存入數(shù)據(jù)庫(kù),在合法用戶(hù)輸入正確的密碼后,將該密碼作為Hash變換的明文利用對(duì)合法用戶(hù)公開(kāi)或授權(quán)的密鑰,經(jīng)過(guò)上述Hash變換得到的值與數(shù)據(jù)庫(kù)中保存值進(jìn)行比較,如果相同則通過(guò),否則,則拒絕通過(guò)。
本發(fā)明利用上述方法構(gòu)造的單向散列變換進(jìn)行密碼保護(hù),將需要保護(hù)的密碼或信息變換為二進(jìn)制明文,將合法用戶(hù)可以獲得的密鑰和上述明文通過(guò)前面的單向散列函數(shù)變換得到輸出值,將輸出值作為密碼驗(yàn)證值保存在計(jì)算機(jī)程序或文件中,而不是保存實(shí)際的密碼。這樣即使盜用者得到了文件中保存的密碼,也無(wú)法知道實(shí)際的密碼是多少,起到密碼保護(hù)的作用。
上述密碼保護(hù)的步驟中的核心是單向散列函數(shù),單向散列函數(shù)的性能決定了密碼的保密性能。對(duì)于密碼的保護(hù),本發(fā)明方法中構(gòu)造的單向散列函數(shù)具有如下特點(diǎn) 1、明文的敏感性,即明文(用戶(hù)輸入的密碼)有微小差別,Hash值將有很大變化。
2、密鑰的敏感性,即(對(duì)合法用戶(hù)發(fā)布的)密鑰,如果發(fā)生微小變化,Hash值將有很大變化。
3、抗生日攻擊和碰撞攻擊的能力,對(duì)于窮舉所有可能解的攻擊方式要具有足夠的復(fù)雜度;對(duì)于不同的明文值可以得到相同Hash的可能性要很小,同時(shí)尋找這種碰撞值的耗費(fèi)很大。
本發(fā)明的密碼保護(hù)方法具有如下特點(diǎn) 1.不直接將明文和密鑰作為密鑰流迭代的輸入,而是首先經(jīng)過(guò)由直接延遲反饋控制產(chǎn)生的無(wú)窮維超混沌系統(tǒng)進(jìn)行演化,無(wú)窮維超混沌具有非常復(fù)雜的動(dòng)力學(xué)行為,對(duì)初值的敏感度更加強(qiáng)烈,對(duì)明文和密鑰信息具有非常好的置亂性能。
2.將明文和密鑰通過(guò)超混沌系統(tǒng)演化和置亂后,進(jìn)一步通過(guò)密鑰流迭代將明文和密鑰進(jìn)一步混淆,使得明文和密鑰里的信息被進(jìn)一步置亂,從而得到更好的抗碰撞性能。
3.通過(guò)密碼塊連接的方式將后面的明文與前面的明文及密鑰產(chǎn)生的hash值進(jìn)一步混沌,得到任意長(zhǎng)度明文的固定長(zhǎng)度hash值。
4.延遲反饋Chen系統(tǒng)和密鑰流迭代產(chǎn)生的序列擁有單向Hash函數(shù)所要求的較好的混淆和散布特性,防偽造性,不可逆性和初值敏感性。本發(fā)明通過(guò)延遲反饋超混沌Chen系統(tǒng)產(chǎn)生超混沌信號(hào),并且通過(guò)密鑰流進(jìn)行迭代,大大增強(qiáng)了信號(hào)的復(fù)雜性,使得信號(hào)更難以預(yù)測(cè)。同時(shí)采用密碼塊連接模式使信號(hào)更加復(fù)雜和安全,抗碰撞性更好。
為了驗(yàn)證本發(fā)明方法的效果,對(duì)上述方法得到的Hash函數(shù)性能分析如下 1.明文敏感性分析 根據(jù)本文提出的方法,分別計(jì)算了下面5種情況下文本的Hash值 原始文本1為 Chaos is a deterministic process.which is ubiquitously present in the world.Because of its random like behavior,sensitivity to initial conditions and parametervalues,ergodicity,and confusion and diffusion properties;chaotic cryptographyhas become an important branch of modern cryptography and has huge potential inprotecting the assets. 文本2將文本1中的Chaos改為chaos;文本3將文本1中的values改為value;文本4將文本1最后的句號(hào)改為逗號(hào);文本5將文本1的最后加一個(gè)空格。
對(duì)應(yīng)的Hash值十六進(jìn)制表示為 文本1DDCC17E846755AE46F64F47A16565E23 文本22300F10798897A828112E46E6DB9998B 文本30C30BB10321C138A30023D12E0FD67C0 文本4B20EBDADEB07ED8663F471E2CA31355E 文本5B363000FC436BBA1C6D4206DF9128BDB 其位序列表示如圖4,從上面的仿真結(jié)果可以看出,本發(fā)明的Hash函數(shù)對(duì)初值的變化相當(dāng)敏感,即使明文發(fā)生很小的改變也會(huì)導(dǎo)致最終得到的Hash值發(fā)生很大的變化。
2.單向性分析 單向性是從明文消息M和密鑰K計(jì)算Hash值是非常容易的,根據(jù)最終的Hash值計(jì)算明文M和密鑰K是非常困難的。
從數(shù)學(xué)上看,報(bào)文空間可以是無(wú)限的,而Hash結(jié)果總是一段定長(zhǎng)字節(jié)的數(shù)字,會(huì)有無(wú)數(shù)的報(bào)文具有同樣的Hash函數(shù)值,但在Hash結(jié)果達(dá)到一定長(zhǎng)度,比如結(jié)果為固定的128bit長(zhǎng)時(shí),結(jié)果空間已有2128≈3.4028×1028個(gè),現(xiàn)有的計(jì)算環(huán)境下在這樣大的空間窮舉計(jì)算是困難的。
一般說(shuō)來(lái),密鑰的長(zhǎng)度應(yīng)不小于128bit,以防止密鑰窮盡搜索攻擊;消息摘要的Hash值長(zhǎng)度也不應(yīng)小于128bit,以防止生日攻擊。
3.明文和密鑰安全性分析 在本發(fā)明的方法中,通過(guò)延遲反饋Chen系統(tǒng)和密鑰流的迭代運(yùn)算,實(shí)現(xiàn)了對(duì)明文信息和密鑰信息的混合,這一混合操作實(shí)現(xiàn)了密碼編碼所必須的混淆和擴(kuò)散。這種良好的混淆和擴(kuò)散作用,保證了所構(gòu)造的Hash函數(shù)對(duì)統(tǒng)計(jì)攻擊的安全性。理論上混淆和擴(kuò)散特性越好,最終所得到的Hash值對(duì)密鑰和明文的敏感性越強(qiáng)。下面對(duì)本發(fā)明給出的Hash函數(shù)對(duì)明文和密鑰的敏感性進(jìn)行了測(cè)試。
對(duì)一個(gè)二進(jìn)制表示的Hash值而言,其每一位的值非1即0,因此理想的敏感值應(yīng)保證任何明文或密鑰的輕微改變將導(dǎo)致Hash比特發(fā)生50%的變化概率。對(duì)一個(gè)明文消息每次改變其一位上的值,即將第i個(gè)位的“0”(“1”)改為“1”(“0”),計(jì)算改變后的明文消息的Hash值hi,然后將其和原始消息的Hash值h0進(jìn)行比較,并計(jì)算h0和hi二進(jìn)制表示的Hamming距離,最終獲得Hash比特變化率。對(duì)密鑰的敏感性分析跟明文的敏感性分析方法相同。
圖5給出了明文比特率的分布情況,明文為1024bit時(shí)的Hash值比特平均改變率為64.0713,明文為2040時(shí)的Hash值比特平均改變率為64.0382,說(shuō)明所構(gòu)造的Hash函數(shù)具有非常好且穩(wěn)定的明文敏感性。明文消息的任何微小變化都會(huì)導(dǎo)致Hash值發(fā)生較大的改變,保證了當(dāng)攻擊者可進(jìn)行選擇明文攻擊時(shí),根據(jù)已知的明文-密文對(duì)很難偽造和推導(dǎo)出其它的明文-密文對(duì)。
另外,經(jīng)N=150、400、1024、2040次測(cè)試,N為統(tǒng)計(jì)總次數(shù),算法在明文發(fā)生1bit變化的情況下,引起Hash密文結(jié)果的變化位數(shù),定義平均變化位數(shù),平均變化率,B的均方差,P的均方差,其中Bi為明文第i位變化引起Hash函數(shù)值的變化位數(shù)。得到基于該算法在每變化1bit的情況下的平均Hash值變化bit數(shù)

、變化bit數(shù)的均方差ΔB、平均變化概率P以及變化概率的均方差ΔP的值。如表1所示。
表1平均Hash值變化bit數(shù)及其相關(guān)指標(biāo)列表
圖6是在原始明文情況下密鑰的敏感性分析結(jié)果,從圖6可看出,Hash值比特平均改變率為50.7690,因此具有較好的密鑰敏感性保證了對(duì)統(tǒng)計(jì)分析的安全。
表2是對(duì)不同的明文長(zhǎng)度在密鑰的每比特位變化時(shí)其平均Hash值變化bit數(shù)

、變化bit數(shù)的均方差ΔB、平均變化概率P以及變化概率的均方差ΔP的值。

、ΔB、P、ΔP的定義如上。
表2平均Hash值變化bit數(shù)及其相關(guān)指標(biāo)列表
4.抗生日攻擊和碰撞攻擊分析 對(duì)生日攻擊而言,Hash值的比特長(zhǎng)度決定了密碼系統(tǒng)的安全性。對(duì)本文Hash函數(shù)而言,128位Hash值長(zhǎng)度意味著264位的攻擊難度,這個(gè)數(shù)量級(jí)的攻擊難度對(duì)一般應(yīng)用來(lái)說(shuō)是足夠的。
Hash函數(shù)的抗碰撞性是指找到任意兩個(gè)不同明文具有同樣的Hash值在計(jì)算上是不可行的。下面對(duì)本發(fā)明中具有直接延遲反饋Chen系統(tǒng)加密鑰流方法構(gòu)造的Hash函數(shù)的抗碰撞性進(jìn)行了仿真分析。首先取初始文本為一字節(jié),即8bit,ASCII碼對(duì)應(yīng)值為0~255,Hash結(jié)果取為8bit,即也為0~255的數(shù),這樣明文空間與Hash值空間相同。記Hash值空間即像空間中任一值對(duì)應(yīng)明文空間中原像的個(gè)數(shù)為k,記Hash值空間中具有k個(gè)原像的點(diǎn)的個(gè)數(shù)為N(k),N(1)越大,N(0)和其它各項(xiàng)越小,說(shuō)明碰撞越少,Hash函數(shù)的散亂能力越強(qiáng),因此從N(k)的分布情況,可看出Hash函數(shù)的抗碰撞性能,令n(k)為 其中,K為發(fā)生最大碰撞的數(shù)值。
圖7為k-N(k)的分布圖。本文的Hash函數(shù)構(gòu)造算法的N(0)至N(8)依次為93,94,51,13,4,1,0,0,0。k>8均為0。
采用相同的測(cè)試方法,圖8給出了采用本發(fā)明方法與現(xiàn)有三種技術(shù)的抗碰撞性分析對(duì)比結(jié)果,從圖中可以看出,本發(fā)明給出的Hash函數(shù)構(gòu)造方法較現(xiàn)有一些方法具有更好的抗碰撞性能。
利用本發(fā)明給出的Hash函數(shù)和密碼保護(hù)方法可以得到更好的密碼保護(hù)效果。
權(quán)利要求
1.一種利用無(wú)窮維超混沌構(gòu)造單向散列函數(shù)進(jìn)行密碼保護(hù)的方法,首先把明文和密鑰進(jìn)行拆分和數(shù)值變換,作為兩個(gè)具有延遲反饋的超混沌Chen系統(tǒng)的初始值,按照系統(tǒng)的混沌動(dòng)力學(xué)特性進(jìn)行演化,將演化的最終結(jié)果進(jìn)行量化,將量化值代入密鑰流進(jìn)行迭代,實(shí)現(xiàn)明文和密鑰信息的混淆和置亂,并基于密碼塊鏈接方式產(chǎn)生任意長(zhǎng)度明文的128位Hash值,將待認(rèn)證的密碼與該Hash值進(jìn)行比對(duì),判斷其真?zhèn)?,其特征在于,該方法按以下步驟進(jìn)行,
步驟1、對(duì)待保護(hù)的密碼作為明文進(jìn)行分組、拆分和數(shù)值變換
將需要保護(hù)的密碼作為明文,對(duì)該明文按128位進(jìn)行分組,最后一個(gè)分組不足128位時(shí),明文后面補(bǔ)上待處理明文的長(zhǎng),然后補(bǔ)0使其達(dá)到128位,再將每一組的128位明文,拆分成40bit、40bit、48bit的三個(gè)二進(jìn)制數(shù),將上述每組拆分后得到的三個(gè)數(shù)的前兩個(gè)數(shù)除以240、后一個(gè)數(shù)除以242進(jìn)行變換,分別變換得到3個(gè)
區(qū)間上的小數(shù);
步驟2、對(duì)密鑰進(jìn)行拆分和數(shù)值變換
設(shè)定一個(gè)128位的初始密鑰,將該128位初始密鑰按先后順序分別拆分成40bit、40bit、48bit的三個(gè)二進(jìn)制數(shù),對(duì)上述每組拆分后得到的三個(gè)數(shù)的前兩個(gè)數(shù)除以240、后一個(gè)數(shù)除以242進(jìn)行變換,分別變換得到3個(gè)
區(qū)間上的小數(shù);
步驟3、待保護(hù)密碼明文帶入超混沌系統(tǒng)進(jìn)行演化
將步驟1最后變換得到的分組明文的3個(gè)
區(qū)間上的小數(shù)作為延遲反饋Chen系統(tǒng)的初始值,帶入下列直接延遲反饋控制的Chen電路數(shù)學(xué)模型中
其中a,b,c為系統(tǒng)參數(shù),k33和τ3為控制參數(shù),
進(jìn)行演化,得到混沌序列,把最后時(shí)刻的三個(gè)狀態(tài)值分別進(jìn)行x、y、z的坐標(biāo)變換,使變量的變化范圍限制在[-1,1]之間,變換的公式為
其中tend表示演化的最后時(shí)刻,
將演化最后時(shí)刻的三個(gè)值記為p1、p2、p3;
步驟4、將密鑰帶入超混沌系統(tǒng)進(jìn)行演化
將步驟2得到的3個(gè)
區(qū)間上的小數(shù)作為延遲反饋Chen系統(tǒng)的初始值,帶入上步的Chen電路數(shù)學(xué)模型中進(jìn)行演化,得到混沌序列,把最后時(shí)刻的三個(gè)狀態(tài)值分別進(jìn)行變換,使變量的變化范圍限制在[-1,1]之間,變換的公式為
其中tend表示演化的最后時(shí)刻,
演化最后時(shí)刻的三個(gè)值為v1,v2,v3;
步驟5、對(duì)上步經(jīng)置亂后明文和密鑰進(jìn)一步混合置亂與混淆
將步驟3、步驟4得到的三個(gè)明文p1,p2,p3和三個(gè)密鑰v1,v2,v3分別代入下列密鑰流函數(shù)中進(jìn)行迭代,
密鑰流迭代函數(shù)如下
其中p1為經(jīng)過(guò)超混沌系統(tǒng)置亂后的明文,vi為經(jīng)過(guò)超混沌系統(tǒng)置亂后的密鑰,n表示置亂后的明文pi和置亂后的密鑰vi經(jīng)過(guò)非線(xiàn)性函數(shù)f1的迭代次數(shù),f1為線(xiàn)性分段函數(shù),具體的形式如下
該函數(shù)中x和k的值在「-h,h]之間,經(jīng)過(guò)至少30次迭代得到三個(gè)密鑰流迭代輸出e(p1,v1),e(p2,v2),e(p3,v3),將得到的三個(gè)值分別變換為40bit、40bit、48bit的二進(jìn)制整數(shù),將得到的二進(jìn)制數(shù)eb1,eb2,eb3依次連接起來(lái),得到128位的二進(jìn)制整數(shù),這個(gè)整數(shù)就是第一組128位明文得到的單向散列變換值;
步驟6、對(duì)明文長(zhǎng)度大于128位的進(jìn)行密碼塊鏈接
采用密碼塊鏈接模式對(duì)明文長(zhǎng)度大于128位的進(jìn)行鏈接,最終對(duì)整個(gè)密碼明文得到完整的128位hash值;
步驟7、將需驗(yàn)證的明文經(jīng)過(guò)上述步驟得到的128位hash值與數(shù)據(jù)庫(kù)中保存信息進(jìn)行比對(duì)判斷,確定密碼的合法性
將經(jīng)上步Hash變換后得到的Hash值存入數(shù)據(jù)庫(kù),對(duì)需驗(yàn)證的明文也按上述步驟進(jìn)行Hash變換,將該變換值與數(shù)據(jù)庫(kù)中保存值進(jìn)行比較,如果相同則通過(guò),否則,則拒絕通過(guò)。
2.按照權(quán)利要求1所述的方法,其特征在于,步驟5中,將超混沌演化得到明文pi(i=1,2,3)和密鑰vi(i=1,2,3)通過(guò)密鑰流迭代函數(shù)
進(jìn)行大于30步的迭代混淆,將得到的三個(gè)值分別變換為40bit、40bit、48bit的二進(jìn)制整數(shù),具體的方法是,
eb1=bin(int((e(p1,v1)+1)×239)),
eb2=bin(int((e(p2,v2)+1)×239)),
eb3=bin(int((e(p3,v3)+1)×247)),
其中int(·)表示取整,bin(·)表示將整數(shù)變?yōu)槎M(jìn)制的二進(jìn)制變換,將eb1,eb2,eb3合并成128位二進(jìn)制,從而得到一個(gè)128位明文分組對(duì)應(yīng)的Hash值。
全文摘要
本發(fā)明公開(kāi)了一種利用無(wú)窮維超混沌構(gòu)造單向散列函數(shù)進(jìn)行密碼保護(hù)的方法,首先把明文和密鑰作為兩個(gè)具有延遲反饋的超混沌Chen系統(tǒng)的初始值,按照系統(tǒng)的混沌動(dòng)力學(xué)特性進(jìn)行演化,將演化的最終結(jié)果進(jìn)行量化,將量化值代入密鑰流進(jìn)行迭代,實(shí)現(xiàn)明文和密鑰信息的混淆和擴(kuò)散,并基于密碼塊鏈接方式產(chǎn)生任意長(zhǎng)度明文的128位Hash值。本發(fā)明方法通過(guò)構(gòu)造Hash函數(shù)來(lái)進(jìn)行密碼保護(hù),充分利用了無(wú)窮維超混沌系統(tǒng)產(chǎn)生的信號(hào)提高了信號(hào)的置亂性能和參數(shù)的敏感性,對(duì)預(yù)測(cè)攻擊具有更強(qiáng)的抗擊能力和更好的安全性。
文檔編號(hào)H04L9/00GK101237320SQ20081001749
公開(kāi)日2008年8月6日 申請(qǐng)日期2008年2月4日 優(yōu)先權(quán)日2008年2月4日
發(fā)明者任海鵬, 元 莊 申請(qǐng)人:西安理工大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
屏边| 遂宁市| 南陵县| 新民市| 衡阳市| 改则县| 麻城市| 庐江县| 长武县| 莱西市| 佛冈县| 德钦县| 元阳县| 虹口区| 阜城县| 禹州市| 邵阳市| 宾川县| 浦城县| 西宁市| 红河县| 宿迁市| 通榆县| 扬中市| 轮台县| 浦北县| 平和县| 兴宁市| 娱乐| 临汾市| 伊宁市| 黄陵县| 新竹县| 兴国县| 定远县| 清涧县| 华蓥市| 合阳县| 万山特区| 启东市| 灵璧县|