【IoT】加密与安全:对称加密算法 DES 与 3DES 加解密原理浅析
DES 和 3DES(TripleDES) 属于最常用的对称加密算法,其他的对称加密算法还有 AES、RC2、RC4、RC5 和 Blowfish 等。
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
- 点赞
- 收藏
- 关注作者
评论(0)