
Extensión de la ISA RISC-V para cómputo secreto reforzado por hardware usando encapsulación de clave ML-KEM-512 y cifrado SIMON-128, permitiendo ejecución oblivious a los datos con rendimiento cercano al nativo.
Mojo-V (pronunciado “mojo-five”) es una nueva extensión de RISC-V que introduce capacidades de programación orientadas a la privacidad para RISC-V. Mojo-V implementa computación secreta, lo que permite una ejecución segura, eficiente y oblivious a los datos sin depender de software frágil ni de la confianza del programador. Al aislar los datos sensibles en registros secretos dedicados y cifrar la memoria con una clave de terceros, Mojo-V previene divulgaciones y aplica una computación que es tanto ciega (sin divulgaciones directas) como silenciosa (sin fugas por canales laterales). El diseño se integra sin problemas en la ISA RISC-V existente con solo un bit de modo y cuatro instrucciones nuevas, aplicadas íntegramente en la decodificación. Los primeros resultados muestran velocidades de ejecución casi nativas, ofreciendo al mismo tiempo una mejora de rendimiento de más de 5 a 7 órdenes de magnitud en comparación con el cifrado totalmente homomórfico (FHE), con una hoja de ruta clara para la integración en CPU, GPU y aceleradores especializados.
Para obtener más información...
La Especificación actual de la Extensión ISA de Mojo-V (versión 1.02):
Para contactar a los desarrolladores de Mojo-V:
La Plataforma de Referencia Mojo-V versión 1.03 implementa una plataforma de simulador Spike de referencia para RISC-V RV64GC y el compilador EXO para la Especificación ISA de Mojo-V v1.02. La implementación actual soporta modos de cifrado rápido, fuerte y con prueba, junto con la divulgación segura de resultados de computación cifrada y la generación certificada de números aleatorios. La versión incluye una amplia gama de pruebas de Mojo-V, benchmarks orientados a la privacidad y aplicaciones demostradoras para la divulgación segura. También incluye la especificación completa de la ISA de Mojo-V y documentación para desarrolladores.
Esta versión es adecuada para usarse como i) plataforma de desarrollo de aplicaciones Mojo-V, ii) modelo de referencia para validar implementaciones de hardware Mojo-V y iii) implementación de referencia para análisis de seguridad. El trabajo actual se centra en el desarrollo de i) un compilador Mojo-V basado en LLVM, ii) un modelo Mojo-V basado en gem5 para exploración y análisis arquitectónico y iii) una implementación RTL de referencia CVA6 SystemVerilog de RISC-V RV64GC con extensiones Mojo-V.
Versión de la Especificación: 1.02 (agosto de 2026)
Contacto: [email protected]
Especificación ISA Mojo-V v1.02
doc/Spike (Simulador de Conjunto de Instrucciones) con Extensiones Mojo-V
riscv-isa-sim, con funcionalidad completa para una CPU RV64GC con encapsulación de claves ML-KEM-512 para la carga de contratos de datos y cifrado simétrico SIMON-128 para la protección de la computación secreta.--isa=rv64gc_zicond_zkmojov_zicntr al ejecutar spikeMulti-herramienta de Contrato de Datos
Los contratos de datos son paquetes cifrados que permiten que el hardware de una CPU Mojo-V acceda a la clave de acceso a datos y a la información de configuración (por ejemplo, el modo de cifrado de memoria) para un conjunto de datos cifrados con Mojo-V. La Multi-herramienta DC permite las siguientes capacidades:
Benchmarks Mojo-V Bringup-Bench
Tenga en cuenta que el resto de los benchmarks Bringup-bench aún NO se han portado a Mojo-V.
Necesitará un compilador cruzado RISC-V basado en LLVM capaz de producir binarios RV64GC.
Aquí hay un buen punto de partida: https://github.com/openssl/openssl
Necesitará una instalación para desarrolladores de OpenSSL versión 3.6 o más reciente. Esto proporciona bibliotecas que implementan ML-KEM512, utilizado por Spike para el intercambio de claves protegido.
Aquí hay un buen punto de partida: https://clang.llvm.org/get_started.html
git clone https://github.com/toddmaustin/mojo-v.git cd mojo-v
### D. Construir el simulador Spike de RISC-V con soporte Mojo-V```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
Los contratos de datos son paquetes cifrados que permiten al hardware de una CPU Mojo-V acceder a la clave de acceso a datos y a la información de configuración (p. ej., modo de cifrado de memoria) de un conjunto de datos cifrado con Mojo-V.``` cd dc-tool make clean build test
### **E. Construir y ejecutar las pruebas de benchmark Bringup-Bench de Mojo-V**
1. **Construir el controlador de dispositivo Spike** ```bash
cd bringup-bench/target
make
Configura tu compilador
Edita ../Makefile y establece TARGET_CC para el destino mojov a la ubicación de tu compilador RISC-V de LVM basado en Clang.
Compila y prueba los programas de prueba Bringup-Bench ```bash cd .. # go to the top-level bringup-bench directory make TARGET=mojov-spike mojov-tests # run all Mojo-V tests
Como alternativa, puedes ejecutar un benchmark individual entrando en su directorio y ejecutando el siguiente comando. ```bash cd ../mojov-test make TARGET=mojov-spike clean build test
## 🧪 Resumen de Pruebas de Mojo-V Bringup-Bench