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