[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Optimale Primary Keys bei Datenbanken



Hi,

Jan Kohnert wrote:
> Ulf Volmer schrieb:
>> On Fri, Oct 13, 2006 at 04:45:10PM +0200, Armin Berres wrote:
> 
>>> Naja, da habe ich aber anderes in Erinnerung.
>>> Kurzes googeln hat mich da auch eher unterstützt. Siehe zum Beispiel [1]
>>> Vorsätzlich Kollisionen zu erzeugen ist dagegen wohl kein allzugroßes
>>> Problem. Siehe [2]

ROTFLOL

Das Problem ist eher theoretischer Natur.
_Ja_, es ist Forschern gelungen eine Kollision herbeizuführen.

Dabei ging es konkret darum, zwei unterschiedliche Dateien mit dem
gleichen MD5-Hash zu erzeugen.
Das ist jedoch nur unter unter eng begrenzten Voraussetzungen und
einer relativ hohen Rechleistung möglich. MD5 Hashes sind auch heute
noch eine sichere Möglichkeit Daten eindeutig zu kennzeichnen. Es
ist keineswegs so, das MD5-Hashes häufige kollidieren.
Kollisionen sind hier nur sehr mutwillig und unter günstigen
Bedingungen herbeizuführen. Der Aufwand ist hier sehr gross.
Als primärer Schlüsssel eigenen sich MD5 Hashes daher sehr gut.

Dazu ist es hilfreich sich mal die Dimensionen klar zu machen.
Ein MD5 Hash besteht aus 32 Hexwerten. Die lassen sich mit 16 Byte
darstellen.
16 Byte (bei einer Byte Grösse von 8Bit, es gibt auch andere
Byte-Grössen) sind 16 * 8Bit.
Das sind 128 Bit.

Das sind 2^128 Möglichkeiten.
Der geneigte Leser kann gerne mal ausprobieren wie Sein Rechner auf
diese Aufgabe reagiert (Registerbreite ist 32 oder 64 Bit).
Übrigens, die Anzahl der Atome im Weltall wird auf 10^80 geschätzt.

Zusammenfassung:
2^128 sind ca. 3.4 × 10^38 Möglichkeiten, also eine Dezimalzahl mit
etwas mit mehr als 38 Stellen.

Und mal im Ernst, was sind da schon 130 millionen Dateien
(130 000.000).
Lächerlich.


-Joerg



Reply to: