DES背景
DES算法是第一个公开的密码算法,它是一个迭代型分组密码算法,分组长度64比特,密钥长度64比特,有效密钥长度56比特,迭代圈数16圈,圈密钥长度48比特。
DES算法概述
基本流程
DES算法的基本流程如下图所示,对于一个64位的分组(用m1,m2...m64分别表示第1到第64个比特),首先对它进行初始置换,然后进行16圈的迭代,迭代中每一圈的密钥不同,分别是k1,k2。。。k16。之后对结果进行逆初始置换,得到密文c1,c2...c64。如下图所示(来自老师上课课件):
初始置换和逆初始置换
对于明文M = m1m2...m64,按照下图所示的初始置换IP指示的顺序从输出中取出指定的位放在这一位上,得到输出,比如c1 = c58,c2=c50.。。。以此类推
逆初始置换是初始置换的逆变换,用表格表示如