Zurück zu den Updates
New releaseJul 26, 2026

mojo-v mojov-v1.02

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.

Teilen

Mojo-V Logo

Mojo-V: Secret Computation für RISC-V

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:

🧩 Mojo-V-Referenzplattform — Release 1.03

🚧 Projektstatus

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]

Aktuelle Komponenten

  1. Mojo-V-ISA-Spezifikation v1.02

    • veröffentlicht in doc/
  2. Spike (Instruction-Set-Simulator) mit Mojo-V-Erweiterungen

    • Mojo-V integriert in 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.
    • Um Spike mit aktivierten Mojo-V-Erweiterungen auszuführen, fügen Sie beim Ausführen von spike das Flag --isa=rv64gc_zicond_zkmojov_zicntr hinzu
  3. Datenvertrags-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:

    • Hardwareentwickler können öffentliche/private ML-KEM512-Schlüsselpaare erstellen: Öffentliche Schlüssel werden mit Dienstanbietern geteilt, private Schlüssel werden in die Mojo-V-Hardwareimplementierung eingebettet.
    • Dateneigentümer können Datenverträge erstellen und sie unter den öffentlichen ML-KEM512-Schlüsseln der Dienstanbieter verschlüsseln. Die passende Mojo-V-Hardware kann dann Secret Computation an den geschützten, von Dritten verschlüsselten Daten durchführen.
  4. Mojo-V-Bringup-Bench-Benchmarks

    • Vollständige Batterie von Sicherheitstests für RV64GC+Mojo-V
    • Vollständige Batterie von Integritätsangriffstests für RV64GC+Mojo-V
    • Vollständige Batterie von EXO-Compiler-Bibliothekstests
    • Vollständige Batterien von EXO-Mathe- und String-Bibliothekstests
    • Zahlreiche datenschutzorientierte Benchmarks, die mit der EXO-Mojo-V-Compiler-Bibliothek erstellt wurden
    • Vollständige Batterie von Demonstrationsanwendungen für sichere Offenlegung
    • Vollständige Batterie von zertifizierten TRNG-Demonstrationsanwendungen
    • Handcodierte Beispiele (z. B. Bubble-Sort), die die funktionierende Secret Computation von Mojo-V zeigen

Hinweis: Der Rest der Bringup-Bench-Benchmarks wurde noch nicht auf Mojo-V portiert.

⚙️ Erstellen und Ausführen der Mojo-V-Referenzplattform

A. Installieren Sie einen RISC-V-LLVM-Compiler

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

B. Installieren Sie OpenSSL Version 3.6 oder neuer

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

C. Klonen Sie das Mojo-V-Repository```bash

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

E. Data-Contract-Multi-Tool erstellen und testen

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
  1. Konfiguriere deinen Compiler

    Bearbeite ../Makefile und setze TARGET_CC für das mojov-Ziel auf den Speicherort deines LVM-Clang-basierten RISC-V-Compilers.

  2. 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

Kategorien