資源描述:
《現(xiàn)代密碼學(xué)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第2章流密碼2.1流密碼的基本概念2.2線性反饋移位寄存器2.3線性移位寄存器的一元多項(xiàng)式表示2.4m序列的偽隨機(jī)性2.5m序列密碼的破譯2.6非線性序列習(xí)題流密碼的基本思想:密鑰:k產(chǎn)生一個(gè)密鑰流:z=z0z1…,明文串:x=x0x1x2…加密:y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。密鑰流發(fā)生器f:zi=f(k,σi),σi是加密器中的記憶元件(存儲(chǔ)器)在時(shí)刻i的狀態(tài),f是由密鑰k和σi產(chǎn)生的函數(shù)。2.1流密碼的基本概念分組密碼與流密碼的區(qū)別就在于有無記憶性流密碼的滾動(dòng)密鑰z0=f(k,σ0)由函數(shù)f、密鑰k和指定的初態(tài)
2、σ0完全確定。此后,由于輸入加密器的明文可能影響加密器中內(nèi)部記憶元件的存儲(chǔ)狀態(tài),σi(i>0)可能依賴于k,σ0,x0,x1,…,xi-1等參數(shù)。圖2.1分組密碼和流密碼的比較流密碼:同步流密碼和自同步流密碼σi獨(dú)立于明文字符的叫做同步流密碼,否則叫做自同步流密碼。在同步流密碼中,由于zi=f(k,σi)與明文字符無關(guān),因而此時(shí)密文字符yi=Ezi(xi)也不依賴于此前的明文字符。因此,可將同步流密碼的加密器分成密鑰流產(chǎn)生器和加密變換器兩個(gè)部分。2.1.1同步流密碼圖2.2同步流密碼體制模型圖2.3加法流密碼體制模型二元加法流密碼是目前最為常用的流密
3、碼體制,其加密變換可表示為yi=zixi。一次一密密碼是加法流密碼的原型。事實(shí)上,如果(即密鑰用作滾動(dòng)密鑰流),則加法流密碼就退化成一次一密密碼。實(shí)際使用中,密碼設(shè)計(jì)者的最大愿望是設(shè)計(jì)出一個(gè)滾動(dòng)密鑰生成器,使得密鑰經(jīng)其擴(kuò)展成的密鑰流序列具有如下性質(zhì):極大的周期、良好的統(tǒng)計(jì)特性、抗線性分析、抗統(tǒng)計(jì)分析。有限狀態(tài)自動(dòng)機(jī)是具有離散輸入和輸出(輸入集和輸出集均有限)的一種數(shù)學(xué)模型,由以下3部分組成:①有限狀態(tài)集S={si
4、i=1,2,…,l}。②有限輸入字符集A1={A(1)j
5、j=1,2,…,m}和有限輸出字符集A2={A(2)k
6、k=1,2,…,n}。③
7、轉(zhuǎn)移函數(shù)A(2)k=f1(si,A(1)j),sh=f2(si,A(1)j)即在狀態(tài)為si,輸入為A(1)j時(shí),輸出為A(2)k,而狀態(tài)轉(zhuǎn)移為sh。2.1.2有限狀態(tài)自動(dòng)機(jī)有限狀態(tài)自動(dòng)機(jī)可用有向圖表示,稱為轉(zhuǎn)移圖。轉(zhuǎn)移圖的頂點(diǎn)對(duì)應(yīng)于自動(dòng)機(jī)的狀態(tài),若狀態(tài)si在輸入A(1)i時(shí)轉(zhuǎn)為狀態(tài)sj,且輸出一字符A(2)j,則在轉(zhuǎn)移圖中,從狀態(tài)si到狀態(tài)sj有一條標(biāo)有(A(1)i,A(2)j)的弧線圖2.4有限狀態(tài)自動(dòng)機(jī)的轉(zhuǎn)移圖若輸入序列為A(1)1A(1)2A(1)1A(1)3A(1)3A(1)1,初始狀態(tài)為s1,則得到狀態(tài)序列s1s2s2s3s2s1s2輸出字
8、符序列A(2)1A(2)1A(2)2A(2)1A(2)3A(2)1密鑰流產(chǎn)生器:參數(shù)為k的有限狀態(tài)自動(dòng)機(jī),一個(gè)輸出符號(hào)集Z、一個(gè)狀態(tài)集∑、兩個(gè)函數(shù)φ和ψ以及一個(gè)初始狀態(tài)σ0組成。狀態(tài)轉(zhuǎn)移函數(shù)φ:σi→σi+1,將當(dāng)前狀態(tài)σi變?yōu)橐粋€(gè)新狀態(tài)σi+1,輸出函數(shù)ψ:σi→zi,當(dāng)前狀態(tài)σi變?yōu)檩敵龇?hào)集中的一個(gè)元素zi。2.1.3密鑰流產(chǎn)生器圖2.5作為有限狀態(tài)自動(dòng)機(jī)的密鑰流生成器關(guān)鍵:φ和ψ,使得輸出序列z滿足密鑰流序列z應(yīng)滿足的幾個(gè)條件,并且要求在設(shè)備上是節(jié)省的和容易實(shí)現(xiàn)的。為了實(shí)現(xiàn)這一目標(biāo),必須采用非線性函數(shù)。采用線性的φ和非線性的ψ時(shí),將能夠進(jìn)行深
9、入的分析并可以得到好的生成器??蓪⑦@類生成器分成驅(qū)動(dòng)部分和非線性組合部分.驅(qū)動(dòng)部分控制生成器的狀態(tài)轉(zhuǎn)移,并為非線性組合部分提供統(tǒng)計(jì)性能好的序列;非線性組合部分要利用這些序列組合出滿足要求的密鑰流序列。圖2.6密鑰流生成器的分解圖2.7常見的兩種密鑰流產(chǎn)生器移位寄存器是流密碼產(chǎn)生密鑰流的一個(gè)主要組成部分。GF(2)上一個(gè)n級(jí)反饋移位寄存器由n個(gè)二元存儲(chǔ)器與一個(gè)反饋函數(shù)f(a1,a2,…,an)組成,如圖2.8所示。圖2.8GF(2)上的n級(jí)反饋移位寄存器2.2線性反饋移位寄存器每一存儲(chǔ)器稱為移位寄存器的一級(jí),在任一時(shí)刻,這些級(jí)的內(nèi)容構(gòu)成該反饋移位寄存器
10、的狀態(tài),每一狀態(tài)對(duì)應(yīng)于GF(2)上的一個(gè)n維向量,共有2n種可能的狀態(tài)。每一時(shí)刻的狀態(tài)可用n長(zhǎng)序列a1,a2,…,an或n維向量(a1,a2,…,an)表示,其中ai是第i級(jí)存儲(chǔ)器的內(nèi)容。初始狀態(tài)由用戶確定,當(dāng)?shù)趇個(gè)移位時(shí)鐘脈沖到來時(shí),每一級(jí)存儲(chǔ)器ai都將其內(nèi)容向下一級(jí)ai-1傳遞,并計(jì)算f(a1,a2,…,an)作為下一時(shí)刻的an。反饋函數(shù)f(a1,a2,…,an)是n元布爾函數(shù),即n個(gè)變?cè)猘1,a2,…,an可以獨(dú)立地取0和1這兩個(gè)可能的值,函數(shù)中的運(yùn)算有邏輯與、邏輯或、邏輯補(bǔ)等運(yùn)算,最后的函數(shù)值也為0或1。例2.2圖2.9是一個(gè)3級(jí)反饋移位寄存
11、器,其初始狀態(tài)為(a1,a2,a3)=(1,0,1),輸出可由表2.2求出。圖2.9一個(gè)3級(jí)反饋移位寄存器表