A. 簡述下DES演算法工作渡程
DES數據加密標准 (Data Encryption Standard)是一個16輪的Feistel型結構密碼,它的分組長度為64比特,用一個56比特的密鑰來加密一個64比特的明文串,輸出一個64比特的密文串。其中,使用密鑰為64比特,密鑰位數是56比特,另8位用作奇偶校驗,加密用的位數是48比特。加密的過程是先對64位明文分組進行初始置換,然後分左、右兩部分分別經過16輪迭代,然後再進行循環移位與變換,最後進行逆變換得出密文。加密與解密使用相同的密鑰,因而它屬於對稱密碼體制。
DES演算法流程
初始置換IP
生成16個48位的子密鑰
16輪feistel結構迭代
a) 擴展置換E
b) S盒代換
c) 置換P
逆初始置換IP-1
B. des演算法用來加密的密鑰有多少位
DES使用56位密鑰對64位的數據塊進行加密,並對64位的數據塊進行16輪編碼。
與每輪編碼時,一個48位的「每輪」密鑰值由56位的完整密鑰得出來。
DES用軟體進行解碼需要用很長時間,而用硬體解碼速度非常快。
但幸運的是當時大多數黑客並沒有足夠的設備製造出這種硬體設備。
在1977年,人們估計要耗資兩千萬美元才能建成一個專門計算機用於DES的解密。
而且需要12個小時的破解才能得到結果。
所以,當時DES被認為是一種十分強壯的加密方法。
1. 用密鑰K1進行DEA加密。
2. 用K2對步驟1的結果進行DES解密。
3. 用步驟2的結果使用密鑰K1進行DES加密。
這種方法的缺點,是要花費原來三倍時間,從另一方面來看,三重DES的112位密鑰長度是很「強壯」的加密方式了