1980年12月,FIPS 81标准化了DES的四种工作模式:ECB、CBC、CFB和OFB。这些工作模式适用于任何分组密码。只要把分组长度由64位改为128位,即可以把这几种模式应用于AES。AES还有一种模式为CTR模式,下面我们介绍这些模式的优缺点以及用途。
DES
DES是16轮Feistel型迭代密码。分组长度64bit,用56bit**加密64bit长度。
AES
AES的分组长度是128bit,三种可选**长度128bit,192bit和256bit,轮数分别为10、12和14。
常见五中工作模式:
ECB(ElectronicCodebook,电子密码本):
优点:简单、可并行计算、误差不传递
缺点:不能隐藏明文模式(比如图像加密轮廓仍在)、主动***(改明文,后续内容不影响,只要误差不传递该缺点就存在)
用途:需要并行加密的应用
CBC(Cipher Block Chaining,密码分组链接):
优点:不容易主动***(误差传递)、适合长报文,是SSL、IPSec标准
缺点:无法并行、误差传递
用途:长报文传输,SSL和IPSec
CFB(CipherFeedback,密码反馈):
优点:不容易主动***(误差传递),分组转变为流模式,可加密小于分组数据
缺点:无法并行、误差传递
OFB(OutputFeedback,输出反馈):
优点:分组转为流模式、可加密小于分组数据
缺点:主动***(改明文,后续内容不影响,只要误差不传递该缺点就存在)
用途:通信信道质量不高时使用,比如卫星通信
CTR(Counter,计数器模式):
描述:计算器模式不常见,在CTR模式中,有一个自增的算子,这个算子用**加密之后的输出和明文异或的结果得到密文,相当于一次一密。这种加密方式简单快速,安全可靠,而且可以并行加密,但是在计算器不能维持很长的情况下,**只能使用一次。
优点:并行、一次一密、不传递误差
缺点:主动***(改明文,后续内容不影响,只要误差不传递该缺点就存在)
总结
分组模式:ECB、CBC和CTR;
流模式:CFB、OFB
传递误差:CBC、CFB
不传递误差:ECB、OFB和CTR
可并行:ECB、CTR
不可并行:CBC、OFB、CFB
转载于:https://blog.51cto.com/ciphertext/1420338