Birthday Attack
Stell dir vor, du bist auf einer Party und alle Gäste haben verschiedene Namen. Du bist neugierig und möchtest herausfinden, welche Namen am häufigsten vorkommen. Allerdings möchtest du das nicht durch Nachzählen machen, weil das sehr lange dauern würde.
Anstatt dessen hast du eine clevere Idee. Du fragst jeden Gast, wie alt er oder sie ist. Aber anstatt eine genaue Zahl zu sagen, sagst du nur “zwischen 1 und 100”. Dadurch sind die Möglichkeiten viel größer, denn es gibt mehr als 100 mögliche Altersangaben. Wenn du genug Leute fragst, werden eventually zwei Personen, die unterschiedliche Namen haben, das gleiche Alter angeben.
Das nennt man den “Geburtstagsangriff”, oder auch “Birthday Attack” in der Informatik. In der Informatik geht es darum, dass man zwei verschiedene Eingabe-Strings findet, die jedoch den selben Hash-Wert erzeugen. Wie bei den verschiedenen Namen auf der Party, gibt es auch verschiedene Eingabe-Strings und genug Möglichkeiten für Hash-Werte, so dass es unwahrscheinlich erscheint, dass zwei Stings den gleichen Hash-Wert ergeben. Das Problem beim “Birthday Attack” ist, dass es möglich ist, eine Kollision (zwei Stings, die den gleichen Hash-Wert erzeugen) viel schneller zu finden, als durch eine komplette Suche nach jeder möglichen Kombination von Eingabe-Strings. Das kann zum Beispiel ein Sicherheitsrisiko darstellen, wenn jemand versucht, deinen Computer zu hacken.