密碼學(xué)4 分組密碼-2_第1頁(yè)
密碼學(xué)4 分組密碼-2_第2頁(yè)
密碼學(xué)4 分組密碼-2_第3頁(yè)
密碼學(xué)4 分組密碼-2_第4頁(yè)
密碼學(xué)4 分組密碼-2_第5頁(yè)
已閱讀5頁(yè),還剩91頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

分組密碼4.1分組密碼概述4.2數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)4.3分組密碼工作模式4.4高級(jí)加密標(biāo)準(zhǔn)AES4.5國(guó)際數(shù)據(jù)加密算法IDEA2/3/20231HANMENG20104.2DES小結(jié)是對(duì)稱密碼體制,加密和解密使用同一密鑰,有效的密鑰長(zhǎng)度是56位。DES是分組密碼算法,分組長(zhǎng)度為64位,即對(duì)數(shù)據(jù)加密解密的單位是64位。算法主要包括:初始置換IP、16輪迭代的乘積變換、逆初始置換IP-1以及16輪子密鑰產(chǎn)生器。2/3/20232HANMENG2010DES加密算法框圖子密鑰產(chǎn)生器16輪迭代的乘積變換?2/3/20233HANMENG20101、DES的初始置換和逆置換初始置換(IP)目的:將原明文塊的位置進(jìn)行換位。逆初始置換(IP-1)是初始置換的逆置換。2/3/20234HANMENG2010eg:已知1010101101011111110001100100001010111000000011101100110001010101經(jīng)過(guò)初始置換后第2行值是什么?100100102/3/20235HANMENG20103、DES的F函數(shù)DES的一次迭代迭代過(guò)程主要是輪函數(shù)F,由3部分組成:擴(kuò)展置換(E盒)、S盒和P盒。初始置換將64比特的輪輸入分成各為32比特的左、右兩半,分別記為L(zhǎng)0和R0。2/3/20236HANMENG2010DES加密算法的輪結(jié)構(gòu)每輪變換可由以下公式表示:2/3/20237HANMENG2010函數(shù)F(R,K)的計(jì)算過(guò)程2/3/20238HANMENG20103、DES的F函數(shù)(1)擴(kuò)展置換E盒作用:將32位輸入擴(kuò)展為48位輸出。擴(kuò)展方法:將32位輸入分成8行,每行四個(gè)字符,同時(shí)兩側(cè)補(bǔ)充與其相鄰位置的字符。eg:已知10101011010111111100011001000010經(jīng)過(guò)擴(kuò)展E盒后值是什么?0101010101101010111111111110000011000010000001012/3/20239HANMENG2010eg:已知101010110101111100000101011001010000110010111111經(jīng)過(guò)S盒變換以后前16位的值是什么?(2)代換盒S盒01100111111010112/3/202310HANMENG2010(3)置換運(yùn)算P盒eg:已知輸入為10101011010111110011010101100000經(jīng)過(guò)P盒置換以后最后4位的值是什么?10002/3/202311HANMENG2010DES輪結(jié)構(gòu)--完整版2/3/202312HANMENG2010子密鑰生成圖3、DES的子密鑰生成56比特56比特48比特2/3/202313HANMENG2010置換選擇PC1(1)PC1置換2/3/202314HANMENG2010置換選擇PC256到48位的轉(zhuǎn)換已知輸入為:00111101000111110011000110110011111000001100001100010110經(jīng)過(guò)PC2置換后第1、5行的值是什么?100101…1110112/3/202315HANMENG2010循環(huán)左移位輪序12345678910111213141516移位數(shù)1122222212222221已知為第10輪密鑰:C10=0011110100011111001100011011D10=0011111000001100001100010110那么經(jīng)過(guò)循環(huán)左移位后,第11輪密鑰的輸入是什么?C10=1111010001111100110001101100D10=11111000001100001100010110002/3/202316HANMENG20104、DES加/解密數(shù)學(xué)描述消息傳遞過(guò)程發(fā)送方已知:明文M(64位)和密鑰K(56位)。輸出:密文C(64位)

。接收方已知:密文C(64位)和密鑰K(56位)。輸出:明文M(64位)

。2/3/202317HANMENG20104、DES加/解密數(shù)學(xué)描述加密過(guò)程明文M-->IP-->L0R0Li=Ri-1Ri=Li-1f(Ri-1,ki)i=1,...,16R16L16-->IP-1-->密文C解密過(guò)程:DES的加密運(yùn)算是可逆的,其解密過(guò)程可類(lèi)似地進(jìn)行。密文C-->IP-1-->R16L16Ri-1=Li

Li-1=Rif(Li,ki)i=16,...,1R0L0-->IP-->明文M2/3/202318HANMENG2010雙重DES:雙重DES是分別用兩個(gè)不同的密鑰k1和k2對(duì)明文進(jìn)行兩次DES變換以實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密保護(hù),即雙重DES的密鑰長(zhǎng)度是112比特。三重DES

根據(jù)密鑰的相同與否和加密解密順序分為四種。5、多重DES了解2/3/202319HANMENG2010MMMM2/3/202320HANMENG2010三重DES的優(yōu)、缺點(diǎn)優(yōu)點(diǎn):密鑰長(zhǎng)度增加到112位或168位,可以有效克服窮舉搜索攻擊;相對(duì)于DES,增強(qiáng)了抗差分分析和線性分析的能力;具備繼續(xù)使用現(xiàn)有的DES實(shí)現(xiàn)的可能。缺點(diǎn):處理速度相對(duì)較慢,特別是對(duì)于軟件實(shí)現(xiàn)。明文分組的長(zhǎng)度仍為64位,就效率和安全性而言,與密鑰的增長(zhǎng)不相匹配。2/3/202321HANMENG20106.DES算法的安全強(qiáng)度對(duì)DES的分析主要有:蠻力攻擊、差分密碼分析、線性密碼分析DES的脆弱性DES的安全性完全依賴于所用的密鑰,56位不太可能提供足夠的安全性DES的半公開(kāi)性S盒的設(shè)計(jì)原理至今未公布,可能隱含有陷井軟件實(shí)現(xiàn)太慢2/3/202322HANMENG20104.3分組密碼工作模式分組密碼只能加密固定長(zhǎng)度的明文。明文長(zhǎng)度是任意的,因此加密時(shí)需要進(jìn)行處理---工作模式。工作模式通常是基本密碼塊、反饋和簡(jiǎn)單運(yùn)算的組合:電子密碼本(ECB)模式密文塊鏈接(CBC)模式密文反饋(CFB)模式輸出反饋(OFB)模式2/3/202323HANMENG20101、電子密碼本(ECB)模式密鑰為K,明文分成t個(gè)長(zhǎng)度為n的塊M1,M2,…,Mt。輸出t個(gè)長(zhǎng)度為n的密文塊C1,C2,…,Ct。加密:Cj=Ek(Mj)(j=1,2,…,t)解密:Mj=Dk(Cj)(j=1,2,…,t)2/3/202324HANMENG2010加密M1C1K加密M2C2K解密C1M1K解密C2M2K加密過(guò)程解密過(guò)程2/3/202325HANMENG2010電子密碼本(ECB)模式示例2/3/202326HANMENG2010電子密碼本(ECB)模式示例2/3/202327HANMENG2010ECB模式的優(yōu)缺點(diǎn)模式操作簡(jiǎn)單。無(wú)錯(cuò)誤傳播,可用并行計(jì)算提高加密速度。明文中的重復(fù)內(nèi)容將在密文中表現(xiàn)出來(lái),特別對(duì)于圖像數(shù)據(jù)和明文變化較少的數(shù)據(jù)。適于短報(bào)文的加密傳遞。適用于對(duì)密鑰加密。2/3/202328HANMENG20102、密文塊鏈接(CBC)模式密鑰為K,長(zhǎng)度為n的初始向量IV,明文分成t個(gè)長(zhǎng)度為n的塊M1,M2,…,Mt。輸出t個(gè)長(zhǎng)度為n的密文塊C1,C2,…,Ct。加密之前,每個(gè)分組塊與前面的密文進(jìn)行異或運(yùn)算。加密:C1=Ek(M1⊕IV)Cj=Ek(Mj⊕Cj-1)(j=2,3,…,t)解密:M1=Dk(C1)⊕IVMj=Dk(Cj)⊕Cj-1(j=2,3,…,t)2/3/202329HANMENG2010加密M1C1K加密C2K加密過(guò)程IVM2解密C1K解密過(guò)程IVM1解密C2KM22/3/202330HANMENG2010密文塊鏈接模式示例2/3/202331HANMENG2010密文塊鏈接模式示例2/3/202332HANMENG2010密文塊鏈接模式的特點(diǎn)同一個(gè)明文分組重復(fù)出現(xiàn)時(shí)產(chǎn)生不同的密文分組。加密函數(shù)的輸入是當(dāng)前的明文分組和前一個(gè)密文分組的異或;對(duì)每個(gè)分組使用相同的密鑰。有錯(cuò)誤傳播。多用于字符文件加密。2/3/202333HANMENG20103、密文反饋(CFB)模式用分組密碼生成流密碼,密鑰和明文塊一樣長(zhǎng)。包括密文反饋模式和輸出反饋模式。密鑰為K,長(zhǎng)度為n的初始向量IV,明文分成t個(gè)長(zhǎng)度為r(r一般為8比特)的塊M1,M2,…,Mt。2/3/202334HANMENG2010密文反饋(CFB)模式加密過(guò)程Ci=Mi⊕Lr(Ek(Ii))Ii=Rn-r(Ii-1)||Cii=2,3,…I1=IVIV加密r比特KM1加密r比特KM2C1移位r比特C2I1I22/3/202335HANMENG2010密文反饋模式的特點(diǎn)改變IV,則相同的明文得到不同的密文。有錯(cuò)誤傳播。多用于字符文件加密。2/3/202336HANMENG20104、輸出反饋(OFB)模式加密過(guò)程IV加密r比特KM1加密r比特KM2C1移位r比特C2Ci=Mi⊕Lr(Ek(Ii))Ii=Rn-r(Ii-1)||

Lr(Ek(Ii-1))i=2,3,…I1=IV2/3/202337HANMENG2010輸出反饋模式的特點(diǎn)改變IV,則相同的明文得到不同的密文。無(wú)錯(cuò)誤傳播。難以檢測(cè)出是否對(duì)密文進(jìn)行過(guò)篡改。多用于語(yǔ)音、圖像文件等冗余度大的文件加密。常用于加密衛(wèi)星傳輸。2/3/202338HANMENG20104.4高級(jí)加密標(biāo)準(zhǔn)AESAES特征對(duì)AES的基本要求是:比三重DES快、至少與三重DES一樣安全、軟件實(shí)現(xiàn)快。數(shù)據(jù)分組長(zhǎng)度和密鑰長(zhǎng)度可變,可以為128/192/256比特。結(jié)構(gòu)簡(jiǎn)單、速度快。能在多種平臺(tái)上以較快的速度實(shí)現(xiàn)。2/3/202339HANMENG20101、算法的結(jié)構(gòu)常用的算法結(jié)構(gòu)算法中間的加密過(guò)程也需要分組(稱為狀態(tài)),以字節(jié)為元素的矩陣陣列表示,該陣列有4行4列。種子密鑰也以字節(jié)為元素的矩陣陣列描述,陣列為4行4列。2/3/202340HANMENG2010明文分組和密鑰的組織排列方式(128位=16字節(jié))01234567891011121314150481215913261014371115分組為128bits為例組成的陣列2/3/202341HANMENG2010

AES

算法的一般描述2/3/202342HANMENG2010AES的算法結(jié)構(gòu)第10輪沒(méi)有列混合2/3/202343HANMENG2010網(wǎng)絡(luò)工程系?AES的流程圖2/3/202344HANMENG20101、將待加密的明文分組以字節(jié)為單位填充狀態(tài)矩陣(4×4字節(jié)矩陣),和初始密鑰做異或運(yùn)算。2、進(jìn)行10輪迭代,每輪包含四個(gè)變換(最后一輪不包含列混合):(1)字節(jié)代替變換(S盒);(2)行移位變換;(3)列混合變換;(4)輪密鑰加(按位異或)。3、第10輪的輸出即為密文(輸出狀態(tài))。算法步驟:2/3/202345HANMENG20102、輪函數(shù)重點(diǎn)2/3/202346HANMENG2010(1)字節(jié)代替作用:是非線性置換,使用S盒對(duì)中間狀態(tài)的字節(jié)進(jìn)行置換。擴(kuò)展方法:查S盒,S盒是16*16的矩陣。設(shè)x(高位4比特)y(低位4比特)為狀態(tài)中的一個(gè)字節(jié),則代替表(S盒)中第x行第y列的字節(jié)就是對(duì)應(yīng)的字節(jié)代替變換的結(jié)果。2/3/202347HANMENG2010eg:設(shè)輸入為EA,則經(jīng)過(guò)字節(jié)替換輸出是什么?2/3/202348HANMENG2010字節(jié)代替示例eg:已知字節(jié)代替的輸入為3CA10B2157F01916902E1380ACC107BD則經(jīng)過(guò)字節(jié)代替后,前4個(gè)字節(jié)輸出是什么?EB322BFD---->111010110011001000101011111111012/3/202349HANMENG20102、輪函數(shù)(2)行移位作用:對(duì)矩陣狀態(tài)進(jìn)行變換。方法:變換時(shí),矩陣的每一行按照不同的偏移量循環(huán)左移位。第一行不移位,第二行移1個(gè)字節(jié),第三行移2個(gè)字節(jié),第四行移3個(gè)字節(jié).2/3/202350HANMENG2010行移位04812159132610143711150481259131101426153711循環(huán)左移1字節(jié)循環(huán)左移2字節(jié)循環(huán)左移3字節(jié)2/3/202351HANMENG2010行移位示例eg:已知行移位的輸入為3CA10B2157F01916902E1380ACC107BD則經(jīng)過(guò)行移位后,輸出是什么?3CA10B21F01916571380902EBDACC1072/3/202352HANMENG2010(3)列混合方法:通過(guò)移位后的矩陣與固定的矩陣相乘,得到混合矩陣。S0,0S0,1S0,2S0,3S1,0S1,1S1,2S1,3S2,0S2,1S2,2S2,3S3,0S3,1S3,2S3,3S’0,0S’0,1S’0,2S’0,3S’1,0S’1,1S’1,2S’1,3S’2,0S’2,1S’2,2S’2,3S’3,0S’3,1S’3,2S’3,3×C(X)2/3/202353HANMENG2010eg:s’0,j=(2?s0,j)(3?s1,j)

s2,j

s3,j其中j=0,1,2,3令s’(x)=c(x)×s(x),寫(xiě)成矩陣形式為:S’00S’01S’02S’03S’10S’11S’12S’13S’20S’21S’22S’23S’30S’31S’32S’33S00S01S02S03S10S11S12S13S20S21S22S23S30S31S32S3302030101010203010101020303010102=eg:s’0,0=(2?s0,0)(3?s1,0)

s2,0

s3,016進(jìn)制2/3/202354HANMENG2010補(bǔ)充:多項(xiàng)式計(jì)算解:1、轉(zhuǎn)換為二進(jìn)制數(shù)(02)16?(F0)16=00000010?11110000知識(shí)點(diǎn):乘法計(jì)算規(guī)則2?n=(00000010)?(a7a6a5a4a3a2a1a0)=(a6a5a4a3a2a1a00)a7=0(a6a5a4a3a2a1a00)(00011011)a7=13?n=(00000011)?(a7a6a5a4a3a2a1a0)=[(00000010)?(a7a6a5a4a3a2a1a0)](a7a6a5a4a3a2a1a0)eg1:求(2)16?s0,j,其中s0,j=(F0)16。2/3/202355HANMENG2010eg1:求(2)16?s0,j,其中s0,j=(F0)16。解:計(jì)算00000010?11110000=11100000(00011011)

=11111011=(FB)16eg2:求2?(4E)16。解:計(jì)算00000010?01001110=10011100=(9C)16eg3:求3?(4E)16。解:計(jì)算00000011?01001110=[00000010?01001110]

01001110

=10011100

01001110=11010010=

(D2)16知識(shí)點(diǎn):乘法計(jì)算規(guī)則2?n=(00000010)?(a7a6a5a4a3a2a1a0)=(a6a5a4a3a2a1a00)a7=0(a6a5a4a3a2a1a00)(00011011)a7=13?n=(00000011)?(a7a6a5a4a3a2a1a0)=[(00000010)?(a7a6a5a4a3a2a1a0)](a7a6a5a4a3a2a1a0)2/3/202356HANMENG2010(4)輪密鑰加對(duì)狀態(tài)和每輪的子密鑰進(jìn)行簡(jiǎn)單的異或操作。2/3/202357HANMENG2010AES算法示例Eg:設(shè)某輪的輸入狀態(tài)如下表所示,分別求其經(jīng)過(guò)字節(jié)代替、行移位、列混合后的輸出。122A210B45BD04C1230A001C89112AFC字節(jié)代替C9E5FD2B6E7AF2782667639CA782E5B02/3/202358HANMENG2010C9E5FD2B6E7AF2782667639CA782E5B0行移位C9E5FD2B7AF2786E639C2667B0A782E5D4E7CD662802E5BBBEC6D6BF220FDFA5列混合S’00=(2?C9)(3?7A)63B0解:2?C9=00000010?11001001=1001001000011011=100010013?7A=10001110S’00=110101002/3/202359HANMENG20103、AES:密鑰編排密鑰編排密鑰編排是指從種子密鑰得到輪密鑰的過(guò)程,它由密鑰擴(kuò)展和輪密鑰選取兩部分組成輪密鑰的比特?cái)?shù)等于分組長(zhǎng)度乘以輪數(shù)加1=[32×

Nb

×(Nr+1)];種子密鑰被擴(kuò)展成為擴(kuò)展密鑰;輪密鑰從擴(kuò)展密鑰中取,其中第1輪輪密鑰取擴(kuò)展密鑰的前Nb個(gè)字,第2輪輪密鑰取接下來(lái)的Nb個(gè)字,如此下去。2/3/202360HANMENG2010

密鑰調(diào)度包括兩個(gè)部分:密鑰擴(kuò)展和輪密鑰選取。密鑰bit的總數(shù)=分組長(zhǎng)度×(輪數(shù)Round+1)例如當(dāng)分組長(zhǎng)度為128bits和輪數(shù)Round為10時(shí),輪密鑰長(zhǎng)度為128×(10+1)=1408bits。將密碼密鑰擴(kuò)展成一個(gè)擴(kuò)展密鑰。從擴(kuò)展密鑰中取出輪密鑰:第一個(gè)輪密鑰由擴(kuò)展密鑰的第一個(gè)Nb個(gè)4字節(jié)字,第二個(gè)輪密鑰由接下來(lái)的Nb個(gè)4字節(jié)字組成,以此類(lèi)推。2/3/202361HANMENG2010密鑰擴(kuò)展K0,0K0,1K0,2K0,3K1,0K1,1K1,2K1,3K2,0K2,1K2,2K2,3K3,0K3,1K3,2K3,3K0K1K2K3K0K1K2K3K4K5K6K7+++K4的生成:下頁(yè)K5、K6、K7的生成:如右2/3/202362HANMENG2010K0K1K2K3K4K5K6K7ByteSubstitutionByteRotate+Rcon密鑰擴(kuò)展2/3/202363HANMENG2010在密鑰擴(kuò)展中,函數(shù)RotByte(a,b,c,d)=(b,c,d,a),即是輸入字的1字節(jié)循環(huán)

K0,0K0,1K0,2K0,3K1,0K1,1K1,2K1,3K2,0K2,1K2,2K2,3K3,0K3,1K3,2K3,3RotByteK0,0K0,1K0,2K1,3K1,0K1,1K1,2K2,3K2,0K2,1K2,2K3,3K3,0K3,1K3,2K0,3密鑰擴(kuò)展-RotByte2/3/202364HANMENG2010AES密鑰擴(kuò)展算法密鑰按照矩陣列進(jìn)行分組,如果前4列為k(0),k(1),k(2),k(3),那么新的列如下遞歸:如果k(i)中,i不是4的倍數(shù),那么i列由如下等式確定:k(i)=k(i-4)XORk(i-1)如果k(i)中,i是4的倍數(shù),那么i列由如下等式確定:k(i)=k(i-4)XORT[k(i-1)]其中T[k(i-1)]是k(i-1)的一種轉(zhuǎn)換形式,按以下方式實(shí)現(xiàn):循環(huán)地將k(i-1)的元素左移位,每次一個(gè)字節(jié),如abcd

變成bcda將這4個(gè)字節(jié)作為S盒的輸入,輸出新的4個(gè)字節(jié)efgh計(jì)算一輪的常量r(i)=2(i-4)/4這樣生成轉(zhuǎn)換后的列:[eXORr(i),f,g,h]第i輪的輪密鑰組成了列k(4i),k(4i+1),k(4i+2),k(4i+3)2/3/202365HANMENG2010Wi-4Wi-3Wi-2Wi-1WiByteSubstituionByteRotate+Rcons+Keyexpansion4=<i<4(Rnd+1)imod4=0imod4!=02/3/202366HANMENG2010輪密鑰選取K0K1K2K3K4K5K6K7K8K9K10K11K12輪密鑰0輪密鑰1輪密鑰22/3/202367HANMENG2010AES:KeyExpansion(key[],w[])KeyExpansion(key[],w[])key[]用于存儲(chǔ)擴(kuò)展前的密鑰;w[]用于存儲(chǔ)擴(kuò)展后的密鑰;以128比特的密鑰為例輸入的密鑰key[]直接被復(fù)制到密鑰數(shù)組的前四個(gè)字,w[0],w[1],w[2],w[3];w數(shù)組中下標(biāo)不為4的倍數(shù)的元素按以下規(guī)則擴(kuò)展w[i]=w[i-1]⊕

w[i-4]2/3/202368HANMENG2010AES:KeyExpansion(key[],w[])下標(biāo)為4的倍數(shù)的元素按以下規(guī)則擴(kuò)展將一個(gè)字的四個(gè)字節(jié)循環(huán)左移一個(gè)字節(jié),即將[b0,b1,b2,b3]變?yōu)閇b1,b2,b3,b0];基于SubBytes對(duì)輸入字中的每個(gè)字節(jié)進(jìn)行代替;——S盒將步驟1和步驟2的結(jié)果再與輪常量Rcon[i]相異或。Rcon[i]=(RC[i],‘00’,‘00’,‘00’)RC[1]=‘01’RC[i]=2.(RC[i-1])2/3/202369HANMENG2010瑞士聯(lián)邦技術(shù)學(xué)院來(lái)學(xué)嘉(X.J.Lai)和J.L.Massey提出的第1版IDEA(internationaldataencryptionalgorithm,國(guó)際數(shù)據(jù)加密算法)于1990年公布,當(dāng)時(shí)稱為PES(proposedencryptionstandard,建議加密標(biāo)準(zhǔn))。1991年,在Biham和Shamir提出差分密碼分析之后,設(shè)計(jì)者推出了改進(jìn)算法IPES,即改進(jìn)型建議加密標(biāo)準(zhǔn)。1992年,設(shè)計(jì)者又將IPES改名為IDEA,目前已在PGP中采用。4.5國(guó)際數(shù)據(jù)加密算法IDEA2/3/202370HANMENG20104.5國(guó)際數(shù)據(jù)加密算法IDEA特征:算法中明文和密文分組長(zhǎng)度都是64比特,密鑰長(zhǎng)128比特。非常便于軟硬件的實(shí)現(xiàn)。加密過(guò)程:將輸入的64比特的明文進(jìn)行8輪迭代,得到臨時(shí)密文組。將臨時(shí)密文組進(jìn)行輸出變換,生成最終的密文組。2/3/202371HANMENG20104.5.1設(shè)計(jì)原理算法中明文和密文分組長(zhǎng)度都是64比特,密鑰長(zhǎng)128比特。其設(shè)計(jì)原理可從強(qiáng)度和實(shí)現(xiàn)兩方面考慮。1.密碼強(qiáng)度算法的強(qiáng)度主要是通過(guò)有效的混淆和擴(kuò)散特性而得以保證。2/3/202372HANMENG2010混淆是通過(guò)使用以下3種運(yùn)算而獲得,3種運(yùn)算都有兩個(gè)16比特的輸入和一個(gè)16比特的輸出:①逐比特異或,表示為。②模216(即65536)整數(shù)加法,表示為其輸入和輸出作為16位無(wú)符號(hào)整數(shù)處理。③模216+1(即65537)整數(shù)乘法,表示為⊙,其輸入、輸出中除16位全為0作為216處理外,其余都作為16位無(wú)符號(hào)整數(shù)處理。例如0000000000000000⊙1000000000000000=1000000000000001這是因?yàn)?16×215mod(216+1)=(216+1)×215-215=-215=215+1mod(216+1)+2/3/202373HANMENG2010算法中擴(kuò)散是由稱為乘加(multiplication/addition,MA)結(jié)構(gòu)的基本單元實(shí)現(xiàn)的。該結(jié)構(gòu)的輸入是兩個(gè)16比特的子段和兩個(gè)16比特的子密鑰,輸出也為兩個(gè)16比特的子段。MA結(jié)構(gòu)2/3/202374HANMENG20104.5.2實(shí)現(xiàn)IDEA可方便地通過(guò)軟件和硬件實(shí)現(xiàn)。①軟件實(shí)現(xiàn)采用16比特子段處理,可通過(guò)使用容易編程的加法、移位等運(yùn)算實(shí)現(xiàn)算法的3種運(yùn)算。②硬件由于加、解密相似,差別僅為使用密鑰的方式,因此可用同一器件實(shí)現(xiàn)。2/3/202375HANMENG2010加密過(guò)程由連續(xù)的8輪迭代和1個(gè)輸出變換組成.每輪迭代以4個(gè)16比特的子段作為輸入,輸出也為4個(gè)16比特的子段,鏈接起來(lái)后形成64比特的密文分組。每輪需使用6個(gè)16比特的子密鑰,輸出變換需使用4個(gè)16比特的子密鑰,所以子密鑰總數(shù)為52。IDEA加密過(guò)程2/3/202376HANMENG2010輪結(jié)構(gòu)模216+1的整數(shù)乘模216的整數(shù)加2/3/202377HANMENG2010輸出變換輸出變換的結(jié)構(gòu)和每一輪開(kāi)始的變換結(jié)構(gòu)一樣,不同之處在于輸出變換的第2個(gè)和第3個(gè)輸入首先交換了位置,目的在于撤銷(xiāo)第8輪輸出中兩個(gè)子段的交換。第9步僅需4個(gè)子密鑰,而前面8輪中每輪需要6個(gè)子密鑰。輪開(kāi)始的變換結(jié)構(gòu)2/3/202378HANMENG2010子密鑰的產(chǎn)生

前8個(gè)子密鑰Z1,Z2,…,Z8直接從加密密鑰中取,即Z1取前16比特(最高有效位),Z2取下面的16比特,依次類(lèi)推。然后加密密鑰循環(huán)左移25位,再取下面8個(gè)子密鑰Z9,Z10,…,Z16,取法與Z1,Z2,…,Z8的取法相同。這一過(guò)程重復(fù)下去,直到52子密鑰都被產(chǎn)生為止。2/3/202379HANMENG2010左邊為加密過(guò)程,由上至下,右邊為解密過(guò)程,由下至上。將每一輪進(jìn)一步分為兩步,第1步是變換,其余部分作為第2步,稱為子加密。解密過(guò)程輸出2/3/202380HANMENG20102/3/202381HANMENG2010總結(jié)數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)算法構(gòu)成:初始置換IP16輪迭代E盒擴(kuò)展—S盒代換—P盒置換逆初始置換IP-116輪子密鑰產(chǎn)生器。2/3/202382HANMENG2010分組密碼工作模式電子密碼本(ECB)模式Cj=Ek(Mj)(j=1,2,…,t)密文塊鏈接(CBC)模式C1=Ek(M1⊕IV)Cj=Ek(Mj⊕Cj-1)(j=2,3,…,t)密文反饋(CFB)模式Ci=Mi⊕Lr(Ek(Ii))Ii=Rn-r(Ii-1)||Cii=2,3,…

I1=IV輸出反饋(OFB)模式Ci=Mi⊕Lr(E

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論