因此,在pyDes(DES 的加密库)中,有一个 API,如下所示pyDes.des(key, [mode], [IV], [pad], [padmode])
。它的用法是这样的k = des("DESCRYPT", CBC, "\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
——我可以使用 CBC 或 ECB 加密模式。但是,作为教授的任务,我被告知使用 pyDes 库进行加密,但手动使用 CBC 和计数器模式。
我设法很好地完成了 CBC 模式,不幸的是我被计数器模式卡住了。使用给定的 api 时,des(key, CBC, IV ...)
我只能在使用 CBC 或 ECB 操作模式时使用 IV。我不能像des("hello", mode = None, "foo",....)
“foo”是我的 IV 那样使用它。(我应该实现 Counter 操作模式,并且 iv 在每次迭代中都是随机的)所以,我的问题是有人遇到过这个问题,并试图克服它。