資源描述:
《(現(xiàn)代密碼學課件)02序列密碼.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第二章流密碼密碼體制私鑰密碼公鑰密碼流密碼分組密碼RSA密碼橢圓曲線密碼1一、二進制與位運算二進制表示字符編碼常用位運算位運算練習2二進制表示在現(xiàn)代密碼算法中,我們通常需要將明文用二進制的明文流來表示,然后再對二進制的明文流加密。任何十進制數(shù)字都可以用二進制數(shù)字表示練習:將自己的學號的后三位用二進制數(shù)字表示(后面的練習還需要用到)3字符編碼在現(xiàn)代的計算機儲存和交換信息中,需要對每個字符和文字都用二進制編碼ASCII編碼:一個字節(jié)(8比特)長,包含了所有英文字母和一些標點符號的編碼GBK編碼:兼容ASCII編碼,英文一個字節(jié)長,中
2、文兩個字節(jié)長,國內(nèi)制定的編碼標準UTF-8編碼:統(tǒng)一碼(Unicode)的一種編碼方案,包含世界上所有的文字。兼容ASCII編碼,非英文的西方字符兩個字節(jié)長,常用的中日韓文字三個字節(jié)長4常用位運算在密碼算法中經(jīng)常會使用一些位運算(或稱為按比特運算)因此我們需要一些基本的位(bit)運算知識。下面的A和B在0和1中取值取反運算(NOT):異或運算(XOR):A?B,逐位模2加法與運算(AND):A?B或者A·B,逐位相乘5位運算練習6二、流密碼的基本概念分組密碼(左)和流密碼(右)的比較7流密碼基本概念流密碼(StreamCiph
3、er)是利用密鑰k產(chǎn)生一個密鑰流,用密鑰流對明文流逐次作用進行加密,解密時以同樣的密鑰流對密文流實現(xiàn)。密鑰流:z=z1z2…zi…明文流:m=m1m2…mi…,其中mi?M密文流:c=c1c2…ci…,其中ci?C加密變換:ci=E(zi,mi)解密變換:mi=D(zi,ci)8流密碼的分類密鑰流由密鑰流生成器產(chǎn)生:zi=f(k,σi),其中σi是密鑰生成器在時刻i的狀態(tài)因此密鑰流由函數(shù)f,密鑰k和指定的初始狀態(tài)σ0完全確定根據(jù)密鑰生成器的狀態(tài)是否依賴于輸入的明文流,可以將流密碼分為兩種自同步流密碼(SelfSynchronou
4、sStreamCipher):σi依賴于明文字符同步流密碼(SynchronousStreamCipher):σi獨立于明文字符9自同步流密碼自同步流密碼SSSC(Self-SynchronousStreamCipher)?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)。優(yōu)點:具有自同步能力,強化了其抗統(tǒng)計分析的能力缺點:有n位長的差錯傳播。10同步流密碼同步流密碼SSC(Synchron
5、ousStreamCipher):?i與明文消息無關(guān),密鑰流將獨立于明文。特點:對于明文而言,這類加密變換是無記憶的。但它是時變的。只有保持兩端精確同步才能正常工作。對主動攻擊時異常敏感而有利于檢測無差錯傳播(ErrorPropagation)本課程中主要關(guān)注同步流密碼11同步流密碼模型信道ciD(zi,ci)cimiE(zi,mi)mi密鑰流生成器zizi密鑰流生成器kk安全信道12同步流密碼結(jié)構(gòu)在同步流密碼中,由于zi=f(k,σi)與明文字符無關(guān),因而此時密文字符ci=E(zi,mi)也不依賴于此前的明文字符。因此,可將同
6、步流密碼的加密器分成密鑰流產(chǎn)生器和加密變換器兩個部分。二元加法流密碼是目前最為常用的流密碼體制,其加密變換可表示為ci=E(zi,mi)=mi?zi。13流密碼的特點安全性:當密鑰流是具有均勻分布的離散無記憶隨機序列時,在理論上是不可破譯的.困難性:真正的具有均勻分布的隨機序列是不可能重復(fù)產(chǎn)生的。密鑰流長(至少與明文流一樣長),其管理(存儲、分配)難.核心問題:密鑰流生成器的設(shè)計。14三、密鑰流生成器流密碼加密器密鑰流生成器加密變換器(二元加法流密碼)線性部分非線性部分15有限狀態(tài)自動機有限狀態(tài)自動機(finite-statea
7、utomaton)具有離散輸入和輸出(輸入集和輸出集均有限)的一種數(shù)學模型有限狀態(tài)集S={si
8、i=1,2,…,l}有限輸入字符集X={xj
9、j=1,2,…,m}有限輸出字符集Y={yk
10、k=1,2,…,n}轉(zhuǎn)移函數(shù)yk=f1(si,xj)sh=f2(si,xj)在si狀態(tài)輸入xj∈X,輸出yk∈Y,且變成sh狀態(tài)16有限狀態(tài)自動機:例子S={s1,s2,s3},X={x1,x2,x3},Y=(y1,y2,y3)轉(zhuǎn)移函數(shù)f1x1x2x3s1s2s3y1y2y3y3y1y2y2y3y1f2x1x2x3s1s2s3s2s3s1s1s
11、2s3s3s1s217有限狀態(tài)自動機:轉(zhuǎn)移圖對于前面的例子,可以用右邊的轉(zhuǎn)移圖來表示該有限狀態(tài)自動機若輸入為x1x2x1x3x3x1初始狀態(tài)s1則輸出為y1y1y2y1y3y118密鑰流產(chǎn)生器同步流密碼的密鑰流產(chǎn)生器可看為一個參數(shù)為k的有限狀態(tài)自動機輸出集Z,狀