
Extensão da ISA RISC-V para computação secreta reforçada por hardware usando encapsulamento de chaves ML-KEM-512 e criptografia SIMON-128, permitindo execução data-oblivious com desempenho próximo ao nativo.
Mojo-V (pronunciado “mojo-five”) é uma nova extensão RISC-V que introduz capacidades de programação voltadas à privacidade para RISC-V. Mojo-V implementa computação secreta, permitindo execução segura, eficiente e independente dos dados, sem depender de software frágil ou da confiança no programador. Ao isolar dados sensíveis em registradores secretos dedicados e criptografar a memória sob uma chave de terceiros, Mojo-V previne divulgações e impõe uma computação que é tanto cega (sem divulgações diretas) quanto silenciosa (sem vazamento por canais laterais). O design integra-se perfeitamente à ISA RISC-V existente com apenas um bit de modo e quatro novas instruções, imposto inteiramente na decodificação. Os primeiros resultados mostram velocidades de execução próximas às nativas, ao mesmo tempo em que oferecem uma melhoria de desempenho de 5 a 7 ordens de grandeza em comparação com a criptografia totalmente homomórfica (FHE), com um roteiro claro para integração em CPUs, GPUs e aceleradores especializados.
Para saber mais...
A Especificação Atual da Extensão de ISA Mojo-V (lançamento 1.02):
Para entrar em contato com os desenvolvedores de Mojo-V:
A Plataforma de Referência Mojo-V, lançamento 1.03, implementa uma plataforma de simulação Spike de referência para RISC-V RV64GC e o compilador EXO para a Especificação de ISA Mojo-V v1.02. A implementação atual suporta modos de criptografia rápidos, fortes e com prova, juntamente com a divulgação segura de resultados de computação criptografados e geração certificada de números aleatórios. O lançamento inclui uma ampla gama de testes Mojo-V, benchmarks voltados à privacidade e aplicações demonstrativas para divulgação segura. Também inclui a especificação completa da ISA Mojo-V e a documentação para desenvolvedores.
Este lançamento é adequado para uso como i) uma plataforma de desenvolvimento de aplicações Mojo-V, ii) um modelo de referência para validar implementações de hardware Mojo-V e iii) uma implementação de referência para análise de segurança. O trabalho atual concentra-se no desenvolvimento de i) um compilador Mojo-V baseado em LLVM, ii) um modelo Mojo-V baseado em gem5 para exploração e análise arquitetural e iii) uma implementação RTL de referência CVA6 SystemVerilog de RISC-V RV64GC com extensões Mojo-V.
Versão da Especificação: 1.02 (agosto de 2026)
Contato: [email protected]
Especificação de ISA Mojo-V v1.02
doc/Spike (Simulador de Conjunto de Instruções) com Extensões Mojo-V
riscv-isa-sim, e funcionalmente completo para uma CPU RV64GC com encapsulamento de chave ML-KEM-512 para carregamento de contrato de dados e criptografia de chave simétrica SIMON-128 para proteção da computação secreta.--isa=rv64gc_zicond_zkmojov_zicntr ao executar spikeFerramenta Multiuso de Contrato de Dados
Contratos de dados são pacotes criptografados que permitem que o hardware de uma CPU Mojo-V acesse a chave de acesso a dados e as informações de configuração (por exemplo, modo de criptografia de memória) para um conjunto de dados criptografados Mojo-V. A Ferramenta Multiuso DC permite as seguintes capacidades:
Benchmarks Mojo-V Bringup-Bench
Nota: o restante dos benchmarks Bringup-bench ainda NÃO foi portado para Mojo-V.
Você precisará de um compilador cruzado RISC-V baseado em LLVM capaz de produzir binários RV64GC.
Aqui está um bom lugar para começar: https://github.com/openssl/openssl
Você precisará de uma instalação de desenvolvedor do OpenSSL versão 3.6 ou mais recente. Isso fornece bibliotecas que implementam ML-KEM512, usadas pelo Spike para troca de chaves protegida.
Aqui está um bom lugar para começar: https://clang.llvm.org/get_started.html
git clone https://github.com/toddmaustin/mojo-v.git cd mojo-v
### D. Construir o simulador RISC-V Spike com suporte 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
Os contratos de dados são pacotes criptografados que permitem que o hardware de uma CPU Mojo-V acesse a chave de acesso a dados e as informações de configuração (por exemplo, modo de criptografia de memória) para um conjunto de dados criptografados Mojo-V.``` cd dc-tool make clean build test
### **E. Compilar e executar os testes de benchmark Bringup-Bench do Mojo-V**
1. **Compilar o driver de dispositivo Spike** ```bash
cd bringup-bench/target
make
Configure seu compilador
Edite o ../Makefile e defina TARGET_CC para o alvo mojov como a localização do seu compilador LVM baseado em Clang para RISC-V.
Compile e teste os programas de teste do 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, você pode executar um benchmark individual entrando em seu diretório e executando o seguinte comando. ```bash cd ../mojov-test make TARGET=mojov-spike clean build test
## 🧪 Visão Geral dos Testes Mojo-V Bringup-Bench