Forum: Compiler & IDEs AES Crypto Lib, Initialisierungsvektor


von farukg (Gast)


Lesenswert?

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

von Faruk G. (farukg)


Lesenswert?

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

von Faruk G. (farukg)


Lesenswert?

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!

von Faruk G. (farukg)


Lesenswert?

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
Noch kein Account? Hier anmelden.