私は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