國(guó)際數(shù)據(jù)加密算法_第1頁(yè)
國(guó)際數(shù)據(jù)加密算法_第2頁(yè)
國(guó)際數(shù)據(jù)加密算法_第3頁(yè)
國(guó)際數(shù)據(jù)加密算法_第4頁(yè)
國(guó)際數(shù)據(jù)加密算法_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.學(xué)院:計(jì)算機(jī)與信息工程學(xué)院 專業(yè):信息管理與信息系統(tǒng)姓名: 魏趁趁 學(xué)號(hào): 110903058 幾種分組密碼算法的分析與對(duì)比 分組密碼是將明文消息編碼表示后的數(shù)字(簡(jiǎn)稱明文數(shù)字)序列,劃分成長(zhǎng)度為n的組(可看成長(zhǎng)度為n的矢量),每組分別在密鑰的控制下變換成等長(zhǎng)的輸出數(shù)字(簡(jiǎn)稱密文數(shù)字)序列。下面我就搜集的幾種分組密碼算法進(jìn)行分析對(duì)比:一、國(guó)際數(shù)據(jù)加密算法(IDEA)IDEA是International Data Encryption Algorithm的縮寫,即國(guó)際數(shù)據(jù)加密算法,它的原型是1990年由瑞士聯(lián)邦技術(shù)學(xué)院X.J.Lai和Massey提出的PES。1992年 Lai和Massey對(duì)

2、PES進(jìn)行了改進(jìn)和強(qiáng)化,產(chǎn)生了IDEA。這是一個(gè)非常成功的分組密碼,并且廣泛的應(yīng)用在安全電子郵件PGP中。IDEA加密算法是一個(gè)分組長(zhǎng)度為64位的分組密碼算法,密鑰長(zhǎng)度為128位,同一個(gè)算法即可用于加密,也可用于解密。這是基于“相異代數(shù)群上的混合運(yùn)算”設(shè)計(jì)思想,算法運(yùn)用硬件與軟件實(shí)現(xiàn)都很容易,而且比DES算法在實(shí)現(xiàn)上快的多。IDEA自問世以來,已經(jīng)經(jīng)歷了大量的詳細(xì)審查,對(duì)密碼分析具有很強(qiáng)的抵抗能力,在多種商業(yè)產(chǎn)品中被使用。IDEA算法是對(duì)稱密碼體制中的一種基于數(shù)據(jù)塊的分組加密算法,整個(gè)算法包含子密鑰產(chǎn)生、數(shù)據(jù)加密過程、數(shù)據(jù)解密過程三部分。該算法規(guī)定明文與密文塊均為64b,密鑰長(zhǎng)度為128b,加

3、密與解密相同,只是密鑰各異,其基本工作原理如圖1所示。圖1 IDEA工作原理IDEA是一種由8個(gè)相似圈(Round)和一個(gè)輸出變換(Output Transformation)組成的迭代算法。IDEA的每個(gè)圈都由三種函數(shù):模(216+1)乘法、模216加法和按位XOR組成。在加密之前,IDEA通過密鑰擴(kuò)展(Key Expansion)將128bit的密鑰擴(kuò)展為52Byte的加密密鑰EK(Encryption Key),然后由EK計(jì)算出解密密鑰DK(Decryption Key)。EK和DK分為8組半密鑰,每組長(zhǎng)度為6Byte,前8組密鑰用于8圈加密,最后半組密鑰(4Byte)用于輸出變換。ID

4、EA的加密過程和解密過程是一樣的,只不過使用不同的密鑰(加密時(shí)用EK,解密時(shí)用DK)。 密鑰擴(kuò)展的過程如下:(1) 將128bit的密鑰作為EK的前8byte (2) 將前8byte循環(huán)左移25bit,得到下一8byte,將這個(gè)過程循環(huán)7次 (3) 在第7次循環(huán)時(shí),取前4byte作為EK的最后4byte(4) 至此52byte的EK生成完畢。密鑰擴(kuò)展的過程如表1所示,為了能夠清楚的看出每個(gè)8Byte的關(guān)系,在表1中用粗線條將將每個(gè)8Byte劃分開了。IDEA加密算法用了52個(gè)子密鑰(8輪中的每一輪需要6個(gè),其他4個(gè)用于輸出變換)。首先,將128-位密鑰分成8個(gè)16-位子密鑰。這些事算法的第一批

5、8個(gè)子密鑰(第一輪6個(gè),第二輪頭兩個(gè))。然后,密鑰向左環(huán)移動(dòng)x位后再分成8個(gè)子密鑰。開始4個(gè)用在第二輪,后面四個(gè)用在第三輪。密鑰再次向左環(huán)移動(dòng)25位,產(chǎn)生另外8個(gè)子密鑰,如此進(jìn)行指導(dǎo)算法結(jié)束。具體是:IDEA總共進(jìn)行8輪迭代操作,每輪需要6個(gè)子密鑰,另外還需要4個(gè)額外子密鑰,所以總共需要52個(gè)子密鑰,這52個(gè)子密鑰都是從128位密鑰中擴(kuò)展出來的。首先把輸入的key分成8個(gè)16位的子密鑰,1-6號(hào)子密鑰供第一輪加密使用,7-8號(hào)子密鑰供第二輪使用,然后把這128位密鑰循環(huán)左移25位,這樣key=k26k27k28k29k24k25。把新生成的key在分成8個(gè)16位的子密鑰,1-4號(hào)子密鑰供第二輪

6、使用,5-8號(hào)子密鑰供第三輪加密使用。到此,已經(jīng)得到了16個(gè)子密鑰,如此繼續(xù),當(dāng)循環(huán)左移了5次之后,已經(jīng)生成了48個(gè)子密鑰,還有四個(gè)額外的子密鑰需要生成,再次把key循環(huán)左移25位,選取劃分出來的8個(gè)16位子密鑰的前四個(gè)作為那四個(gè)的額外加密密鑰。至此,供加密使用的52個(gè)子密鑰生成完畢。輸入的64-位數(shù)據(jù)分組被分成4個(gè)16-位子分組:x1,x2,x3和x4。這4個(gè)子分組成為算法的第一輪的輸入,總共有8輪。在每一輪中,這4個(gè)子分組相互相異或,相乘,相加,且與6個(gè)16-位子密鑰相異或,相乘,相加。在輪與輪間,第二個(gè)和第三個(gè)子分組交換。最后輸出變換中4個(gè)子分組與4個(gè)子密鑰進(jìn)行運(yùn)算。目前IDEA在工程中

7、已有大量應(yīng)用實(shí)例,PGP(Pretty Good Privacy)就使用IDEA作為其分組加密算法;安全套接字層SSL(Secure Socket Layer)也將IDEA包含在其加密算法庫(kù)SSLRef中;IDEA算法專利的所有者Ascom公司也推出了一系列基于IDEA算法的安全產(chǎn)品,包括:基于IDEA的Exchange安全插件、IDEA加密芯片、IDEA加密軟件包等。IDEA算法的應(yīng)用和研究正在不斷走向成熟。2、 RC5算法RC5分組密碼算法是1994由麻薩諸塞技術(shù)研究所的Ronald L. Rivest教授發(fā)明的,并由RSA實(shí)驗(yàn)室分析。它是參數(shù)可變的分組密碼算法,三個(gè)可變的參數(shù)是:分組大小

8、、密鑰大小和加密輪數(shù)。在此算法中使用了三種運(yùn)算:異或、加和循環(huán)。RC5是種比較新的算法,Rivest設(shè)計(jì)了RC5的一種特殊的實(shí)現(xiàn)方式,因此RC5算法有一個(gè)面向字的結(jié)構(gòu):RC5-w/r/b,這里w是字長(zhǎng)其值可以是16、32或64對(duì)于不同的字長(zhǎng)明文和密文塊的分組長(zhǎng)度為2w位,r是加密輪數(shù),b是密鑰字節(jié)長(zhǎng)度。由于RC5一個(gè)分組長(zhǎng)度可變的密碼算法,為了便于說明在本文中主要是針對(duì)64位的分組w=32進(jìn)行處理的,下面詳細(xì)說明了RC5加密解密的處理過程: 1、RC5的密鑰擴(kuò)展 對(duì)給定的密鑰K來說,經(jīng)過一些復(fù)合運(yùn)算可產(chǎn)生總數(shù)為t的字密鑰,使得每一輪都分配一對(duì)密鑰。除此之外的非輪運(yùn)算部分也要分配一對(duì)密鑰??傆?jì)產(chǎn)

9、生 t=2r+2 個(gè)子密鑰,每個(gè)密鑰的長(zhǎng)度為一個(gè)字長(zhǎng)(w bits)。子密鑰可標(biāo)記在t-字陣列中:s0,s1, ,st-1,它為w×t矩陣,這種陣列的產(chǎn)生圖示為:將參數(shù)r,w輸入,左面標(biāo)出的t-字陣列是一些偽隨機(jī)bit,按r,w的規(guī)格選入的。然后把b-bits長(zhǎng)的密鑰K0, ,b-1轉(zhuǎn)換成c-字陣列L0, ,c-1(字的bit數(shù)為w,這里c=b×8/w;注意:密鑰長(zhǎng)度為b個(gè)字節(jié))。如果b不是w的整數(shù)倍,那么L右端的空位用0填入。 2、RC5的加密整個(gè)加密使用了下述3個(gè)基本運(yùn)算和它們的逆運(yùn)算:(1)模2w加法運(yùn)算,表示為“+”;(2)逐比特異或運(yùn)算,表示為“”;(3)字的循環(huán)

10、左移運(yùn)算:字x循環(huán)左移y比特,表示為x<<<y ,它的逆為循環(huán)右移y比特,表示為x>>>y如(a0,a1,a2, ,an-1)<<<3=(a3,a4, ,an-1,a0,a1,a2)。加密圖如下: 3、RC5的解密 解密也是很容易的,把密文分組劃分為兩個(gè)字:A和B(存儲(chǔ)方式和加密一樣),這里符合>>>是循環(huán)右移,減運(yùn)算也是模 (本應(yīng)模 ,本文中令w=32)的。解密圖如下:4、 加密算法的特點(diǎn):是分組長(zhǎng)度W,密鑰長(zhǎng)度b和圈數(shù)r都是可變的。簡(jiǎn)記為RC5-W/r/b。該密碼既適合于硬件實(shí)現(xiàn)又適合于軟件實(shí)現(xiàn),實(shí)現(xiàn)速度非常快。它主要

11、通過數(shù)據(jù)循環(huán)來實(shí)現(xiàn)數(shù)據(jù)的擴(kuò)散和混淆。每次循環(huán)的次數(shù)都依賴于輸入數(shù)據(jù),事先不可預(yù)測(cè)。三、高級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn)(AES)1997年4月15日,美國(guó)ANSI發(fā)起征集AES(advanced encryption standard)的活動(dòng),并為此成立了AES工作小組。此次活動(dòng)的目的是確定一個(gè)非保密的、可以公開技術(shù)細(xì)節(jié)的、全球免費(fèi)使用的分組密碼算法,以作為新的數(shù)據(jù)加密標(biāo)準(zhǔn)。1997年9月12日,美國(guó)聯(lián)邦登記處公布了正式征集AES候選算法的通告。1、 AES加密/解密算法原理AES是一個(gè)迭代的、對(duì)稱密鑰分組的密碼,可使用128、192和256位密鑰,并用128位(16字節(jié))分組加密和解密數(shù)據(jù)。與公共密鑰密碼使

12、用密鑰對(duì)不同,對(duì)稱密鑰密碼使用相同的密鑰加密和解密數(shù)據(jù)。通過分組密碼返回的加密數(shù)據(jù)的位數(shù)與輸入數(shù)據(jù)相同。AES加密解密框圖如圖1所示。2 、算法實(shí)現(xiàn)舉例描述AES算法是基于置換和代替。置換是數(shù)據(jù)的重新排列,而代替是用一個(gè)單元數(shù)據(jù)替換另一個(gè)。AES使用了幾種不同的技術(shù)來實(shí)現(xiàn)置換和替換。例如以下是要加密的128位值,以及它們對(duì)應(yīng)的索引數(shù)組:00 ll 22 33 44 55 66 77 88 99 aa bb cc dd ee ffO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15192位密鑰的值是:00 01 02 03 04 05 06 07 08 09 0a 0b 0

13、c 0d 0e 0f 10 ll 12 13 14 15 16 170 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 2l 22 23AES的構(gòu)造函數(shù)被調(diào)用時(shí),用于加密方法的兩個(gè)表被初始化。第一個(gè)表的代替盒稱為S一盒。是一個(gè)16x16的矩陣。S一盒的前5行和前5列如表1所示。加密例程獲取該密鑰數(shù)組并生成一個(gè)名為w的密鑰調(diào)度表,如表2所示。相對(duì)DES算法,AES算法的實(shí)現(xiàn)更簡(jiǎn)單同時(shí)由于AES算法具備很強(qiáng)的擴(kuò)散性能,最終形成的密碼有很高的隨機(jī)性,抗分析攻擊能力強(qiáng)。在軟件工程中,更便于制作成通用的加密對(duì)象類型或加密標(biāo)準(zhǔn)組件,在不降低安全性能的條件下,極大的簡(jiǎn)化數(shù)據(jù)加密程序的開發(fā)難度。AES算法的實(shí)現(xiàn)程序,對(duì)處理器性能、內(nèi)存的需求量等方面的要求低,可以廣泛的應(yīng)用到智能卡、衛(wèi)星通信、數(shù)字電視、流式媒體

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論