加密算法解析四:DES

概要

前三章主要讲了3种常用的摘要算法,而本章将开始讲对称加密算法。对称加密的加密密钥和解密密钥都是相同的,安全性依赖两个因素,即加密算法足够强和密钥的秘密性。DES作为最古老的常见的对称加密算法就先讲下,DES全称Data Encryption Standard(数据加密标准),是一种标准的对称加密算法,密钥是64bit(其中8个校验位不参与DES运算),原文64位,当然,原文不是64位的倍数也行,怎么填充数据DES算法并没有规定,需要开发者自己填充到64的倍数以及循环调用DES加密解密数据。

步骤

该算法步骤:置换位置、子密钥生成、轮函数处理、逆置换、输出结果。具体如下:

1、置换位置:将64bit原文数据调换位置,具体规则如下:

58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7

即置换后明文第1位是原明文的第58位,第2位是原明文50位...第64位是原明文第7位。再将之分成两个长度为28的明文L0和R0。

2、子密钥生成:子密钥生成步骤如下

初始密钥去除校验位以及经过PC-1表调换位置后得到56位密钥,再分成C0和D0两部分各28位,再进行左移(左移位数与循环次数有关),再根据PC-2表进行缩小调换位置得到48位的子密钥K(i)。

3、轮函数处理:将第一步生成的L0和R0以及子密钥做为输入,经过轮函数的异或等运算,输出L1和R1,再重新生成子密钥,新的L1和R1以及密钥K1进行第二次轮函数运算,一共循环16次。

4、逆置换:将最后的L15以及R15交换位置,然后根据第一步的置换表进行逆置换得到密文。

5、输出:输出二进制数据或16进制字符。

优缺点

优点:加密解密速度快

缺点:安全性很差

使用场景

由于弱密钥以及密钥短的缘故,容易被破解,安全性差,现在基本没有哪种场景是使用DES的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间在手上,需要抓住

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值