我是 python 和 pycrypto 的新手。我正在尝试实现 AES-CTR。为了检查我的程序是否正确加密,我尝试使用 NIST SP 800-38A 标准(第 F.5 节)中的测试序列。但我没有得到正确的结果。我究竟做错了什么?
from Crypto.Cipher import AES
from Crypto.Utils import Counter
CTRkey="2b7e151628aed2a6abf7158809cf4f3c"
ctr=Counter.new(128, initial_value=int("f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",16))
cipherCTR=AES.new(CTRkey, AES.MODE_CTR, counter=ctr)
print(cipherCTR.encrypt("f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff".decode("hex")).encode("hex"))
结果:
0008007df81ad564b9aadd6b883fef16
但预期的结果(密文)是:
874d6191b620e3261bef6864990db6ce