Haltet euch fest:
Um eine Behauptung zu überprüfen, beginnt das GKR-Protokoll (wie es heute verwendet wird) mit dem Hashing des Programms selbst, um die Verpflichtung zu bilden. Auf diese Weise kann die Person, die den Anspruch erhebt, später nicht heimlich zu einem anderen Programm wechseln. Anschließend führt das Protokoll weitere Hashes durch, um zufällige Herausforderungen zu finden - Schritte in der Programmausführung, die das Protokoll überprüft [0].
Doch wie die Forscher zeigten [1], hat dieses Protokoll eine Achillesferse.
Sie waren in der Lage, ein bösartiges Programm zu entwickeln, das, wenn es seinen eigenen Hash als geheime Eingabe erhält, die zufälligen Herausforderungen berechnen und dann seine internen Abläufe so gestalten kann, dass die angefragten Stellen die Überprüfung bestehen. Der Prüfer würde keinen Grund sehen, daran zu zweifeln, dass das Programm wirklich das ausgibt, was der Prüfer behauptet, auch wenn es das nicht tut.
Einen Monat später fand ein Forscher eine weitere Möglichkeit, Fiat-Shamir zu modifizieren, um sich gegen den neuen Angriff zu schützen [2]. Beide Modifikationen nutzen die Tatsache, dass das bösartige Programm den Code für die Hash-Funktion enthalten muss, damit es die Herausforderungen berechnen kann. Die modifizierten Versionen von Fiat-Shamir verlangen, dass das zu prüfende Programm weniger komplex ist als der Hash, so dass sie das bösartige Programm nicht enthalten können.
Aber nicht alle Anwendungen sind für eine solche Anforderung geeignet. Und selbst wenn einige Anwendungen zu einer modifizierten Version von Fiat-Shamir wechseln, bedeutet die Tatsache, dass der aktuelle Angriff nicht funktioniert, nicht, dass es nicht noch einen weiteren Angriff gibt".
[0] https://www.quantamagazine.org/computer-scientists-figure-out-how-to-prove-lies-20250709/
[1] https://eprint.iacr.org/2025/118
[2] https://eprint.iacr.org/2025/329