DES是一种对称密码,加密和解密用的都是同一个密钥,有效密钥长度为56位。DES是一个分组密码算法,分组长度为64位,即对数据进行加解密的单位是64位,明文和密文的长度相同。由于加密和解密用的是同一算法,所以有利于硬件和软件上的实现。注意上面说的56位是有效密钥长度,事实上我们用的是64位密钥,但是第8,16,24,32,40,56和64位是奇偶校验位。
(一)初始置换(IP)。将明文块的位进行换位,其置换表示固定的。初始置换表为8*8的表格,第一位58表示该位置存放明文中的第58位字符。第1位字符已经变换到40位的位置。
注意初始置换是固定公开的函数,因此没有密码的意义。作用不大,它们的作用在于打乱原来输入x的ASCII码字划分的关系。经过初始置换之后,64位明文分成了两组L和R,各32位。由于这种方法软件实现较为麻烦,所有很多软件实现都删去了初始置换。经过初始置换,64位的输入得到了两个32位的输出。