專利名稱:混沌密碼序列發(fā)生器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)密碼、保密通信和信息安全技術(shù)領(lǐng)域,具體涉及一種用于數(shù)據(jù)加密、保密通信和信息安全的混沌密碼序列(Chaotic CipherSequence,簡稱CCS)發(fā)生器。
背景技術(shù):
隨著全球信息化的飛速發(fā)展,我國大量建設(shè)的各種信息化系統(tǒng)已經(jīng)成為國家關(guān)鍵基礎(chǔ)設(shè)施,其中許多業(yè)務(wù)要與國際接軌,諸如通信、電子商務(wù)、金融網(wǎng)絡(luò)等。同時在信息開放的今天,如何保障我國的政府、軍事、商業(yè)和金融等等行業(yè)領(lǐng)域的信息安全,成為我國建設(shè)的重要課題。信息安全已成為影響國家全局和長遠(yuǎn)利益的急待解決的重大關(guān)鍵問題。
解決信息安全問題的關(guān)鍵技術(shù)之一是密碼技術(shù),密碼技術(shù)主要包括加密技術(shù)、認(rèn)證技術(shù)和密鑰管理技術(shù)。密碼學(xué)的研究已有幾千年的歷史,但直到1949年Shannon發(fā)表了題為“保密通信的信息理論”的論文后才真正成為一門科學(xué)。特別是在70年代中期,1976年Diffie和Hellman發(fā)表的題為“密碼學(xué)的新方向”的論文是密碼學(xué)更加完善和使用;1977年向全世界公布的美國數(shù)據(jù)加密標(biāo)準(zhǔn)(DES),DES在1998年7月在不到三天的時間內(nèi)就被破譯了。已被美國政府廢止,1998年8月和1999年3月召開了會議,來自全世界的密碼專家討論了候選的算法,幫助把算法縮小到15個,最后到了5個IBM的MARS算法,RSA實驗室的RC6算法、Joan Daemen和Vincent Rijmen兩人的Rijndael算法、Eli Baham和Lars Knudsen兩人的Serpent算法以及Counterpane實驗室的Twofish算法。2000年初,最后經(jīng)過專家的研究,在五個候選密碼算法中選定Rijndael算法為美國新一代用于21世紀(jì)的密碼算法標(biāo)準(zhǔn)-AES算法(Advanced encryptionStandard)?!窦用芩惴ǜ鶕?jù)密鑰特點,密碼體制分為對稱和非對稱密碼體制兩種,即私鑰密碼體制和公鑰密碼體制,公鑰如RSA體制,ElGamal體制等等。私鑰如DES,RC5等體制。密碼又可分為分組密碼和序列密碼(流密碼)。密碼學(xué)界認(rèn)為,一個保密系統(tǒng),應(yīng)該是只有在密鑰不知道,而密碼算法公之于眾的情況下,系統(tǒng)有好的抗破譯能力,這才是一個好的保密系統(tǒng),如DES,3DES等密碼技術(shù)?!窕煦缂夹g(shù)混沌現(xiàn)象是20世紀(jì)60年代發(fā)現(xiàn)的,被認(rèn)為是繼牛頓定律和相對論之后的最重要發(fā)現(xiàn),改變了人們對客觀事務(wù)的認(rèn)識方法?;煦缰两襁€沒有一個普遍被人們接受的定義。不同的定義從不同的角度看問題,盡管它們在邏輯上并不一定等價,但本質(zhì)是一致的?;煦缇哂须S機系統(tǒng)的特征,又具有很強的確定性和規(guī)律性,決非一片混亂,形似紊亂而實則有序。
混沌的典型特征包括以下幾個方面(1)非線性,線性系統(tǒng)不可能產(chǎn)生混沌。
(2)確定性,系統(tǒng)狀態(tài)的演變必須遵循確定的準(zhǔn)則。
(3)對初值敏感相依性,初始狀態(tài)微小變化會導(dǎo)致系統(tǒng)軌道演變以指數(shù)速度分離。
(4)存在奇異吸引子,來自于軌道的無窮伸縮、折疊的奇異吸引子是軌道不穩(wěn)定和耗散系統(tǒng)容積收縮兩種系統(tǒng)內(nèi)在性質(zhì)同時發(fā)生的現(xiàn)象,存在于有限的區(qū)域內(nèi),空間結(jié)構(gòu)十分復(fù)雜。
(5)長期不可預(yù)測性,由于系統(tǒng)對初值敏感相依性,導(dǎo)致系統(tǒng)的長期行為類似布朗運動,只能用概率論的方法對系統(tǒng)長期行為進(jìn)行描述,而不能進(jìn)行確定論的描述。
(6)自相似結(jié)構(gòu),混沌區(qū)中有周期窗口,窗口內(nèi)細(xì)分有混沌區(qū)域,這種結(jié)構(gòu)無窮次重復(fù),并具有各態(tài)歷經(jīng)和層次分明的特性。同時,混沌運動具有各種尺度,而無特定尺度,這些統(tǒng)稱為自相似結(jié)構(gòu)。
(7)無序中的有序性,混沌運動中周期點集的稠密性,決定了系統(tǒng)內(nèi)部高低頻率成分競爭的有序性。
大量的實際和理論分析,混沌具有類隨機性,但混沌又是一個確定的系統(tǒng)。它的這種確定的不確定性可以產(chǎn)生偽隨機信號或類噪聲信號,并能準(zhǔn)確的控制。同時混沌序列還具有理論無周期性、初值敏感性、需要傳遞的參數(shù)少等特點。因此,在混沌在直接擴頻通信、擴頻調(diào)頻通信、保密通信、聯(lián)想記憶、優(yōu)化設(shè)計、信號檢測、模式識別等領(lǐng)域混沌已得到越來越廣泛的應(yīng)用?!駛坞S機碼序列偽隨機碼在通信和密碼中起著極為關(guān)鍵的作用,由于在實際中,純隨機碼難以實現(xiàn),因此人們采用各種易于實現(xiàn)的偽隨機碼方法,包括以m序列為代表的線性反饋移位寄存器(LFSR)偽隨機碼序列方案,如Gold、M、GMW、RS碼序列等。由于近代電子對抗、保密通信和信息安全的發(fā)展,許多人士認(rèn)為,LFSR序列的復(fù)雜度低,其安全性已難有保障。已知LFSR碼序列線性復(fù)雜度的大小約為碼長的一半,增大其復(fù)雜度就要增加碼長、增加移位寄存器的數(shù)目,而這就會加大硬件實現(xiàn)的難度,這是第一個缺點。缺點之二是這類碼的碼源數(shù)量有限,這對偽隨機序列是不利的。其三是因為復(fù)雜度低,這類碼的抗破譯能力差,不易對抗密碼和保密通信的跟蹤與干擾。而混沌偽隨機序列可以替代LFSR序列?!窕煦绫C芡ㄐ抛鳛橐环N類隨機的混沌現(xiàn)象在上世紀(jì)六十年代首先被氣象學(xué)家E.N.洛侖茲發(fā)現(xiàn),嗣后用非線性差分方程映射產(chǎn)生的混沌數(shù)字序列在物理學(xué)界被廣泛地作過研究;用蔡氏電路產(chǎn)生的電模擬混沌信號亦首次在八十年代初見諸報導(dǎo),這導(dǎo)致了混沌電子學(xué)的蓬勃發(fā)展。此后我們首先建議在工程中用Logistic映射產(chǎn)生的類隨機序列來取代m序列,因為前者統(tǒng)計特性優(yōu)良,產(chǎn)生容易而碼源遠(yuǎn)大于后者。在九十年代初,美國海軍實驗室的Pecora和Carroll報導(dǎo)了有關(guān)混沌可以同步從而受控的結(jié)果,這就為混沌電子學(xué)理論研究跨入工程應(yīng)用鋪平了道路?;煦珉娮訉W(xué)的工程應(yīng)用首先是實現(xiàn)了混沌保密通信,UC Berkeley的蔡少棠和MIT的Oppenheim在1992年差不多同時報導(dǎo)了用混沌同步機制實現(xiàn)保密通信的結(jié)果,此后國內(nèi)外在混沌保密通信方向上出現(xiàn)了數(shù)以百計的期刊文獻(xiàn)?;煦珉娮訉W(xué)的另一個引人注目的實際應(yīng)用是在雷達(dá)目標(biāo)識別方向上,S.Haykin教授和李曉波將海雜波生成的雷達(dá)反射波視為混沌信號,利用神經(jīng)網(wǎng)絡(luò)及混沌動力學(xué)重構(gòu)的方法,成功地辨識了淹沒在海雜波中的雷達(dá)探測目標(biāo)
。此后混沌在雷達(dá)工程及電子對抗方面的應(yīng)用研究亦相繼出現(xiàn)。
在混沌保密通信的研究成果逐漸為世人公認(rèn)的同時,混沌偽隨機碼的研究也逐步進(jìn)入實用化階段,國內(nèi)外在這方面的研究自九十年代以來持續(xù)不斷,無論是我們的研究或國外的報導(dǎo),都已可斷定用混沌偽隨機碼取代常規(guī)的LFSR碼是可行的?!馬ijndael密碼技術(shù)Rijndael密碼算法是美國國家標(biāo)準(zhǔn)技術(shù)研究所(NIST)于2000年公布的AES算法。Rijndael密碼算法的原形是Square算法,它的設(shè)計策略是寬軌跡策略(Wide Trail Strategy)。這種策略是針對差分分析和線性分析提出的。Rijndael算法是一個迭代分組密碼,其分組長度和密鑰長度都可變。分組長度和密鑰長度可以獨立地指定為128/192/256比特,相應(yīng)的輪數(shù)r為10/12/14。我們采用的分組長度和密鑰長度都選用128比特,而r=10。
加密過程X是Rijndael密碼的128比特輸入,Y是128比特的輸出,則Rijndael密碼可用下式表示Y=OKr+1oToΓoOKroΠoToΓoOKr-1oΛoΠoToΓoOK1(X)]]>其中“o”表示置換的復(fù)合,K1,K2,Λ,Kr+1是r+1個子密鑰,由種子密鑰K通過密鑰擴展程序產(chǎn)生,且種子密鑰為128/192/256比特時,密鑰擴展程序不同。
F2128→F2128是一個置換,對X∈F2128,稱Addroundkey變換OKi(X)=X⊕Ki]]>TF2128→F2128是一個置換,Shiftrow變換,X是T的輸入,首先,把X分成16個字節(jié),即X=(X00,X01,X02,X03,X10,X11,X12,X13,X20,X21,X22,X23,X30,X31,X32,X33)輸出Y=T(X)=(X00,X01,X02,X03,X13,X10,X11,X12,X22,X23,X20,X21,X31,X32,X33,X30)∏F2128→F2128是一個置換,稱Mixcolumn變換,X是T的輸入,首先,把X分成16個字節(jié),即Y=∏(X)=(Y00,Y01,Y02,Y03,Y10,Y11,Y12,Y13,Y20,Y21,Y22,Y23,Y30,Y31,Y32,Y33)其中Y0iY1iY2iY3i=02030101010203010101020303010102X0iX1iX2iX3i]]>ΓF2128→F2128是一個置換,稱Bytesub變換,稱S它是由16個F28上的S-盒并置構(gòu)成,S=LoF,F(xiàn)是有限域 上的乘法逆,即F(x)=X-1(約定F(0)=0),L是GF(2)域上的仿射變換,定義如下y0y1y2y3y4y5y6y7=1111100001111100001111100001111110001111110001111110001111110001·x0x1x2x3x4x5x6x7+01100011]]>從Rijndael密碼的加密過程來看,它其實是一個復(fù)雜的非線性變換,具體內(nèi)容請參考文獻(xiàn)[21]。
本發(fā)明的目的是充分結(jié)合混沌密碼技術(shù)和Rijndael密碼算法的優(yōu)點,設(shè)計出一種用于數(shù)據(jù)加密、保密通信和信息安全的混沌密碼序列(ChaoticCipher Sequence,簡稱CCS)發(fā)生器,使其具有如下的特點
(1)良好的隨機性;(2)系統(tǒng)的安全保密性強;(3)密鑰易于分配,保管,更換簡單;(4)有良好的漢明相關(guān)特性;(5)有良好的序列點間隔特性(6)可用序列多;(7)有盡可能高的復(fù)雜度;(8)序列線性不可預(yù)測性充分大。
(9)極強的抗破譯和反跟蹤能力(10)產(chǎn)生簡單、快速;(11)便于同步,易于產(chǎn)生。
顯然,它既不同于LFSR序列,只是作為一種一般的序列發(fā)生器,也不同于Rijndael算法,只是作為一種加密方法。而是集合了混沌技術(shù)、LFRS和Rijndael高強度的密碼算法的優(yōu)點,可廣泛用于數(shù)據(jù)加密、保密通信和信息安全之中。
發(fā)明內(nèi)容
本發(fā)明設(shè)計的混沌密碼序列(CCS)發(fā)生器的原理框圖如圖1所示。
為了便于敘述,整個系統(tǒng)不妨分為前端和后端,前端為LFSR序列加擾有限精度實現(xiàn)混沌系統(tǒng),后端為密碼算法部分;密碼系統(tǒng)采用輸出-分組反饋基本工作模式(OFM)。前端作為后端的驅(qū)動部分,為后端提供了統(tǒng)計性能好的序列;后端作為前端輸出的非線性組合部分,在不破壞前端序列性能的前提下,保證了輸出的CCS的高復(fù)雜度,并且使前端的序列的周期增大。
反饋寄存器R提供作為密鑰K所決定的分組加密算法E的輸入,R在每次密碼迭代中緩存分組算法的分組長度為Nbbits的0-1序列,初始比特I0無需保密,但需隨消息更換,收發(fā)雙方必須選用同一個I0,I0由下式描述I0={rand(7bits),zeros((Nb-7)bits)}R每次緩存的比特由前端輸出的序列按Nb分組和密碼算法輸出組反饋的Nb位數(shù)異或而成。在第n次迭代中,先計算EK(Rn-1),然后將輸出組反饋的同時輸出最低7位(用7sb(EK(Rn))表示)作為第n次迭代輸出的混沌密碼序列CCS。整個序列流的生成中,反饋是在內(nèi)部進(jìn)行的,所以這一部分無誤碼。
輸入?yún)?shù)Perturbm(CG)(chaotically generated的縮寫);密鑰分組密碼的種子密鑰K,CG的初始值a0也可選為為密鑰。
反饋Rn=PerturbmNb(n)(CG)⊕Ek(Rn-1),]]>其中R0=I0;輸出7sb(Ek(Rn)),n=1,2,ΛΛ我們采用Logistic映射來產(chǎn)生混沌序列,但也可采用其它具有類似均勻概率密度的混沌序列如Tent-map等,Logistic映射由下式給出xn+1=f(xn)=1-2xn2,x∈[-1,1]-----(1-1)]]>軌道點的概率密度是ρ(x)=1π1-x2x∈[-1,1]-----(1-2)]]>將式(1-1)產(chǎn)生的實值混沌序列變換成GF(2)域中的二進(jìn)制序列an=(sgn(xn)+1)/2,n=0,1,2,Λ,N-1(1-3)其中sgn(.)是符號函數(shù)。對LFSR序列,我們采用m序列(也可采用Golden序列,M序列等等)CCS發(fā)生器的實現(xiàn)硬件整體框圖如圖2所示Logistic混沌序列的初始值由輸入確定,同時輸入確定其輸出的起始位得到Logistic的輸出序列,經(jīng)過用m序列的加擾后輸出到采用OFM方式的計算Rijndael的電路,并采用一定的密鑰,從而最后輸出CCS序列和時鐘。
輸入為Logistic映射的初始值和起始位。
m序列移位寄存器的初值反饋移位寄存器的初值Rijndael的密鑰(含變換層數(shù))時鐘輸入輸出為輸出時鐘CCS數(shù)據(jù)對CCS發(fā)生器的Logistic映射混沌序列的實現(xiàn),可采用電路實現(xiàn)與軟件實現(xiàn)兩種其硬件實現(xiàn)框圖如圖3先輸入Logistic映射的初始值,同時輸入時鐘序列,經(jīng)過乘法器和比較器,得到二進(jìn)制或多進(jìn)制的序列,該序列通過輸入數(shù)據(jù)確定最終的輸出起始位,從而得到混沌序列和時鐘。
Logistic映射混沌序列采用軟件實現(xiàn)的流程圖如圖4輸入Logistic映射的初始值和作為輸出序列的起始位,計算Logistic函數(shù)并二進(jìn)制,當(dāng)滿足輸出起始位的要求時,從而可輸出混沌序列。
對Rijndael算法,可采用PLD的可編程邏輯器件實現(xiàn),其流程圖如圖5輸入密鑰,Rijndael算法層數(shù)N和混沌序列an,在分別計算Bytesub變換、Shiftrow變換、Mixcolumn變換和Addroundkey變換N次,在分別計算Bytesub變換、Shiftrow變換和Addroundkey變換一次后輸出。
而移位寄存器和異或運算無論硬件或軟件實現(xiàn)都是公知技術(shù),十分簡單,這里不繁述。
這樣,根據(jù)圖1-圖5,可實現(xiàn)完整的CCS發(fā)生器。
以下,就本發(fā)明---混沌密碼序列發(fā)生器(CCS)的統(tǒng)計特性、不可預(yù)測、周期性、漢明相關(guān)性、復(fù)雜度和高保密抗破譯等性能作出全面的論證和分析1.隨機特性目前,公認(rèn)的衡量序列隨機性的最主要的統(tǒng)計特性有三條標(biāo)準(zhǔn),即Golomb提出的0-1序列的隨機性三公設(shè)(1)一個周期中0與1的數(shù)目基本平衡。
(2)在長度為r的周期內(nèi),長度為c的游程個數(shù)占游程總數(shù)的1/2c,且相同長度的0-游程與1-游程的數(shù)目基本平衡。
(3)周期為r的自相關(guān)函數(shù)為二值函數(shù)。定義自相關(guān)函數(shù)Rτ=nτ-dτr]]>其中nr表示序列{si}和其后移τ位所得序列{si+τ}相同位的數(shù)目,dr表示不同位的數(shù)目。針對CCS,下面進(jìn)行分別討論。
A.平衡特性Logistic映射(1-1)生成的分割是以x=0為分界點的二進(jìn)制分割,由式(1-3)產(chǎn)生的0-1序列是二元Bernoulli序列,這是因為Logistic映射的測度熵為log2q=1(這里q=2)。那么CCS的平衡特性就要考慮后端的密碼系統(tǒng)了。因為Rijndael密碼的圈變換由三個不同的可逆一致變換組成,稱之為層,不同層的選擇是建立在寬軌跡策略的應(yīng)用基礎(chǔ)之上的。在寬軌跡策略中,每層有它自己的函數(shù),其中線性混合層確保了多圈之上的高度擴散,非線性層確保了分散的非線性性質(zhì),這些正好是流/雜湊模式中對狀態(tài)更新變換的要求。現(xiàn)在我們考察只有一個活動字節(jié)的一個Λ-集,我們將跟蹤活動字節(jié)在經(jīng)歷9圈過程中的位置變化。第1圈的MixColumn將這一活動字節(jié)轉(zhuǎn)變成一個整列的活動字節(jié)(因為MixColumn變換中多項式系數(shù)的選取使得枝數(shù)minx≠0{weight(x)+weight(MixColumn(x))}達(dá)到上界為5),該列的4個活動字節(jié)通過第2圈的ShiftRow擴散到4個不同的列,第2圈的MixColumn接著將這一活動特性轉(zhuǎn)變成只有活動字節(jié)的4列,這樣把一個Λ-集保持到第3圈的MixColumn的輸入,同理,依此類推,Λ-集可保持到第9圈的MixColumn的輸入。
由于這一Λ-集(事實上任意Λ-集)的字節(jié)(記為a)會遍歷所有可能的值,因此,a在該Λ-集上是平衡的,我們有 =′02′ai,j(′02′ai+1,j′01′ai+1,j)′01′ai+2,j′01′ai+3,j=0000=0因此,第10圈的輸入時刻的所有字節(jié)是平衡的,這一平衡性一般因接下來的ByteSub(字節(jié)代替)的使用而受到破壞。
不失一般性,我們?nèi)羧》纸M長度和密鑰長度都為128bits,則第10圈就為最后一圈,因而,第10圈的每個輸出字節(jié)只與第10圈的一個輸入字節(jié)有關(guān)。令a是其輸入,b是其輸入以及k是第10圈的圈密鑰,則我們有ai,j=Sbox(bi,j)ki,j由于Rijndael密鑰調(diào)度具有高的擴散性和非線性性質(zhì),因此在正確的密鑰下,ai,j也是平衡的。故所得CCS應(yīng)是均勻分布的。
B.游程分布值得指出,CCS具有同真正的隨機序列完全一致的游程分布期望值。
定理1在長為N的CCS中,長度為c的游程出現(xiàn)數(shù)占總游程數(shù)比例的數(shù)學(xué)期望為1/2c。
證明由本小節(jié)第1段可知CCS在顯著水平取0.05時均勻分布的假設(shè)成立,所以當(dāng)N→∞時,“0”,“1”在序列中出現(xiàn)的概率均收斂于1/2。在序列中出現(xiàn)“1”的位置的后面再連續(xù)出現(xiàn)c-1個“1”的概率為1/2c-1。由于長度為c的1-游程的前后元素必為“0”,而出現(xiàn)“0”的概率也收斂于1/2,因此長度為c的1-游程出現(xiàn)數(shù)對序列的長度而言所占比例的數(shù)學(xué)期望為 ,同理,長度為c的0-游程出現(xiàn)數(shù)所占比例的數(shù)學(xué)期望也為1/2c+2。因此,長度為c游程出現(xiàn)數(shù)對序列的長度而言所占比例的數(shù)學(xué)期望為1/2c+1。而總游程數(shù)占序列長度比例的數(shù)學(xué)期望為 ,那么長度為c的游程占總游程數(shù)比例的數(shù)學(xué)期望為 注1本定理證明時忽略了序列起始段的情況。
注2本定理的證明過程也揭示出對于任意長度的序列,0-游程的個數(shù)和1-游程的個數(shù)基本平衡這一點。
C.相關(guān)性在擴頻等通信中,通常要求偽隨機序列具有良好的自相關(guān)特性,即自相關(guān)峰值尖銳,在一些碼分多址系統(tǒng)中,通常用長度相同的不同序列作為區(qū)分用戶的地址碼,這時,除要求偽隨機序列具有良好的自相關(guān)特性外,還要求其互相關(guān)特性和部分相關(guān)特性好,即互相關(guān)和部分相關(guān)值接近于零,便于接收端準(zhǔn)確地把信號檢測出來,并減小檢測差錯。
給定一個序列{xi}=(Λx-2,x-1,x0,x1,x2ΛxK-1,xK,xK+1Λ)其中一個周期的序列為(x0,x1,x2ΛxK-1)序列的自相關(guān)函數(shù)為RXX(τ)=1KΣi=0K-1(-1)xi(-1)xj+τ---(0≤τ≤K-1)]]>給定兩個長度相等的序列{xi}和{yi},互相關(guān)函數(shù)為RXY(τ)=1KΣi=0K-1(-1)xi(-1)yi+τ---(0≤τ≤K-1)]]>序列的部分相關(guān)函數(shù)是兩個序列發(fā)生部分重疊,并在此重疊的范圍內(nèi)進(jìn)行相關(guān)運算而得到的結(jié)果。如果兩個序列是同一種序列則稱為部分自相關(guān);如果兩個序列是不同的序列,則稱為部分互相關(guān)。由于在實際通信中通常所用的是序列的一部分,且整體相關(guān)性好并不能表明部分相關(guān)性好,因此序列的部分相關(guān)性更為重要。我們在這一小節(jié)也只討論二進(jìn)制CCS序列的部分相關(guān)特性。序列的部分相關(guān)函數(shù)其實就是序列{xi}與{yi+r}在長度為N內(nèi)對應(yīng)位相同的位數(shù)與對應(yīng)位相異的位數(shù)之差的一個參數(shù),因而它是序列隨機性的一個指標(biāo)。對于任一整數(shù)τ,0≤τ≤N-1,{xi}+{yi+r}在長度為N內(nèi)出現(xiàn)“0”的數(shù)目與出現(xiàn)“1”的數(shù)目之差,正好是序列{xi}與{yi+r}在長度為N內(nèi)對應(yīng)位相同的位數(shù)與對應(yīng)位相異的位數(shù)之差。
由于混沌的內(nèi)在隨機性和Rijndael密碼在設(shè)計原則上確保了多圈之上的高度擴散,因此二進(jìn)制CCS是二元Bernoulli序列,而且由混沌對初值的敏感依賴性和Rijndael密碼對種子密鑰的敏感性知,{xi}與{yi}也是相互獨立的,因此{(lán)xi}+{yi+r}在長度為N內(nèi)出現(xiàn)“0”的次數(shù)與出現(xiàn)“1”的次數(shù)均服從二項分布,序列中“0”、“1”的出現(xiàn)概率均收斂于1/2。由著名的De Moivre-Laplace積分極限定理可知,當(dāng)N充分大時,二項分布的極限分布服從N(Np,Npq)的正態(tài)分布,其中q=1-p, 即有漸近公式PN{x}=CNxpxqN-x→12πσe(x-μ)22σ2]]>這里數(shù)學(xué)期望μ=Np,方差σ2=Npq,x為在長度為N的序列內(nèi)出現(xiàn)“0”的次數(shù)或出現(xiàn)“1”的次數(shù)。由以上分析可知{xi}+{yi+r}在長度為N內(nèi)出現(xiàn)“0”的次數(shù)與出現(xiàn)“1”的次數(shù)的期望均為N/2,因此二進(jìn)制CCS的部分自相關(guān)旁瓣和部分互相關(guān)值接近于0。2.概率意義上的不可預(yù)測性我們在上節(jié)討論了CCS滿足Golomb提出的度量序列隨機性的三條標(biāo)準(zhǔn),然而,滿足上述三條標(biāo)準(zhǔn)的周期序列還不能滿足我們對CCS在安全方面的要求,這種安全性是寓于隨機性之中的。一個二元隨機序列a0,a1,a2,Λ可視作一個二元對稱信源(BBS)的輸出,它的隨機性包含著當(dāng)前輸出位an對以前輸出段a0,a1,Λ,an-1的完全獨立性,即H(an|a0,a1,Λ,an-1)=H(an),對一切n≥1。故在已知a0,a1,Λ,an-1的條件下,an仍是不可預(yù)測的。對CCS,我們設(shè)a0,a1,Λ,an-1在序列中出現(xiàn)的概率為m,計算條件熵為H(an|a0,a1,Λ,an-1)=-{p(an=1|a0,a1,Λ,an-1)log2p(an=1|a0,a1,Λ,an-1)}-{p(an=0|a0,a1,Λ,an-1)log2p(an=0|a0,a1,Λ,an+1)}而 p(an|a0,a1,Λ,an-1)故 H(an|a0,a1,Λ,an-1)=-12·log212-12log2·12]]>=1現(xiàn)在我們來計算熵H(an)=-p(an=1)log2p(an=1)-p(an=0)log2p(an=0)=-12·log212-12log2·12=1]]>所以可得H(an|a0,a1,Λ,an-1)=H(an)熵(entropy)是度量不確定性的一個數(shù)學(xué)測度,這樣我們從熵的角度說明了CCS的不可預(yù)測性。但是現(xiàn)在隨著預(yù)測學(xué)的研究,我們所設(shè)計的CCS還須經(jīng)受各種預(yù)測方法的檢驗。我們確實意識到不可能對不知道的事情作不經(jīng)思索的斷言。3.序列點間隔在某些工程應(yīng)用中(如信道編碼的交織器設(shè)計、跳擴頻通信的跳頻頻隙等)要求在相鄰的間隔大于某個給定的值。
定義1I:如果序列X={x(i)}對于所有的i均滿足|x(i+1)-x(i)|≥d+1,則稱序列為寬間隔序列,間隔為d。
我們用CCS二元序列{xn}來產(chǎn)生間隔數(shù)為q的偽隨機序列X=(x0,X1,Λ,XN-1),其中N是任意的序列長度,Xn在整數(shù)集合{0,1,2,Λ,q-1}中取值。該方法每隔log2q次迭代對CCS二元序列進(jìn)行量化產(chǎn)生一個新的點。
定理3設(shè){xn}是CCS二元序列,{xn=Q(xδn)}是q-ary的間隔序列,q是2的冪,則當(dāng)δ=log2q時,{xn}是Bernoulli隨機序列。
證明由{xn}的分布均勻性可知{xn}在{0,1,2,Λ,q-1}上均勻分布。而Xn+1是將xδn迭代log2q次量化得到的。由前面討論的H(xn|x0,x1,Λ,xn-1)=H(xn)可知,Xn+1以1/q的概率等概地在集合{0,1,2,Λ,q-1}中取值,對k=2,3,Λ,N,且有P(Xik=jk,Xik-1=jk-1,Λ,Xi1=j1)]]>=P(Xik=jk|Xik-1=jk-1)ΛP(Xi2=j2|Xi1=j1)P(Xi1=j1)]]>=1/qk=P(Xik=jk)×P(Xik-1=jk-1)×Λ×P(Xi1=j1)]]>式中0≤i1≤Λ≤ik≤N-1,jk∈{0,1,2,Λ,q-1}。可見xn,n=0,1,2,Λ,N-1是統(tǒng)計獨立的,故{xn}是Bernoulli隨機序列。設(shè){xn}的序列點間隔為d,當(dāng)d=0時,點間隔的分布為 當(dāng)1≤d≤q-1時,點間隔的分布為2·1q·1q·(q-d)=2(q-d)/q2]]>于是點間隔的期望為E(d)=Σd=1q-1[2(q-d)/q2]·d+q×0]]>=(q2-1)/3q≈q/3(1-5)而點間隔小于某一規(guī)定值D的概率為P(d≤D)=2D+1q-D(D+1)q2---(1-6)]]>從(1-6)式可知增大q總可以便此概率減小。因此CCS的點間隔特性是比較好的。4.漢明相關(guān)性跳頻通信系統(tǒng)中,用戶之間的相互干擾發(fā)生在兩個以上的用戶同時使用同一個頻率的時候,因此衡量跳頻序列性能的最好測度是漢明相關(guān)性,定義如下定義2頻隙集合GF(q)上長度為N的兩個序列Su={su(j)}和Sv={sv(j)}在相對時延τ(0≤τ≤N-1)時的漢明相關(guān)函數(shù)為HSuSv(τ)=Σi=0N-1h[Su(j),Sv(j+τ)]]]>式中,su(j),sv(j+τ)∈GF(q),j+τ以模N運算,且 特別,如果u=v,則稱 為漢明自相關(guān)函數(shù),否則稱 為漢明互相關(guān)函數(shù)。同時定義H(Su)=max0<τ≤N-1{HSuSv(τ)},H(Su,Sv)=max0≤τ≤N-1{HSuSv(τ)},]]>M(Su,Sv)=max{H(Su),H(Sv),H(Su,Sv)}。
漢明相關(guān)也稱為擊中次數(shù)、碰撞次數(shù)、重合次數(shù)等。
根據(jù)文獻(xiàn)[11]關(guān)于給定頻隙數(shù)目和序列長度條件下漢明相關(guān)的理論限,有如下引理引理1對于GF(q)上長度為N=qM-1的任何兩個序列Su和Sv,有H(Su)≥qM-1-1,M(Su,Sv)≥qM-1如果跳頻序列族S的漢明自相關(guān)性能和互相關(guān)性能依等式達(dá)到上述兩式,則稱該跳頻序列族具有最佳漢明相關(guān)性能。
由引理1可知,最佳漢明自相關(guān)和最佳漢明互相關(guān)的理論下限都約為[N/q]([.]表示取整數(shù))。
定理4頻隙集合GF(q)上長度為N的CCS,在相對時延τ(0≤τ≤N-1)時的漢明自相關(guān)和漢明互相關(guān)的期望值均為N/q,即E(H(Su))=E(M(Su,Sv))=N/q證明文獻(xiàn)[21]已證明,Rijndael密碼不存在可預(yù)測的擴散率大于2-150的4圈和大于2-300的8圈差分軌跡,并且還不存在相關(guān)系數(shù)大于2-75的4圈線性軌跡以及大于2-150的8圈線性軌跡。此外,Rijndael密碼的密鑰調(diào)度具有高度的擴散性和非線性性。因此,當(dāng)種子密鑰在密鑰空間遍歷時,能導(dǎo)出任意指定的CCS{sn},其下一狀態(tài)的取值是二項同分布的,而且它獨立于{sn}及密鑰,每一個頻隙出現(xiàn)的的概率均收斂于1/q,因此CCS{sn}的漢明相關(guān)函數(shù)服從二項分布。由著名的De Moivre-Laplace積分極限定理可知,當(dāng)N充分大時,二項分布的極限分布服從數(shù)學(xué)期望為Np的正態(tài)分布,由于p=1/q所以期望為Np=N/q,由此可得E(H(Su))=E(M(Su,Sv))=N/q。
可見,CCS的統(tǒng)計漢明自相關(guān)和互相關(guān)值達(dá)到了最佳漢明相關(guān)函數(shù)值的理論下限[N/q]([.]表示取整數(shù))。5.復(fù)雜度分析隨著研究的深入,人們不斷找到破譯不同偽隨機序列的各種數(shù)學(xué)技巧,為了衡量不同偽隨機序列抵抗各種破譯技巧的能力,產(chǎn)生了復(fù)雜度的概念。可以說,統(tǒng)計特性描述了偽隨機序列的表觀隨機性,而復(fù)雜度描述的是偽隨機序列的內(nèi)在隨機性。下面我們分線性復(fù)雜度、非線性復(fù)雜度來分別討論。
A.線性復(fù)雜度序列的線性復(fù)雜度有兩類一類是整體線性復(fù)雜度,它是半無限周期序列的線性復(fù)雜度;另一類是局部線性復(fù)雜度,它是有限序列的線性復(fù)雜度。在實際應(yīng)用中,所用偽隨機序列總是有限長的,另一方面,大的整體線性復(fù)雜度并不能保證有大的局部線性復(fù)雜度。因此,局部線性復(fù)雜度比整體線性復(fù)雜度更為重要,這里我們介紹CCS的局部線性復(fù)雜度。
定義3F2上一個向量a(p)=(a1,a2,Λ,ap)(p為序列長度)的線性復(fù)雜度定義為L(a(p))=min{n|存在F2上的n級LFSR生成a(p)}如果a(p)=(a1,a2,Λ,ap)是二元隨機向量,則相應(yīng)的線性復(fù)雜度也是隨機變量。由前面討論可知,CCS二元跳頻序列是獨立等概的隨機序列,可得其線性復(fù)雜度的數(shù)學(xué)期望值為E[L(a(p)]=p2+4+R2(p)18-2-p(p3+29)]]>其中R2(p)=p(mod2)。
采用不同的混沌初值和不同的種子密鑰,表5-1給出了用Berlekamp-Massey算法計算得到的CCS的線性復(fù)雜度,從表中數(shù)據(jù)結(jié)果來看,CCS的線性復(fù)雜度約為序列長度的一半。
B.非線性復(fù)雜度非線性復(fù)雜度也是衡量跳頻序列安全性的重要指標(biāo),主要側(cè)重于序列的非線性性,也就是說要求跳頻序列具有不可逆推性,它直接決定了跳頻序列的抗破譯能力。
設(shè)a(p)=(a1,a2,Λ,ap)是長度為p的二元序列,ai∈F2,對于映射fF2m→F2,如果ai=f(ai-m,ai-m+1,Λ,ai-1)i=m+1,m+2,Λ,p則稱f(x1,Λ,xm)生成a(p)。
定義a(p)的非線性復(fù)雜度為NLC(a(p)=min{m存在m元映射f(x1,Λ,xm)生成a(p)}對于F2上的二元隨機序列x(p)=(x1,x2,Λ,xp),當(dāng)x(p)取不同的a(p)時,a(p)∈F2p,將得到不同的非線性復(fù)雜度NLC(a(p)),稱E[NLC(x(p))]=Σa(p)∈F2nNLC(a(p))P{x(p)=a(p)}]]>為隨機序列x(p)平均非線性復(fù)雜度。
由于CCS二元跳頻序列是獨立等概的隨機序列,則有l(wèi)imp→∞NLC(x(p))2log2p=1]]>6.CCS的抗破譯及反跟蹤能力CCS在保持了混沌序列的一些良好性能的前提下,還大大改善了抗破譯能力,Rijndael密碼的密鑰長度為128/192/256比特,密鑰空間最大為2256>1077個,破譯序列難度極大。由于Rijndael算法的原形是Square算法,它的設(shè)計策略是寬軌跡策略,這種策略是針對差分分析和線性分析提出的,此外,文獻(xiàn)[21]指出對于6圈或更多圈的Rijndael密碼,截段差分攻擊法不比窮舉密鑰攻擊快,對于7圈或更多圈的Rijndael密碼,Square攻擊不比窮舉密鑰攻擊快,并且Rijndael密碼S-盒在GF(28)的復(fù)雜表達(dá)式防止了對2圈或3圈以上的插入攻擊,Rijndael密碼的密鑰調(diào)度具有高的擴散性和非線性性,這使得相關(guān)密鑰攻擊不可能獲得成功??傊?,對Rijndael密碼最有效的密鑰恢復(fù)攻擊是窮舉密鑰攻擊,窮舉密鑰的期望嘗試次數(shù)與密碼密鑰的長度有關(guān),即使使用最小的密鑰長度128比特,密鑰空間為2128>3.4×1038個,要搜索一個密鑰,也要執(zhí)行2127次Rijndael密碼。如果密鑰搜索機的每個芯片每秒能測試108個密鑰,那么一個由6000個芯片組成的計算框架晝夜工作來搜索一個Rijndael密碼密鑰,至少也得8.99×1018年才能完成,并且制造以上所假設(shè)的密鑰搜索機耗資驚人??梢?,即使在敵方已知Rijndael算法、混沌的初值、參數(shù)以及混沌模型的前提下,破譯CCS也是幾乎不能實現(xiàn)的。
鑒于時間序列預(yù)測、相空間重構(gòu)等項技術(shù)的新近進(jìn)展,已經(jīng)有多種預(yù)測、跟蹤混沌序列的方法見諸公開文獻(xiàn)。經(jīng)我們的研究,這些方法也可成功地用來跟蹤用m序列加擾的混沌序列,但卻不能跟蹤我們的CCS。
從以上的證明和分析得出,CCS具有良好的隨機性;系統(tǒng)的安全保密性強;密鑰易于分配,保管,更換簡單;有良好的漢明相關(guān)特性;有良好的序列點間隔特性;可用序列多;有高的復(fù)雜度;序列線性不可預(yù)測性充分大;產(chǎn)生簡單、快速;便于同步,易于產(chǎn)生;有極強的抗破譯、反跟蹤的能力,因此,可廣泛用于數(shù)據(jù)加密、信息安全和保密通信等領(lǐng)域。
由于CCS具有偽隨機特性,因此又可以廣泛引用于跳頻通信和直擴通信中作為跳頻碼或擴頻碼使用,如跳頻電臺,3G和4G通信等等。也可作為偽隨機序列用在信源編碼,信道編碼、信息調(diào)制等通信中的各個環(huán)節(jié)和其它需要隨機序列并保密的地方。
CCS是密碼序列,因此可廣泛用于各種安全信息之中,如商業(yè)密碼,電子商務(wù),數(shù)字簽名、數(shù)字認(rèn)證、數(shù)字水印等。
圖1是混沌密碼序列(CCS)發(fā)生器原理框圖;圖2是混沌密碼序列(CCS)發(fā)生器硬件整體框圖;圖3是Logistic映射混沌序列實現(xiàn)硬件框圖;圖4是Logistic映射混沌序列的軟件實現(xiàn)流程圖;圖5是Rijndael算法流程圖;圖6是采用本發(fā)生器的跳頻擴頻設(shè)計框圖;圖7是發(fā)生器用于信息數(shù)據(jù)加密與跳頻擴頻結(jié)合的設(shè)計框圖。
具體實施例方式
我們以跳擴頻設(shè)計為例。由于本發(fā)明混沌密碼序列(CCS)良好的隨機性,寬的序列點間隔,良好的漢明距離和統(tǒng)計特性等,使得CCS特別適合作為保密的跳頻擴頻和序列擴頻碼使用,CCS的跳頻擴頻設(shè)計框圖如圖6在發(fā)射端,CCS發(fā)生器通過同步系統(tǒng)作為跳頻序列作用于頻率合成器,然后經(jīng)過調(diào)制輸出;在接收端,CCS發(fā)生器通過與發(fā)射端相同的同步系統(tǒng),產(chǎn)生跳頻序列作用于頻率合成器,從而對進(jìn)行解擴接收。
CCS的信息數(shù)據(jù)加密與跳頻擴頻結(jié)合的設(shè)計框圖如圖7在發(fā)送端,CCS發(fā)生器產(chǎn)生的序列既給輸入信息加密,同時作為頻率合成器的跳頻序列,在接收端,CCS發(fā)生器產(chǎn)生的序列既給信息解密,同時作為頻率合成器的跳頻解擴序列。CCS發(fā)生器同時作用于信息的加解密和作為跳擴頻序列,使該保密通信達(dá)到雙重的保密效果。同樣,CCS發(fā)生器可以用在信息加密與調(diào)制可結(jié)合的其它保密通信,信息安全中。
除以上的舉例,充分利用CCS的良好特性,充分利用CCS的良好隨機性,充分利用CCS的高強度保密特性,使其在信息安全,數(shù)據(jù)加密和保密通信中發(fā)揮作用,為我國的信息化服務(wù)。
權(quán)利要求
1.混沌密碼序列發(fā)生器,其特征在于包括前端的線性反饋移位寄存器(LFSR)序列加擾有限精度實現(xiàn)混沌系統(tǒng)和后端密碼算法兩部分,密碼系統(tǒng)采用輸出-分組反饋基本工作模式(OFM),反饋寄存器R提供作為密鑰K所決定的分組加密算法E的輸入,R在每次密碼迭代中緩存分組算法的分組長度為Nbbits的0-1序列,初始比特I0無需保密,但需隨消息更換,收發(fā)雙方必須選用同一個I0,I0由下式描述I0={rand(7bits),zeros((Nb-7)bits)}R每次緩存的比特由前端輸出的序列按Nb分組和密碼算法輸出組反饋的Nbbits異或而成。在第n次迭代中,先計算EK(Rn-1),然后將輸出組反饋的同時輸出最低7位(用7sb(EK(Rn))表示)作為第n次迭代輸出的混沌密碼序列。
2.根據(jù)權(quán)利要求1所述的混沌密碼序列發(fā)生器,其特征在于采用Logistic映射或其它具有類似均勻概率密度的混沌序列來產(chǎn)生混沌系統(tǒng)中的混沌序列。
3.根據(jù)權(quán)利要求2所述的混沌密碼序列發(fā)生器,其特征在于采用Logistic映射來產(chǎn)生混沌序列,Logistic映射由下式給出xn+1=f(xn)=1-2xn2,x∈[-1,1]-----(1-1)]]>軌道點的概率密度是ρ(x)=1π1-x2x∈[-1,1]-----(1-2)]]>將式(1-1)產(chǎn)生的實值混沌序列變換成GF(2)域中的二進(jìn)制序列an=(sgn(xn)+1)/2,n=0,1,2,Λ,N-1(1-3)其中sgn(.)是符號函數(shù)。
4.根據(jù)權(quán)利要求1、2或3所述的混沌密碼序列發(fā)生器,其特征在于對LFSR序列,采用m序列、Golden序列或M序列等線形偽隨機序列。
5.根據(jù)權(quán)利要求4所述的混沌密碼序列發(fā)生器,其特征在于發(fā)生器的硬件實現(xiàn)包括m序列、Logistic混沌序列、移位寄存器和可編程邏輯電路(PLD),其需輸入Logistic映射的初始值和起始位、m序列移位寄存器的初值、反饋移位寄存器的初值、_Rijndael的密鑰(含變換層數(shù))和時鐘,輸出為時鐘和混沌密碼序列(CCS)數(shù)據(jù)。
全文摘要
混沌密碼序列發(fā)生器,包括線性反饋移位寄存器(LFSR)序列加擾有限精度實現(xiàn)混沌系統(tǒng)和密碼算法,密碼系統(tǒng)采用輸出-分組反饋基本工作模式(OFM),反饋寄存器R提供作為密鑰K所決定的分組加密算法E的輸入,R在每次密碼迭代中緩存分組算法的分組長度為N
文檔編號H04L7/00GK1359211SQ0211322
公開日2002年7月17日 申請日期2002年1月10日 優(yōu)先權(quán)日2002年1月10日
發(fā)明者張紅雨, 虞厥邦, 王紅霞 申請人:張紅雨