DES的加密解密結(jié)構(gòu)
DES運(yùn)用的算法和Feistel密碼的算法是相同的傲茄,只是子密鑰的使用次序相反骄呼,還有初始置換和最終置換是相反的。
DES加密過程
DES算法遵守Feistel密碼結(jié)構(gòu)曹阔,加密時(shí)儡循,會經(jīng)過IP置換,生成子密鑰洒疚,16輪函數(shù)迭代作用后歹颓,完成加密。其中16輪函數(shù)迭代是比較麻煩且值得研究的油湖。
DES解密過程
DES解密會經(jīng)過16輪函數(shù)迭代作用巍扛,子密鑰使用次序相反,最終置換乏德,其中說明DES解密是加密的逆過程體現(xiàn)在16輪函數(shù)迭代中撤奸。
DES解密是加密的逆過程
前面已經(jīng)知道DES的加密和解密的操作吠昭,其中加密時(shí),輸入的是長為2w位的明文分組和密鑰K胧瓜,明文分組被分為等長的兩部分:LE0和RE0矢棚。其中第16輪輸出左右部分互換的值,對于加密過程是
LE16 = RE15
RE16 = LE15 ^ F(RE15府喳, K16)(^是異或運(yùn)算)
對于解密有
LD1 = RD0 = LE16 = RE15
RD1 = LD0 ^ F(RD0蒲肋, K16) = RE16 ^ F(RE15, K16) = [LE15 ^ F(RE15钝满, K16)] ^ F(RE15兜粘, K16) = LE15
所以LD1 = RE15,RD1 = LE15舱沧。
那么以此類推妹沙,第16輪是LD16 = RE0,RD16 = LE0熟吏。
經(jīng)過最后的最終置換距糖,那么最后解密出來的明文分組的兩部分和加密前的明文分組的兩部分對應(yīng)了起來。
所以DES解密是加密的逆過程是對的牵寺。