GPU Acceleration of Learning With Errors KEMs Using OpenACC for Post-Quantum Cryptography
Diese Arbeit präsentiert eine GPU-beschleunigte Implementierung eines auf Learning with Errors (LWE) basierenden Key Encapsulation Mechanism unter Verwendung von OpenACC, die signifikante Beschleunigungen (bis zu 208×) und eine verbesserte Energieeffizienz auf NVIDIA-GPUs, insbesondere dem Grace Hopper Superchip, im Vergleich zu herkömmlichen CPU- und H100-basierten Systemen demonstriert.
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 versuchen, eine Schatzkiste mit einem Schlüssel zu verschließen, der so komplex ist, dass selbst ein superintelligenter Roboter aus der Zukunft (ein Quantencomputer) ihn nicht knacken könnte. Das ist das Ziel der Post-Quanten-Kryptographie. Der spezifische „Schlossmechanismus“, auf den sich dieses Paper konzentriert, wird als Learning With Errors (LWE) bezeichnet.
Betrachten Sie LWE wie den Versuch, ein riesiges mathematisches Rätsel zu lösen, bei dem jemand absichtlich ein wenig „Statik“ oder „Rauschen“ zum Signal hinzugefügt hat. Es ist einfach, das Rauschen zu erzeugen, aber unglaublich schwer, es herauszufiltern und die ursprüngliche Nachricht ohne den geheimen Schlüssel zu finden. Das Problem ist: Dieses Rätsel auf einem Standardcomputer zu lösen, ist so, als würde man versuchen, einen Berg Korn für Korn zu bewegen – es dauert ewig.
Hier ist, was die Forscher getan haben, um dies zu beschleunigen, einfach erklärt:
1. Das Problem: Die CPU ist der langsame Lastwagen
Die Autoren begannen mit einer Version dieser Verschlüsselung, die auf einem Standard-Computerprozessor (der CPU) läuft. Sie stellten fest, dass die CPU zu kämpfen hatte. Es war, als würde ein einzelner Lieferwagen versuchen, tausende von Kisten zu bewegen. Jedes Mal, wenn er eine Kiste (ein Stück Daten) vom Lager (Speicher) auf die Ladefläche des Lastwagens transportieren musste, musste er anhalten, laden und losfahren. Der Lastwagen verbrachte die meiste Zeit mit Warten, nicht mit Arbeiten.
2. Die Lösung: Die GPU ist die Flotte von Drohnen
Um dies zu beheben, verlagerten sie die schwere Arbeit auf eine GPU (Graphics Processing Unit). Wenn die CPU ein einzelner Lieferwagen ist, dann ist die GPU eine Flotte von tausenden winzigen, superschnellen Drohnen.
- Die Analogie: Anstatt eines Lastwagens, der eine Kiste nach der anderen trägt, kann die GPU tausende Kisten gleichzeitig transportieren.
- Das Werkzeug: Sie verwendeten eine Programmiersprache namens OpenACC. Betrachten Sie dies als eine universelle Fernbedienung. Anstatt das gesamte Handbuch für die Drohnen neu zu schreiben (was schwierig und fehleranfällig wäre), zeigten sie die Fernbedienung einfach auf die bestehenden Lastwagen-Anweisungen und sagten: „Hey, du machst diesen Teil auch, aber schneller!“ Dies machte es einfach, die Software aufzurüsten, ohne sie zu beschädigen.
3. Der Engpass: Der „Rausch“-Generator
In dieser Verschlüsselung müssen Sie viel zufälliges „Rauschen“ erzeugen, um das Rätsel schwierig zu machen.
- Der alte Weg: Die CPU generierte das Rauschen, schrieb es auf und fuhr es dann zur GPU. Das war so, als ob der Lkwakfahrer anhält, um eine Einkaufsliste zu schreiben, zum Geschäft fährt, die Artikel kauft und dann zurückfährt. Das verschwendete viel Zeit.
- Die Lösung: Sie installierten einen „Rauschgenerator“ direkt innerhalb des Lagers der GPU. Jetzt können die Drohnen ihr eigenes zufälliges Rauschen direkt vor Ort erzeugen. Sie müssen nicht darauf warten, dass der Lastwagen ihnen die Vorräte bringt. Dies reduzierte die Wartezeit drastisch.
4. Der „Batching“-Trick
Der Verschlüsselungsprozess beinhaltet das Lösen von 256 winzigen Rätseln gleichzeitig (eines für jedes Bit einer Nachricht).
- Der alte Weg: Die GPU löste ein Rätsel, stoppte, wartete auf Anweisungen, löste das nächste, stoppte, wartete... wie ein Koch, der ein Ei nach dem anderen brät und zwischen jedem Ei darauf wartet, dass der Herd abkühlt.
- Die Lösung: Sie verwendeten eine Strategie namens Intra-Operation Batching. Dies ist so, als würde der Koch alle 256 Eier gleichzeitig in eine riesige Pfanne geben und sie alle zusammen garen. Die GPU führt einen einzigen großen „Launch“ durch, um alle 256 Rätsel simultan zu lösen, was eine massive Menge an Zeit spart.
5. Die Ergebnisse: Geschwindigkeit und Energie
Die Forscher testeten dies auf verschiedenen Arten von superschnellen Computern (GPUs) und verglichen es mit der alten CPU-Methode.
Geschwindigkeit: Auf dem neuesten, leistungsstärksten Computer, den sie getestet haben (dem Grace Hopper Superchip), war ihre neue Methode 208 Mal schneller als die alte CPU-Methode.
- Analogie: Wenn der alte Lastwagen 3 Stunden brauchte, um ein Paket auszuliefern, erledigt die neue Drohnenflotte dies in weniger als einer Minute.
- Sie konnten sogar Rätselgrößen lösen, die so riesig waren, dass die alte CPU an Speichermangel gelitten und abgestürzt wäre.
Energie: Die neue Methode verbrauchte auch weniger Energie. Der Grace Hopper Computer verbrauchte etwa die halbe Energie, um dieselbe Aufgabe im Vergleich zu einem Standardcomputer mit einer anderen Art von schneller GPU zu erledigen.
- Analogie: Es ist, als würde man die gleiche Lieferung mit einem Hybridauto statt mit einem benzinfressenden Lastwagen durchführen.
6. Warum es wichtig ist
Das Paper zeigt, dass wir durch den Einsatz dieser „Drohnen“ (GPUs) und intelligenter Management-Tricks (OpenACC, Batching und On-Device-Rauschen) diese supergesicherten, quantensicheren Schlösser praktikabel machen können. Ohnd diese Geschwindigkeitssteigerungen wäre die Mathematik zu langsam, um im realen Leben nützlich zu sein. Mit ihnen können wir unsere Daten gegen zukünftige Quantencomputer absichern, ohne darauf warten zu müssen, dass ein einzelnes Schloss tagelang braucht, um einzurasten.
Kurz gesagt: Sie haben eine langsame, schwere Verschlüsselungsmethode genommen und ihr durch den Einsatz von tausenden kleinen Arbeitern (GPUs), die zusammenarbeiten, ihre eigenen Vorräte generieren und nicht auf Anweisungen warten müssen, einen massiven Geschwindigkeitsschub verliehen. Das Ergebnis ist ein System, das hunderte Male schneller und wesentlich energieeffizienter ist.
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.