AES Entschlüsselung mit pycrypto

Als Selbststudium übung, die ich versuche zu lernen, wie einige der pycrypto-Bibliothek. Ich muss entschlüsselt die Geheimtext-Zeichenfolge in CBC_MODE mit AES. Ich, der Geheimtext, Schlüssel und IV sind alle gegeben. Hier ist der code, den ich geschrieben habe:

from Crypto.Cipher import AES

mode = AES.MODE_CBC
key = "a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1"
ciphertext = "a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1";

iv = ciphertext[:32] 
ciphertext = ciphertext[32:] 
decryptor = AES.new(key, mode, iv)
plaintext = decryptor.decrypt(ciphertext)
print plaintext

Wenn ich diesen starte, bekomme ich die folgende Fehlermeldung:

ValueError: IV muss 16 bytes lang

Weiß ich, dass die IV-string ist 32 hex-Zeichen, und daher 16 Byte. Ich denke, dass dies vielleicht ein Tippfehler problem, aber ich weiß nicht, wie man es richtig. Kann mir jemand helfen?

Danke!

InformationsquelleAutor Alex | 2012-07-16
Schreibe einen Kommentar