Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#8

AW: Verschlüsselung c# DES -> Delphi DEC DES

  Alt 3. Mai 2011, 17:30
Achte dann aber bitte darauf das alle deine Nachrichten vor der Verschlüsselung eine Länge mit dem Mehrfachen von 8 Bytes haben.

Bei DEC ist das irrelevant da der Padding Mode entweder immer Cipher Text Stealing ist (ältere Versionen) oder vom x Bytes Blockmode wird im letzten unvollständigen Datenblock in den 1 Byte Feedback Modus umgeschaltet (neuste Versionen).

Das Padding der Datenblöcke ist lange Zeit ohne Standards gewesen und so hat jeder seine eigenen Verfahren entwickelt.

DEC selbst beschränkt sich ausschließlich auf Paddings deren Datenlänge am Input gleich dem Output ist, also ohne Datenexpansion. Das benutzte Padding Verfahren ist dann für alle Blockmodis der Cipher einheitlich. DEC enthält alos nur ein Padding Verfahren und dieses ist immer implizit aktiv wenn die Nachrichtenlänge nicht glatt durch die Cipher Blockgröße teilbar ist.

Desweiteren werden in DEC keine anderen Padding Verfahren angeboten. Möchte man diese nachträglich einbauen dann muß man nur vor der Verschlüsselung die Nachricht auf ein Mehrfaches der Blockgröße des Ciphers expandieren. Dies impliziert auch das das DEC eigene Padding autom. deaktiviert ist. Der Aufwand ist also relativ gering im Vergleich dazu das DEC alle möglichen Padding Verfahren implementieren müsste, was dann auch die Komplexität für die Benutzer des DECs erhöht. Und davon abgesehen gab es zum Zeitpunkt des DECs noch garnicht all die Paddingverfahren die es heute gibt. Es ist dabei konzeptionell sehr schwierig für die Zukunft des DECs eine ausbaufähige Schnittstelle zu definieren die dann später einfachst erweitert werden könnte durch eigene Paddingverfahren. Hätte es damals schon Standards gegeben, an die man sich auch global orientiert, dann wäre auch dieses Thema im DEC abgehandelt worden.

Gruß Hagen
  Mit Zitat antworten Zitat