1.所需参数
key:8字节共计64位的工作密钥
data:8 :需要8字节共计64位加密或解密的数据
模式: des的结构、加密或解密
2.初始置换
DES算法利用64位密钥key将64位明文输入块转换为64位密文输出块,将输出块分为L0、R0两部分,分别为32位。 初始置换规则如下。
注意:这里的数字表示原始数据的位置,不是数据
58、50、42、34、26、18、10、2、60、52、44、36、28、12、4、62、54、46、38、30、22、14、64、56、56
输入的64位明文的第1位置变更为第40位,第2位置变更为第8位,第3位置变更为第48位。 这样,最后一位是原来的第七位。 置换规则是有规定的。 L0(left )是置换后的数据的高位32位,R0 ) right )是置换后的数据的低位32位。
例如,如果64位输入块为D1~D64,则初始置换后为D58、D50.D7。 于是L0=D58,D50,D12.D8; R0=D57,D49,D41.D7。
该替换过程由64位私钥管理。
3.加密处理--迭代过程
经过初期置换,进行