Archiv verlassen und diese Seite im Standarddesign anzeigen : Hash? Kann doch gar nicht sein!
Man sagte mir: Der Hash wird mathematisch so errechnet, dass er eine Art eindeutigen Fingerabdruck der Datei enthält. Das kann aber gar nicht sein. Hashes sind viel kleiner als die Datei selbst. Rein informationswissenschaftlich kann ein Hash nicht kleiner sein, als eine perfekt komprimierte Datei, wenn die Bedingung wahr ist.
Damit ist klar, dass hier was nicht stimmt. Entweder ist die Bedingung falsch und ein Hash kann mehrere Dateien "vertreten" und damit wäre das ganze Hash-System unbrauchbar. Oder ich hab einen Knacks im Gehirn.
Ein Hash kann für mehrere Dateien/Datenströme identisch sein. Stichwort Kollision.
Damit sollte Google dir mehr Informationen liefern.
Ein Hash kann für mehrere Dateien/Datenströme identisch sein. Stichwort Kollision.
Warum wird der Mist dann überhaupt verwendet? Ist ja gemeingefährlich!
Das MS SyncToy zum Bleistift testet Dateien bestenfalls auf ihren Hash beim Kopieren! Und die geben im Programm vor die Hashes wären eindeutig!!!
Warum wird der Mist dann überhaupt verwendet? Ist ja gemeingefährlich!
Das MS SyncToy zum Bleistift testet Dateien bestenfalls auf ihren Hash beim Kopieren! Und die geben im Programm vor die Hashes wären eindeutig!!!
Geht ja nur darum festzustellen ob sie identisch sind. Und da ist die Wahrscheinlichkeit eben sehr gering, dass dies nicht der Fall ist.
Neomi
2007-09-15, 00:20:05
Klingt mir zwar sehr nach rumtrollen, aber ich gehe trotzdem mal drauf ein.
Hashes sind natürlich kein Allheilmittel und nicht für alles geeignet, aber deshalb sicherlich kein Mist. Zwei Dateien können den gleichen Hash haben, obwohl sie nicht identisch sind. Zwei Dateien mit unterschiedlichem Hashwert sind dafür garantiert nicht identisch. Einen Komplettvergleich kann man sich damit definitiv sparen, je nach Anwendungsfall kann das enorm Zeit sparen. Und bei gleichem Hash kann man zur Sicherheit immer noch einen Komplettvergleich durchführen. Hashes sind einfach eine relativ günstige Möglichkeit, per Vorabtest die Liste der potentiell identischen Dateien kleinzuhalten.
Sweep & Prune ersetzt auch keine Kollisionserkennung in Physikengines, es kann weder sagen ob noch wie zwei Körper miteinander kollidieren. Hälst du das jetzt auch für Mist?
Klingt mir zwar sehr nach rumtrollen, aber ich gehe trotzdem mal drauf ein.
Hashes sind natürlich kein Allheilmittel und nicht für alles geeignet, aber deshalb sicherlich kein Mist. Zwei Dateien können den gleichen Hash haben, obwohl sie nicht identisch sind. Zwei Dateien mit unterschiedlichem Hashwert sind dafür garantiert nicht identisch.
Das wurde mathematisch bewiesen oder wie? Intuitiv ist das jetzt nicht.
Ich habe mich einfach etwas verarscht gefühlt weil es da so pauschal stand.
Sweep & Prune ersetzt auch keine Kollisionserkennung in Physikengines, es kann weder sagen ob noch wie zwei Körper miteinander kollidieren. Hälst du das jetzt auch für Mist?
Da kenn ich mich nicht aus. Wird das in Computerspielen eingesetzt? Das würde ich jetzt nicht mit einem Programm vergleichen, welches ggf. eingesetzt wird um wichtige Geschäftsdaten zu kopieren.
Neomi
2007-09-15, 11:37:42
Das wurde mathematisch bewiesen oder wie? Intuitiv ist das jetzt nicht.
Zwei identische Dateien erzeugen auch immer den gleichen Hashwert. Daraus folgt, daß zwei Dateien, die unterschiedliche Hashwerte haben, nicht identisch sein können. Was ist daran jetzt nicht intuitiv?
Erzeugt ein Algorithmus aus zwei identischen Dateien oder Datenströmen unterschiedliche Werte, sind es keine Hashwerte und der Algorithmus kein Hashalgorithmus. Oder es sind Bits im Speicher gekippt, die CPU rechnet dank zu hoher Übertaktung nicht stabil, ..., in dem Fall wäre aber auch ein Komplettvergleich fehlerhaft.
Ich habe mich einfach etwas verarscht gefühlt weil es da so pauschal stand.
Die Wahrscheinlichkeit, mit einem dafür passenden Algorithmus zwei identische Hashwerte aus unterschiedlichen Dateien zu bekommen, ist so (vernachlässigbar) klein, daß sie rein theoretisch ist. Bei z.B. MD5 liegt diese Wahrscheinlichkeit bei grob überschlagen 1:340282366920938463463374607431768211455, bei Algorithmen mit größeren Hashwerten ist sie noch deutlich kleiner. Da ist schon wesentlich wahrscheinlicher, daß du für den Rest deines Lebens bei jeder Lottoziehung 6 richtige hast.
Da kenn ich mich nicht aus. Wird das in Computerspielen eingesetzt?
Oft ja, aber auch in anderen Physik-Simulationen. Dadurch wird am Ergebnis nichts verändert, sondern nur die Zeit bis zum Ergebnis verkürzt.
Das würde ich jetzt nicht mit einem Programm vergleichen, welches ggf. eingesetzt wird um wichtige Geschäftsdaten zu kopieren.
Warum nicht? Der Sinn von Hashalgorithmen entspricht dem von Sweep & Prune. Es werden definitiv nicht identische Datenströme (Hash) bzw. definitiv nicht kollidierende Körper (SAP) per Vorabtest effektiv aussortiert, bevor es an eine genauere (und teurere) Untersuchung der verbleibenden Kandidatenpaare geht.
(del)
2007-09-15, 15:19:28
Was ist hier eigentlich das Thema? :|
Hashwerte sind doch nicht per se unsinnig. Wie in der Kryptographie sind manche dieser Algos stärker und manche schwächer. Das ganze Kollisionszeug bedeutet nur, daß man TEILE einer Datei so verändern kann, daß sie den gleiche Hash wie das Original hat. Das kann aber nicht gleich jeder Depp mit paar Tools und einem C2D auch noch in brachbarer Zeit erledigen.
Wie in der Kryptographie bedeutet schon eine theoretische Möglichkeit, daß ein Algo gebrochen ist. Logisch. Klappt es auch nur 1x praktisch, man muß seine Berechnungen so oder so bestätigen, wird ein Algo ausgemustert. Sollte es jedenfalls.
Bei den Hashalgos ist er nur verdammt schwer die sinnvolle Originaldatei mit einer anscheinend ebenfals sinnvoller Datei zu ersetzen die zB. noch mit dem Bundestrojaner garniert ist.
Genauso wie man zwei Textdateien mit den gleiche Hashwerten extra präparieren (!) kann, es aber weiterhin nicht möglich ist in der zweiten Textdatei ebenfalls eine SINNVOLLE Textänderungen unterzubringen.
Jedenfalls ist das bis jetzt mein Kenntnisstand.
Es gibt aber nicht nur MD5 und SHA-1, sondern auch SHA-256 und bessere wie RIPEMD, Haval oder Tiger und noch weitere Algos die wesentlich robuster zu sein scheinen.
Wenn einem keiner dazwischenfummelt, also zB. innerhalb des eigenen Systems, reicht selbst mit MD5 eine ganze Epoche nicht, um zufälligerweise 2 Dateien mit dem gleichen Hash zu erzeugen. Für eine korrekte Funktion irgendwelcher Synctools und ähnlichen Tools sind also auch die Schwächen der schwächeren Algos irrelevant.
Wenn dir ein Dienst einen Trojaner mit einem unschuldigen Tool unterschieben will, legt es sich gleich zwischen deinem Provider und dir auf die Lauer. Du bekommst also auch gleich eine präparierte Downloadseite mit dem "falschen" Hashwert zu sehen. Als Beispiel.
Weswegen regst du dich also so auf, Gast?
Der Knackpunkt ist, dass die Wahrscheinlichkeit einer Kolission so unglaublich gering ist (außer der Hash-Algorithmus hat einen Schwachpunkt), dass es praktisch ausgeschlossen ist.
Monger
2007-09-15, 20:27:43
Hashes sind selbstverständlich NICHT eindeutig. Sonst könnte man ja vom Hashwert direkte Rückschlüsse auf das zugrundeliegende Datum ziehen.
Hashes sind in erster Linie mal dazu da, vernünftig gestreute Schlüsselwerte zu erzeugen.
Ist im Grunde ein ähnliches Problem wie mit Autos: nicht jedes Auto hat einen eindeutigen Schlüssel. Es gibt ein paar tausend Varianten davon, das wars aber auch. Das heißt, dass man mit dem eigenen Schlüssel auch andere Autos aufbekommen kann.
Wenn jetzt der selbe Autohändler ausgerechnet die Autos verkaufen würde die alle den selben Schlüssel verwenden, wäre das natürlich fatal. Dann ist die Wahrscheinlichkeit ziemlich groß, dass der eigene Schlüssel auch irgendwo in der Nachbarschaft funktioniert. Deshalb streut man die Schlüssel, und das Verfahren dazu ist eben ein Hash-Algorithmus.
(del)
2007-09-15, 22:41:50
Und wie streut man das unter den Dateien? Naja. Geht so, Monger ;)
Monger
2007-09-15, 23:23:17
Und wie streut man das unter den Dateien? Naja. Geht so, Monger ;)
Es gibt natürlich viele verschiedene Hash Algorithmen, und einen wirklich guten zu entwickeln ist mathematisch ziemlich komplex.
Aber das Ziel ist immer gleich: ähnlichen Daten möglichst unähnliche Schlüssel verpassen.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.