是否可以使用slowaes中的python类进行AES ECB 加密?
AESModeOfOperation
支持OFB,CFB& CBC模式。有没有办法使用其中一种模式模拟ECB?
答案 0 :(得分:3)
可以使用IV值为零的CBC(十六进制中16个字节的值为'00')。
仅加密单个块。如果输出超过16个字节,则在加密之前填充纯文本;只使用输出的前16个字节。
现在你有一个块加密。 ECB模式只是单块加密的串联。所以你需要16字节的纯文本,用上面的方法加密,然后让结果成为密文的下一个16字节。
当然,您可能必须自己pad发送您的信息,但这不应该太难。
答案 1 :(得分:3)
你不需要为ecb做任何特别的事情。只需将您的消息划分为块并使用“原始”aes(即Python中的AES.encrypt()
)加密每个块。同样,要解密,请为每个块调用AES.decrypt()
。
其他模式更复杂,这就是为什么需要AESModeOfOperation
中的代码。