密码篇——对称加密—DES
?
目錄
一、DES介紹
二、Feistel網(wǎng)絡(luò)
1)一輪的具體步驟
2)三輪加密與解密
Feistel網(wǎng)絡(luò)總結(jié):
一、DES介紹
DES以64比特為一分組進(jìn)行加解密(一般來說DES的密鑰長度為64比特,但是實(shí)際為56比特,每7個比特會設(shè)置一個用于錯誤檢測的比特);由于DES每次只能加密64比特,若果要加密的明文較長,需要對DES加密進(jìn)行迭代
?
DES的加密與解密:
?
DES的基本結(jié)構(gòu)稱為Feistel網(wǎng)絡(luò),在Feistel網(wǎng)絡(luò)中加密的各個步驟稱為輪,整個加密的過程就是稱為輪的循環(huán)。DES就是一種16輪循環(huán)的Feistel網(wǎng)絡(luò)
?
二、Feistel網(wǎng)絡(luò)
Feistel網(wǎng)絡(luò)中的一輪:
1)一輪的具體步驟
1)將輸入的數(shù)據(jù)被左右兩半等分處理
2)將輸入的右側(cè)直接發(fā)送到輸出的右側(cè)
3)將輸出的右側(cè)發(fā)送到輪函數(shù)
4)輪函數(shù)根據(jù)右側(cè)和子密鑰,計(jì)算出一串比特序列
5)將得到的比特序列與左側(cè)數(shù)據(jù)進(jìn)行XOR運(yùn)算,并將結(jié)果最為加密后的左側(cè)
注:子密鑰為本輪加密所使用的密鑰,每一輪中都使用一個不同的子密鑰;由于只在一輪中使用,且為局部密鑰,故稱為子密鑰
由于右側(cè)沒有被加密,所以使用不同的子密鑰對一輪進(jìn)行重復(fù)處理若干次,并每兩輪之間將左右兩側(cè)的數(shù)據(jù)對調(diào)
解密計(jì)算就是將加密計(jì)算進(jìn)行反序操作
?
2)三輪加密與解密
3輪加密計(jì)算:
?
使用相同的子密鑰運(yùn)行Feistel網(wǎng)絡(luò)就可將數(shù)據(jù)還原(第一次為加密,第二次為解密)
3輪解密計(jì)算:
Feistel網(wǎng)絡(luò)總結(jié)
1)由此可以看出,Feistel網(wǎng)絡(luò)論述可以任意增加,無論增加多少輪的運(yùn)算,都不會發(fā)生無法解密的情況
2)加密時,無論使用任何函數(shù)作為輪函數(shù)都可正確解密(即使該函數(shù)沒有反函數(shù),因此輪函數(shù)可以設(shè)計(jì)的任意復(fù)雜)
3)加密和解密可以使用完全相同的結(jié)構(gòu)來實(shí)現(xiàn)(在Feistel網(wǎng)絡(luò)的一輪中,右側(cè)沒有經(jīng)過任何處理,從而保證了數(shù)據(jù)的可解密性;因?yàn)闆]有任何處理的右側(cè)是解密時的必要信息)
?
?
總結(jié)
以上是生活随笔為你收集整理的密码篇——对称加密—DES的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文件与目录管理——笔记
- 下一篇: 密码篇——对称加密—3DES