第三章對稱密碼體制08_第1頁
第三章對稱密碼體制08_第2頁
第三章對稱密碼體制08_第3頁
第三章對稱密碼體制08_第4頁
第三章對稱密碼體制08_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

按算法的不同,對稱密碼體制又分為兩類:序列密碼體制

分組密碼體制3.1兩種對稱密碼體制

序列(流)密碼(StreamCipher):明文信息逐位(或逐字符)和一個永不重復的隨機密鑰序列異或,且密鑰的長度等于明文的長度。

算法描述:

Ci=Pi⊕ki

Pi=Ci⊕ki

3.1.1序列密碼體制如:

加密過程

解密過程明文(P):11010密文(C):00111⊕密鑰(K):11101⊕密鑰(K):11101--------------------------------------------------------------

密文(C):00111明文(P):11010

本例中,序列流的長度為5位,則密鑰長度也應為5位,而其密鑰空間應為?序列密碼的優(yōu)點:計算簡單,效率高,保密性好。

缺點:密鑰管理困難(因為需要有可靠的密鑰傳輸渠道和密鑰保存方法)。25,即可能的加密密鑰為

32個。

分組密碼:

在密鑰的控制下一次變換一個明文分組。

3.1.2分組密碼體制

--分組長度要足夠長,密鑰量應足夠大以防止窮舉密鑰空間的攻擊。

--密碼算法應足夠復雜使破譯者除了窮舉法攻擊之外,找不到其它簡潔的數(shù)學破譯方法。分組密碼設計要求基于加密的基本方法――代替和換位.(代替:用以實現(xiàn)擴散;換位:用以實現(xiàn)混亂)Diffusion(擴散)

明文的的統(tǒng)計結(jié)構(gòu)被擴散消失在密文中,明文一位影響密文的多位,增加密文與明文之間關系的復雜性。Confusion(混亂)

強調(diào)密鑰的作用,使得密文的統(tǒng)計特性與密鑰的取值之間的關系盡量復雜。分組密碼的工作機制首先要將一個明文消息M分成若干塊,

M=M1,M2,…..,Mi分別對每一塊進行加密:基于密鑰替換一次再換位一次,構(gòu)成一輪;這個過程重復多次構(gòu)成循環(huán),循環(huán)的正向進行構(gòu)成加密,反向進行構(gòu)成解密。(目前,使用最多的對稱密碼體制就是分組密碼體制)分組密碼算法的基本思想

有幾種分組密碼使用模式:(1)電子密碼本(ECB)C=C1C2…..Ci其中Ci=E(Mi,k)

特點:每個明文分組的加密是獨立的。分組的長度是64位,每一個明文分組與264個密文分組中的一個相對應。在早期流行的商業(yè)軟件產(chǎn)品中,它曾經(jīng)是最常用的方式。出于安全考慮,該方式目前已很少使用。分組密碼的應用模式

優(yōu)點:實現(xiàn)簡單。缺點:易于遭受攻擊。攻擊者可以根據(jù)已知的“明文—密文對”建立一個自己的密碼本來實施攻擊。(2)密碼分組鏈接(CBC)(目前多采用這種模式)

特點:

前后分組有關聯(lián),即前一分組的加密結(jié)果被用于后一分組的加密,這樣,每一個分組的密文不僅依賴于該分組的明文,而且還受前面所有分組的影響。

C1=E(M1⊕V,k),V--初始向量

….

Ci=E(Mi⊕Ci-1,k)

,i=1,2,…,s

最后一塊|Mi|若不滿64位,則應補齊,以保證密文與明文長度相等。(3)輸出反饋(OFB)(4)密文反饋(CFB)

這兩種模式的特點都是將分組用流密碼方式加密,目前不常用。常用的分組密碼算法包括:DES,3DES,IDES,RC5,….,AES(Rijndael)3.2DES3.2.1DES概述DES(數(shù)據(jù)加密標準)為feistel密碼。H.Feistel是IBM的一個專家,最初設計了一個128位密鑰的分組密碼,70年代因不需要128位長的密鑰,太浪費,降為64位(8個字節(jié)),其中每個字節(jié)的最后一位為奇偶校驗,因此,實際密鑰長度為56位。

DES的密鑰空間為256,即對一個分組的可能加密密鑰為256個。對DES攻擊的唯一有效方法是:“窮舉法”。

窮舉法:

逐個試驗所有的密鑰k,直到C=Ek(m)。由于DES的256的密鑰空間,通過猜測256個可能的密鑰破譯一個分組,按當時的計算機水平,使用窮舉法需要2283年。該標準1977年由美國國家標準局(NBS)頒布,1981年,被美國商業(yè)組織所采納,作為美國國家標準數(shù)據(jù)加密算法,之后,很快被用于政府、金融等領域。并成為事實上的國際標準。NBS規(guī)定:每5年對DES進行一次重新審查和修訂。

1983年

--沒有任何修改

1987年

--NBS認為DES已不夠安全,宣布不再對其進行認證,但仍宣布過渡5年。

1993年

--由于NSA沒有提出新的民用加密算法,而且DES也沒有被攻破的公開聲明,因此要繼續(xù)過度5年。

1998年--

1997年人們通過窮舉密鑰破譯了它,(通過網(wǎng)絡,利用集體的力量,用了大約100天左右的時間)。它的主要缺陷就是密鑰太短。關于DES的另一個爭論焦點是,DES中是否存在陷門。但由于當時還沒有更好的算法來代替它,所以1998年的情況依然如此,DES仍然繼續(xù)使用。

2000年10月,NIST(美國國家標準和技術(shù)協(xié)會)宣布將從15種侯選算法中選出一項新的加密標準。新的標準將會代替舊的DES算法。Rijndael被選中成為將來的AES(高級加密標準AdvancedEncryptionStandard)。Rijndael這個名字是從它的兩個發(fā)明者Rijmen和Daemen的名字得來的。從2001年開始,美國政府開始使用DES的“接班人”--AES。在其他國家,DES還在廣泛使用。

DES是一個分組加密算法,它以64位為一個分組對數(shù)據(jù)加密。64位一組的明文從算法的一端輸入,64位的密文從另一端輸出。由于它是對稱體制,加密解密使用同一算法。DES算法的原理:簡單地說,算法只不過是加密的兩個基本技術(shù)―混亂(confusion)和擴散(diffusion)的組合。實現(xiàn)混亂和擴散的方法是:代替和換位。

3.2.2DES的基本原理

它基于密鑰作用于明文,運算一次為一輪,共進行16輪相同的運算,即在明文分組上16次實施相同的組合運算,最后輸出密文。為什么要進行16輪迭代運算?輪數(shù)越多越安全,但代價與輪數(shù)成正比,16輪是一個合適的選擇。

算法流程:

首先,通過一個初始置換將64位的明文分組分成左右兩部分,各32位長,然后進行16輪完全相同的運算。這些運算被稱為f函數(shù),在運算過程中,數(shù)據(jù)與密鑰結(jié)合。

f函數(shù)的作用是將32比特的0,1打亂,即實現(xiàn)混亂。每一輪中的密鑰K不同。

1.算法的描述:

輸入X=x1,x2,…….,x64(明文)

初始換位L(0)=L1,….,L32

R(0)=R1,…R32

L(1)=L1,….,L32

R(1)=R1,…R32L(16)=L1,….,L32

R(16)=R1,…R32Y=y1,y2,……,y64(密文)k1ffk16逆換位

⊕┋┋┋

示意圖:2.DES的加密和解密過程

令i表示迭代次數(shù),

表示逐位模2求和,f為加密函數(shù)。加密過程:解密過程:初始置換IP和初始逆置換IP-1

:3.每一輪的簡單描述

每一輪:(如下圖)簡單描述:K(48位)32位8個S盒

48位

32位在每一輪中,密鑰位移位,然后再從密鑰的56位中選出48位。通過一個擴展置換將數(shù)據(jù)的右半部分擴展成48位(實現(xiàn)擴散),并通過一個異或操作與48位密鑰結(jié)合,再通過8個S盒將這48位替代成新的32位數(shù)據(jù)(實現(xiàn)混亂)

,再將其置換一次。這四步運算為一輪,稱為函數(shù)f

。

DES的安全性主要依賴于S盒,而且S盒是唯一的非線性部分。

解密過程與加密過程一樣,只是所使用的密鑰次序為逆序。Li-1(32比特)Ri-1(32比特)Li(32比特)48比特寄存器選擇擴展運算E48比特寄存器子密鑰Ki(48比特)32比特寄存器選擇壓縮運算S置換運算PRi(32比特)Li=Ri-1DES的一輪迭代4.函數(shù)f

擴展:32->48S-box(進行壓縮):48->32P盒置換(1)擴展:Ri從32->4832|01020304|0504|05060708|0908|09101112|1312|13141516|1716|17181920|2120|21222324|2524|25262728|2928|29303132|0132位48位(2)S-Box選擇壓縮運算48比特被分成8個6比特的子塊(B1,B2,B3,B4,B5,B6,B7,B8),輸入到相應的S盒(S1,S2,S3,S4,S5,S6,S7,S8)。對每個盒,6比特輸入中的第1和第6比特組成的二進制數(shù)確定“S-Box表”的行,中間4位二進制數(shù)用來確定表的列。表中相應行、列位置的十進制數(shù)的4位二進制數(shù)表示作為輸出。例如:若子塊B2=101001,輸入到S2,則S2對應“S-Box表”的行數(shù)和列數(shù)的二進制表示分別是:?

11和0100,即第3行和第4列,查表知:對應的十進制數(shù)為3,用4位二進制數(shù)表示為0011,即S2的輸出為0011。所以,可用0011代替101001。表S-Box(3)P盒置換1607202129122817011523260518311002082414322703091913300622110425輸入輸出數(shù)據(jù)的位置置換。如:將輸入的第16位放到輸出的第1位上,將輸入的第23位放到輸出的第?

位上?

115.子密鑰的產(chǎn)生置換選擇64位密鑰C0(28位)D0(28位)循環(huán)左移循環(huán)左移C1(28位)D1(28位)(56位)(48位)壓縮置換K1Ki(48位)壓縮置換(56位)循環(huán)左移循環(huán)左移Ci(28位)Di(28位)

密鑰每輪移動位數(shù)輪數(shù):123456789…位數(shù):112222221…

密鑰置換表壓縮置換6.數(shù)據(jù)的變位

64位的數(shù)據(jù)在加密之前和加密之后各進行一次重新變換,其目的?

目的不是為了增加保密強度,而是為了增加軟件實現(xiàn)的難度,降低計算效率。

(1)DES的設計思想有利于硬件的實現(xiàn)設計者希望對加密技術(shù)能夠適當控制,利用硬件實現(xiàn)的復雜性使得只有少數(shù)國家和少數(shù)廠家才有能力設計和生產(chǎn)這種芯片,并將其實用化。由于其算法的簡單性,軟件實現(xiàn)容易,所以算法的設計者盡可能降低其計算效率,以提高硬件實現(xiàn)的優(yōu)勢。

隨著計算機系統(tǒng)性能提高

DES的軟件實現(xiàn)越來越多。7.對DES討論軟硬件實現(xiàn)的比較:硬件實現(xiàn)方面:DEC公司,DES芯片處理速度可達1Gb/s(每秒1000Mb),每秒可處理1680萬個分組;美國VLSI公司,6868商用芯片處理速度為512Mb/s。軟件實現(xiàn)方面:基于8048/66MHz的處理速度為2.7Mb/s;基于SunSparc10/52的處理速度為3.4Mb/s。(2)密鑰長度的爭論關于DES算法的另一個最有爭議的問題就是擔心實際56比特的密鑰長度不足以抵御窮舉式攻擊,因為密鑰量只有256≈1017

個每秒測試100萬個密鑰的機器大約需要一天就可以搜索整個密鑰空間。估計制造這樣的機器大約需要2000萬美元。

(3)S-Box問題

在DES中,其他算法都是線性的,只有S盒運算是非線性的,它提供了密碼算法所必須的混亂作用,改變S盒的一個輸入至少要引起兩位的輸出改變。S盒不易于分析,它提供了更好的安全性,所以S盒是算法的關鍵所在。但F函數(shù)(S-Box)設計原理未知,是否存在密碼分析的捷徑(人們懷疑S盒中可能存在著不安全的因素)?另外,是否留有陷門?3.3DES算法的程序?qū)崿F(xiàn)(自選)根據(jù)DES算法的原理,利用C語言,VC++6.0環(huán)境下,實現(xiàn)其加密和解密算法。3.4其它對稱加密算法有多種,只簡介其中的3種:1.IDEA:國際數(shù)據(jù)加密算法

該算法是由兩個瑞士人于1991年提出的,其算法在形式上與DES類似,也是使用循環(huán)加密方式,把64位的明文加密成64位的密文。所不同的是,IDEA使用128位的密鑰,強度高于DES。加密和解密時使用的密鑰不同,但它們是從同一個密鑰派生出來,所以仍屬于對稱密碼體制。使用128位密鑰加密64位明文分組,窮舉分析需要1038次試探。算法本身傾向于軟件實現(xiàn),加密速度快。到目前為止,尚未找到破譯它的方法。但IDEA沒有代替DES,其中一個可能的原因是它有專利,另一個原因是人們一直在等待密碼分析家分析該算法的安全強度。2.三重DES

以DES為基本模塊,通過組合分組方法設計出分組加密算法,是DES的的多重加密方法,即:

加密—>解密—>加密

所以也稱三重DES。使用3DES得到的密文更難用窮舉法破譯。

設:Ek()和Dk()代表DES算法的加/解密過程,K為密鑰,P代表明文,C代表密文,則

加密過程:C=Ek3(Dk2(Ek1(P)))

解密過程:P=Dk1((EK2(Dk3(C)))

其中:K1、K2、K3決定了算法的安全性,若三個密鑰互不相同,本質(zhì)上就相當于用一個長為168位的密鑰進行加密。3DES的具體實現(xiàn):

若數(shù)據(jù)對安全性要求不很高,K1可以等于K3。在這種情況下,密鑰的有效長度為112位。例如:

選用兩個56位密鑰(加上校驗位后為64位),要加密的數(shù)據(jù)先后三次通過DES進行加密。數(shù)據(jù)先通過第一個56位密鑰進行加密。再通過第二個密鑰,然后再次通過第一個密鑰。到目前為止,還沒有人給出攻擊三重DES的有效方法。對其密鑰空間中密鑰進行蠻干搜索,那么由于空間太大為2112=5×1033,這實際上是不可行的。若用差分攻擊的方法,相對于單一DES來說復雜性以指數(shù)形式增長。雖然目前還沒有針對兩個密鑰三重DES的實用攻擊方法。但對兩個密鑰三重DES的攻擊有一些設想,以這些設想為基礎將來可能設計出更成功的攻擊技術(shù)。另外,隨著Internet、

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論