GO语音工具包里面自带的五种加密分组模式(区块链基础)ECB

5种密码加密模式 是经过市场的检验的

1. ECB:电子密码本模式(淘汰,golang不支持)
2. CBC:密文分组连接模式(推荐使用)
3. CFB:密文反馈模式(可以使用)
4. OFB:输出反馈(可以使用)
5. CTR:计数器模式(推荐使用)

密码算法与分组模式的关系

des 和3des和aes 是密码算法    这个5种是密码模式(怎么使用密码算法)

两个是要进行结合一起使用

具体模式分析

1.ECB模式

GO语音工具包里面自带的五种加密分组模式(区块链基础)ECB

特点:

1. 需要对明文进行切割,具体分组长度依赖加密算法:
       1. des==》 8字节分组
       2. 3des ==》 8字节
       3. aes ==》 16字节
2. 对每一个分组数据进行单独的加密:
      1. 效率高
      2. 可以通过输入有规律的输入得到有规律的输出:不安全,加密不彻底
     3. 由于明文分组后直接加密,所以需要对不足分组长度进行尾部填充。

 

填充分析

GO语音工具包里面自带的五种加密分组模式(区块链基础)ECB

如果我除以8字节余4字节 ,我们后面就添加4个4字节  这样我们就是8的倍数了 

解密的时候要删除对应的字节数,获取最后一个字节是4字节,我们就删除4字节

就可以了

有人就说我除以8字节余0字节,我们后面就不填了,这个是不对的,因为我们写

的删除填充程序无法从最后一个字节判断我们填没填充所以我们除以8字节余0字节

就填充8个字节,字节内容是8 ,解析的时候就直接去掉8字节