分组明码的加密模式
1. 按位异或
- 第一步须要将数据转换为二进制
2. ECB – Electronic Code Book,电子密码本模式
ECB 模式是简略的加密模式,明文数据被分成固定大小的块,并且每个块被独自加密,每个块的加密和解密都是独立的,且应用雷同的办法进行加密,所以能够进行并行计算,这种模式下有一个块被破解了,用雷同的办法就能够破解其余块失去明文数据。安全性比拟差,实用于数据较少的情景,加密前须要把明文数据填充到块大小的整数倍
go 接口中不提供该模式 3.04
总结:
- 特点:简略,效率高,密文有法则,容易被破解
- 最初一个明文分组 必须 要填充
- 不须要初始化向量
3. CBC – Cipher Block Chaining, 明码块链
CBC 模式中每个分组要先和前一个分组加密后的数据进行异或运算,而后再进行加密,第一个数据块进行加密之前须要应用初始化向量 IV 进行异或运算。CBC 模式是一种最罕用的加密模式,它次要毛病是加密是间断的,不能并行处理,并且与 ECB 一样音讯块必须填充到块大小的整数倍
总结:
- 特点:密文没有法则,常常应用的加密形式
- 最初一个明文分组须要填充
- 须要一个初始化向量,并且加解密应用的初始化向量必须雷同
4. CFB – Cipher FeedBack,密文反馈模式
CFB 模式中,前一个分组的密文加密后和以后分组的明文进行异或运算生成以后分组的密文,第一步对初始化向量进行加密,并且该模式不须要进行数据填充,不须要填充的还有前面说到的 OFB 模式和 CTR 模式
总结:
- 特点:密文没有法则,明文分组是和数据流进行按位异或,最终生成密文
- 须要一个初始化向量,并且加解密应用的初始化向量必须雷同
- 不须要填充
5. OFB – Output FeedBack,输入反馈模式
在 OFB 模式中,明码算法的输入会反馈到明码算法的输出中,即上一个明码算法的输入是以后分组明码算法的输出。OFB 模式并不通过明码算法对明文间接进行加密,而是通过明文分组和明码算法的输入进行异或来产生密文分组的,在这一点上 OFB 和 CFB 模式十分类似
总结:
- 特点:密文没有法则,明文分组是和数据流进行按位异或,最终生成密文
- 须要一个初始化向量,并且加解密应用的初始化向量必须雷同
- 不须要填充
6. CTR – CountTeR,计数器模式
CTR 模式是一种通过将逐次累加的计数器进行加密来生成密钥流的流明码,最终的密文分组是通过将计数器加密失去的比特序列,与明文分组进行异或而失去的
总结:
- 特点:密文没有法则,明文分组是和数据流进行按位异或,最终生成密文
- 不须要初始化向量
- 不须要填充