Pourquoi faut-toutes les entrées AES être des multiples de 16 ans?

Je suis en utilisant le PyCrypto mise en œuvre de l'AES et je suis en train de chiffrer du texte (24 octets) à l'aide d'un 24 octets de la clé.

aes_ecb = AES.new('\x00'*24, AES.MODE_ECB)
aes_ecb.encrypt("123456"*4)

- Je obtenir cette étonnante erreur ValueError: Input strings must be a multiple of 16 in length
Alors, pourquoi est-ce que mon entrée doit être un multiple de 16 ans? Cela aurait plus de sens pour moi que l'entrée de la longueur de la chaîne doit être un multiple de la clé de ma taille, parce que cela permettrait de nice opérations bit à bit entre la clé et les blocs de texte en clair.

OriginalL'auteur Mark | 2013-07-21