Zitat von
negaH:
wenn man den CipherMode cmCTSx/cmCTS8 benutzt kann man am Ende eine CMAC errechnen und abspeichern.
[SNIP]
Am Ende einer Verschlüselung/Entschlüsselung kann man mit Cipher.CalcMAC eine sogenannte Cipher-MAC errechnen und somit auf Datenintegrität testen. Wie oben angedeutet wird sich die so errechnet CMAC komplett unterscheiden wenn nur 1 Datenbit falsch übertragenm wurde. Ok, da die meisten Cipher mit zb. 8 Bytes Feedbackregster arbeiten ist diese CMAC auch meistens nur 64 Bit groß. Das Kollisionsrisiko im Vergleich zu eienr guten Hash-MAC ist also viel größer. Nutzt man aber zb. einen 16 Bytes Blockcipher so ist das identisch mit einer zb. MD5-HMAC. Aber mit dem Unterschied das diese CMAC Berechnung Performancetechnisch schon inklusive ist.
Zuerst war ich verwirrt, weil CMAC das "standardisierte" OMAC1 ist, aber im
DEC-Quellcode stehts dann ja drin (wenn man weiß, was man nachsehen soll), und offensichtlich gibts diese "CMAC" praktisch kostenlos für alle Modi bis auf EBC. Wäre doch eine gute Idee für in Luckies
Unit, diese Prüfbytes neben Salt und Ciphertext mit abzuspeichern und beim Entschlüsseln zu verifizieren.
Zitat von
negaH:
Also, das was ich im
DEC implementiert habe hat meiner Meinung nach sehr wohl ein kryptographisch sauberes Fundament, ...
Ich habe auch ich nicht unterstellt, daß dem so wäre, und wie man sieht ist ja auch eine Authentizitäts- / Verifikationsmöglichkeit vorhanden, und nur das war ein Punkt meines Beitrags.
Gruß Gammatester