Sprengning XOR Encryption

Kildekode eksempel på hvordan du kan bryte kryptering ved hjelp av Delphi tilfeldig () -funksjonen og XOR. [Cracking XOR Kryptering] slippe en knapp og redigeringsboksen på skjemaet, har teksten i redigeringsfeltet til å være minst 8 tegn. hvis du bruker til å faktisk bryte en kryptert streng, bare fylle buffer [0..7] med krypterte data og fylle [0..7] med klarteksten du antar er kryptert (ganske lett, du brukernavnet til noe slikt ) .I'd takke Cheng Wei (på Delphi3000.com) for å peke ut mine rediculously langsomme samtaler til Edit1.text [i]. Jeg har rethought algoritmen ut, og det nå tester tastene som 2 longwords. som følge av denne feilrettingen, nå skanner det 100.000.000 nøklene i 15seconds på min Duron 600! WAAAHOOOOO! ! Takk allotCheng prosedyre TForm1.Button1Click (Sender: TObject); Var i, j: Long; thistime, Lasttime: Long; buffer: array [0..7] i byte; b: array [0..1] av Long absolutt buffer [0]; klartekst: array [0..7] i byte; p: array [0..1] av Long absolutt klartekst [0]; Nøkkelen: array [0..7] i byte; k: array [0..1] av Long absolutt nøkkelen [0]; begynne Lasttime: = gettickcount; random; hvis lengde (edit1.text) < 8 og avslutter; for i: = 0-7 gjør begynne klartekst [i]: = byte (edit1.text [i + 1]); buffer [i]: = klartekst [i] xor tilfeldig (256); //kryptere slutten; i: = 0; gjenta for j: = 0-1 millioner gjøre //løkke rulles av kompilatoren begynne randseed: = i; key [0]: = tilfeldig (256); nøkkel [1]: = tilfeldig (256); key [2]: = tilfeldig (256); nøkkel [3]: = tilfeldig (256); nøkkel [4]: ​​= tilfeldig (256); nøkkel [5]: = tilfeldig (256); key [6]: = tilfeldig (256); nøkkel [7]: = tilfeldig (256); hvis b [0] xor k [0] = p [0] deretter //testknappen i blokker på fire hvis b [1] XOR k [1] = p [1] og begynner deretter thistime: = gettickcount; bildetekst: = 'Nøkkelen er: "+ inttostr (i) +' ( '+ inttostr ((thistime-Lasttime) div 1000) +' s) '; Gå; slutt; inc (i, 1); slutt; bildetekst: = inttostr (i); application.processmessages; før jeg > Long (MAXINT); end;



Previous:
Next Page: