您好,登錄后才能下訂單哦!
數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)是在20世紀(jì)70年代中期由美國IBM公司發(fā)展出來的,并被美國國家標(biāo)準(zhǔn)局公布為數(shù)據(jù)加密標(biāo)準(zhǔn)的一種分組加密算法。
DES算法的分組大小為64位,所使用的加密或解密密鑰也是64位。因?yàn)槠渲杏?個位是用來做奇偶校驗(yàn),所以64位中真正起密鑰作用的只有56位。DES加密與解密所用的算法除了子密鑰的順序不同之外,其他部分則是完全相同。
1)Feistel網(wǎng)絡(luò)
DES密碼結(jié)構(gòu)基于一個稱為Feistel網(wǎng)絡(luò)的結(jié)構(gòu)。Feistel網(wǎng)絡(luò)是由Horst Feistel在設(shè)計Lucifer分組密碼時發(fā)明的,并被DES、FEAL、Twofish、RC5等算法使用。
Feistel定義了一個迭代的分組密碼算法,其本質(zhì)是利用乘積密碼順序地執(zhí)行多個基本密碼系統(tǒng),使得最后結(jié)果的密碼強(qiáng)度高于每個基本密碼系統(tǒng)產(chǎn)生的結(jié)果。
對一個分組長度為2n位的r輪Feistel型密碼,每輪迭代執(zhí)行的運(yùn)算相同,而每輪的輸入取決于前一輪的輸出。以第i輪為例,描述每輪迭代的運(yùn)算過程如下:
①將第i-1輪的輸出結(jié)果m作為本輪的輸入,并將輸入劃分為左右長度相等的兩部分,記作m=L R ,L 和 R 分別為m的左右 n 位。
②將左右兩部分交換位置,并將右半部分R直接作為本輪輸出m的左半部分L。同時,將右半部分R和輪密鑰K 作為論函數(shù)F的輸入,將論函數(shù)F的輸出與左半部分L進(jìn)行逐位的異或運(yùn)算,得到的結(jié)果作為輸出m的右半部分R。
Feistel網(wǎng)絡(luò)的解密過程與加密過程完全一致,只是以相反的次數(shù)使用每輪的子密鑰,這個特點(diǎn)使得基于Feistel網(wǎng)絡(luò)設(shè)計的分組密碼易于用硬件實(shí)現(xiàn)。
未完待續(xù)、、、、、
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。