Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi PHP in Pascal:mcrypt_ecb(MCRYPT_DES, $a, $b, MCRYPT_ENCRYPT) (https://www.delphipraxis.net/117304-php-pascal-mcrypt_ecb-mcrypt_des-%24-%24b-mcrypt_encrypt.html)

gammatester 29. Jul 2008 11:43

Re: PHP in Pascal:mcrypt_ecb(MCRYPT_DES, $a, $b, MCRYPT_ENCR
 
Zitat:

Zitat von Assertor
Vereinfacht: Ein Hash erstellt aus einer beliebigen Datenmenge genau einen Hash (Attacken außen vor). Stell Dir vor, Du nimmst Dir die gesammelten Werke von Shakespear und der Hash aller Seiten wäre "1234567890". Dann kann man das NICHT umkehren. Du kannst mit einem Hash nur vergleichen, Authentizität prüfen etc.

Da Du es offensichtlich sehr genau nimmst, solltest Du nicht behaupten, daß man mit ein Hash Authentizität prüfen kann. Dies kann man nämlich nicht! Dafür hat man zB MACs = Message Authentication Codes, die normalerweise einen (geheimen) Schlüssel benutzen. Das man mit Hashfunktionen und der HMAC-Konstruktion MACs erzeugen kann, bedeutet nicht, daß man mit Hashfunktionen Authentizität prüfen kann.

Zu Deinem Beispiel: Wie könnte Shakespear beweisen, daß seine Werke von ihm sind, jeder kann "1234567890" ausrechnen. Das es schwer ist, die Werke zu so ändern, daß immer noch "1234567890" rauskommt, hat nichts mit Authentizität zu tun.

Gruß Gammatester

Assertor 29. Jul 2008 12:12

Re: PHP in Pascal:mcrypt_ecb(MCRYPT_DES, $a, $b, MCRYPT_ENCR
 
Hi gammatester,

Zitat:

Zitat von gammatester
Da Du es offensichtlich sehr genau nimmst...

Immer sachte mit den Pferden :evil: Ich habe hier geholfen, nur ist das Problem vom TE nicht ersichtlich. Aber schön das sich in meine One-Man-Show mal jemand anders einschaltet...

Ich muß Dir aber klar widersprechen, Du liest einen falschen Zusammenhang aus meinem Post heraus:
Zitat:

Zitat von Assertor
Vereinfacht: Ein Hash erstellt aus einer beliebigen Datenmenge genau einen Hash (Attacken außen vor). Stell Dir vor, Du nimmst Dir die gesammelten Werke von Shakespear und der Hash aller Seiten wäre "1234567890". Dann kann man das NICHT umkehren. Du kannst mit einem Hash nur vergleichen, Authentizität prüfen etc.

Jetzt deutlich geworden? Vereinfacht ist das Schlüsselwort :roll: Im HMAC kommen doch sehr wohl Hashes zum Einsatz, oder?

Gruß Assertor

walter_b 29. Jul 2008 12:14

Re: PHP in Pascal:mcrypt_ecb(MCRYPT_DES, $a, $b, MCRYPT_ENCR
 
Delphi-Quellcode:
function EncodeText(Key: String): String;
begin
  with TCipher_1DES.Create do
  try
    Mode := cmECBx;
    Init(Key);
    Result := EncodeBinary('KGS!@#$%');
  finally
    Free;
  end;
end;

function DecodeText(Key: String): String;
begin
  with TCipher_1DES.Create do
  try
    Mode := cmECBx;
    Init(Key);
    Result := DecodeBinary('KGS!@#$%');
  finally
    Free;
  end;
end;

var
  hässlicherstring, ergebnis, ergebnis2: string;

begin
  ergebnis:=EncodeText(hässlicherString);
  ergebnis2:=DecodeText(ergebnis)
 
  if (hässlicherString=ergebnis2) then
 ...
Ist hier hässlicherString=ergebnis2? Allerdings war jetzt meine Frage, ob ich damit richtig liege, dass dies NICHT stimmt. Denn bei mir ist ja das Problem, dass der Input-Text konstant ist, und der Key ungewiss ist. Normalerweise müsste für die Decode-Funktion das umgekehrte der Fall sein, oder? Ich meine damit, grundsätzlich müsste der Key gegeben sein und er Inputtext gesucht sein, nicht? Gibt es eine Möglichkeit, die Funktion so umzukehren, dass ich von meinem Hash und dem Inputtext auf den Key schliessen kann?

Assertor 29. Jul 2008 13:32

Re: PHP in Pascal:mcrypt_ecb(MCRYPT_DES, $a, $b, MCRYPT_ENCR
 
Hi walter_b,

bitte hab Verstädnis, daß ich keine Zeit habe mich jetzt in die Rechtslage bezüglich des Entschlüsselns des LM-Hash einzulesen. Ich kann Dir da leider nicht weiterhelfen. Der prinzipielle Aufbau ist hier im Wiki beschrieben und weist Unterschiede zu der von Dir erklärten Funktionsweise auf.

Du kamst mit Deinem Post aus dem Bereich PHP und wolltest ein Pendant dazu mit DEC für Delphi haben. Das ist nun erledigt, daher denke ich, es ist besser ein neues Thema zur LM-Hash Entschlüsselung aufzumachen.

Gruß Assertor


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz