在尝试使python应用程序使用加密链接与C++应用程序对话时,我们无法使它们对话。尝试各种参数组合时,我们意外地发现,如果我们告诉python以OFB模式进行加密,它将可以在CFB模式下的C++中成功解密。
python pycrypt库和C++ Gladman库都受到高度重视,那么哪一个错呢?
奇怪的是,当在两端使用OFB或CFB时,第一个字节似乎可以解密OK。由于标准测试 vector 似乎只能测试第一个字节(我不是这方面的专家,并且可能不了解测试 vector ),因此这两种算法是否都可以通过标准测试?
最佳答案
PyCrypto默认使用8位CFB模式。我猜另一端使用块大小的CFB模式。段大小以位为单位由segment_size
关键字参数AES.new
设置,对于块大小CFB模式,应为AES.block_size*8
。
对于第一个块,OFB模式与块大小CFB模式相同。
关于c++ - AES加密问题:Python pycrypt OFB = C++ Gladman CFB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5170442/