今天尝试用AES-256-OFB加密一个flag结果输出的密文是43字节,不是128位(16字节)的倍数,代码如下:
import os
from Crypto.Cipher import AES
data=b'flag{a7ba7128-3917-4551-8260-b3499e9dd7b12}'
aes = AES.new(os.urandom(32), AES.MODE_OFB, os.urandom(16))
aes.encrypt(data)
结果输出是一串ee9b074ed941942a965e966de91590af1e32b2c1cccde61efb5295374c807e49ab275456b9b937a6576680
并不是16字节的倍数,百思不得其解,后来网上查了下OFB的工作模式: