赞
踩
英文:Modes of operation
相关文档:SP 800-38A
对应文档:NIST SP 800-38A, 2001
ECB: The most basic but also the weakest mode of operation.
CBC, Ciphertext Block Chaining;
CTR, CounTeR, defined in NIST SP 800-38A, section 6.5 and Appendix B. This mode turns the block cipher into a stream cipher.
CFB, Cipher Feedback. This mode also turns the block cipher into a stream cipher.
OFB, Output Feedback. Another mode that leads to a stream cipher.
They only provide guarantees over the confidentiality of the message but not over its integrity.
Electronic CodeBook
该模式直接将明文加密,导致相同的明文会转化为相同的密文,直接观察就能发现重复部分,为破译提供了线索。
对攻击者来说,无需破译就能够操作明文,比如交换付款人和收款人。虽然通过MAC就可以发现这种篡改行为,但其它模式可以直接避免篡改行为。
Ciphertext Block Chaining
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bFL2I4MO-1673595762435)(OperationsModes.assets/Figure2The_CBC_Mode.png)]
CBC模式下的明文分组操作如下:
首个明文分组则是与初始化向量IV ( Initialization Vector )异或。
每次加密的IV需要进行更换,否则,攻击者监听到两份密文,从中会发现相同的部分,为破译提供线索。
还有一种模式叫做CTS ( Cipher Text Stealing),使用倒数第二个密文分组作为填充数据。通常搭配ECB和CBC使用。
针对CBC可以对IV进行比特反转攻击,这样首个明文分组对应的比特也会改变。
但对密文分组N这种方式是不行的,因为虽然明文分组N+1对应比特会变化,但明文分组N在解密后会有多个比特的变化。
密文反馈模式,意思就是把密文分组重新作为加密算法的明文输入进行加密。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0dg86fba-1673595762437)(OperationsModes.assets/Figure3_The_CFB_Mode.png)]
可以把CFB模式看作是流密码(不需要明文填充)。
该模式有以下特点:
明文只需要与加密IV和密文进行异或操作,不需要明文填充;
加密算法的输出相当于随机源,但因为是计算得到的,并不满足不可预测的要求;
密码算法只加密,不解密。
必须从第一个明文分组开始加密,不能跳过
Replay attack。
攻击者保留密文1,并截获密文2,将密文2中的后面几个分组替换为密文1的分组。被替换的分组中,除了第一个不能成功解密,其余均可解密。
措施:凡是篡改行为,均可以上MAC。
输出反馈模式,与CFB很像,该模式也可以看作是流密码。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lWGN060Y-1673595762438)(OperationsModes.assets/Figure4_The_OFB_Mode.png)]
它和CFB模式的区别,是OFB将加密算法输出直接作为算法输入再次加密,明文只需要与不停加密的IV进行异或操作。
OFB相对CFB有一个优点,异或操作需要的密钥流与明文无关,可以提前准备好,加密时只需要执行异或操作。相比加密算法,异或操作要快得多。
缺点:如果加密算法的输入和输出碰巧一样,那密钥流就一直重复了。这种情况几乎不可能,即使碰到了,不用这个密钥流,换个IV就行了。
计数器模式,相比OFB,把IV换成计数器作为算法输入即可。
该模式同样可看作流密码。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fL43Zxwu-1673595762439)(OperationsModes.assets/Figure5_The_CTR_Mode.png)]
相比OFB模式,CTR模式中计数器(密钥流)的值可以由分组序号计算得到,所以可以以任意顺序对分组进行加解密。
针对CTR和OFB,都可以对密文分组进行比特反转攻击。
以下模式又称AEAD ( Authenticated Encryption with Associated Data),相比传统模式,加入了MAC完整性校验。
填充提示攻击,适用于所有需要分组填充的模式,如ECB和CBC。
攻击者反复重放一段密文,每次都改变一下填充的数据,利用unpad报错信息提供破译线索。
案例:2014年SSL 3.0 Poodle
IV需要由不可预测的随机源生成。
案例:TLS 1.0 使用CBC上一次加密的最后一个密文分组作为新的IV。
SP 800-38A, Block Cipher Modes of Operation: Methods and Techniques | CSRC (nist.gov)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。