输入密钥和明文,明文先进行初始变换,分为左右两半L0和R0,各32位长,R0放入扩展函数E,扩展成48位;密钥k进行置换选择PC1,密钥中每个第8 位都用作奇偶校验,故有效密钥长度是56位,分为左右两半,各为28位,分别循环左移后合并,进入置换选择PC2,变为48位,将结果与扩展后的R0异或,进入函数组S1,变为32位,再进入置换选择P,输出加密函数f,函数f与L0异或,其结果成为R1,原来的R0成为L1。将该操作重复16次。经过16轮迭代后,左,右半部分合在一起经过逆初始变换,这样就完成了加密过程。
1