AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
Thema durchsuchen
Ansicht
Themen-Optionen

Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

Ein Thema von Assertor · begonnen am 7. Jan 2012 · letzter Beitrag vom 17. Sep 2020
Antwort Antwort
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 3. Dez 2013, 16:12
Hallo gammatester,

Das geht so überhaupt nicht! Es liegt aber nicht an meinen Routinen, sondern an den häufigen selbstgestrickten DEC-Routinen:
Ok, verstehe. Ist zwar schlecht, weil's dann wohl darauf rausläuft, dass ich sämtliche Programme, die ich künftig noch pflegen muss und die irgendwo diese Routine verwendet haben um irgendwas zu verschlüsseln, in einer 32-Bit-Version auf ein neues Verfahren umkonvertieren muss um dann in einer künftigen 64-Bit-Version mit beispielsweise Deinen Routinen zu arbeiten. Das wird kein Spaß.

Wie sieht's denn damit aus? Das ist zumindest auch unter (beispielsweise) PHP verwendbar...
Delphi-Quellcode:
function EncryptStringForPHP(Text, Password: RawByteString): RawByteString;
var
  Salt : Binary;
begin
  Salt := RandomBinary(8);
  with TCipher_Blowfish.Create do
    try
      mode := cmCFB8;
      Init(Password, Salt, Context.KeySize);
      Result := TFormat_MIME64.Encode(Salt + EncodeBinary(Text, TFormat_Copy));
    finally
      Free;
      ProtectBinary(Salt);
      ProtectBinary(Password);
    end;
end;
Grüße,
Uwe
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat
gammatester

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

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 4. Dez 2013, 08:08
Wie sieht's denn damit aus? Das ist zumindest auch unter (beispielsweise) PHP verwendbar...
Delphi-Quellcode:
function EncryptStringForPHP(Text, Password:
//...
with TCipher_Blowfish.Create do
    try
      mode := cmCFB8;
      Init(Password, Salt, Context.KeySize);
      Result := TFormat_MIME64.Encode(Salt + EncodeBinary(Text, TFormat_Copy));
Mein Blowfish-CFB arbeitet mit Blockgröße; die einzige Chiffre, die CFB8 unterstützt, ist auf spezielle Useranfrage AES. Wenn es denn unbedingt das ineffektive CFB8 sein muß (eigentlich für langsame byteweise Übertragung gedacht), kann man als Vorlage die beiden kleinen AES-Funktionen aus aes_cfb8.pas nehmen.
  Mit Zitat antworten Zitat
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 4. Dez 2013, 18:16
Hallo gammatester,

Wenn es denn unbedingt das ineffektive CFB8 sein muß (eigentlich für langsame byteweise Übertragung gedacht), kann man als Vorlage die beiden kleinen AES-Funktionen aus aes_cfb8.pas nehmen.
Nein, muss es nicht unbedingt sein. War nur die erste Funktion, die ich damals so unter Delphi und PHP zum Laufen gebracht habe...

Ich habe Dir mal 'ne PM geschickt.


Grüße,
Uwe
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat
gammatester

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

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 5. Dez 2013, 08:27
... kann man als Vorlage die beiden kleinen AES-Funktionen aus aes_cfb8.pas nehmen.
... War nur die erste Funktion, die ich damals so unter Delphi und PHP zum Laufen gebracht habe...
Gestern abend habe ich die Routinen nach dem Rezept erstellt und hänge sie hier an (falls mehr Interessenten gibt) mit Testprogrammen für DEC und die Unit, beide liefern byte-identische Ergebnisse. Ein großes Problem ist, das es offensichtliche keine oder nur sehr schwierig zu findende veröffentlichte Testvektoren für Blowfish-CFB8 gibt.
Angehängte Dateien
Dateityp: zip blowfish_cfb8.zip (3,2 KB, 20x aufgerufen)
  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 05:12 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