AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi MD5-128 bit Brute force moeglich? in einer woche?
Thema durchsuchen
Ansicht
Themen-Optionen

MD5-128 bit Brute force moeglich? in einer woche?

Ein Thema von richard_boderich · begonnen am 18. Feb 2005 · letzter Beitrag vom 11. Nov 2011
Antwort Antwort
Seite 3 von 5     123 45      
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#21

Re: MD5-128 bit Brute force moeglich? in einer woche?

  Alt 16. Mär 2005, 11:44
Ihr verdreht ihr einiges. MD5 hat nichts mit RC5 zu tuen. Bei dem RC5 Projekt gibt es einen verschlüsselten String, der per Brute-Force entschlüsselt wird. Dabei hat der Schlüssel eine Feste länge (nämlich 72Bit). Bei MD5 wird ein Hashwert erzeugt, wobei dort die Eingabelänge variieren kann. theoretisch kann man auch einen 1 GB String per MD5 hashen. Das dauert aber dementsprechend lange. Es ist also überhaupt nicht vergleichbar.

P.S: Du kannst dir die Sourcecodes für die Entschlüsselung bei RC5 herunterladen. Aber ob man daraus wirklich schlauer wird. Ist alles hoch optimiertes Assembler für die verschiedenen Prozessoren.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#22

Re: MD5-128 bit Brute force moeglich? in einer woche?

  Alt 16. Mär 2005, 20:45
Also ich meine MD5 und in dem Zusammenhang Hashes von Passwörtern, die man möglicherweise bruteforcen kann. Und ich persönlich suche auf Geschwindigkeit optimierte Implementationen von MD5.
Christoph
char l[]="\xd6N\x96\xa6\xe6\xce.\xa6\xe4\xce\x04N\x86\xae\ xce\xfc",I,*i=l-1;for(;I=3,*i
++;){while(*i=*i&~(1<<I|1<<7-I)|(*i&1<<I)<<7-2*I|(*i&1<<7-I)>>7-2*I,I--);}puts(l);
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#23

Re: MD5-128 bit Brute force moeglich? in einer woche?

  Alt 17. Mär 2005, 07:18
260 Zyklen auf einem ASIC sind eigentlich kein Problem mit dem RC4/5 Algo. Es gibt weit performantere Algorithmen wie AES Rijndael zb. Überlicherweise implementiert man aber solche Brute Forcer nicht auf ASIC's oder RISC's sondern auf multiplen FPGA Systemen. Theoretisch kann dann eine FPGA Node in einer solchen Matrix innerhalb eines einzigsten Taktzyklus einen Schlüssel brute forcen. Die FPGA's werden meistens mit weit mehr als 100Mhz getaktet. Man kann also mit professionellen Systeme weit mehr als 100 Millionen Schlüssel pro Sekunde testen. Das Problem dabei ist aber immer das man sehr viel Manpower, Knownlegde und Geld investiren muß und das man in der FPGA Hardware immer nur einen ganz speziellen Brute Force Algorithmus programmieren muß. So bald sich nur 1 Bit verändert muß man alles erneut programmieren.
Den FPGA's kommt der Fakt zu gute das die modernen Verschlüsselungsalgorithmen wie zb. AES Rijndael vom Design her stark parallelisierbar sind und meistens nur mit simplem Boolschen Operationen arbeiten.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#24

Re: MD5-128 bit Brute force moeglich? in einer woche?

  Alt 17. Mär 2005, 07:23
Zitat:
Also ich meine MD5 und in dem Zusammenhang Hashes von Passwörtern, die man möglicherweise bruteforcen kann. Und ich persönlich suche auf Geschwindigkeit optimierte Implementationen von MD5.
Hier im Forum solltest du fündig werden. Im DoubleCheck Thread hatte ich glaube ich einen MD4/5 Algorithmus gepostet der durchschnittlich mit 250Mb/sec arbeitet. Er benötigt ca. 5.9 respektive 9.0 Taktzyklen pro Byte.
Anbei mal mein Source.

Gruß Hagen


Auszug aus "DECTest.test"

THash_MD2 : 261.3 cycles/byte 5.74 Mb/sec
THash_MD4 : 5.9 cycles/byte 252.53 Mb/sec
THash_MD5 : 9.0 cycles/byte 167.01 Mb/sec
THash_SHA : 21.0 cycles/byte 71.31 Mb/sec
THash_SHA1 : 20.7 cycles/byte 72.43 Mb/sec
THash_SHA256 : 47.2 cycles/byte 31.76 Mb/sec
THash_SHA384 : 86.1 cycles/byte 17.43 Mb/sec
THash_SHA512 : 88.0 cycles/byte 17.05 Mb/sec
THash_Sapphire : 55.0 cycles/byte 27.25 Mb/sec
THash_Panama : 8.1 cycles/byte 185.24 Mb/sec
THash_Tiger : 24.7 cycles/byte 60.81 Mb/sec
THash_RipeMD128 : 15.1 cycles/byte 99.08 Mb/sec
THash_RipeMD160 : 26.5 cycles/byte 56.63 Mb/sec
THash_RipeMD256 : 14.8 cycles/byte 101.69 Mb/sec
THash_RipeMD320 : 25.7 cycles/byte 58.31 Mb/sec
THash_Haval128 : 13.9 cycles/byte 108.01 Mb/sec
THash_Haval160 : 14.1 cycles/byte 106.43 Mb/sec
THash_Haval192 : 33.4 cycles/byte 44.95 Mb/sec
THash_Haval224 : 34.7 cycles/byte 43.28 Mb/sec
THash_Haval256 : 26.2 cycles/byte 57.23 Mb/sec
THash_Whirlpool : 98.9 cycles/byte 15.17 Mb/sec
THash_Whirlpool1 : 99.3 cycles/byte 15.10 Mb/sec
THash_Square : 46.4 cycles/byte 32.34 Mb/sec
THash_Snefru128 : 168.2 cycles/byte 8.92 Mb/sec
THash_Snefru256 : 250.0 cycles/byte 6.00 Mb/sec
Angehängte Dateien
Dateityp: zip dec_177.zip (514,6 KB, 29x aufgerufen)
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#25

Re: MD5-128 bit Brute force moeglich? in einer woche?

  Alt 17. Mär 2005, 08:57
Bin inzwischen auf ein paar Benchmarks gestoßen. Dort wird aber immer eine große Datenmenge gehasht und dann auf Cycles/Byte runtergerechnet. Wenn ich wirklich nur ein Byte hashen wollte, hat das sicher/leider keine 9 Cycles
Bin beim Suchen auf die ASM Sources von diesem Russen gestoßen. Mal sehn, ob ich da was draus machen kann.

Danke
Christoph
char l[]="\xd6N\x96\xa6\xe6\xce.\xa6\xe4\xce\x04N\x86\xae\ xce\xfc",I,*i=l-1;for(;I=3,*i
++;){while(*i=*i&~(1<<I|1<<7-I)|(*i&1<<I)<<7-2*I|(*i&1<<7-I)>>7-2*I,I--);}puts(l);
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#26

Re: MD5-128 bit Brute force moeglich? in einer woche?

  Alt 17. Mär 2005, 13:43
Zitat:
Bin beim Suchen auf die ASM Sources von diesem Russen gestoßen. Mal sehn, ob ich da was draus machen kann.
Du meinst sicher Anatol, Spitzname Tol. Wenn ja, lass es und schaue dir meine Sourcen an, es sind Tol's Sourcen die er mit mir zusammen entwickelt hat, nur er hatte halt die Schweinearbeit
Tol hat basierend auf dem alten DEC Part I seine Assembler-Optimierungen begonnen und dann von mir eine inoffizielle Version 4 von mir erhalten. Inzwischen habe ich aber obige Version 5.0 von Grund auf neu entwickelt und in diese mit einigen Änderungen Tol's Assemblersource integriert.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#27

Re: MD5-128 bit Brute force moeglich? in einer woche?

  Alt 17. Mär 2005, 13:49
Zitat:
..Cycles/Byte runtergerechnet. Wenn ich wirklich nur ein Byte hashen wollte, hat das sicher/leider keine 9 Cycles
Tja, das ist halt mal so. Du kannst ja versuchen es schneller als 9 Takte pro sekunde hinzubekommen, ich persönlich kenne aber keine andere Implementierung, egal ob in C, Assebler oder Pascal die schneller als Tol's Version ist. Die einzigste MD5 Implementierung die bei weitem Schneller ist die ich kenne wurde in VHDL bzw. Abel entwickelt. Das läuft aber nur auf FPGA's.

In deinem Falle würde ich dir raten MD5 ganz genau zu analysieren. Basierend auf dem Original Algorithmus würde ich an deiner Stelle nun versuchen einen sequentiellen Algorithmus zu bauen der die MD5 Funktionalität nur partiell ausführt. D.h. du könntest dann schon sehr frühzeitig mit sehr wenigen Operationen erkennen ob der Hash Digest sich in die richtige Richtung entwickelt.

Gruß Hagen
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#28

Re: MD5-128 bit Brute force moeglich? in einer woche?

  Alt 17. Mär 2005, 14:04
Zitat von negaH:
In deinem Falle würde ich dir raten MD5 ganz genau zu analysieren. Basierend auf dem Original Algorithmus würde ich an deiner Stelle nun versuchen einen sequentiellen Algorithmus zu bauen der die MD5 Funktionalität nur partiell ausführt. D.h. du könntest dann schon sehr frühzeitig mit sehr wenigen Operationen erkennen ob der Hash Digest sich in die richtige Richtung entwickelt.
Uff, dazu bin ich nicht der Experte. Sowas hab ich mir auch schon vorgestellt, aber dann bin ich wieder zu faul, mir Gedanken zu machen. So wichtig ist mir die Sache nun auch nicht. Die original Implementation hat bei mir was um die 33 Zyklen pro Byte, über 100 MB gemessen. Aber sonst schaff ich nicht mehr als 450.000 Hashes pro Sekunde, wenn jeder über ~8 Zeichen geht. Hm, vll optimier ich es wirklich irgendwann...
Christoph
char l[]="\xd6N\x96\xa6\xe6\xce.\xa6\xe4\xce\x04N\x86\xae\ xce\xfc",I,*i=l-1;for(;I=3,*i
++;){while(*i=*i&~(1<<I|1<<7-I)|(*i&1<<I)<<7-2*I|(*i&1<<7-I)>>7-2*I,I--);}puts(l);
  Mit Zitat antworten Zitat
freaky13

Registriert seit: 6. Feb 2006
Ort: Bern
8 Beiträge
 
Delphi 7 Professional
 
#29

Re: MD5-128 bit Brute force moeglich? in einer woche?

  Alt 28. Feb 2006, 06:44
ich will nur noch kurz was anmerken wegen der Zeit: Brute Force Attacken
Toby
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#30

Re: MD5-128 bit Brute force moeglich? in einer woche?

  Alt 28. Feb 2006, 08:15
Zitat von negaH:
Das bringt garnichts. Angenommen ich erzeuge aus verschiedenen Daten mit jeweils 1024 Bit Länge einen 128 Bit langen MD5 Hash dann gibt es pro Hash eben 2^1024 - 2^128 == 2^896 komplett verschiedene Eingangsdaten für jeden der 2^128 möglichen MD5 Hashs, sprich 2^896 Kollisionen. Und? welche der 2^896 möglichen Eingangsdaten ist dann die richtige zu deinem einen Hashwert ?
Auch wenn der Post schon was her ist

*MÖÖÖÖPPPP*

2^1024 - 2^128 ist nicht 2^896
das wäre 2^1024 / 2^128 (soweit ich mich erinnern kann nann man das nicht weiter auflösen, ohne das auszurechnen, oder?)

zudem ist meiner meinung nach ein weiterer kleiner Denkfehler drin.
Nicht alle der 2^896 (bzw eben nicht 2^896) werte werden als kollisionen erkannt werden.

Insgesamt sind es zwar alles kollisionen, doch auf den einen zu berechnenden wert bezogen sind nur ein 2^128stel der gesamten kollisionen relevant und werden als solche erkannt.
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 23:54 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