下面簡單概述一下DES加密流程:
1.對需要加密的64bit明文進(jìn)行初始置換(IP)而被重新排列;
2.進(jìn)行16輪相同函數(shù)(運(yùn)用Feistel算法,此過程使用了密鑰)的迭代,每輪都有置換和代換;
3.對步驟2輸出的64bit數(shù)據(jù)進(jìn)行左半部分和右半部分互換產(chǎn)生預(yù)輸出,最后預(yù)輸出再通過逆初始置換產(chǎn)生64bit的密文。
DES解密流程與DES加密流程極為相似。有以下兩點(diǎn)不同:
1.Feistel密碼的解密算法與加密算法是相同的,但子密鑰的使用次序相反。如果子密鑰為K1, K2…K16,那么解密時子密鑰的使用順序?yàn)镵16, K15…K1;
2.解密時初始置換和最后的置換與加密時是相反的。
DES解密流程描述如下:
1.對需要解密的64bit密文進(jìn)行置換(此次置換使用加密時的逆初始置換算法)
2.進(jìn)行16輪相同函數(shù)(使用了Feistel算法,密鑰的使用與加密時使用次序相反)的迭代,每輪都有置換和代換;
3.對步驟2輸出的64bit數(shù)據(jù)進(jìn)行左半部分和右半部分互換產(chǎn)生預(yù)輸出,最后預(yù)輸出再通過置換(此次置換使用加密時的初始置換算法)產(chǎn)生64bit的明文。
下面證明同樣的Feistel網(wǎng)絡(luò)結(jié)構(gòu)中的解密是加密的逆過程
IMG.JPG