Warum müssen alle Eingänge auf die AES, die ein Vielfaches von 16?

Ich bin mit dem PyCrypto Implementierung von AES und ich bin versucht zu verschlüsseln text (24 bytes) mit einem 24-byte-Schlüssel.

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

Bekomme ich diesen merkwürdigen Fehler ValueError: Input strings must be a multiple of 16 in length

Also warum ist es, dass meine Eingabe muss ein Vielfaches von 16 sein? Es würde mehr Sinn machen für mich, dass der Eingabe-string-Länge muss ein Vielfaches von meinem Schlüssel (Größe, denn dies würde es ermöglichen, schöne bitweise Operationen zwischen dem Schlüssel und Blöcke von Klartext.

InformationsquelleAutor Mark | 2013-07-21
Schreibe einen Kommentar