Hallo, unter folgendem Link habe ich die AES-Implementierung heuntergeladen: http://avrcryptolib.das-labor.org/trac Ich habe versucht eine Bytefolge zu entschlüsseln (natürlich mit korrektem Schlüssel), die auf einem anderen Rechner mittels C# verschlüsselt worden ist. Leider hat das nicht funktioniert. Ich denke das liegt an dem Initialisierungsvektor. Dieser ist beim Verschlüsseln mit C# 16 Byte lang, bei Cyrpto-Lib jedoch max. 10Byte. wie kann ich es anstellen, dass die beiden AES-Implementierungen miteinander kompatibel sind? Woran könnte es sonst noch liegen? MfG Faruk
Hab ganz vergessen zu erwähnen, dass ich mir einfach nur gedacht habe dass uint8_t rc_tab[] PROGMEM = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36 }; in aes_keyschedule.c der Initialisierungsvektor ist. :S
habe nun in Erfahrung gebracht, dass der Codeblock, den ich im vorigen Beitrag eingefügt hatte NICHT der IV ist: http://www.codeplanet.eu/tutorials/cpp/51-advanced-encryption-standard.html#aes_key_schedule_rcon Freue mich über jede Hilfestellung!
Problem gelöst: "AES an sich ist nur eine Blockcipher und kennt keinen Initialisierungsvektor (IV). Der IV wir von höher liegenden Betriebsmodi genutzt (z.B. CBC, CTR, CFB, OFB, ...). Welcher Modus zu benutzen ist hängt vom indiviuellen Anwendungsfall ab, und eine Reihe von Modi sind über die Nutzung des BlockCipherAbstractionLayers (BCAL) nutzbar." Zitat Daniel Otte
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.