量子位

Claude löst kryptographisches Mysterium in einer halben Stunde – die Fachwelt ging 20 Jahre in die Irre

Die Lösung weist auf die Zeit

Bildquelle · 量子位

Luyu, von Guamfeisi

Quantum Bit | WeChat-Konto QbitAI

Gleich am frühen Morgen hat die KI-Welt wieder für Aufruhr gesorgt . . .

Nichts Besonderes: Diese aktuelle Welle der KI-Problemlösung hat nun die über zwanzig Jahre alte Akte aus der Kryptographie aufgeschlagen.

Jeder gegen jeden – diesmal istClaude——

dranGerade eben, so meldete Anthropic, hat Claude inweniger als einer halben Stunde

aufgeklärt, wie die Seeds der fünf NIST-Standard-Elliptikkurven erzeugt wurden.

Diese seit über zwanzig Jahren in der Branche verwendete Zahlenfolge wurde einst in kryptographische Standards aufgenommen, doch wie sie ursprünglich ausgewählt wurde, konnte nie jemand erklären.Man fand sogar die damaligen Beteiligten, und die Spuren wiesen auf eine Passwort-Hash-Berechnung mit dem Motto„Gehaltserhöhung für Bob und Jerry“

hin. Dann kam die dramatische Wendung: Claude sagte: Ganz falsch!

Die wahre Antwort stammt von derZeit– einer Computeruhr aus den 90er Jahren.

Und dieses ungelöste Rätsel wurde bereits vom Initiator des Kopfgeldes unabhängig überprüft.

Kryptographisches Mysterium in einer halben Stunde geknackt

Alles begint mit einer Technik, mit der man die „Echtheit“ nachweisen kann.

ECDSA– die Abkürzung steht für Elliptic Curve Digital Signature Algorithm.

Sie ermöglicht dem Empfänger zu prüfen, ob Daten wirklich vom angegebenen Unterzeichner signiert wurden und ob sie nach der Signatur verändert wurden. Im Jahr 2000 wurde sie vom US-amerikanischen National Institute of Standards and Technology (NIST) in den digitalen Signaturstandard FIPS 186-2 aufgenommen.

Bevor dieser Algorithmus eingesetzt werden kann, müssen zunächst einige öffentliche mathematische Parameter festgelegt werden, darunter die Kurven P-192, P-224, P-256, P-384 und P-521.

Der Streit betrifft derenSeeds.

Man kann sich das Seed als Ausgangsmaterial zur Erzeugung der Kurvenparameter vorstellen: Hat man das Seed, kann man nach den im Standard festgelegten Schritten rechnen und prüfen, ob die darauffolgenden Parameter übereinstimmen.

AberWarum ausgerechnet dieser Samen?, das weiß überhaupt niemand.

Selbst Jerry Solinas, der damals die Seeds geliefert hatte, erinnert sich nur noch vage; er meint sich zu erinnern, dass sie einen scherzhaften Passsatz, der möglicherweise eine Gehaltserhöhung andeutete, in Zahlen umwandelten und dann einen Zähler hinzufügten.

Daher raten alle seit über zwanzig Jahren in diese Richtung, und der Kryptographie-Ingenieur Filippo Valsorda hat sogar veröffentlichtFahndungsaufruf mit Kopfgeld…und lud auf auffällige Weise dazu ein, die Ursprünge dieser fünf Saatgutgruppen zu finden.

Alle Versuche endeten ergebnislos, bisClaudeJetzt wurde gehandelt.

Nach Angaben von Anthropic wurden die Mitarbeiter nicht darüber informiert, dass dieser Hinweis auf die Gehaltserhöhung vorlag, als sie die Frage an das interne Forschungsmodell weitergaben.

Claude vermutete daraufhin eigenmächtig, dass diese Zahlen stammen könnten ausC-Bibliothek der 90er Jahreden Pseudozufallszahlengenerator darin.

Weil die von solchen Programmen erzeugten Zahlen zwar scheinbar chaotisch wirken, im Hintergrund jedoch einem festen Muster folgen. Sobald man das Muster erkennt, besteht die Chance, den Erzeugungsprozess rückwärts herzuleiten.

Anschließend schrieb Claude einScanprogramm, indem sie die Binärziffern der öffentlichen Seeds Bit für Bit durchsahen und 34 Kombinationen aus Generatoren und Ausgabeextraktionsmethoden testeten.

Es stellte sich heraus, dass nach dem Aufteilen der vier Seed-Gruppen jeweils in fünf 32-Bit-Ganzzahlen die höchsten Bits dieser 20 Ganzzahlen,Es sind tatsächlich alles 0.。

Der Fall ist gelöst, der Verdächtige sollte seinlrand48-Zufallszahlengenerator。

Intern speichert lrand48 eine 48-Bit-Ganzzahl; bei jedem Aufruf multipliziert es diese Zahl mit einer festen Konstanten, addiert eine weitere Konstante und behält schließlich nur die unteren 48 Bits des Ergebnisses als Zustand für den nächsten Durchlauf.

Aber das Ergebnis besteht nur aus den oberen 31 Bit davon; wenn man es in 32 Bit einsetzt, müssen die restlichen mit 0 aufgefüllt werden.

Nachdem die Maschine gefunden war, nutzte Claude zudem denLLL-Algorithmus zur Gitterreduktionum den Seed in seinem abgeschnittenen Zustand wiederherzustellen.

Es blieb nur noch eine Frage: Wie wurde alles ursprünglich gestartet?

Die Funktion für die Initialisierung heißt srand48; sie legt den Eingabewert in den oberen 32 Bit des 48-Bit-Zustands ab, setzt die unteren 16 Bit fest auf 0x330E und rechnet dann entlang der Rekursionsbeziehung rückwärts, mit dem Ziel:Unix-Zeitstempel。

Diese Initialisierungseingaben fielen konzentriert in den Zeitraum5/1997 bis 4/1998。

Das heißt:Wandelt man den Zeitpunkt eines bestimmten Moments in eine ganze Zahl um, übergibt sie an den Generator und entnimmt die Zahlen auf feste Weise, so erhält man genau die Seeds aus dem Standard wieder.

Am Beispiel von P-256: Der entsprechende Initialisierungszeitpunkt ist der 16. August 1997, 01:52:34 UTC.

Lässt man den Generator ab diesem Zeitpunkt laufen und nimmt die 1842. Kandidatengruppe, erhält man genau jenen Seed, der mit C49D beginnt. Auch die anderen vier Gruppen lassen sich eins zu eins zuordnen.

Allerdings erklärte Unternehmen A auch, dass dieses Ergebnis nicht alle historischen Lücken schließt.

Die Forscher stellten fest, dass das damalige Programm einige Kandidatenkurven übersprang, die ebenfalls die Kriterien zu erfüllen schienen; der Grund dafür ist weiterhin unklar. Auch der Seed von B-163 sowie die Erzeugungsweise der Basispunkte einiger Kurven sind bislang ungeklärt.

Die neuen Ergebnisse bedeuten jedoch auch, dass diese Kurven keinerlei potenzielle Sicherheitsschwachstellen aufweisen und bedenkenlos verwendet werden können.

Referenzlinks:
[1]
https://www.anthropic.com/research/ecdsa-curve-origins
[2]
https://x.com/sweis/status/2111165738836717980
[3]
https://words.filippo.io/seeds-bounty/

Originalquelle

量子位

Hinweise zum Inhalt

Originalveröffentlichung und Rechte liegen bei der Quelle.

Maschinelle Übersetzung · Original beachten