最简单最详细最贴心的DES算法加密过程,步骤超详细

密码学

DES加密的过程

刚学DES这个加密算法的时候,我在网上找了教程,但是由于网上的教程太过于详细,文字又多,而且比较抽象,只是讲了方法,没有个具体的例子教程,所以有时候自己看了几遍也看不懂DES是怎么加密,所以在这里我用一个例子,一步一步来看一下DES的加密过程,也更容易理解。

DES的加密过程如下图所示,其中那16轮迭代,每一轮将64分为左右两部分,分别进行E-扩展运算,(E-扩展运算之后生成的48比特与子密钥k进行异或)S-盒运算,P-置换包括

 

 

 

子密钥生成过程如下

将明文进行IP置换,得

下面以右半部分R0为例.

将R0进行E-扩展,将32比特扩展成48位,得

因为生成的48位数要和生成的子密钥进行异或,所以接下来看第一轮的子密钥如何生成

子密钥生成

 因为奇偶校验位不影响,所以变成这样方便看一些,括号里面的是奇偶校验位

接下来进行置换选择PC-1

然后进行位移,左移一位

然后进行置换选择PC-2,得到48位

然后用生成的子密钥k1和经过E-扩展运算之后的R0进行异或运算,得到,将这48位数分成8组

将这48比特数通过S盒置换后输出32比特

再将这32比特进行P-置换,得到R0

 

同理可得到L0

将得到的L0和R0组合就是第一轮迭代的结果

然后用这个L0和R0进行第二轮迭代,总共16轮

特别注意的是,再最后一轮迭代完成后,要交换L0和R0的位置

得到R0L0,对这个R0L0进行初始逆置换IP-1,

就是我们想要的密文了

  • 1
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值