在尝试使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/

10-10 10:25