DES加密算法的实现(C++语言)

DES加密的流程如下


1.对64位明文进行初置换,结果为A

2.将A分为两部分,左32位记为L,右32位记为R

3.对R进行拓展置换,得到X(48位)

4.将第I轮的密钥与X异或,得到Y(48位)

5.将Y穿入S盒,得到Z(32位)

6.将Z与L异或,结果传入L中

7.交换R和L

8.再次重复2~7,共计16次

9.将L和R整合,并将结果做末置换,加密完成


解密的流程其实是一样的额,只不过密钥不一样

假设加密时第i轮用的密钥Ki,那么解密时第i轮用的密钥是K(17-i)


  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值