cbc oracle

在密码学中,CBC Oracle也称为密码学攻击,是一种针对加密算法的攻击。

首先,我们需要了解什么是CBC模式。CBC(Cipher Block Chaining)是一种常见的工作模式,它将消息切分成块并进行加密,每个加密块的输出都会与下一个待加密块合并生成密文。在CBC模式中,每个块的加密都依赖于前一个块的密文。因此,如果攻击者可以解密先前的块,他们可以预测下一个块的解密输出。

基于这个条件,我们就可以利用 CBC Oracle 实现一种攻击方式。攻击者发送多个由一组随机 IV 和密文构成的询问,然后依次获取其对应明文比特流,再把所有的比特流组成一个字节流,就可以得到解密密钥。下面是一个示例:

IV1 XOR plaintext1 = ciphertext1 IV2 XOR plaintext2 = ciphertext2