Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

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

Re: Verschlüsselung einer TCP-Verbindung

  Alt 15. Apr 2006, 11:01
Zitat:
Oder anders gefragt: Welche Einstellungen muss ich im TCipher_Rijndael (DEC) resp. im RijndaelManaged (.Net) treffen, damit das Ergebnis kompatibel ist?
Kurz gesagt: die gleichen !

Das im .NET die Länge der Nachricht 16 Bytes ist deutet darauf hin das .NET ein simples auf 16 Byte Grenze bezogenes Nachrichten-Padding vornimmt. DEC reagiert da "cleverer" und versucht immer die Nachrichtenlänge in Bytes von der originalen Nachricht zur verschlüsselten Nachricht nicht zu verändern. Bei normalem Padding wird dies aber immer der Fall sein und verhindert somit das technologisch einfache und inplaced Verschlüsseln.

Aber! wird im DEC die Nachricht schon vor ihrer Verarbeitung im DEC nach einem spezifischen Paddingschema bearbeitet dann ändert DEC daran später nichts mehr. In deinem Falle heist dies

1.) im .NET nachschauen welches Padding sie benutzen
2.) in deinen Sourcen die Nachricht vor der Verarbeitung selber padden

Warum ist ein solches Padding nicht im DEC ?

Weil es einfach zu viele Arten dieses Paddings gibt. Jeder "Standard" benutzt sein eigenes Verfahren. DEC benutzt sogenanntes Cipher Text Stealing und in der neuesten Version wechselt es aus Sicherheitsgründen sogar den Cipher Modus von einem Block orientiertem zu einem Byte orientiertem Modus. Das macht es weil eine Blockverschlüsselung zur kurzer Nachrichtenblöcke immer unsicherer sein muß als eine Byteweise Verschöüsselung, egal ob man ein Padding benutzt oder Cipher Text Stealing.
Würde DEC sich also auf ein solches Paddingschemas konzentiereren so käme das einer Festlegung der Funktionalität auf diesen einen Standard gleich. Das will ich aber nicht, da es viele Standards gibt die einfach "unsicher" sind.

Gruß Hagen
  Mit Zitat antworten Zitat