AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi DEC <-> .Net Cryptohgraphy (Rijndael)
Thema durchsuchen
Ansicht
Themen-Optionen

DEC <-> .Net Cryptohgraphy (Rijndael)

Ein Thema von dfried · begonnen am 28. Sep 2007 · letzter Beitrag vom 1. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#1

DEC <-> .Net Cryptohgraphy (Rijndael)

  Alt 28. Sep 2007, 21:46
Hallo,

ich habe in Delphi eine Routine um einen String zu Verschlüsseln mit DEC und Rijndael. Nun soll dieser Text über ein .Net Programm wieder entschlüsselt werden mit den .Net-Cryptography Klassen, aber irgendwie haut das überhaupt nicht hin.

Welche Parameter müssten bei DEC bzw. .Net eingestellt werden, damit ich den dort erzeugten Verschlüsselten String wieder über das .Net-Programm entschlüsseln kann?

Hab es derzeit probiert mit dem Mode cmCBCx und dem Format TFormat_MIME64 als Rückgabeformat der Funktion EncodeBinary.

Delphi-Quellcode:
  with TCipher_Rijndael.Create do
  try
    Mode := cmCBCx;
    Init('');
    OutputStr := EncodeBinary(InputStr, TFormat_MIME64);
  finally
    Free;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

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

Re: DEC <-> .Net Cryptohgraphy (Rijndael)

  Alt 28. Sep 2007, 22:04
Wie wird den im .NET der AES benutzt ? Also welche Einstellungen und Parameter ?

Die Sache ist nämlich das der AES-Rijndael im DEC mit offiziellen Testvektoren verifiziert ist, der ist also richtig.

Gruß Hagen
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#3

Re: DEC <-> .Net Cryptohgraphy (Rijndael)

  Alt 28. Sep 2007, 22:15
Im Moment verwende ich dazu das Assembly hier.
(Kann bei Bedarf auch das ZIP hier anhängen, falls du keinen Account bei CodeProject hast)
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

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

Re: DEC <-> .Net Cryptohgraphy (Rijndael)

  Alt 29. Sep 2007, 07:40
Und welche Parameter werden benutzt ? Solange man nicht die Parameter kennt, also

- Schlüsselgröße für AES
- Umwandlungsfunktion des Passwortes in einen Sessionkey, falls verwendet
- Ciphermode, wie CBC oder ECB usw.
- verwendete Textformate um binäre Daten darzustellen

macht ein Vergleich keinen Sinn. Dieses abzugleichen ist ja gerade die Kunst des Programmierers der verschiedene Systeme zusammenführen möchte. Entscheidend ist das er Entwickler der Systembibliothek, also im Falle vom DEC meine Person, oder im Falle des Assemblies dessen Programmierer, die nötigen Parameter Standardkonform implementiert und dokumentiert haben. Also im DEC stellst du zb. den CipherMode aud CBC, alles Standard, verschlüsselst damit die Daten und wandelst sie per INet MIME Base64 Standard in lesbaren Text um. Jetzt musst du halt in Erfahrung bringen nach welchem Standard dieses Assembly arbeitet.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

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

Re: DEC <-> .Net Cryptohgraphy (Rijndael)

  Alt 29. Sep 2007, 07:46
Mann ich sehe gerade

Zitat:
Delphi-Quellcode:
with TCipher_Rijndael.Create do
  try
    Mode := cmCBCx;
    Init('');
    OutputStr := EncodeBinary(InputStr, TFormat_MIME64);
  finally
    Free;
  end;

.Init('') ? Du benutzt kein Passwort ?

Gruß Hagen
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#6

Re: DEC <-> .Net Cryptohgraphy (Rijndael)

  Alt 29. Sep 2007, 08:44
Zitat von negaH:
- Schlüsselgröße für AES
- Umwandlungsfunktion des Passwortes in einen Sessionkey, falls verwendet
- Ciphermode, wie CBC oder ECB usw.
- verwendete Textformate um binäre Daten darzustellen
Ich werd mir das Assembly mal diesbezgl. genauer ansehen, zumindest laut MSDN ist der Ciphermode standardmässig CBC, die Schlüsselgröße 256bit und das Textformat Base64.

Zitat von negaH:
.Init('') ? Du benutzt kein Passwort ?
Für den ersten Test nicht, ist das wichtig (bestimmt das vielleicht die Schlüssellänge)?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: DEC <-> .Net Cryptohgraphy (Rijndael)

  Alt 29. Sep 2007, 08:53
Evtl. könnt es auch daran liegen das der default-Character unter Delphi 1 Byte groß ist und unter .NET 2 Byte!
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#8

Re: DEC <-> .Net Cryptohgraphy (Rijndael)

  Alt 29. Sep 2007, 11:35
Zitat von Bernhard Geyer:
Evtl. könnt es auch daran liegen das der default-Character unter Delphi 1 Byte groß ist und unter .NET 2 Byte!
Du meinst, ich sollte unter .Net den String zuerst noch von UTF8 in einen SingleByte Zeichensatz umwandeln bevor ih Ihn verschlüssle?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: DEC <-> .Net Cryptohgraphy (Rijndael)

  Alt 29. Sep 2007, 11:45
Zitat von dfried:
Zitat von Bernhard Geyer:
Evtl. könnt es auch daran liegen das der default-Character unter Delphi 1 Byte groß ist und unter .NET 2 Byte!
Du meinst, ich sollte unter .Net den String zuerst noch von UTF8 in einen SingleByte Zeichensatz umwandeln bevor ih Ihn verschlüssle?
Ich meine primär das du diesen unterschied berücksichtigen solltest. Ob du nun die Delphi-Seite anpaßt um mit Widestrings zu arbeiten oder anpassungen auf der .NET-Seite vornimmst sei dir überlassen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: DEC <-> .Net Cryptohgraphy (Rijndael)

  Alt 1. Okt 2007, 11:32
Hallo.

Hat sich das Problem eigentlich gelöst? Sofern es wirklich nur die WideString-Auffassung ist, kannst du es in Delphi einfach mit WideString('test') realisieren. Die Funktion WideString müsste die Chars in WideChars umwandeln (ein #00 wird nach jedem Byte hinzugefügt).

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz