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

基于復(fù)合非線性數(shù)字濾波器的混沌散列構(gòu)造方法

文檔序號(hào):1741798閱讀:268來源:國(guó)知局
專利名稱:基于復(fù)合非線性數(shù)字濾波器的混沌散列構(gòu)造方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息安全技術(shù)領(lǐng)域中一種提取消息摘要的散列構(gòu)造方法,可廣泛用于數(shù)字證書、電子簽名、口令保護(hù)、數(shù)字信息的完整性驗(yàn)證等安全應(yīng)用場(chǎng)合。
背景技術(shù)
隨著電子商務(wù)和信息數(shù)字化的飛速發(fā)展,散列算法在基于網(wǎng)絡(luò)的安全應(yīng)用如數(shù)字證書、數(shù)字簽名、身份認(rèn)證和信息完整性保護(hù)中得到廣泛的使用。經(jīng)典的散列算法如MD5(Message Digest 5,消息摘要算法5版)和SHA(SecureHash Algorithm,安全散列算法)在金融、證券等電子商務(wù)中得到普遍應(yīng)用并成為事實(shí)上的兩大標(biāo)準(zhǔn)。從上世紀(jì)90年代以來,人們就對(duì)這兩大算法進(jìn)行了安全攻擊,并相繼提出了“生日攻擊”、“微分攻擊”等破譯方法。2004年,王小云教授在國(guó)際密碼會(huì)Crypto 2004’上的“Collisions for Hash FunctionsMD4,MD5,HAVAL 128 and RIPEMD”報(bào)告,對(duì)MD5進(jìn)行了有效攻擊。隨后,王等人又宣告對(duì)SHA-1完成了理論上的破譯。鑒于MD5被破譯及SHA-1漏洞被發(fā)現(xiàn),美國(guó)國(guó)家技術(shù)與標(biāo)準(zhǔn)局(NIST)表示,他們將逐漸放棄目前使用的SHA-1,并于2010年前逐步推廣更安全的SHA-224、SHA-256、SHA-384和SHA-512幾種散列算法。但是這些散列算法大多是基于復(fù)雜度假設(shè),需要進(jìn)行大量復(fù)雜的異或等邏輯運(yùn)算或是用分組加密方法進(jìn)行多次迭代,運(yùn)算量很大,隨著散列長(zhǎng)度的增加,其運(yùn)算復(fù)雜度呈指數(shù)遞增。
隨著人們對(duì)混沌理論的深入研究,發(fā)現(xiàn)混沌具有對(duì)初始條件敏感、偽隨機(jī)、類噪聲和遍歷等優(yōu)良密碼特性,并將混沌廣泛應(yīng)用在加密和隨機(jī)數(shù)生成算法中。2000年劉在文獻(xiàn)1“基于混沌映射的單向散列函數(shù)構(gòu)造”(劉軍寧等清華大學(xué)學(xué)報(bào),2000(40)55)中首次將混沌引入到散列生成算法中,提出了一種基于混沌映射的散列算法。2003年王在文獻(xiàn)2“基于廣義混沌映射切換的單向散列函數(shù)構(gòu)造”(王小敏等物理學(xué)報(bào)2003(52)2737)中指出該算法基于某一特定的混沌系統(tǒng),易被混沌預(yù)測(cè)技術(shù)破譯,同時(shí)有效字長(zhǎng)精度效應(yīng)將導(dǎo)致混沌序列的短周期行為,使得算法的性能蛻化等問題,并提出一種基于廣義混沌映射切換的混沌散列構(gòu)造方法。同年,李在文獻(xiàn)3“復(fù)合非線性離散動(dòng)力系統(tǒng)和Hash函數(shù)”(李紅達(dá)計(jì)算機(jī)學(xué)報(bào)2003,26460)中采用兩個(gè)互補(bǔ)的混沌映射形成復(fù)合混沌的辦法提出了基于復(fù)合混沌動(dòng)力系統(tǒng)的散列構(gòu)造方法,均取得了較好的效果。但文獻(xiàn)2、3方法的性能好壞均還取決于所采用的混沌映射的性能,對(duì)于混沌效應(yīng)強(qiáng)的映射,一般都涉及到復(fù)雜的浮點(diǎn)運(yùn)算,影響運(yùn)算速度,也不利于硬件實(shí)現(xiàn)。另外,對(duì)于性能優(yōu)良的混沌映射,難以找到滿足文獻(xiàn)3互補(bǔ)要求的混沌源,這在算法結(jié)構(gòu)上不具有通用性和可擴(kuò)充性,也不利于模塊化和硬件實(shí)現(xiàn)。2005年xiao等人在文獻(xiàn)5“One-way hash fuction construction based on the chaotic mapwith changeable-parameter”(D.Xiao Chaos,Solitons and Fractals,2005(24)65)中用一個(gè)帶變參數(shù)的混沌映射取代了王方案中的多個(gè)混沌映射切換,提出一種基于變參數(shù)混沌映射的散列構(gòu)造方法,其設(shè)計(jì)思想與王方案實(shí)質(zhì)上是一致的。雖然文獻(xiàn)5采用具有均勻分布特性的分段線性映射(PWL),但每次迭代時(shí),使用變參數(shù)改變了PWL的結(jié)構(gòu),這實(shí)質(zhì)上是破壞了PWL的全局均勻分布特性,使得散列結(jié)果在散列空間中不是均勻分布,而與明文的統(tǒng)計(jì)特性有關(guān),因此難以抵御統(tǒng)計(jì)攻擊。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于復(fù)合非線性數(shù)字濾波器的混沌散列構(gòu)造方法,該方法實(shí)現(xiàn)簡(jiǎn)單、安全,占用存儲(chǔ)空間少,運(yùn)算速度快,易于擴(kuò)充和軟硬件實(shí)現(xiàn)。
為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案是,一種基于復(fù)合非線性數(shù)字濾波器的混沌散列構(gòu)造方法,包括如下具體步驟1)初始化n維自回歸非線性數(shù)字濾波器,其初始輸入信號(hào)為φ,φ∈(-1,1),濾波器初態(tài)為{z1,z2,…zn}∈(-1,1),并記密鑰為SK={φ,z1,z2,…zn};取散列值的長(zhǎng)度L≥128比特,待散列的明文為M′,用零填充后的明文為M,并使M的長(zhǎng)度滿足|M|=(||M′|/L|+1)L≌sL,(s≥2);將M按長(zhǎng)度L分組,記為M=(M1,M2,…,Ms),其中Mi=mi1mi2mi3···miL;]]>建立滿足Kelber條件的k(k=2p,L≥p≥1)個(gè)n維系數(shù)組{ci=ci1,ci2,…cin],i∈
},并將其放入系數(shù)庫;初始散列值為L(zhǎng)比特的零向量H0={0}1L;]]>2)散列值生成
①第一段明文m1的散列值生成將H0與M1異或,得復(fù)合控制序列R1=M1H0={r0,r1,…,rL-1};第一次迭代時(shí),取R1中序列r0r1…rp-1對(duì)應(yīng)的十進(jìn)制整數(shù)q,表示為q=(r0r1…rp-1)2,其中p=log2k,]]>k為系數(shù)庫中系數(shù)組ci的個(gè)數(shù);然后選擇系數(shù)庫中的第q個(gè)系數(shù)組cq作為本次迭代的濾波器系數(shù),迭代后濾波器輸出為y1。
第i次迭代時(shí),取R1中序列ri-1modkrimodkri+1modk…rp+i-2modk,重新計(jì)算q=(ri-1modkrimodkri+1modk…rp+i-2modk)2,其中,imodk表示i對(duì)k求余;然后按新的q選擇系數(shù)組cq作為第i次迭代的濾波器系數(shù),迭代后濾波器輸出為yi;迭代L次后得到復(fù)合系統(tǒng)的輸出軌跡{yi}1L,量化為二進(jìn)制序列作為M1的散列值H1;②第二段明文M2的散列值生成將①步最后一次迭代后的濾波器輸出值yL作為本階段濾波器的初始輸入,并以①步生成的M1散列值H1與M2異或,得到復(fù)合控制序列R2=H1M2;以R2取代R1,然后用①步相同的方法,得到M2的散列值H2;③第i段明文Mi的散列值生成將i-1段明文Mi-1最后一次迭代后的濾波器輸出值yL作為本階段濾波器的初始輸入,并以第i-1段明文Mi-1的散列值Hi-1與Mi異或,得到復(fù)合控制序列Ri=Hi-1Mi;以Ri取代R1,然后用①步相同的方法,得到Mi的散列值Hi。
④重復(fù)③步過程,直至得到最后一段明文Ms的散列值Hs,并以此散列值Hs作為整個(gè)明文M的散列值H。
與現(xiàn)有技術(shù)相比,本發(fā)明采用的基于非線性數(shù)字濾波器的混沌散列構(gòu)造方法,有如下特點(diǎn)1、基于復(fù)合非線性數(shù)字濾波器的散列構(gòu)造方法更安全,這是因?yàn)?1)充分利用了高維混沌系統(tǒng)對(duì)初始條件敏感和迭代過程的單向性,以及由明文段Mi產(chǎn)生的復(fù)合控制序列Ri對(duì)濾波器系數(shù)選擇的隨機(jī)性,使得最終的散列結(jié)果H的每比特都與整個(gè)明文M及密鑰SK有著敏感、復(fù)雜的非線性強(qiáng)藕合關(guān)系,可以有效抵抗線性分析;(2)由系統(tǒng)初態(tài)形成的散列密鑰SK在精度允許范圍內(nèi)發(fā)生微小改變,將導(dǎo)致散列結(jié)果有近L/2個(gè)比特位發(fā)生變化,對(duì)同一明文用不同的密鑰,將得到完全不同的散列值。由于具有很大的密鑰空間,算法可以抵抗密鑰的強(qiáng)力攻擊;(3)復(fù)合濾波器產(chǎn)生的混沌序列周期長(zhǎng)且滿足n維均勻分布,通過對(duì)明文的調(diào)制和軌跡的粗?;炕股⒘薪Y(jié)果在散列空間中均勻分布,可以抵抗統(tǒng)計(jì)攻擊;2、基于濾波器結(jié)構(gòu)的算法實(shí)現(xiàn)簡(jiǎn)單快速,沒有復(fù)雜的浮點(diǎn)運(yùn)算,比基于其它混沌模型的算法更易于擴(kuò)充和軟硬件實(shí)現(xiàn)。
3、當(dāng)改變散列值長(zhǎng)度時(shí),傳統(tǒng)的MD5和SHA族散列構(gòu)造方法需要重新設(shè)計(jì)整個(gè)算法,而本發(fā)明不用改變?yōu)V波器結(jié)構(gòu)和基本算法,只需改變明文M的分組長(zhǎng)度和向量Hi的長(zhǎng)度,就可得到不同長(zhǎng)度的散列值。從而與傳統(tǒng)的散列構(gòu)造方法相比,本發(fā)明算法具有巨大的優(yōu)勢(shì),可以適應(yīng)多種不同安全需求的場(chǎng)合。
4、結(jié)合了混沌和濾波器各自的優(yōu)點(diǎn),算法采用分段自回歸級(jí)聯(lián)迭代實(shí)現(xiàn),即段內(nèi)采用自回歸,段間采用CBC(Cipher-Block-Chain,密碼區(qū)塊鏈)模式,因此算法的空間復(fù)雜度和時(shí)間復(fù)雜度低,并與明文長(zhǎng)度呈線性關(guān)系,可在較低硬件資源的情況下實(shí)現(xiàn)安全快速的散列。
具體實(shí)施例方式下面結(jié)合具體實(shí)施方式
和附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。


圖1為現(xiàn)有的n維非線性數(shù)字濾波器結(jié)構(gòu)框圖。
圖2為本發(fā)明n維復(fù)合非線性數(shù)字濾波器結(jié)構(gòu)框圖。
圖3為混沌散列算法示意圖。
圖4為本發(fā)明算法在改變明文1比特后,散列結(jié)果變化比特?cái)?shù)分布圖。
圖5為本發(fā)明算法的密鑰sk敏感性測(cè)試Δλ-B曲線圖。
實(shí)施例下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
本發(fā)明的基于復(fù)合非線性數(shù)字濾波器的混沌散列構(gòu)造方法,其一般做法是1)初始化圖1示出一個(gè)n維非線性自回歸數(shù)字濾波器,可表示成 其中φ∈(-1,1)為濾波器的初始輸入信號(hào),{z1,z2,…zn}∈(-1,1)為濾波器初態(tài),{c1,c2,…cn}為濾波器系數(shù),T為單位時(shí)延,h(·)為非線性轉(zhuǎn)移函數(shù),mod(·)為硬件溢出函數(shù), y為濾波器的輸出。當(dāng)濾波器滿足Kelber條件,也即滿足如下三個(gè)條件①系數(shù)cn∈□,|cn|>1,{ci∈R,ci≠0|i=1,2,…n-1};②濾波器的特征根的絕對(duì)值不為1;③非線性變換h(·)具備均勻分布特性;則濾波器的輸出y是遍歷的且保持n維均勻分布,此時(shí)濾波器就成為一個(gè)n維混沌系統(tǒng)。取散列值的長(zhǎng)度L≥128比特,待散列的明文為M′,用零填充后的明文為M,并使M的長(zhǎng)度滿足|M|=(||M′|/L|+1)L≌sL,(s≥2)。將M按長(zhǎng)度L分組,記為M=(M1,M2,…,Ms),其中Mi=mi1mi2mi3···miL;]]>建立滿足Kelber條件的k(k=2p,L≥p≥1)個(gè)n維系數(shù)組{ci=[ci1,ci2,…cin],i∈
},并將其放入系數(shù)庫;設(shè)定密鑰SK={φ,z1,z2,…zn};初始散列值為L(zhǎng)比特的零向量H0={0}1L.]]>2)散列值生成圖2示出①第一段明文M1的散列值生成將H0與M1異或,得復(fù)合控制序列R1=M1H0={r0,r1,…,rL-1};第一次迭代時(shí),取R1中序列r0r1…rp-1對(duì)應(yīng)的十進(jìn)制整數(shù)q,表示為q=(r0r1…rp-1)2,其中p=log2k,]]>k為系數(shù)庫中系數(shù)組ci的個(gè)數(shù);然后選擇系數(shù)庫中的第q個(gè)系數(shù)組cq作為本次迭代的濾波器系數(shù),迭代后濾波器輸出為y1。第i次迭代時(shí),取R1中序列ri-1modkrimodkri+1modk…rp+i-2modk,重新計(jì)算q=(ri-1modkrimodkri+1modk…rp+i-2modk)2,其中,imodk表示i對(duì)k求余;然后按新的q選擇系數(shù)組cq作為第i次迭代的濾波器系數(shù),迭代后濾波器輸出為yi;迭代L次后得到復(fù)合系統(tǒng)的輸出軌跡{yi}1L,量化為二進(jìn)制序列作為M1的散列值H1;這種將圖1中固定的濾波器系數(shù){c1,c2,…cn}不停的切換,變?yōu)閳D2中的隨迭代次數(shù)而變化的系數(shù)組{c1,c2,…cn},相當(dāng)于將圖1中的固定濾波器變成了圖2中的k個(gè)子濾波器切換的復(fù)合系統(tǒng),圖2中T為單位時(shí)延。理論研究表明,圖2中的復(fù)合濾波器具有n維均勻分布和遍歷的特性,是一種高維復(fù)合混沌系統(tǒng),若從某個(gè)i開始,復(fù)合控制序列ri為常數(shù),則復(fù)合系統(tǒng)蛻化為單一濾波器系統(tǒng);由于濾波器滿足Kelber條件,因此即使復(fù)合系統(tǒng)蛻化為單一濾波器系統(tǒng),該系統(tǒng)仍然是一個(gè)高維混沌系統(tǒng);一般地,復(fù)合系統(tǒng)保持了所有子系統(tǒng)的特性,比單個(gè)子系統(tǒng)的行為要復(fù)雜得多。
②第二段明文M2的散列值生成將①步最后一次迭代后的濾波器輸出值yL作為本階段濾波器的初始輸入,并以①步生成的M1散列值H1與M2異或,得到復(fù)合控制序列R2=H1M2;以R2取代R1,然后用①步相同的方法,得到M2的散列值H2。
③第i段明文Mi的散列值生成將第i-1段明文Mi-1最后一次迭代后的濾波器輸出值yL作為本階段濾波器的初始輸入,并以第i-1段明文Mi-1的散列值Hi-1與Mi異或,得到復(fù)合控制序列Ri=Hi-1Mi;以Ri取代R1,然后用①步相同的方法,得到Mi的散列值Hi;④重復(fù)③步過程,直至得到最后一段明文Ms的散列值Hs,并以此散列值Hs作為整個(gè)明文M的散列值H。
以上M1,M2,…Ms段明文的散列生成過程是一個(gè)分段級(jí)聯(lián)迭代過程,可用圖3的混沌散列算法示意圖,描述為(Hi,φi)=F(φi-1,Hi-1⊕Mi),i=1,2,···sH(M)=Hs;]]>圖3中F表示明文段Mi的散列值自回歸迭代生成過程,φ0為濾波器的初始輸入值,H0為L(zhǎng)比特的零向量{0}1L,H1為M1的散列值,φ1為M2段的濾波器輸入值,且等于M1最后一次迭代時(shí)濾波器的輸出值yL;φ2為M3段的濾波器輸入值,且等于M2最后一次迭代時(shí)濾波器的輸出值yL;依此類推,最后得到Ms的散列值Hs,并以Hs作為整個(gè)明文M的最終散列值H。
實(shí)施例一n=2維的非線性數(shù)字濾波器,系數(shù)庫中預(yù)存k=2組系數(shù),散列長(zhǎng)度L=128情況下的混沌散列構(gòu)造方法。
1)初始化n維自回歸非線性數(shù)字濾波器,n=2,p=1,參數(shù)庫預(yù)存k=2p=2組系數(shù){c0=[3.57,4],c1=[5.7,7]},散列長(zhǎng)度L=128比特,濾波器的初始值即密鑰SK={φ0,z1,z2}={φ0=0.5648,z1=-0.564,z2=0.679},初始散列值H0={0}1128,]]>非線性映射h(w)=-1+2w/0.5,w∈
]>硬件溢出函數(shù) 濾波器輸出的量化函數(shù)T(x)=1,x∈[-1,-0.5)∪
;]]>為簡(jiǎn)化篇幅,取待散列的明文M′={0101110101},用零填充后的明文M長(zhǎng)度為 即s=2,填充后的內(nèi)容為M=0101110101{0}1246,]]>將M按長(zhǎng)度128分組,記為M=(M1,M2),M1=0101110101{0}1118,M2={0}1128.]]>2)散列值生成①第一段明文M1的散列值生成將H0={0}1128]]>與M1異或,得復(fù)合控制序列R1=M1⊕H0={r0r1···r127}=010111010{0}1118;]]>由于p=1,故第一次迭代時(shí),只取R1中的一個(gè)比特r0,對(duì)應(yīng)的十進(jìn)制整數(shù)q=(r0)2=(0)2=0,然后選擇系數(shù)庫中的第q個(gè)系數(shù)組cq=c0=[3.57,4]作為本次迭代的濾波器系數(shù),迭代后濾波器輸出為y1=-0.7253。第2次迭代時(shí),取R1中的r1,重新計(jì)算q=(r1)2=(1)2=1,然后取cq=c1=[5.7,7]作為本次迭代的濾波器系數(shù),迭代后濾波器輸出為y2=0.9025;第i次迭代時(shí),取R1中序列ri-1,重新計(jì)算q=(ri-1)2,按新的q選擇系數(shù)組cq作為第i次迭代的濾波器系數(shù),迭代后濾波器輸出為yi;迭代128次后得到系統(tǒng)的輸出實(shí)數(shù)軌跡{yi}1128,用濾波器輸出的量化函數(shù)T(·)量化為二進(jìn)制序列作為M1的散列值H1,H1={11110010111101110111110101001001000101000100100111100000100111011101110100101000100010100000010111000000111111001010011111111101),十六進(jìn)制表示為H1=F2F77D491449E09DDD288A05C0FCA7FD。
②第二段明文M2的散列值生成將①步最后一次迭代后的濾波器輸出值y128=-0.842作為本階段濾波器的初始輸入,并以①步生成的M1散列值H1與M2異或,得到復(fù)合控制序列R2=H1M2;以R2取代R1,然后用①步相同的方法,得到M2的散列值H2={00000011101110011100100011101011001001100111001000110110110111001000101111010110101100101000001000100010110001010001101111001011},十六進(jìn)制表示為H2=03B9C8EB267236DC8BD6B28222C51BCB。
③因?yàn)楸纠齭=2,M2即為最后一段明文,所以M2的散列值H2就是整個(gè)明文M的散列值H,H=H2=03B9C8EB267236DC8BD6B28222C51BCB。
以下將本實(shí)施例的初始密鑰SK做細(xì)微變化,以分析說明初始密鑰對(duì)散列結(jié)果的影響1)初始化除系統(tǒng)密鑰SK外,其他初始化參數(shù)不變。將初始密鑰SK={φ0,z1,z2}={0.5648,-0.564,0.679}的密鑰分量z1攝動(dòng)10-16后,密鑰變?yōu)镾K′=φ0,z1′,z2}={0.5648,-0.564+10-16,0.679}。
2)散列值生成①第一段明文M1的散列值生成迭代過程同實(shí)施例一的①步,迭代128次后得到系統(tǒng)的輸出實(shí)數(shù)軌跡{yi}1128,量化為二進(jìn)制序列作為M1的散列值H1,其十六進(jìn)制表示為F361DA7AD9E820AF5443A479D8F75503,與實(shí)施例一的M1散列結(jié)果F2F77D491449E09DDD288A05C0FCA7FD相比,得到密鑰變化后,M1散列結(jié)果中對(duì)應(yīng)比特位發(fā)生變化的個(gè)數(shù)為61;②第二段明文M2的散列值生成將①步最后一次迭代后的濾波器輸出值y128=-0.9672作為本階段濾波器的初始輸入,并以①步生成的M1散列值H1與M2異或,得到復(fù)合控制序列R2=H1M2;以R2取代R1,然后用①步相同的方法,得到M2的散列值H2,其十六進(jìn)制表示為F1D21CC19500743EA2CDB51DFCAFB93B,與實(shí)施例(1)的M2散列結(jié)果03B9C8EB267236DC8BD6B28222C51BCB相比,得到密鑰變化后,散列結(jié)果中對(duì)應(yīng)比特位發(fā)生變化的個(gè)數(shù)為65;③因?yàn)楸纠齭=2,M2即為最后一段明文,所以M2的散列值H2就是整個(gè)明文M的散列值H=H2=F1D21CC19500743EA2CDB51DFCAFB93B;此結(jié)果表明,當(dāng)密鑰的z1分量發(fā)生10-16攝動(dòng)時(shí),128比特的散列結(jié)果中有65個(gè)比特發(fā)生翻轉(zhuǎn);用同樣的方法進(jìn)行測(cè)試,得到當(dāng)z1的攝動(dòng)值減少到10-17時(shí),散列結(jié)果不變,因此算法對(duì)密鑰分量z1的敏感度為10-16;用同樣的方法得到密鑰的z2分量的敏感度為10-16,φ0分量的敏感度為10-15。
由于濾波器能產(chǎn)生高維混沌序列,因此復(fù)合系統(tǒng)對(duì)初始狀態(tài)的敏感性和迭代過程的隨機(jī)性,使得散列結(jié)果與消息有著復(fù)雜而敏感的非線性關(guān)系,而且最后一輪的128次迭代,使得最終散列值的每比特都與消息M的所有比特有關(guān),M的任何微小變化都將引起散列值的極大變化。若密鑰SK={φ0,z1,z2}在精度允許范圍內(nèi)發(fā)生微小改變,復(fù)合系統(tǒng)的迭代過程將使差異不斷放大,經(jīng)過第一輪的迭代就可使差異大到足以影響散列結(jié)果,最終得到完全不同的散列值。從算法的描述可知,基于復(fù)合濾波器的混沌散列算法的安全性完全依賴于密鑰SK,即迭代初始值。
實(shí)施例二n=3維的非線性數(shù)字濾波器,系數(shù)庫中預(yù)存k=4組系數(shù),散列長(zhǎng)度L=256情況下的混沌散列構(gòu)造方法。
1)初始化n維自回歸非線性數(shù)字濾波器,n=3,p=2,參數(shù)庫預(yù)存k=2p=4組系數(shù){c0=[2.53,-0.63,2],c1=[5.1,1.2,5],c2=[-3.64,4.23,3],c3=
},散列長(zhǎng)度L=256比特,濾波器的初始值即密鑰SK={φ0,z1,z2,z3}={φ0=0.5648,z1=-0.564,z2=0.679,z3=0.132},初始散列值H0={0}1256,]]>非線性映射h(w)、濾波器輸出的量化函數(shù)T(x)和硬件溢出函數(shù)mod(·)均同實(shí)施例一。為簡(jiǎn)化篇幅,同樣取待散列的明文M′={0101110101},用0填充后的明文M長(zhǎng)度為 即s=2,填充后的內(nèi)容為M=0101110101{0}1502,]]>將M按長(zhǎng)度256分組,記為M=(M1,M2),M1=0101110101{0}1246,M2={0}1256.]]>2)散列值生成①第一段明文M1的散列值生成將H0={0}1256]]>與M1異或,得復(fù)合控制序列R1=M1⊕H0={r0r1···r255}=0101110101{0}1246;]]>由于p=2,故第一次迭代時(shí),取R1中的2個(gè)比特r0r1,對(duì)應(yīng)的十進(jìn)制整數(shù)q=(r0r1)2=(01)2=1,然后選擇系數(shù)庫中的系數(shù)組cq=c1=[5.1,1.2,5]作為本次迭代的濾波器系數(shù),迭代后濾波器輸出為y1=-0.7248。第2次迭代時(shí),取R1中的r1r2,重新計(jì)算q=(r1r2)2=(10)2=2,然后取cq=c2=[-3.64,4.23,3]作為本次迭代的濾波器系數(shù),迭代后濾波器輸出為y2=-0.0655;第i次迭代時(shí),取R1中序列ri-1ri,計(jì)算q=(ri-1ri)2,若i=256,則取R1中序列ri-1mod4rimod4=r255r0,計(jì)算q=(r255r0)2,然后按新的q選擇系數(shù)組cq作為第i次迭代的濾波器系數(shù),迭代后濾波器輸出為yi;迭代256次后得到系統(tǒng)的輸出實(shí)數(shù)軌跡{yi}1256,量化為二進(jìn)制序列作為M1的散列值H1,H1={1100001000110000110000101010010000011110000111010110000100100110000101111110001110101000111000011001100000000011111010001111100001110011001011010101011110011101011000001000110100111010001111111101111011001001101010000000010100000100110001100000111011110100},十六進(jìn)制表示為H1=C230C2A41E1D612617E3A8E19803E8F8732D579D608D3A3FDEC9A80504C60EF4。
②第二段明文M2的散列值生成將①步最后一次迭代后的濾波器輸出值y256=0.8371作為本階段濾波器的初始輸入,并以①步生成的M1散列值H1與M2異或,得到復(fù)合控制序列R2=H1M2;以R2取代R1,然后用①步相同的方法,得到M2的散列值H2,H2={0101101000111101000011000110111011011000000101101101011010000011101001111000001011001001001001111110101101101001110010101010010000000100110101001110111010000111010101110101101011001010111000101111111101010001000111010110111001000110010101100100100001001101},十六進(jìn)制表示為H2=5A3D0C6ED816D683A782C927EB69CAA404D4EE87575ACAE2FF511D6E4656484D。
③因?yàn)閟=2,M2即為最后一段明文,所以M2的散列值H2就是整個(gè)明文M的散列值H,H=5A3D0C6ED816D683A782C927EB69CAA404D4EE87575ACAE2FF511D6E4656484D。
本發(fā)明算法的性能分析及數(shù)字仿真驗(yàn)證在C、Java、Delphi和Matlab下分別對(duì)本發(fā)明方法進(jìn)行了數(shù)字仿真,仿真結(jié)果基本一樣。仿真時(shí)所有的參數(shù)設(shè)置同實(shí)施例(1),即濾波器維數(shù)n=2,p=1,系數(shù)組個(gè)數(shù)k=2,取值為{c0=[3.57,4],c1=[5.7,7]},散列長(zhǎng)度L=128比特,濾波器的初始值即密鑰SK={φ0,z1,z2}={φ0=0.5648,z1=-0.564,z2=0.679}。
定義為衡量本發(fā)明的散列性能,定義以下統(tǒng)計(jì)量變化比特?cái)?shù)Bi對(duì)初始明文進(jìn)行散列,得到初始散列結(jié)果,然后任意改變初始明文的1比特信息后再進(jìn)行散列,得到另一散列結(jié)果,統(tǒng)計(jì)兩個(gè)散列結(jié)果相同位置的不同比特個(gè)數(shù),稱之為變化比特?cái)?shù);平均變化比特?cái)?shù)B‾=1NΣi=1NBi]]>平均變化概率P=(B‾/128)×100%]]>B的均方差ΔB=1N-1Σi=1N(Bi-B‾)2]]>P的均方差ΔP=1N-1Σi=1N(Bi/128-P)2×100%]]>其中N為統(tǒng)計(jì)總次數(shù),Bi為第i次測(cè)試結(jié)果的變化比特?cái)?shù)。
算法的散列能力和穩(wěn)定性分析理想散列算法的散布效果是初值的細(xì)微變化將導(dǎo)致散列結(jié)果的每比特都以50%的概率變化,若散列值長(zhǎng)度為128比特,則改變明文1比特后的散列結(jié)果理想情況下的變化比特?cái)?shù)應(yīng)為64。測(cè)試方法為在明文空間中隨機(jī)選取一段明文進(jìn)行散列,然后任意改變1比特明文后得到另一散列結(jié)果,比較兩個(gè)散列結(jié)果得到變化比特?cái)?shù)B。
圖4為1024次測(cè)試時(shí)隨機(jī)改變明文1比特后,散列結(jié)果變化的比特?cái)?shù)分布。圖的橫坐標(biāo)為測(cè)試次數(shù),縱坐標(biāo)為每次測(cè)試的散列結(jié)果變化的比特?cái)?shù)B。由圖可知,1024次測(cè)試下,128比特散列值的平均比特變化數(shù)B=63.861個(gè),非常接近理想狀況下的64。另外,B的最小值為47,最大值為82,且集中在理想值64附近,表明本發(fā)明算法對(duì)明文的散列能力強(qiáng)而穩(wěn)定。
算法散列性能統(tǒng)計(jì)分析,分別統(tǒng)計(jì)了128,256,…2048次測(cè)試下Bi的最小值Bmin、最大值Bmax、平均值B、均方差ΔB、變化率P和變化率均方差ΔP情況,統(tǒng)計(jì)結(jié)果見下表。

表中數(shù)據(jù)表明,該算法的B和P都已非常接近理想狀況下的64bit和50%的變化概率,相當(dāng)充分和均勻地利用了密文空間,從統(tǒng)計(jì)效果來看,攻擊者在已知一些明文密文對(duì),對(duì)其偽造或反推其它明密文對(duì)沒有任何幫助,因?yàn)槊魑牡娜魏渭?xì)微變化,密文從統(tǒng)計(jì)上來看在密文空間中都是接近等密度的均勻分布,從而得不到任何密文分布的有用信息,也難以找到碰撞的另一明文;而ΔB、ΔP標(biāo)志著散列混亂與散布性質(zhì)的穩(wěn)定性,越接近零就越穩(wěn)定,文中算法的ΔB、ΔP都已很小,因此算法對(duì)明文的混亂與散布能力強(qiáng)而穩(wěn)定。
算法的快速性分析李文獻(xiàn)中要求混沌映射是互補(bǔ)的,而滿足此關(guān)系的混沌源相對(duì)較少,對(duì)于性能優(yōu)良的混沌源,一般情況下其混沌方程較復(fù)雜,難以找到互補(bǔ)的對(duì)等方程;若使用濾波器,只需選取滿足特定條件的系數(shù)即可,而這種系數(shù)的選取容易且數(shù)量多,若要提高序列的復(fù)雜度,只需增加濾波器的階數(shù)即可;王和李在文獻(xiàn)2、3中的混沌映射都涉及到復(fù)雜的浮點(diǎn)運(yùn)算,而本發(fā)明總基于濾波器結(jié)構(gòu)的算法簡(jiǎn)單快速;李在文獻(xiàn)3中只能對(duì)明文逐比特運(yùn)算,沒有擴(kuò)展能力?;跒V波器結(jié)構(gòu)下,若提供2p組系數(shù),對(duì)算法稍加改進(jìn)就可對(duì)明文按p比特運(yùn)算,成倍提高運(yùn)算速度;即使兩種算法都是按比特運(yùn)算,文獻(xiàn)3的迭代次數(shù)為2×L×(S-1),而本發(fā)明的算法為L(zhǎng)×S次,當(dāng)明文較大時(shí)(即分段數(shù)S較大),本發(fā)明算法的迭代次數(shù)只有李的一半,考慮運(yùn)算的復(fù)雜度不同,本文算法具有更快的運(yùn)算速度。很明顯,與MD5和SHA相比,本發(fā)明算法迭代次數(shù)更少。
密鑰空間分析為了考察密鑰SK對(duì)散列結(jié)果的影響,定義Δλ為SK={φ0,z1,z2}中各分量的細(xì)微變化量,B為Δλ對(duì)應(yīng)的散列值變化的比特?cái)?shù)。圖5為散列函數(shù)對(duì)密鑰變化的敏感性Δλ-B曲線圖。圖中橫坐標(biāo)為密鑰SK={φ0,z1,z2}各分量攝動(dòng)量的負(fù)對(duì)數(shù)表示,縱坐標(biāo)為相應(yīng)分量攝動(dòng)時(shí)對(duì)應(yīng)的散列結(jié)果變化比特?cái)?shù)B;測(cè)試時(shí)密鑰分量各自按10-1的速率遞減,考察密鑰相應(yīng)變化量下B的大小;當(dāng)Δλ(φ0)=10-15時(shí),B=64,當(dāng)Δλ(φ0)=10-16時(shí),散列結(jié)果不變,其變化曲線如圖5中Δλ(φ0)-B所示,因此算法對(duì)輸入初始值φ0的敏感度為10-15數(shù)量級(jí)。同理,可測(cè)得算法對(duì)濾波器初始狀態(tài)z1、z2的變化曲線為Δλ(z1)-B,Δλ(z2)-B,的敏感度為10-16數(shù)量級(jí)。這說明算法對(duì)密鑰高度敏感,在[-1,1]的實(shí)數(shù)范圍內(nèi),密鑰空間是很大的。
綜上所述,本發(fā)明提出的新的混沌散列構(gòu)造方法,充分利用了非線性數(shù)字濾波器軟硬件實(shí)現(xiàn)簡(jiǎn)單,在特定情況下能產(chǎn)生性能優(yōu)良的高維混沌序列的特點(diǎn)。通過采用分段自回歸級(jí)聯(lián)迭代方式,散列結(jié)果對(duì)明文和密鑰的微小攝動(dòng)呈現(xiàn)高度雪崩效應(yīng),且散列結(jié)果在散列空間中均勻分布,算法快速安全;基于濾波器結(jié)構(gòu),算法易于擴(kuò)充和軟硬件實(shí)現(xiàn),可廣泛用于電子商務(wù)中的數(shù)字證書、數(shù)字簽名、數(shù)字信息的完整性保護(hù)等安全應(yīng)用場(chǎng)合。
權(quán)利要求
1.一種基于復(fù)合非線性數(shù)字濾波器的混沌散列構(gòu)造方法,包括如下具體步驟1)初始化n維自回歸非線性數(shù)字濾波器,其初始輸入信號(hào)為φ,φ∈(-1,1),濾波器初態(tài)為{z1,z2,...zn}∈(-1,1),并記密鑰為SK={φ,z1,z2,...zn};取散列值的長(zhǎng)度L≥128比特,待散列的明文為M′,用零填充后的明文為M,并使M的長(zhǎng)度滿足|M|=(||M′|/L|+1)L≅sL,]]>(s≥2);將M按長(zhǎng)度L分組,記為M=(M1,M2,...,Ms),其中Mi=mi1mi2mi3···miL;]]>建立滿足Kelber條件的k(k=2p,L≥p≥1)個(gè)n維系數(shù)組{ci=[ci1,ci2,...cin],i∈
},并將其放入系數(shù)庫;初始散列值為L(zhǎng)比特的零向量H0={0}1L;]]>2)散列值生成①第一段明文M1的散列值生成將初始散列值H0與第一段明文M1異或,得復(fù)合控制序列R1=M1H0={r0,r1,...,rL-1};第一次迭代時(shí),取R1中序列r0r1...rp-1對(duì)應(yīng)的十進(jìn)制整數(shù)q,表示為q=(r0r1...rp-1)2,其中p=log2k,]]>k為系數(shù)庫中系數(shù)組ci的個(gè)數(shù);然后選擇系數(shù)庫中的第q個(gè)系數(shù)組cq作為本次迭代的濾波器系數(shù),迭代后濾波器輸出為y1;第i次迭代時(shí),取R1中序列ri-1modkrimodkri+1modk...rp+i-2modk,重新計(jì)算q=(ri-1modkrimodkri+1modk...rp+i-2modk)2,其中,imodk表示i對(duì)k求余;然后按新的q選擇系數(shù)組cq作為第i次迭代的濾波器系數(shù),迭代后濾波器輸出為yi;迭代L次后得到復(fù)合系統(tǒng)的輸出軌跡{yi}1L,量化為二進(jìn)制序列作為第一段明文M1的散列值H1;②第二段明文M2的散列值生成將①步最后一次迭代后的濾波器輸出值yL作為本階段濾波器的初始輸入,并以①步生成的第一段明文M1的散列值H1與第二段明文M2異或,得到復(fù)合控制序列R2=H1M2;以R2取代R1,然后用①步相同的方法,得到M2的散列值H2;③第i段明文Mi的散列值生成將第i-1段明文Mi-1最后一次迭代后的濾波器輸出值yL作為本階段濾波器的初始輸入,并以第i-1段明文Mi-1的散列值Hi-1與第i段明文Mi異或,得到復(fù)合控制序列Ri=Hi-1Mi;以Ri取代R1,然后用①步相同的方法,得到Mi的散列值Hi;④重復(fù)③步過程,直至得到最后一段明文Ms的散列值Hs,并以此散列值Hs作為整個(gè)明文M的散列值H。
全文摘要
本發(fā)明公開了一種基于復(fù)合非線性數(shù)字濾波器的混沌散列構(gòu)造方法。在明文產(chǎn)生的復(fù)合序列控制下,隨機(jī)選擇迭代過程中的自回歸非線性數(shù)字濾波器子系統(tǒng),將明文巧妙地調(diào)制到復(fù)合濾波器的高維混沌軌跡中,并以混沌軌跡的粗?;炕笞鳛槊魑牡纳⒘兄?。將復(fù)合濾波器的迭代初始點(diǎn)作為算法的密鑰,能夠滿足帶密鑰散列算法的安全性要求。復(fù)合濾波器產(chǎn)生的高維混沌的初值敏感性和遍歷特性,使得散列結(jié)果對(duì)明文極度敏感且在散列空間中均勻分布,且復(fù)合序列增加了濾波器子系統(tǒng)選擇的隨機(jī)性,能夠保證迭代軌跡與初始條件之間的復(fù)雜敏感的非線性關(guān)系,從而具有更好的置亂性,更強(qiáng)的抗破譯能力,且基于濾波器結(jié)構(gòu)的算法簡(jiǎn)單快速,易于模塊化和硬件實(shí)現(xiàn)。
文檔編號(hào)H04L9/32GK1815948SQ200510021190
公開日2006年8月9日 申請(qǐng)日期2005年6月30日 優(yōu)先權(quán)日2005年6月30日
發(fā)明者張家樹, 王小敏 申請(qǐng)人:西南交通大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
富顺县| 渭南市| 集贤县| 仁化县| 波密县| 大同市| 永德县| 黄陵县| 仙游县| 神农架林区| 桂平市| 鄂州市| 同江市| 河津市| 乐平市| 开鲁县| 鞍山市| 姚安县| 耒阳市| 阿合奇县| 九江市| 衢州市| 辽源市| 老河口市| 西吉县| 河东区| 光山县| 德惠市| 宜宾县| 连云港市| 浦县| 田东县| 根河市| 巴中市| 家居| 锡林郭勒盟| 泾源县| 南漳县| 社会| 定西市| 石屏县|