AES CBC模式下的Padding Oracle解密
1 简介
Padding Oracle攻击方法出现的也比较早了,参考padding oracle attack,这篇文章写的比较好。 Padding Oracle Attack主要是针对CBC分组加密的情况,通过padding来测试每个分组的每个字节是否正确来获取分组的中间状态值,上一个分组XOR中间状态值就是明文。第一个分组使用初始IV来XOR获得明文。
图1 CBC模式一个分组的解密过程
2 为什么会出现Padding Oracle
当服务器对CBC加密的数据进行解密时,对于失败和成功返回不同的结果,就能进行Padding Oracle Attack,类似于布尔型SQL注入。针对每个分组的每个字节,测试所有可能的padding值。