PyCrypto problem mit AES+CTR

Ich Schreibe ein Stück-code, der zum verschlüsseln einen text mithilfe der symmetrischen Verschlüsselung. Aber es kommt doch nicht wieder mit dem richtigen Ergebnis...

from Crypto.Cipher import AES
import os

crypto = AES.new(os.urandom(32), AES.MODE_CTR, counter = lambda : os.urandom(16))
encrypted = crypto.encrypt("aaaaaaaaaaaaaaaa")
print crypto.decrypt(encrypted)

Hier der entschlüsselte text ist anders als das original.

Verstehe ich nicht wirklich viel über Kryptographie, also bitte Geduld mit mir. Ich verstehe die CTR-Modus erfordert ein "Zähler" - Funktion, um die Versorgung ein random counter jedes mal, aber warum muss Sie es werden 16 bytes, wenn mein key ist 32 bytes und es besteht darauf, dass meine Nachricht wird in vielfachen von 16 bytes zu? Ist das normal?

Ich vermute, dass es nicht wieder zu der ursprünglichen Nachricht, da der Zähler verändert zwischen verschlüsseln und entschlüsseln. Aber dann, wie soll es theoretisch funktionieren überhaupt? Was mache ich falsch? Wie auch immer, ich bin gezwungen zum resort zurück, dass die EZB bis ich das herausgefunden 🙁

InformationsquelleAutor xster | 2010-07-01
Schreibe einen Kommentar