Quantencomputer haben in einigen Fällen möglicherweise einen gewissen Vorteil gegenüber klassischen Computern. Das bemerkenswerteste Beispiel ist Shors Algorithmus, der eine große Anzahl an Polynomen berücksichtigt (während der bekannteste Algorithmus klassisch exponentielle Zeit benötigt). Dadurch werden Schemata wie RSA, die auf der Faktorisierungshärte basieren, vollständig durchbrochen.
Dies ist bei Hash-Funktionen nicht unbedingt der Fall. Zunächst müssen wir definieren, was es bedeutet, eine Hash-Funktion zu unterbrechen. Eine Möglichkeit, dies zu unterbrechen, wird als Pre-Image-Angriff bezeichnet : Sie geben mir den Hash-Wert und ich muss eine Nachricht , die lautet . Ein weiterer Angriff ist der Kollisionsangriff , bei dem Sie mir nichts geben und ich zwei verschiedene Nachrichten mit demselben Hash . Dies ist einfacher als ein Vorbild zu finden, da ich nicht an ein bestimmtes gebunden bin .m Hash ( m ) = vvmhash( m ) = vm1, m2hash( m1) = Hash( m2)v
Was können Quantencomputer? Das Hauptergebnis ist der Suchalgorithmus von Grover : eine Methode, mit der ein Quantencomputer in einer unsortierten Datenbank der Größe mit der Zeit sucht (während es klassisch eine erwartete Zeit von ).NO ( N--√)N/ 2
Mit dem Algorithmus von Grover dauert das Finden eines Vorabbilds einer Hash-Funktion, deren Ausgabe Bit ist, und nicht .kO ( 2k / 2)O ( 2k)
Ist das ein Problem ? Nicht unbedingt. Hash-Funktionen sind so konzipiert , dass die Zeit als "sicher" gilt (mit anderen Worten, die Hash-Designer verdoppeln immer ). Dies ist auf das Geburtstagsparadox zurückzuführen, mit dem das Auffinden einer Kollision mit der Zeit durch einen klassischen Computer möglich ist.2k / 2kO(2k/2)
Das Schöne an Grovers Algorithmus ist, dass er optimal ist - jeder andere Quantenalgorithmus, der ein Element in einer unsortierten Datenbank findet, wird in der Zeit .Ω(N−−√)
Können Quantencomputer bessere Kollisionsangriffe ausführen ? Eigentlich bin ich mir nicht sicher. Der Algorithmus von Grover kann so erweitert werden, dass bei Elementen (dh Vorabbildungen) die Zeit zum Auffinden eines Elements auf reduziert wird . Dies führt jedoch zu keiner Kollision. Wenn Sie den Algorithmus erneut ausführen, wird möglicherweise dasselbe Vorbild zurückgegeben. Wenn wir andererseits zufällig auswählen und dann den Algorithmus von Grover verwenden, ist es wahrscheinlich, dass er eine andere Nachricht zurückgibt. Ich bin nicht sicher, ob dies bessere Angriffe gibt.tm1O(N/t−−−−√)m1
(Dies beantwortet die allgemeinere Frage, ohne den Computer auf 20 Qubits zu beschränken, was nicht ausreicht, um die aktuellen 1024-Bit-Hashes zu knacken.)