AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Rijndael-ECB-Entschlüsselung mit DEC
Thema durchsuchen
Ansicht
Themen-Optionen

Rijndael-ECB-Entschlüsselung mit DEC

Ein Thema von egal · begonnen am 7. Jul 2008 · letzter Beitrag vom 7. Jul 2008
Antwort Antwort
egal

Registriert seit: 14. Jul 2004
189 Beiträge
 
Delphi 2006 Professional
 
#1

Rijndael-ECB-Entschlüsselung mit DEC

  Alt 7. Jul 2008, 10:22
Hallo,
brauche schon weider eure Hilfe. Irgendwie komme ich nicht zurecht mit ECB und DEC...
Ich habe eine Datei, die mit ECB verschlüsselt wurde, allerdings in C#, mir ist Key, IV und KeySize bekannt. Aber Entschlüsselung klappt nicht.
Hier ist mein Stück Code, bestimmt mache ich was falsch...
Delphi-Quellcode:
procedure Encrypt(ASource, ADest: TStream; const APassword: String); overload;
const
  ACipherClass: TDECCipherClass = TCipher_Rijndael;
  ACipherMode: TCipherMode = cmECBx;
var
  cIV: Binary;
begin
  with ValidCipher(ACipherClass).Create do
  try
    cIV := '1234567891011123'; // IV
    Mode := ACipherMode;
    // APassword-mein Key
    Init(APassword, Length(APassword), cIV, Length(cIV));
    
    EncodeStream(ASource, ADest, -1, nil);
  finally
    Free;
    ProtectBinary(cIV);
  end;
end;
Verstehe auch nicht, wo ich KeySize=256 verwenden soll? Vielen Dank im Voraus!
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

Re: Rijndael-ECB-Entschlüsselung mit DEC

  Alt 7. Jul 2008, 10:49
Zitat von egal:
Verstehe auch nicht, wo ich KeySize=256 verwenden soll?
Soweit ich weiß, passt das DEC die Schlüssellänge dem Passwort an. [Quelle]

MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#3

Re: Rijndael-ECB-Entschlüsselung mit DEC

  Alt 7. Jul 2008, 10:52
Der erste Schritt sollte sein, daß Du nicht noch mal verschlüsselt und sowas wie DecodeStream benutzt. Schlüsselgröße wird in Init angegeben, ungefähr so:

Delphi-Quellcode:
var
  AES: TCipher_Rijndael;
begin
  AES := TCipher_Rijndael.Create;
  AES.Mode := cmECBx;
  AES.Init(key256,32,IV,16);
  {...}
end
[Edit]Normalerweise brauch man allerdings keinen IV für ECB[/Edit]

Gruß Gammatester
  Mit Zitat antworten Zitat
egal

Registriert seit: 14. Jul 2004
189 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Rijndael-ECB-Entschlüsselung mit DEC

  Alt 7. Jul 2008, 11:26
Zitat von BUG:
Soweit ich weiß, passt das DEC die Schlüssellänge dem Passwort an.
Ich habe noch genauer C#-Code angeschaut, da steht eigentlich myRijndael.KeySize = 256, aber ich vermute, dass es hier um Blocksize geht und nicht um Keysize, weil Key nur 32 bit lang ist.
  Mit Zitat antworten Zitat
egal

Registriert seit: 14. Jul 2004
189 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Rijndael-ECB-Entschlüsselung mit DEC

  Alt 7. Jul 2008, 11:31
Zitat von gammatester:
Der erste Schritt sollte sein, daß Du nicht noch mal verschlüsselt und sowas wie DecodeStream benutzt.
Nein das mache ich nicht und Schlüsselgröße gebe ich eigentlich richtig in Init an. Ich versuche dann jetzt am besten eine Datei in Delphi verschlüsseln und entschlüsseln, vielleicht ist die verschlüsselte Datei daran schuld...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Rijndael-ECB-Entschlüsselung mit DEC

  Alt 7. Jul 2008, 11:34
Zitat von egal:
Zitat von gammatester:
Der erste Schritt sollte sein, daß Du nicht noch mal verschlüsselt und sowas wie DecodeStream benutzt.
Nein das mache ich nicht
Doch tust du. Aus deinem obigen Code:
EncodeStream(ASource, ADest, -1, nil); Wenn du entschlüsseln willst, wäre wohl DecodeStream die richtige Methode.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#7

Re: Rijndael-ECB-Entschlüsselung mit DEC

  Alt 7. Jul 2008, 11:39
Zitat von egal:
Zitat von BUG:
Soweit ich weiß, passt das DEC die Schlüssellänge dem Passwort an.
Ich habe noch genauer C#-Code angeschaut, da steht eigentlich myRijndael.KeySize = 256, aber ich vermute, dass es hier um Blocksize geht und nicht um Keysize, weil Key nur 32 bit lang ist.
256 ist die Schlüsselgröße in Bits also 32 Bytes. Ich gehe davon aus, daß Dein C# nur die AES-Blockgröße von 128 Bits unterstützt, alles andere wäre heutzutage ungewöhnlich.

Gruß Gammatester
  Mit Zitat antworten Zitat
egal

Registriert seit: 14. Jul 2004
189 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Rijndael-ECB-Entschlüsselung mit DEC

  Alt 7. Jul 2008, 12:05
Zitat von Luckie:
Wenn du entschlüsseln willst, wäre wohl DecodeStream die richtige Methode.
Echt, ich war fest überzeugt, dass man bei der Entschlüsselung EncodeStream nehmen soll... Aber, wenn ich Decodestream benutze, dann wird die Datei trotzdem nicht richtig entschlüsselt. Diese Initroutine macht mir Sorgen...
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#9

Re: Rijndael-ECB-Entschlüsselung mit DEC

  Alt 7. Jul 2008, 12:27
Zitat von egal:
Zitat von Luckie:
Wenn du entschlüsseln willst, wäre wohl DecodeStream die richtige Methode.
Echt, ich war fest überzeugt, dass man bei der Entschlüsselung EncodeStream nehmen soll... Aber, wenn ich Decodestream benutze, dann wird die Datei trotzdem nicht richtig entschlüsselt. Diese Initroutine macht mir Sorgen...
Bist Du sicher, daß Dein Passwort=Schlüssel exakt 32 Zeichen bzw. Bytes enthält? Andernfalls wird es nämlich mit 0 aufgefüllt (aber nur wenn's mindestens 25 Zeichen hat, sonst wird ein 192Bit-Schlüssel benutzt). Wie wird es denn in C# gemacht? Vielleicht ist es besser, in Delphi ein array[0..31] of byte oder array[0..31] of char zu benutzen.

Gruß Gammatester
  Mit Zitat antworten Zitat
egal

Registriert seit: 14. Jul 2004
189 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Rijndael-ECB-Entschlüsselung mit DEC

  Alt 7. Jul 2008, 14:09
Zitat von gammatester:
Bist Du sicher, daß Dein Passwort=Schlüssel exakt 32 Zeichen bzw. Bytes enthält?
Ja, Passwort hat 32 Zeichen, aber ich habe rausgefunden, woran es lag. Wenn ich bei der Init-Routine nur Passwort ohne IV eingebe, dann klappt's, zumindest in Delphi. Jetzt muss man nur C#-Code entsprechend anpassen.

Einen großen Dank an alle Helfer an dieser Stelle!!!
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:11 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