AES CBC模式下的Padding Oracle解密
AES CBC模式下的Padding Oracle解密 /*--> */ /*--> */ */ /*--> */ */ /*--> */ */ /*--> */ */ /*--> */ AES CBC模式下的Padding Oracle解密 目录 1. 简介 2. aes cbc加解密测试程序 3. Padding Oracle Attack过程 4. 总结 1 简介 Padding Oracle攻击方法出现的也比较早了,参考 padding oracle attack ,这篇文章写的比较好。 也可以参考 ctf-wiki 。 Padding Oracle Attack主要是针对CBC分组加密的情况,通过padding来测试每个分组的每个字节是否正确来获取分组的中间状态值,上一个分组XOR中间状态值就是明文。第一个分组使用初始IV来XOR获得明文。 图1 CBC模式一个分组的解密过程 2 aes cbc加解密测试程序 用FLASK实现一个aes cbc加解密的测试程序,代码如下,保存为aes_server.py: #!/usr/bin/python # coding=utf-8 # python 3 # 安装依赖 pip3 install PyCrypto flask # 运行 FLASK_APP=aes_server.py flask run from http.server