在尝试使用加密链接让python应用程序与C ++应用程序通信时,我们无法让它们进行通话。尝试各种参数组合我们偶然发现,如果我们告诉python在OFB模式下加密,它将在CFB模式下成功解密C ++。
python pycrypt库和C ++ Gladman库都受到高度重视,这可能是错误的吗?
奇怪的是,当在两端使用OFB或CFB时,第一个字节似乎解密了。由于标准测试向量似乎只测试第一个字节(我不是这方面的专家,可能不了解测试向量),两种算法是否可能通过标准测试?
答案 0 :(得分:3)
PyCrypto默认使用8位CFB模式。我猜另一端使用块大小的CFB模式。段的大小(以位为单位)由segment_size
关键字参数设置为AES.new
,对于块大小的CFB模式,它应为AES.block_size*8
。
对于第一个块OFB模式与块大小的CFB模式相同。