GO语音工具包里面自带的五种加密分组模式(区块链基础)ECB
5种密码加密模式 是经过市场的检验的
1. ECB:电子密码本模式(淘汰,golang不支持)
2. CBC:密文分组连接模式(推荐使用)
3. CFB:密文反馈模式(可以使用)
4. OFB:输出反馈(可以使用)
5. CTR:计数器模式(推荐使用)
密码算法与分组模式的关系
des 和3des和aes 是密码算法 这个5种是密码模式(怎么使用密码算法)
两个是要进行结合一起使用
具体模式分析
1.ECB模式
特点:
1. 需要对明文进行切割,具体分组长度依赖加密算法:
1. des==》 8字节分组
2. 3des ==》 8字节
3. aes ==》 16字节
2. 对每一个分组数据进行单独的加密:
1. 效率高
2. 可以通过输入有规律的输入得到有规律的输出:不安全,加密不彻底
3. 由于明文分组后直接加密,所以需要对不足分组长度进行尾部填充。
填充分析
如果我除以8字节余4字节 ,我们后面就添加4个4字节 这样我们就是8的倍数了
解密的时候要删除对应的字节数,获取最后一个字节是4字节,我们就删除4字节
就可以了
有人就说我除以8字节余0字节,我们后面就不填了,这个是不对的,因为我们写
的删除填充程序无法从最后一个字节判断我们填没填充,所以我们除以8字节余0字节
就填充8个字节,字节内容是8 ,解析的时候就直接去掉8字节