NIST AES Testvektoren falsch ?

  • Ersteller Ersteller Crymes
  • Erstellt am Erstellt am
C

Crymes

Guest
Hallo,
Ich bin gerade dabei meine AES Implementierung (CStructures/aes.c at master * Crymes/CStructures * GitHub) zu verifizieren und hab dazu folgende Testvektoren genommen: http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf
Im ECB Modus stimmt noch alles, im CBC und OFB Modus bekomm ich jedoch was anderes raus.
Seltsamerweise berechnet dieses Online Tool Cryptomathic - AES Calculator
genau das gleiche wie ich und ich bin mir eigentlich ziemlich sicher dass ich CBC und OFB richtig implementiert habe.
Weiß jemand wie in dem NIST Dokument die Testvektoren berechnet worden sind oder ob dort Fehler drin sein können ?
 
Testest du auch mit dem vollen Input? Ich habe mir jetzt deinen Code nicht wirklich angesehen, aber die von dir verlinkte Seite erzeugt für die Eingabe auch die im NIST Dokument angegebene Ausgabe.
Code:
Eingabe:
6BC1BEE22E409F96E93D7E117393172A  
AE2D8A571E03AC9C9EB76FAC45AF8E51  
30C81C46A35CE411E5FBC1191A0A52EF  
F69F2445DF4F9B17AD2B417BE66C3710

Ausgabe (CBC-AES128):
7649ABAC8119B246CEE98E9B12E9197D
5086CB9B507219EE95DB113A917678B2
73BED6B8E3C1743B7116E69E22229516
3FF1CAA1681FAC09120ECA307586E1A7
Du darfst natürlich nicht mit den einzelnen Blöcken testen, da wegen CBC das Ergebnis des vorherigen Blocks in die Berechnung des nächsten mit einfließt.
 
Du hast Recht, hab die einzelnen 16 Byte Blöcke einzeln getestet. Jetzt passt alles und ich bekomm auch keine Fehler bei meiner Implementierung. Nur dem Cipher Text Stealing muss ich wohl auf gut Glück vertrauen, aber solange beim Entschlüsseln wieder das gleiche rauskommt ist das denke ich auch nicht sicherheitskritisch :schief:
 
Zurück