【IoT】加密与安全:对称加密算法 DES 与 3DES 加解密原理浅析

举报
产品人卫朋 发表于 2021/10/29 23:08:03 2021/10/29
【摘要】 DES 和 3DES(TripleDES) 属于最常用的对称加密算法,其他的对称加密算法还有 AES、RC2、RC4、RC5 和 Blowfish 等。 3DES加解密工具 1、数据补位 DES 数据加解密就是讲数据按照 8 字节一段进行 DES 加密或解密得到一段 8 字节的密文或者明文,最后一段不足 8 字节,按照需求补足 8...

DES 和 3DES(TripleDES) 属于最常用的对称加密算法,其他的对称加密算法还有 AES、RC2、RC4、RC5 和 Blowfish 等。

3DES加解密工具

1、数据补位

DES 数据加解密就是讲数据按照 8 字节一段进行 DES 加密或解密得到一段 8 字节的密文或者明文,最后一段不足 8 字节,按照需求补足 8 字节(通常补 0x00 或 0xFF,根据实际要求会有不同,在 NFC CPU 卡上一般是补 80 00),之后再按顺序将计算得到的数据连在一起。

2、ECB 模式 DES

ECB(电子密码本方式)模式比较简单,将数据按照 8 字节一段进行 DES 加密或解密得到一段 8 字节的密文或明文,最后一段不足 8 字节按照需求补足 8 字节进行计算,之后按顺序将计算所得数据连在一起,各段数据之间互不影响。

3、CBC 模式 DES

CBC(密文分组链接方式)模式加密的各段数据之间有联系,原理如下:

加密过程:

1、将数据按照 8 字节一组进行分组得到 D1D2...Dn(若数据不是 8 字节的整数倍,需要按照指定的 PADDING 数据补位)

2、第一组数据 D1 与初始化向量 I 异或后的结果进行 DES 加密得到第一组密文 C1(初始化向量为全 0)

3、第二组数据 D2 与第一组的加密结果 C1 异或后进行 DES 加密,得到第二组密文 C2,以此类推得到加密数据 C1C2...Cn

解密过程:

1、将密文数据按照 8 字节进行分组得到 C1C2...Cn

2、将第一组数据解密后与初始化向量 I 进行异或得到第一组明文 D1(初始化向量为全 0)

3、将第二组数据 C2 进行解密后与第一段密文数据进行异或得到第二组数据 D2,以此类推得到解密后的数据 D1D2...Dn

4、示例 - CPU 卡 3DES 加解密过程

加密过程:

解密过程:

 

文章来源: blog.csdn.net,作者:简一商业,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/liwei16611/article/details/84302020

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。