Kann Hash sich selbst abbilden?

2 Antworten

So etwas nennt sich "Hashquine" (nach solchen Programmen: https://de.wikipedia.org/wiki/Quine_(Computerprogramm))

Es ist zwar algorithmisch nicht schwer eine Funktion zu basteln, welche sich nie (auch bei wrap-around, etc) selbst ergeben kann (x+1). Jedoch wollen moderne Algorithmen (besonders für sicherheitsrelevante Anwendungen) genau solche Assoziationen vermeiden.

Dieser StackExchange-User hat errechnet, dass die Wahrscheinlichkeit zur Existenz eines solchen Werts bei einer zufälligen Funktion etwa bei 60% liegt: https://crypto.stackexchange.com/a/19508

Das wäre aber sehr sehr schwer, nahezu unmöglich zu finden. Mir sind solche Fälle nicht bekannt.

Hash-Kollisionen sind da das größere Problem und solche gab es aber auch schon in modernen Hashfunktionen: https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html. Dagegen gibt es Lösungen: https://en.wikipedia.org/wiki/Hash_collision#Collision_resolution

Es gibt jedoch Dateien, welche zwar nicht = ihr eigener Hash sind, diesen aber abbilden: https://hackaday.com/2022/09/28/the-1337-png-hashquine/ | https://retr0.id/media/a13f403f-fff5-4f40-b9a2-13cce355f61b/hashquine_by_retr0id.png

Bild zum Beitrag

Auch: https://github.com/Rogdham/gif-md5-hashquine

 - (programmieren, Informatik)

Je nach Algorithmus ist das möglich. Bei modernen Verfahren wie SHA256 ist das aber extrem unwahrscheinlich. Voraussetzung ist, dass der String dieselbe Länge wie der Hash hat und nur im Hash verwendete Zeichen (also meist nur Kleinbuchstaben und Zahlen) enthält.

Woher ich das weiß:Hobby – Ich programmiere in meiner Freizeit oft komplexe Anwendungen

WurstSchelle 
Beitragsersteller
 26.10.2024, 20:28

Und wie kann ma gezielt diese Hash finden?

CompilerGuru  26.10.2024, 20:42
@WurstSchelle

Gar nicht. Man kann nur mit einem Programm alle Möglichkeiten durchprobieren (würde evt. ein paar Jahre dauern).