版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
應用密碼學張仕斌萬武南張金全孫宣東編著西安電子科技大學出版社二00九年十二月2023/2/51第4章序列密碼體制2023/2/52知識點:
序列密碼的概念
線性反饋移位寄存器
序列和周期
非線性序列簡介
常用序列密碼2023/2/53起源-一次一密無條件安全:在理論上是不可破譯的但:要求密鑰與明文具有相同長度、且不可重復使用,增加了密鑰分配與管理的困難對策:用一個較小的密鑰來偽隨機地生成密鑰流。①人們試圖以序列密碼方式仿效“一次一密”密碼②序列密碼的理論已經(jīng)比較成熟,而且具有工程實現(xiàn)容易、效率高等特點③采用一個短的種子密鑰來控制某種算法產(chǎn)生出長的密鑰序列,供加、解密使用,而短的種子密鑰的存儲、分配都較容易2023/2/54分組密碼使用的是一個不隨時間變化的固定變換,具有擴散性好、插入敏感等優(yōu)點;其缺點是:加密處理速度慢。序列密碼vs.分組密碼分組密碼以一定大小的分組作為每次處理的基本單元,而序列密碼則以一個元素(如一個字母或一個比特)作為基本的處理單元。序列密碼使用一個隨時間變化的加密變換,具有轉(zhuǎn)換速度快、低錯誤傳播的優(yōu)點,硬件實現(xiàn)電路更簡單;其缺點是:低擴散(意味著混亂不夠)、插入及修改的不敏感性。2023/2/554.1序列密碼的概念序列密碼算法將明文逐位轉(zhuǎn)換成密文,如下圖所示。密鑰流發(fā)生器(也稱為滾動密鑰發(fā)生器)輸出一系列比特流:K1,K2,K3,……Ki
。密鑰流(也稱為滾動密鑰)跟明文比特流(m1,m2,m3,……mi
)
,進行異或運算產(chǎn)生密文比特流。
加密:
Ci=mi⊕Ki
在解密端,密文流與完全相同的密鑰流異或運算恢復出明文流。
解密:mi=Ci⊕Ki顯然,mi⊕Ki⊕Ki=mi2023/2/56事實上,序列密碼算法其安全性依賴于簡單的異或運算和密鑰序列。密鑰流發(fā)生器生成的看似隨機的密鑰流實際上是確定的,在解密的時候能很好的將其再現(xiàn)。密鑰流發(fā)生器輸出的密鑰越接近隨機,對密碼分析者來說就越困難。
如果密鑰流發(fā)生器每次都生成同樣的密鑰流的話,對攻擊來說,破譯該算法就容易了。
假的Alice得到一份密文和相應的明文,她就可以將兩者異或恢復出密鑰流?;蛘?,如果她有兩個用同一個密鑰流加密的密文,她就可以讓兩者異或得到兩個明文互相異或而成的消息。這是很容易破譯的,接著她就可以用明文跟密文異或得出密鑰流。現(xiàn)在,無論她再攔截到什么密文消息,她都可以用她所擁有的密鑰流進行解密。另外,她還可以解密,并閱讀以前截獲到的消息。一旦Alice得到一明文/密文對,她就可以讀懂任何東西了。2023/2/57這就是為什么所有序列密碼需要隨機密鑰的原因。密鑰流發(fā)生器的輸出是密鑰的函數(shù)。
這樣,Alice有一個明文/密文對,但她只能讀到用特定密鑰加密的消息。
更換密鑰,攻擊者就不得不重新分析。
流密碼是將明文劃分成字符(如單個字母),或其編碼的基本單元(如0,1數(shù)字),字符分別與密鑰流作用進行加密,解密時以同步產(chǎn)生的同樣的密鑰流實現(xiàn)。流密碼強度完全依賴于密鑰序列的隨機性(Randomness)和不可預測性(Unpredictability)。
核心問題是密鑰流生成器的設計。保持收發(fā)兩端密鑰流的精確同步是實現(xiàn)可靠解密的關(guān)鍵技術(shù)。2023/2/58-序列密碼的分類:1.自同步序列密碼
自同步序列密碼就是密鑰流的每一位是前面固定數(shù)量密文位的函數(shù),下圖和下頁圖描述了其工作原理。其中,內(nèi)部狀態(tài)是前面n比特密文的函數(shù)。該算法的密碼復雜性在于輸出函數(shù),它收到內(nèi)部狀態(tài)后生成密鑰序列位。2023/2/59自同步流密碼SSSC(Self-SynchronousStreamCipher)
內(nèi)部狀態(tài)i依賴于(kI,i-1,mi),使密文ci不僅與當前輸入mi有關(guān),而且ki對i的關(guān)系還與以前的輸入m1,m2,…,mi-1有關(guān)。一般在有限的n級存儲下將與mi-1,…,mi-n有關(guān)。2023/2/510自同步序列密碼的特點自同步
自同步的實現(xiàn)依賴于密文被刪除或插入,因為解密只取決于先前固定數(shù)量的密文字符。自同步序列密碼在同步丟失后能夠自動重新建立正確的解密,只有固定數(shù)量的明文字符不能被恢復。有限的錯誤傳播因為自同步序列密碼的狀態(tài)取決于n個已有的密文字符,如果一個密文字符在傳輸過程中被修改,則解密時最多影響到后續(xù)n個字符的解密恢復,會發(fā)生有限的錯誤傳播。-(由于具有自同步能力,)強化了其抗統(tǒng)計分析的能力2023/2/5112.同步序列密碼
同步流密碼SSC(SynchronousStreamCipher):
內(nèi)部狀態(tài)i與明文消息無關(guān),密鑰流將獨立于明文。因此,對于明文而言,這類加密變換是無記憶的,但它是時變的;只有保持兩端精確同步才能正常工作;無差錯傳播(ErrorPropagation)。2023/2/512同步序列密碼的特點-在保密通信過程中,通信的雙方必須保持精確的同步
對于同步序列密碼,只要通信雙方的密鑰序列產(chǎn)生器具有相同的種子密鑰和相同的初始狀態(tài),就能產(chǎn)生相同的密鑰序列。-對失步的敏感性
-收方的解密將一直錯誤,直到重新同步為止
-容易檢測插入、刪除、重播等主動攻擊無錯誤傳播當通信中某些密文字符產(chǎn)生了錯誤(如0變成1,或1變成0),只影響相應字符的解密,不影響其它字符。
對主動攻擊時異常敏感而有利于檢測。
2023/2/513-序列密碼-密鑰流序列應具備的性質(zhì)密碼設計者的最大愿望是設計出一個滾動密鑰生成器,使得密鑰經(jīng)其擴展成的密鑰流序列具有如下性質(zhì):
-極大的周期;
-良好的統(tǒng)計特性;
-抗線性分析;
-抗統(tǒng)計分析。實際上,序列密碼不可能做到“一次一密”但若密鑰流生成器生成的密鑰周期足夠長,且隨機性好,其安全強度可以得到保證!因此,序列密碼的設計核心在于密鑰流生成器的設計,序列密碼的安全強度取決于密鑰流生成器生成的密鑰周期、復雜度、隨機(偽隨機)特性等。2023/2/514常見的密鑰序列產(chǎn)生器目前,最為流行和實用的密鑰流產(chǎn)生器大多基于線性反饋移位寄存器。如下圖所示,其驅(qū)動部分是一個或多個線性反饋移位寄存器。LFSR………FLFSR1LFSR2LFSRn……FFF2023/2/515預備知識:布爾函數(shù)一般地,我們把n元布爾函數(shù)定義為如下映射:記為,其中
布爾函數(shù)是研究數(shù)字邏輯電路的重要數(shù)學工具,在序列密碼、分組密碼和公鑰密碼中,布爾函數(shù)都有重要的應用。特別在序列密碼中,布爾函數(shù)是重要的數(shù)學工具之一。2023/2/5161、真值表
小項表示實際上是布爾代數(shù)表達方式,即邏輯表達方式,此方法常用于布爾函數(shù)的設計實現(xiàn)。2、小項表示上例的小項表示為3、多項式表示因為,將小項表示中的邏輯非的形式換掉即得多項式表示。2023/2/5174.2線性反饋移位寄存器
-定義:反饋移存器的反饋邏輯電路可用一布爾函數(shù)f(a1,a2,…,an)來表示,若對應的布爾函數(shù)是線性函數(shù),則稱該反饋移存器為線性反饋移存器LFSR(linearfeedbackshiftregister),否則稱為非線性反饋移存器。ajaj-2aj-3aj-1圖1線性反饋移位寄存器ajaj-2aj-3圖2非線性反饋移位寄存器2023/2/518此時LFSR函數(shù)可寫為:f(a1,a2,…,an)=cna1
cn-1a2…c1an上圖中,常數(shù)ci=0或1,是模2加法。ci=0或1可用開關(guān)的斷開和閉合來實現(xiàn),這樣的線性函數(shù)共有2n個。輸出序列{at}滿足:a1+t=cnat+1cn-1at+2…c1an+t
其中,t為非負正整數(shù)。如下圖所示,是一個LFSR:(1)線性反饋移位寄存器因其實現(xiàn)簡單、速度快、有較為成熟的理論等優(yōu)點而成為構(gòu)造密鑰流生成器的最重要的部件之一,也非常適合用硬件實現(xiàn);(2)可以產(chǎn)生大周期序列;(3)可以產(chǎn)生具有良好統(tǒng)計性質(zhì)的序列;(4)易于利用代數(shù)方法對其進行分析。n級線性移存器的線性遞推式表示-優(yōu)勢:2023/2/519-工作原理(如下圖)假設在j時刻其內(nèi)部狀態(tài)為:在j+1時刻其內(nèi)部狀態(tài)變?yōu)椋浩渲校捍藭r的輸出為j時刻的最高級:n級反饋移位寄存器
每一存儲器稱為移位寄存器的一級,在任一時刻,這些級的內(nèi)容構(gòu)成該反饋移位寄存器的狀態(tài),每一狀態(tài)對應于GF(2)上的一個n維向量,共有2n種可能的狀態(tài)。移位寄存器是流密碼產(chǎn)生密鑰流的一個主要組成部分。GF(2)上一個n級反饋移位寄存器由n個二元存儲器與一個反饋函數(shù)f(a1,a2,…,an)組成,如右圖所示。2023/2/520ajaj-2aj-1第7時刻001第0時刻001第1時刻100第2時刻110第3時刻111第4時刻011第5時刻101第6時刻010產(chǎn)生序列為:10011101……比如:2023/2/521每一時刻的狀態(tài)可用n長序列“a1,a2,…,an
”n維向量“(a1,a2,…,an)”來表示,其中ai是第i級存儲器的內(nèi)容。初始狀態(tài)由用戶確定,當?shù)趇個移位時鐘脈沖到來時,每一級存儲器ai都將其內(nèi)容向下一級ai-1傳遞,并計算f(a1,a2,…,an)作為下一時刻的an。反饋函數(shù)f(a1,a2,…,an)是n元布爾函數(shù),即n個變元a1,a2,…,an
可以獨立地取0和1兩個可能的值,函數(shù)中的運算有邏輯與、邏輯或、邏輯補等運算,最后的函數(shù)值也為0或1。-表示方法1、線性遞推式表示一個r級線性移存器的線性遞推式表示為:2023/2/522an-1an-2an-3an-4an2、反饋多項式表示一個r級線性移存器的反饋多項式表示為:x1x2x3x4通常,用來表示一個LFSR。2023/2/523例:下圖是一個3級反饋移位寄存器,其初始狀態(tài)為(a1,a2,a3)=(1,0,1),輸出可由下表求出。即輸出序列為101110111011…,周期為4。2023/2/524-具體來說:在初始狀態(tài)下,即0時刻在第一個時鐘到來時101f(a1,a2,a3)=a1a2⊕a3第1級第2級第3級S0=(1,0,1)輸出10f(a1,a2,a3)=a1a2⊕a3第1級第2級第3級S1=(0,1,1)a1=1,a2=0,a3=11輸出1a02023/2/525則其輸出序列和狀態(tài)序列如下:
狀態(tài)序列:(1,0,1)(0,1,1)(1,1,1)(1,1,0)(1,0,1)(0,1,1)….
輸出序列:101110….
由上面的結(jié)果可以看出,這個反饋移位寄存器的狀態(tài)序列和輸出序列都是周期序列,其周期為4。在第二個時鐘到來時11f(a1,a2,a3)=a1a2⊕a3第1級第2級第3級S2=(1,1,1)a1=1,a2=1,a3=01輸出0a02023/2/5262023/2/527例:一個5級線性反饋移位寄存器例設一個GF(2)上的4階線性反饋移位寄存器如下圖所示,其反饋函數(shù)為f(x1,x2,x3,x4)=x1⊕x2,初始狀態(tài)為S0=(1,0,1,1)容易驗證該線性反饋移位寄存器的輸出序列為:
101111000100110101111000100110……
這個線性移位寄存器序列是一個周期序列,周期為15。x4x3x2x1+輸出序列2023/2/528(1)在線性反饋移位寄存器中總是假定c1,c2,…,cn中至少有一個不為0,否則f(a1,a2,…,an)≡0,這樣的話,在n個脈沖后狀態(tài)必然是00…0,且這個狀態(tài)必將一直持續(xù)下去。
注:(2)若只有一個系數(shù)不為0,設僅有cj不為0,實際上是一種延遲裝置。一般對于n級線性反饋移位寄存器,總是假定cn=1。(3)n級線性反饋移位寄存器的狀態(tài)周期小于等于2n-1。輸出序列的周期與狀態(tài)周期相等,也小于等于2n-1。只要選擇合適的反饋函數(shù)便可使序列的周期達到最大值2n-1。
2023/2/5294.3序列和周期一般地,一個移存器序列表示為:
對于序列,若存在整數(shù)p使得對任意正整數(shù)k有成立,稱滿足該式的最小正整數(shù)p為序列的周期。
即:n級線性反饋移存器的最長周期:,能達到最長周期的線性移存器序列稱為m序列。-在密碼學中,我們希望參與變換的序列周期越長越好,因此對線性反饋移存器我們更感興趣的是能達到最長周期的序列,即m序列。定義1:n級線性反饋移位寄存器產(chǎn)生的序列{ai}的周期達到最大值2n-1時,稱{ai}為n級m序列。2023/2/530(1)如何利用級數(shù)盡可能小的線性移位寄存器產(chǎn)生周期長、統(tǒng)計性能好的序列;(2)已知一個序列{ai},如何構(gòu)造一個盡可能短的線性移位寄存器來產(chǎn)生它。-m序列的隨機性:序列密碼的安全性取決于密鑰流的安全性,要求密鑰流序列有良好的隨機性,以使密碼分析者對它無法預測。也就是說,即使截獲其中一段,也無法推測后面是什么。如果密鑰流是周期的,要完全做到隨機性是困難的。嚴格地說,這樣的序列不可能做到隨機,只能要求截獲比周期短的一段時不會泄露更多信息,這樣的序列稱為偽隨機序列。2023/2/5311.
Golomb隨機性假設
為了度量周期序列的隨機性,Golomb提出了下列三條標準:凡滿足這三條隨機性假設的序列,被Golomb稱為偽隨機序列或者偽噪聲序列。(1)一個周期中0、1的個數(shù)相差不超過1個;(2)一個周期段中,長度為k的游程占游程總數(shù)的(這里假定至少有兩個長為k的游程);(3)周期自相關(guān)函數(shù)是二值函數(shù)。2、m序列統(tǒng)計特性性質(zhì)1
:r級m序列的一個周期中,1出現(xiàn)個,0出現(xiàn)個。1)m序列的“0、1”信號的頻次規(guī)律2)m序列的游程分布規(guī)律2023/2/532
若干個信號連續(xù)出現(xiàn)的現(xiàn)象稱游程。對于序列a,稱a中形如01…10或10…01的段為一個1游程或0游程,游程中所含1或0的個數(shù)稱為該游程的長度,如0110為一個長為2的1游程,101為一個長為1的0游程。性質(zhì)2:將r級m序列的一個周期段首尾相接,其游程總數(shù)為N=2r-1;其中沒有長度大于r的游程;有1個長度為r的1游程,沒有長度為r的0游程;沒有長度為r-1的1游程,有1個長度為r-1的0游程;有個長度為的1游程,有個長度為
的0游程。再如00110111,其前兩個數(shù)字是00,稱長為2的0游程;接著是11,是長為2的1游程;再下來是長為1的0游程和長為3的0游程。選講2023/2/533
3)
m序列的自相關(guān)特性
若是一個周期為p的0、1序列,定義{0,1}上的映射為:,定義序列的自相關(guān)函數(shù)為:性質(zhì)3:若是一個r級m序列,那么
Golomb隨機性假設只是隨機性的必要條件,一隨機序列應該滿足Golomb隨機性假設。但滿足上述標準的周期序列并不一定能滿足我們對密鑰流序列在安全性上的要求,這種安全性是寓于隨機性之中的。選講2023/2/534例如:m序列完全滿足Golomb隨機性假設,但m序列是高度可預測的。-線性移位寄存器的輸出序列因為n級線性移位寄存器的輸出序列{ai}滿足遞推關(guān)系:
an+k=c1an+k-1c2an+k-2…cnak,對任何k≥1成立。這種遞推關(guān)系可用一個一元高次多項式
p(x)=1+c1x+…+cn-1xn-1+cnxn
表示,稱這個多項式為LFSR的特征多項式。由于ai∈GF(2)(i=1,2,…,n),所以共有2n組初始狀態(tài),即有2n個遞推序列,其中非恒零的有2n-1個,記2n-1個非零序列的全體為G(p(x))。定義2:給定序列{ai},冪級數(shù),稱為該序列的生成函數(shù)。2023/2/535
定義3:設p(x)是GF(2)上的多項式,使p(x)|(xp-1)的最小p稱為p(x)的周期或階。(選講)
定理2:若序列{ai}的特征多項式p(x)定義在GF(2)上,p是p(x)的周期,則{ai}的周期r|p。(選講)n級LFSR輸出序列的周期r不依賴于初始條件,而依賴于特征多項式p(x)。實際上,我們感興趣的是LFSR遍歷2n-1個非零狀態(tài),這時序列的周期達到最大2n-1,這種序列就是m序列。特征多項式滿足什么條件時,LFSR的輸出序列為m序列。
定義4:僅能被非零常數(shù)或者本身的常數(shù)倍除盡,不能被其他多項式整除的多項式稱為不可約多項式。定理3:n級LFSR產(chǎn)生的序列有最大周期2n-1的必要條件是其特征多項式為不可約多項式。2023/2/536但該定理的逆命題不成立,即LFSR產(chǎn)生的特征多項式為不可約多項式,但其輸出序列不一定是m序列。例3:設f(x)=x4+x3+x2+x+1是GF(2)上的不可約多項式,但是它的輸出序列是000110001100011…,周期是5,不是m序列。解:f(x)的不可約性由多項式x,x+1,x2+x+1不能整除f(x)而得。對于k≥5,輸出序列用ak=ak-1ak-2ak-3ak-4
檢驗即可。定義5:若n次不可約多項式p(x)的階為2n-1,稱其為n次本原多項式。(選講)定理4:{ai}為n級m序列的充要條件是其特征多項式p(x)為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 多中心性網(wǎng)狀組織細胞增生癥的臨床護理
- 急性心力衰竭的護理
- 《第一章》課件-第七章第一節(jié):大數(shù)據(jù)技術(shù)與應用-應用場景
- 《第一章》課件-第七章第二節(jié):大數(shù)據(jù)技術(shù)與應用-技術(shù)體驗-天貓大數(shù)據(jù)之數(shù)據(jù)清洗
- 妊娠合并甲狀腺功能亢進的臨床護理
- 癤癰的臨床護理
- 孕期臉色發(fā)黃的健康宣教
- 腺樣體切除術(shù)的健康宣教
- JJF(陜) 017-2019 數(shù)字溫濕度計校準規(guī)范
- 模擬電子電路基礎課件大全課件
- 《社會調(diào)查研究與方法》考試試題與答案(共22頁).doc
- 強直性脊柱炎(大僂)診療方案
- 幼兒園算術(shù)10以內(nèi)加減法練習題直接打印版1
- 控制系統(tǒng)的校正
- 陜西生物醫(yī)藥項目融資報告-(模板范本)
- 企業(yè)創(chuàng)新成功案例(課堂PPT)
- 城市道路綠化工程勞動力機械設備和材料投入計劃方案
- 輕型井點降水計算
- 我和我的祖國歌詞(打印版)
- 生活用紙生產(chǎn)工藝流程
- 安全人機工程設計餐廳
評論
0/150
提交評論