关于CBC字节翻转攻击
CBC
,密文分组链接模式,是分组加密工作模式的一种
CBC字节翻转攻击
,针对的是CBC Mode
,只要分组密码工作在CBC模式
下,都适用于字节翻转攻击
CBC Mode
如下:
(本来是想拿《图解密码技术》的图的,看了一眼,发现它的解密是错误的)
平时我们需要注意的是加密使用到的初始向量IV
,还有密钥key
CBC Mode
的加解密的处理都是连续的,并不是并行处理
因此,CBC字节翻转攻击
的实现就是基于连续处理这样的特点
每一组密文进行分组算法解密之后,需要和前一组的密文异或才能得到明文
CBC字节翻转攻击
的核心原理是通过破坏一个比特的密文来篡改一个比特的明文
假设此时我们已知第n-1
组的密文中的某一位的值a
,以及第n
组的密文的同一位置的值经过解密算法的b
,那么第n
组该位置上的明文为
此时,我们通过篡改第n-1
组的a
为,x
为我们想要的,那么,解密出来的第n
组明文,为,就达成了我们篡改的目的
一般,在AES加密
过程中,明文分组的长度为128位
,即16个字节
,密钥长度一般也选择16个字节
,至于明文的填充方式,后面有介绍
有一些例题,还有Python
模拟攻击在处理ing……
可参考https://goodapple.top/archives/217
https://qftm.github.io/2019/03/26/cbc-byte-reverse-attack/
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.