Portable Acceleration of Learning With Errors KEMs for Post-Quantum Cryptography
Diese Arbeit präsentiert eine portable GPU-Implementierung eines auf Learning With Errors (LWE) basierenden Key Encapsulation Mechanism (KEM) unter Verwendung von OpenMP Target Offloading und zeigt auf, dass ein einziger Quellcode eine erhebliche Leistungsbeschleunigung und Energieeffizienz über sowohl NVIDIA- als auch AMD-Beschleuniger hinweg erreichen kann, während gleichzeitig ein Vendor Lock-in vermieden wird.
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, einen super-sicheren digitalen Tresor zu bauen, der selbst von einem futuristischen „Quanten“-Supercomputer nicht geknackt werden kann. Um dies zu erreichen, müssen Sie ein massives, chaotisches Mathe-Rätsel lösen, das „Learning With Errors“ (LWE) genannt wird. Es ist, als würde man versuchen, eine bestimmte Nadel in einem Heuhaufen zu finden, aber der Heuhaufen besteht aus Millionen winziger, wackeliger Magnete, und je mehr man sucht, desto mehr wackeln die Magnete umher.
Das Problem? Das Lösen dieser Rätsel dauert auf einem normalen Computer ewig. Es ist, als würde man versuchen, einen Berg Sand Korn für Korn mit einem winzigen Löffel zu bewegen. Die Autoren dieser Arbeit fragten sich: „Was wäre, wenn wir eine riesige, superschnelle Baustelle (eine GPU) nutzen würden, um diesen Sand zu bewegen?“
Die große Entdeckung: Ein Code, zwei Crews
Normalerweise muss man, wenn man eine Baustelle nutzen möchte, ein spezifisches Team einstellen (wie NVIDIAs CUDA) und Anweisungen schreiben, die nur diese verstehen. Wenn man ein anderes Team einstellen möchte (wie AMD), muss man das gesamte Handbuch neu schreiben. Das ist teuer und nervig.
Diese Arbeit zeigt, dass man einen einzigen Satz von Anweisungen (unter Verwendung von etwas namens OpenMP Target) schreiben kann, der perfekt sowohl für die NVIDIA-Crew als als auch für die AMD-Crew funktioniert. Es ist, als würde man ein Rezept schreiben, das funktioniert, egal ob man in einer Küche mit Gasherden oder Elektroherden kocht, ohne dass man eine einzige Zutat ändern muss.
Der magische Trick: In der Küche bleiben
Der größte Zeitfresser bei diesen Mathe-Rätseln ist das Hin- und Herlaufen zwischen dem Hauptrechner (der CPU) und der superschnellen GPU. Es ist, als würde ein Koch für jede einzelne Prise Gewürz in die Speisekammer rennen, um Salz zu holen.
Die Autoren haben herausgefunden, wie man das „Salz“ (die für die Mathematik benötigten Zufallszahlen) direkt in der GPU-Küche behält. Sie haben ein Werkzeug namens RNGonGPU aufgewertet, damit es sowohl mit der NVIDIA- als auch mit der AMD-Crew funktioniert. Nun kann die GPU alle Zufallszahlen generieren, die sie benötigt, ohne jemals ihren Platz zu verlassen. Das hält den Arbeitsablauf reibungslos und schnell.
Das Rennen: Wer gewinnt?
Das Team testete ihre neue Methode auf vier verschiedenen superschnellen Computern:
- NVIDIA A100: Ein leistungsstarker Standard-Supercomputer.
- NVIDIA GH200: Ein massiver „SuperChip“, bei dem das Gehirn (CPU) und der Muskel (GPU) mit einer superschnellen Autobahn (NVLink) zusammengeklebt sind.
- AMD MI300X: Ein leistungsstarker Standard-Supercomputer mit einem riesigen Speicherbank-System.
- AMD MI300A: Ein Chip, bei dem das Gehirn und der Muskel sich exakt denselben Speicher teilen.
Hier ist das, was sie herausfanden:
- Der Geschwindigkeitsschub: Als die Mathe-Rätsel riesig wurden (mit einer Größe von 4.096), war die GPU-Version 120-mal schneller als die reguläre Computerversion. Selbst bei noch größeren Rätseln (Größe 16.384) war die GPU immer noch rasend schnell, während der normale Computer praktisch einschlief.
- Die Gewinner: Der NVIDIA GH200 war am schnellsten und erledigte die Aufgabe in etwa 60 Sekunden. Der AMD MI300X war ein knapper Zweiter und brauchte etwa 85 Sekunden. Beide Maschinen verfügen über riesige, schnelle Speicherbänke (HBM3), die Daten sehr schnell herauspumpen können.
- Der überraschende Verlierer: Man könnte denken, dass der AMD MI300A großartig wäre, weil er sich den Speicher mit Gehirn und Muskel teilt. Aber er war tatsächlich der langsamste und brauchte 114 Sekunden. Warum? Weil das Gehirn und der Muskel um denselben Wasserhahn kämpften. Während die GPU versuchte, Daten zu bewegen, versuchte die CPU auch ihre eigenen Berechnungen durchzuführen, und sie standen sich im Weg. Es ist wie zwei Personen, die gleichzeitig versuchen, aus demselben Strohhalm zu trinken; keiner bekommt einen vollen Schluck.
Energie und Hitze
Das Team hat auch überprüft, wie viel Elektrizität diese Maschinen verbrauchen. Der NVIDIA GH200 war nicht nur schneller fertig; er verbrauchte auch weniger Energie, um die Aufgabe zu erledigen. Er benötigte etwa 9,7 kJ an Energie, während der AMD MI300X etwa 26,2 kJ benötigte. Das bedeutet, dass die NVIDIA-Maschine etwa 2,5-mal energieeffizienter war.
Was das bedeutet
Die Arbeit beweist, dass man sich nicht zwischen NVIDIA und AMD entscheiden muss, um superschnelle Sicherheit zu erhalten. Man kann einen einzigen Code verwenden, um auf beiden zu laufen. Sie haben jedoch auch gezeigt, dass es nicht ausreicht, nur einen schnellen Chip zu haben; wie der Speicher organisiert ist, ist fast genauso wichtig. Wenn das Gehirn und der Muskel um denselben Speicher kämpfen, verlangsamt das das gesamte System.
Kurz gesagt: Die Autoren haben gemessen, dass tragbare, GPU-beschleunigte Sicherheit nicht nur ein Traum ist, sondern eine Realität, die Quanten-sichere Schlösser viel schneller und effizienter machen kann – vorausgesetzt, man wählt das richtige Hardware-Setup, um Staus auf der Speicher-Spur zu vermeiden.
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.