
RISC-V-ISA-Erweiterung für hardwaregestützte Geheimberechnung unter Verwendung von ML-KEM-512-Schlüsselverkapselung und SIMON-128-Verschlüsselung, die eine datenoblivious Ausführung mit nahezu nativer Leistung ermöglicht.
Mojo-V (ausgesprochen „mojo-five“) ist eine neue RISC-V-Erweiterung, die datenschutzorientierte Programmiermöglichkeiten für RISC-V einführt. Mojo-V implementiert Secret Computation und ermöglicht sichere, effiziente und daten-oblivious Ausführung ohne Abhängigkeit von fragiler Software und Vertrauen in Programmierer. Durch die Absonderung sensibler Daten in dedizierten Secret-Registern und die Verschlüsselung des Speichers unter einem Drittanbieter-Schlüssel verhindert Mojo-V Offenlegungen und erzwingt eine Berechnung, die sowohl blind (keine direkten Offenlegungen) als auch still (kein Seitenkanal-Leck) ist. Das Design integriert sich nahtlos in die bestehende RISC-V-ISA mit nur einem Modus-Bit und vier neuen Instruktionen, die vollständig beim Decode erzwungen werden. Erste Ergebnisse zeigen nahezu native Ausführungsgeschwindigkeiten und bieten gleichzeitig eine Leistungsverbesserung von über 5–7 Größenordnungen im Vergleich zu vollständig homomorpher Verschlüsselung (FHE), mit einer klaren Roadmap für die Integration in CPUs, GPUs und spezialisierte Beschleuniger.
Um mehr zu erfahren...
Die aktuelle Mojo-V-ISA-Erweiterungsspezifikation (Release 1.02):
Um die Entwickler von Mojo-V zu kontaktieren:
Die Mojo-V-Referenzplattform Release 1.03 implementiert eine Referenz-Spike-Simulatorplattform für RISC-V RV64GC und den EXO-Compiler für die Mojo-V-ISA-Spezifikation v1.02. Die aktuelle Implementierung unterstützt schnelle, starke und beweistragende Verschlüsselungsmodi sowie die sichere Offenlegung verschlüsselter Berechnungsergebnisse und zertifizierte Zufallszahlengenerierung. Das Release enthält eine breite Palette von Mojo-V-Tests, datenschutzorientierten Benchmarks und Demonstrator-Anwendungen für sichere Offenlegung. Es enthält außerdem die vollständige Mojo-V-ISA-Spezifikation und Entwicklerdokumentation.
Dieses Release eignet sich für die Verwendung als i) Mojo-V-Anwendungsentwicklungsplattform, ii) Golden Model zur Validierung von Mojo-V-Hardwareimplementierungen und iii) Referenzimplementierung für Sicherheitsanalysen. Die aktuelle Arbeit konzentriert sich auf die Entwicklung von i) einem LLVM-basierten Mojo-V-Compiler, ii) einem gem5-basierten Mojo-V-Modell für Architekturerkundung und -analyse und iii) einer Referenz-CVA6-SystemVerilog-RTL-Implementierung von RISC-V RV64GC mit Mojo-V-Erweiterungen.
Spezifikationsversion: 1.02 (August 2026)
Kontakt: [email protected]
Mojo-V-ISA-Spezifikation v1.02
doc/Spike (Instruction-Set-Simulator) mit Mojo-V-Erweiterungen
riscv-isa-sim und funktionsvollständig für eine RV64GC-CPU mit ML-KEM-512-Schlüsselkapselung für das Laden von Datenverträgen und SIMON-128-Symmetrischer-Schlüsselverschlüsselung für den Schutz der Secret Computation.spike das Flag --isa=rv64gc_zicond_zkmojov_zicntr hinzuDatenvertrags-Multitool
Datenverträge sind verschlüsselte Pakete, die der Hardware einer Mojo-V-CPU den Zugriff auf den Datenzugriffsschlüssel und Konfigurationsinformationen (z. B. Speicherverschlüsselungsmodus) für einen Mojo-V-verschlüsselten Datensatz ermöglichen. Das DC-Multitool ermöglicht die folgenden Funktionen:
Mojo-V-Bringup-Bench-Benchmarks
Hinweis: Der Rest der Bringup-Bench-Benchmarks wurde noch nicht auf Mojo-V portiert.
Sie benötigen einen LLVM-basierten RISC-V-Cross-Compiler, der in der Lage ist, RV64GC-Binärdateien zu erzeugen.
Hier ist ein guter Ausgangspunkt: https://github.com/openssl/openssl
Sie benötigen eine Entwicklerinstallation von OpenSSL Version 3.6 oder neuer. Diese stellt Bibliotheken bereit, die ML-KEM512 implementieren, das von Spike für den geschützten Schlüsselaustausch verwendet wird.
Hier ist ein guter Ausgangspunkt: https://clang.llvm.org/get_started.html
git clone https://github.com/toddmaustin/mojo-v.git cd mojo-v
### D. Den RISC-V-Spike-Simulator mit Mojo-V-Unterstützung bauen```bash
sudo apt-get install device-tree-compiler libboost-regex-dev libboost-system-dev
cd riscv-isa-sim
mkdir build
cd build
../configure --prefix=$RISCV
make
Data Contracts sind verschlüsselte Pakete, die es der Hardware einer Mojo-V-CPU ermöglichen, auf den Datenzugriffsschlüssel und die Konfigurationsinformationen (z. B. den Speicherverschlüsselungsmodus) für einen verschlüsselten Mojo-V-Datensatz zuzugreifen.``` cd dc-tool make clean build test
### **E. Mojo-V Bringup-Bench-Benchmarktests erstellen und ausführen**
1. **Den Spike-Gerätetreiber erstellen** ```bash
cd bringup-bench/target
make
Konfiguriere deinen Compiler
Bearbeite ../Makefile und setze TARGET_CC für das mojov-Ziel auf den Speicherort deines LVM-Clang-basierten RISC-V-Compilers.
Erstelle und teste die Bringup-Bench-Testprogramme ```bash cd .. # go to the top-level bringup-bench directory make TARGET=mojov-spike mojov-tests # run all Mojo-V tests
Als Alternative können Sie einen einzelnen Benchmark ausführen, indem Sie in dessen Verzeichnis wechseln und den folgenden Befehl ausführen. ```bash cd ../mojov-test make TARGET=mojov-spike clean build test
## 🧪 Übersicht der Mojo-V Bringup-Bench-Tests