高级密码学的加密标准,(Advance Encryption Standard, AES),是美国联邦政府采用的一种区块加密标准。是一种对称分组加密算法。对称/分组密码通常分为流加密(如OFB,CFB)和块加密(ECB、CBC等),对于流加密,须要将分组密码转换为流模式工做,对于块加密(或称分组加密),若是须要加密超过块大小的数据,就须要涉及填充和链加密模式。算法
ECB模式是最简单的加密模式,它将待加密的数据分红若干个分组,每组的大小与加密密钥长度相同,而后每组都用相同的密钥进行加密。
优势:
1.简单
2.有利于并行计算
3.偏差不会被传递
缺点:
1.不能隐藏明文的模式
2.可能对明文进行主动攻击安全
每一个明文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每一个密文块都依赖于前面因此的明文。同时为了保证每条消息的惟一性,在第一个块中须要使用初始化向量IV。CBC是最为经常使用的工做模式。它的主要缺点是加密过程是串行化的,没法被并行化。并且消息必须被填充到块大小的整数倍。在加密时,明文的微小改变会致使其后的所有密文块发生改变。但他的解密过程能够被并行化。
优势:
1.不容易主动攻击,安全行好于ECB,适合传输长度较长的报文,是SSL,IPSec的标准。
缺点:
1.不利于并行计算
2.偏差传递
3.须要初始化向量IV加密
与ECB和CBC模式只可以加密块数据不一样,能够将块密码变为自同步的流密码;CFB的解密过程几乎就是颠倒的CBC过程。
优势:
1.隐藏了明文模式
2.分组密码转化为流模式
3.能够及时加密传送小于分组的数据
缺点:
1.不利于并行计算
2.偏差传送,一个明文单元损坏影响多个单元
3.惟一的IVip
先用块加密器加密获得密钥流,而后再将密钥流与明文流异或获得密文流,解密是先用块加密器生产密钥流,再将密钥流与密文流进行异或获得明文,因为异或操做的对称性因此加密和解密的流程彻底同样。
1.隐藏了明文模式;
2.分组密码转化为流模式
3.能够及时加密传送小于分组的数据
缺点:
1.不利于并行计算
2.对明文的主动攻击是可能的
3.偏差传送,一个明文单元损坏影响多个单元同步
计算器模式不常见,在CRT模式中,有一个自增算子,这个算子用密钥加密后的输出和明文异或的结果获得密文,至关于一次一密。
优势:
1.有利于并行计算
2.偏差不传递
3.安全性高(至少和其余模式同样安全,如CBC,CFB,OFB)
4.简单性,加解密算法彻底同样。
5.无填充,能够支持任意个字节的数据加密,而不须要填充
6.随机访问,第i个密文的解密不依赖于第i-1个密文,提供了很高的随机访问能力
缺点:
1.不能进行完整性校验,密文在传输过程当中丢失比特位将致使后续比特没法正确解密。io