DES加密有兩個(gè)輸入:64位的明文,56位的密鑰舵变。
左半部分,可見明文的處理過程經(jīng)過了3個(gè)階段瘦穆。首先纪隙,64位的明文經(jīng)過初始置換IP而被重新排列。然后進(jìn)行16輪相同函數(shù)的作用扛或,每輪作用都有置換和替代绵咱。最后一輪迭代的輸出有64位,它是輸入明文和密鑰的函數(shù)熙兔。其左半部分和右半部分互換產(chǎn)生預(yù)輸出悲伶,最后預(yù)輸出再被與初始置換IP互逆的置換IP^(-1)作用產(chǎn)生64位的密文艾恼。除了初始和末尾的置換,DES的結(jié)構(gòu)與Feistel密碼結(jié)構(gòu)完全相同拢切。
右半部分給出了使用56位密鑰的過程蒂萎。首先,必要經(jīng)過一個(gè)置換后淮椰,再經(jīng)過循環(huán)左移和一個(gè)置換分別得到各輪的子密鑰Ki用于各輪的迭代五慈。每輪的置換函數(shù)都一樣,但是由于密鑰的循環(huán)移位主穗,使得各輪子密鑰互不相同泻拦。
一輪加密的簡(jiǎn)圖:
對(duì)于第i輪加密算法
對(duì)第i輪解密算法,有:
可知16輪函數(shù)作用中忽媒,解密算法為加密算法的逆争拐。
密文的處理過程經(jīng)過了3個(gè)階段。首先晦雨,64位的密文經(jīng)過被與初始置換IP互逆的置換IP^(-1)作用產(chǎn)生64位輸出架曹,該輸出左半部分和右半部分互換。然后進(jìn)行16輪相同函數(shù)的作用闹瞧,每輪作用都有置換和替代绑雄。最后一輪迭代的輸出有64位,它是輸入密文和密鑰的函數(shù)奥邮。其經(jīng)過初始置換IP產(chǎn)生64位明文万牺。
使用56位密鑰的過程。首先洽腺,必要經(jīng)過一個(gè)置換后脚粟,再經(jīng)過循環(huán)左移和一個(gè)置換分別得到各輪的子密鑰K(17-i)用于各輪的迭代。每輪的置換函數(shù)都一樣蘸朋,但是由于密鑰的循環(huán)移位核无,使得各輪子密鑰互不相同。
因此藕坯,DES解密算法實(shí)際上是DES加密算法的逆团南。
參考了《密碼編程學(xué)與網(wǎng)絡(luò)安全——原理與實(shí)踐》第六版P52-53以及PPT。