Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

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

Re: Kompatibilität DEC Rijndael, Lockbox RSA zu z.B. C#

  Alt 13. Mär 2006, 05:02
Zitat:
Verschlüsselung mit Rijndael (DEC) auf Delphiseite. Nun meine Frage. Kann nun jemand meine verschlüsselten Daten problemlos z.B.
mit einer C# -Anwendung wieder entschlüsseln, vorausgesetzt er weiss das verwendete Passwort .
Einfache Antwort:

Theoretisch JA zu 100%,
praktisch JAIN und eher 80% Wahrscheinlichkeit das irgendwas nich ganz hinhaut.


Zitat:
Hat jemand schon damit, oder mit nem ähnlichen Problem, Erfahrung gemacht, und/oder was gibt es da zu beachten?
Ja ich. Die Sache ist so das man sehr sehr genau darüber bescheid wissen muß WAS WIE in der jeweiligen Library gemacht wird. Es gibt zwar Standards aber wie so oft hält sich daran keiner und erst recht die sogenannten "Big Player" wie Microsoft koxchen sehr gern ihr eigenes Süppchen.

Ich habe die Algorirthmen im DEC absichtlich alle mit den Standard Text Vekroren getestet. Sie sind kompatibel wenn da nicht das klitzekleine Problemchen wäre das es
a.) oft garkeine zertifizierten und vom Autor des Algos herausgegebene Testvektoren gibt
b.) es oft wiedersprüchliche Testvektoren gibt, zb. beim Blowfish kursieren zwei Versionen jeweils für Big Endian und Little Endian und Bruce Schneier hat sich meines Wissens nach nie geäußert ob sein Algo nun Big- oder Little Endian ist.


Zitat:
Ich hab irgendwo gelesen, dass man bei C# neben dem richtigen Passwort auch noch einen Initialisierungverktor braucht. Bei DEC braucht man doch nur das Passwort?
Nicht zwangsläufig DEC unterstützt in der alten Version zwei verschiedene Methoden zum Schlüsselsetup.
1.) die einfache und alles inklusive Methode .InitKey() die gerade für Anfänger einige zusätzliche Berechnungen durchführt. Diese Methode IST und KANN auch nicht kompatibel zuirgendwas anderes sein, da es im Grunde eben keine verbindlichen Standards gibt (zumindestensnicht vor 5 Jahren).
2.) die einfache und "Basic" methode .Init() bei der der Programmierer eben selber noch einiges an Preprocessing durchführen muß.

Benutzt man 2.) dann MUSS das erzeugte Resultat bei gleichen Parameteren auch gleiche Outputs erzeugen.

Am wichtigsten ist es zu bedenken das DEC eine Algorithmen Bibliothek ist. Also wie ein Werkzeugkoffer oder Baukasten aber nicht ein fertiges Motorad.

Man muß aber auch bedenken das die meisten Crypto Libraries nur solche Baukästen darstellen. Das bedeutet ob du es willst oder nicht du als Programmierer musst die zusäzliches Wissen erarbeiten, die entsprechenden Betriebsparamter zb. in C# ermitteln und dann beide Systeme aufeinander abgleichen.

Eine professionelle Cryptolibrary wie die von RSAInc. oder so kostet einen rießigen Batzen Geld (nicht umsonst).

Gruß Hagen
  Mit Zitat antworten Zitat