← Neueste Arbeiten
💻 computer science

GCD: Garbled, Corrected, Demonstrandum -- Fixing and Proving Go's Extended GCD Implementation

Diese Arbeit identifiziert und behebt zwei kritische Abweichungen in der Implementierung des erweiterten euklidischen Algorithmus in Go, welche die RSA-Schlüsselerzeugung gefährden, beweist anschließend die Korrektheit und Terminierung des korrigierten Codes unter Verwendung der Verifizierungswerkzeuge Gobra und Lean und demonstriert dabei, wie KI-Agenten bei der Verfeinerung formaler Beweise unterstützen können.

Ursprüngliche Autoren: Linard Arquint

Veröffentlicht 2026-06-05
📖 4 Min. Lesezeit☕ Kaffeepausen-Lektüre

Ursprüngliche Autoren: Linard Arquint

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich vor, Sie bauen einen hochsicheren digitalen Tresor (wie sie für Online-Banking oder sichere Nachrichten verwendet werden). Um diesen Tresor zu sperren und zu entsperren, benötigen Sie einen sehr spezifischen, komplexen mathematischen Schlüssel. In der Welt der Informatik wird dieser Schlüssel mit einem Rezept namens Extended Greatest Common Divisor (GCD) Algorithmus generat.

Dieses Papier handelt von einem Forscherteam, das in die „Küche“ der Programmiersprache Go (einem populären Werkzeug zum Bau von Software) gegangen ist, um zu prüfen, ob das Rezept für diesen Schlüssel korrekt befolgt wurde. Sie fanden heraus, dass das Rezept leicht verändert worden war, und sie haben es korrigiert, während sie gleichzeitig mathematisch bewiesen haben, dass die neue Version perfekt funktioniert.

Hier ist die Geschichte ihrer Entdeckung, unterteilt in einfache Teile:

1. Der „Copy-Paste“-Fehler

Die Go-Entwickler wollten ihre Software aktualisieren, um strengen staatlichen Sicherheitsstandards zu entsprechen. Dazu haben sie ein Rezept aus einer vertrauenswürdigen, bekannten Quelle namens BoringSSL (einer sicheren Bibliothek, die von Google verwendet wird) genommen und es nach Go „portiert“ (übersetzt).

Stellen Sie sich das wie einen berühmten Koch vor, der Ihnen ein geheimes Kuchenrezept gibt. Sie entscheiden sich, das Rezept in Ihrer eigenen Handschrift neu zu schreiben, um es leichter lesbar zu machen. Das Papier behauptet, dass die Go-Entwickler beim Umschreiben versehentlich zwei wichtige Schritte geändert haben.

  • Das Problem: Das Originalrezept hatte eine strikte Regel: „Wenn Sie diese zwei Zahlen addieren und das Ergebnis zu groß ist, müssen Sie von beiden Zahlen zur exakt gleichen Zeit einen spezifischen Betrag abziehen.“ Dies verhindert, dass der Kuchen in sich zusammenbricht.
  • Der Bug: Die Go-Version führte diese „zu groß“-Prüfung separat für jede Zahl durch. Es war, als würde man Mehl und Zucker unabhängig voneinander prüfen. Dies zerstörte das mathematische Gleichgewicht (die „Invarianten“), das garantiert, dass der Schlüssel korrekt ist.
  • Die Überraschung: Drei verschiedene menschliche Experten überprüften den Code und übersahen diesen Fehler. Er war so subtil, dass er durch das Netz glitt.

2. Die „Zu groß“-Zutat

Das zweite Problem betraf die Größe der erlaubten Zutaten.

  • Die Regel: Das Originalrezept besagte: „Die erste Zutat muss immer kleiner als die zweite sein.“
  • Die Änderung: Die Go-Version erlaubte es der ersten Zutat, größer als die zweite zu sein.
  • Die Lösung: Die Forscher mussten den Code für dieses Problem nicht ändern. Stattdessen mussten sie den „Beweis“ (die mathematische Garantie) aktualisieren, um zu zeigen, dass das Rezept auch mit größeren Zutaten funktioniert.

3. Der magische Detektiv (Gobra)

Um zu beweisen, dass sie die Bugs behoben hatten, nutzten die Forscher ein Werkzeug namens Gobra.

  • Die Analogie: Stellen Sie sich einen superstrengen, hyperaufmerksamen Roboter-Inspektor vor. Sie füttern ihn mit dem Code und einer Liste von Regeln (Spezifikationen). Der Roboter führt den Code nicht nur aus; er simuliert jeden möglichen Weg, auf dem der Code ablaufen könnte, und prüft jeden einzelnen Pfad, um sicherzustellen, dass er niemals gegen die Regeln verstößt.
  • Das Ergebnis: Der Roboter bestätigte, dass der Code, sobald der „Synchronisations-Bug“ behoben wurde, zu 100 % korrekt war. Tatsächlich lief der neue Code, da die Korrektur unnötige Schritte entfernte, sogar 24 % schneller als die fehlerhafte Version.

4. Der KI-Assistent

Die Forscher haben die ganze schwere Arbeit nicht allein erledigt. Sie nutzten einen KI-Agenten (ein intelligentes Computerprogramm), um ihnen zu helfen.

  • Wie es funktionierte: Die KI agierte wie ein unermüdlicher Lehrling. Wenn der Roboter-Inspektor (Gobra) sagte: „Dieser Teil ergibt keinen Sinn“, schlug die KI Änderungen an den Regeln oder dem Code vor.
  • Der Haken: Die KI ging anfangs davon aus, dass der Code perfekt sei, und versuchte, die Mathematik passend zu machen. Die menschlichen Forscher mussten der KI sagen: „Nein, der Code ist tatsächlich falsch; suche nach dem Unterschied.“ Sobald die KI dies verstand, wurde sie unglaublich hilfreich, indem sie Korrekturen vorschlug und half, die mathematischen Beweise zu schreiben.

5. Das Fazit

Das Papier kommt zu drei Hauptlektionen:

  1. Selbst Experten machen subtile Fehler: Drei menschliche Prüfer übersahen einen kritischen Bug, den ein formaler Beweis-Tool fand.
  2. Formale Verifikation ist mächtig: Die Verwendung eines Werkzeugs wie Gobra ist wie eine mathematische Garantie dafür, dass Ihr Code funktioniert, anstatt nur zu hoffen, dass er funktioniert, weil er einige Tests bestanden hat.
  3. KI ist ein großartiger Partner: KI kann Menschen helfen, diese komplexen Beweise zu schreiben, aber Menschen müssen die KI dennoch anleiten, den Code zu hinterfragen, anstatt ihn einfach nur zu akzeptieren.

Kurz gesagt: Die Forscher fanden einen verborgenen Fehler in einem kritischen Sicherheitsalgorithmus in der Go-Standardbibliothek, behoben ihn, bewiesen mathematisch, dass die Korrektur funktioniert, und zeigten, dass die Korrektur die Software sogar schneller gemacht hat. Dies taten sie durch eine Kombination aus menschlicher Einsicht, automatisierten Beweiswerkzeugen und KI-Unterstützung.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →