Einzelnen Beitrag anzeigen

Benutzername12345

Registriert seit: 25. Jan 2016
3 Beiträge
 
#10

AW: AES-Encryption zwischen Delphi und Rest der Welt

  Alt 25. Jan 2016, 14:35
Vorweg: Es klappt nun, trotzdem noch Antworten zu allen Fragen.


Und was gibst du da rein?

Im Web ist UTF8 üblich in Delphi UTF16
Hab den Code angepasst mit UTF8Decode bei den Parametern. Allerdings selbes Ergebnis

Du must doch zumindest beim Online-Algorithmus die Schlüssellänge auswählen. (Dort gibt es Rijndael-128, 192, 256. Ich nehme an daß damit AES-xxx gemeint sein soll). Im übrigen muß es schon Verdacht erregen, daß ein Quasi-Stream-Modus wie CFB-8, der Text beliebiger Länge verarbeiten kann, aus 3 Zeichen plötzlich 4 macht. Entweder gleiche Länge oder Vielfaches von 16. Oder ist Deine Angabe "htz5" in Base-64? Umso deutlicher wird es, alles in Bytes zu kommunizieren.
Ist alles Base64

Im übrigen wäre ich skeptisch, wenn gesagt wird uses the mcrypt_encrypt() in PHP ohne daß das genauer spezifiziert ist. In dem PHP manual link wird gesagt, daß, wenn eine Schlüssellänge nicht unterstützt wird, false geliefert wird. Ein 24-Bit Schlüssel a la ASCII "asd" kann nun garantiert nicht benutzt werden. Also ...???
Habe jetzt mal das Tool probiert: http://aes.online-domain-tools.com/

Da Du CFB-8 benutzen willst, hast Du noch ein anderes Problem: Dieser Modus benutzt einen IV (Initialisierungs-Vektor), ich sehe keine Möglichkeit der Eingabe (und das bedeutet noch mehr implizite Annahmen).
Danke. Der Initialisierungsvektor ist bei dem neuen Tool veränderbar.
DEC bietet bei Init als zweitem Parameter
Init(Password, #0, $00); die Möglichkeit diesen zu setzen.

Lasse mir jetzt alles als Hexvalue statt Base64 ausgeben (da das zweite Tool nur Hex anbietet)
Tool gibt bei Eingabe: Text "asd" Password "617364" (Hexwert von asd) und IV von #0 dem Wert 86dcf9 aus.
Delphi mit den eingangs verwendeten Parametern ebenfalls. Ich vermute also, der Code war die ganze Zeit richtig, das Tool mit dem ich die Richtigkeit prüfen wollte war einfach nur nutzlos

Danke euch allen für das (in einem Delphi-Forum) immens schnelle Feedback und schönen Tag


Edit:
Verstehe ich es richtigt: der Webservice ist öffentlich und ohne Authentifizierung erreichbar, nur die Daten sollen verschlüsselt werden? Sobald die Verschlüsselung geknackt ist, müssen dann ja alle Clients erst einmal offline gehen, bis eine neue Lösung gefunden ist
Leider ja.
Haben damals (bei der Erstentwicklung des Webservice) auch Authentifizierungsmethoden gesucht. Allerdings konnte ich damals absolut nichts finden, das kompatibel war zwischen c# REST-Webservice und Delphi Anwendung.

Geändert von Benutzername12345 (25. Jan 2016 um 14:38 Uhr)
  Mit Zitat antworten Zitat