Einzelnen Beitrag anzeigen

gammatester

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

AW: DEC 5.2 mit Vector deccipher Umbau von DOT net auf Delphi

  Alt 7. Mär 2013, 09:09
Ich scheitere allerdings an der Hash-Registrierung. Gibts da irgendwo eine Demo oder eine Anleitung?
Es gibt die englische Einführung und viele Testprogramme als Besipiele; für Dich wohl interessant das Program t_kdf.pas mit dem Test für KDF1 in
Delphi-Quellcode:
procedure CryptoSys_Tests;
  {-Vectors from http://www.di-mgt.com.au/cryptoKDFs.html}
//..
  phash := FindHash_by_ID(_SHA1);
  if phash=nil then begin
    writeln('Hash SHA1 not registered/found');
    exit;
  end;

  err := kdf1(phash, @Z, sizeof(Z), nil, 0, key, 32);
  write(' kdf1: ');
  if err=0 then writeln(compmem(@key,@K1,sizeof(K1)))
  else writeln(' err=',err);
//..
Hier wird SHA1 benutzt, wenn Du MD5 verwenden willst, gehts entsprechend mit phash := FindHash_by_ID(_MD5); oder phash := FindHash_by_Name('MD5'); . Wichtig ist (wie in der Einführung beschrieben), daß die Unit mit der Hashfunktion auch wirklich eingebunden wird, zB durch explizites uses md5;

Auf deiner Seite steht zwar "pb_kdf functions are used in the FCA and FZCA demo programs. ", aber gefunden habe ich diese nicht
Na zB in der Unit fcrypta (File crypt/authenticate unit):
Delphi-Quellcode:
function FCA_EAX_init(var cx: TAES_EAXContext; pPW: pointer; pLen: word; var hdr: TFCAHdr): integer;
  {-Initialize crypt context using password pointer pPW and hdr.salt}
var
  XKey: TXKey;
  Err : integer;
begin

  {derive the EAX key / nonce and pw verifier}
  Err := pbkdf2(FindHash_by_ID(_SHA1), pPW, pLen, @hdr.salt, sizeof(TFCASalt), KeyIterations, XKey, sizeof(XKey));

  {init AES EAX mode with ak/hk}
  if Err=0 then Err := AES_EAX_Init(XKey.ak, 8*sizeof(XKey.ak), xkey.hk, sizeof(XKey.hk), cx);;

  {exit if any error}
  FCA_EAX_init := Err;
  if Err<>0 then exit;

  {return pw verifier}
  hdr.PW_Ver := XKey.pv;
  hdr.FCASig := C_FCA_Sig;
  hdr.Flags := $A1;

  {burn XKey}
  fillchar(XKey, sizeof(XKey),0);
end;
Edit: Oder meinst Du, daß Du die Demoprogramme nicht gefunden hast? Die sind hier zu finden:
http://www.wolfgang-ehrhardt.de/crypt_de.html#FCADemo

Geändert von gammatester ( 7. Mär 2013 um 09:31 Uhr)
  Mit Zitat antworten Zitat