AES 128 en Python

Je ne sais pas pourquoi quand j'ai chiffrer en AES de texte avec le PyCrypto (Crypto.Chiffrement AES), le résultat n'est pas le même que le cryptogramme de générer un code en C.

Par exemple, le code suivant me donne

99756ed0115f676cef45ae25937bfd63247358a80803dde3fc1eae4953ee7277

au lieu de

CC613A0BDC930DABEA7A26126CE489EA

voici mon code:

key = '1F61ECB5ED5D6BAF8D7A7068B28DCC8E'
IV = 16 * '\x00'
mode = AES.MODE_CBC
encryptor = AES.new(key, mode, IV=IV)
text = '020ABC00ABCDEFf8d500000123456789'
ciphertext = encryptor.encrypt(text)
print binascii.hexlify(ciphertext)
S'il vous plaît montrer comment le texte est chiffré à partir de C.
Si vous utilisez l'exemple de vecteurs à partir de la FIPS-197 Standard AES-vous obtenir le résultat correct? csrc.nist.gov/publications/fips/fips197/fips-197.pdf Note vous devrez peut-être tester avec Electronic Code Book Mode (BCE) assurez-vous que votre mode ne change pas le résultat. Si la BCE Mode ne doit pas être utilisé dans un produit final
AES est un algorithme de chiffrement par bloc le sens d'un court texte en clair sera complétée à 128 bits ou 256 bits avant de les crypter. La sortie que vous n'aimez pas est exactement 256 bits, ce qui est une bonne longueur; la sortie de votre programme C est de 128 bits. Les deux bibliothèques ont différentes tailles de bloc par défaut. Ceci est indépendant de la longueur de la clé.

OriginalL'auteur TomasG | 2015-08-22