Назад к обновлениям
New releaseAug 13, 2026

mojo-v mojov-v1.03

Расширение системы команд RISC-V для аппаратно-обеспечиваемых секретных вычислений с использованием инкапсуляции ключей ML-KEM-512 и шифрования SIMON-128, обеспечивающее не зависящее от данных выполнение с производительностью, близкой к нативной.

Поделиться

Mojo-V Logo

Mojo-V: секретные вычисления для RISC-V

Mojo-V (произносится «mojo-five») — это новое расширение RISC-V, которое добавляет возможности программирования, ориентированные на конфиденциальность, для RISC-V. Mojo-V реализует секретные вычисления, обеспечивая безопасное, эффективное и не зависящее от данных исполнение без опоры на хрупкое программное обеспечение и доверие к программисту. Изолируя конфиденциальные данные в выделенных секретных регистрах и шифруя память с помощью стороннего ключа, Mojo-V предотвращает раскрытие информации и обеспечивает вычисления, которые являются одновременно «слепыми» (без прямых раскрытий) и «тихими» (без утечек по побочным каналам). Архитектура бесшовно интегрируется в существующую ISA RISC-V всего лишь с одним битом режима и четырьмя новыми инструкциями, контроль которых осуществляется полностью на этапе декодирования. Ранние результаты демонстрируют скорость исполнения, близкую к нативной, обеспечивая при этом улучшение производительности на 5–7 порядков по сравнению с полностью гомоморфным шифрованием (FHE), а также содержат чёткую дорожную карту интеграции в CPU, GPU и специализированные ускорители.

Чтобы узнать больше...

Текущая спецификация расширения ISA Mojo-V (релиз 1.02):

Для связи с разработчиками Mojo-V:

🧩 Эталонная платформа Mojo-V — выпуск 1.03

🚧 Статус проекта

Выпуск 1.03 эталонной платформы Mojo-V реализует эталонную платформу симулятора Spike для RISC-V RV64GC и компилятор EXO для спецификации ISA Mojo-V v1.02. Текущая реализация поддерживает быстрые, строгие и proof-carrying режимы шифрования, а также безопасное раскрытие результатов зашифрованных вычислений и сертифицированную генерацию случайных чисел. Релиз включает широкий набор тестов Mojo-V, ориентированных на конфиденциальность бенчмарков и демонстрационных приложений для безопасного раскрытия. Он также включает полную спецификацию ISA Mojo-V и документацию для разработчиков.

Этот выпуск подходит для использования в качестве i) платформы разработки приложений Mojo-V, ii) эталонной модели для проверки аппаратных реализаций Mojo-V и iii) эталонной реализации для анализа безопасности. Текущая работа сосредоточена на разработке i) компилятора Mojo-V на основе LLVM, ii) модели Mojo-V на основе gem5 для архитектурных исследований и анализа, и iii) эталонной реализации CVA6 SystemVerilog RTL для RISC-V RV64GC с расширениями Mojo-V.

Версия спецификации: 1.02 (август 2026)
Контакт: [email protected]

Текущие компоненты

  1. Спецификация ISA Mojo-V v1.02

    • выпущена в doc/
  2. Spike (симулятор набора инструкций) с расширениями Mojo-V

    • Mojo-V интегрирован в riscv-isa-sim и функционально полон для процессора RV64GC с инкапсуляцией ключей ML-KEM-512 для загрузки контрактов данных и симметричным шифрованием SIMON-128 для защиты секретных вычислений.
    • Чтобы запустить Spike с включёнными расширениями Mojo-V, добавьте флаг --isa=rv64gc_zicond_zkmojov_zicntr при запуске spike
  3. Data Contract Multi-tool

    Контракты данных — это зашифрованные пакеты, которые позволяют аппаратному обеспечению процессора Mojo-V получать доступ к ключу доступа к данным и информации о конфигурации (например, режиму шифрования памяти) для набора данных, зашифрованного с помощью Mojo-V. Инструмент DC Multi-tool предоставляет следующие возможности:

    • Разработчики аппаратного обеспечения могут создавать пары открытый/закрытый ключей ML-KEM512: открытые ключи передаются поставщикам услуг, а закрытые ключи встраиваются в аппаратную реализацию Mojo-V.
    • Владельцы данных могут создавать контракты данных и шифровать их с помощью открытых ключей ML-KEM512 поставщиков услуг. Соответствующее аппаратное обеспечение Mojo-V затем может выполнять секретные вычисления над защищёнными зашифрованными данными третьих сторон.
  4. Бенчмарки Mojo-V Bringup-Bench

    • Полный набор тестов безопасности для RV64GC+Mojo-V
    • Полный набор тестов на атаки целостности для RV64GC+Mojo-V
    • Полный набор тестов библиотеки компилятора EXO
    • Полные наборы тестов математической и строковой библиотек EXO
    • Многочисленные ориентированные на конфиденциальность бенчмарки, собираемые с использованием библиотеки компилятора EXO Mojo-V
    • Полный набор демонстрационных приложений для безопасного раскрытия
    • Полный набор демонстрационных приложений сертифицированного TRNG
    • Примеры с ручным написанием кода (например, пузырьковая сортировка), демонстрирующие секретные вычисления Mojo-V в действии

Обратите внимание: остальная часть бенчмарков Bringup-bench пока НЕ перенесена на Mojo-V.

⚙️ Сборка и запуск эталонной платформы Mojo-V

A. Установка RISC-V LLVM-компилятора

Вам понадобится кросс-компилятор RISC-V на основе LLVM, способный создавать бинарные файлы RV64GC.

Вот хорошая отправная точка: https://github.com/openssl/openssl

B. Установка OpenSSL версии 3.6 или новее

Вам понадобится установка OpenSSL версии 3.6 или новее для разработчиков. Она предоставляет библиотеки, реализующие ML-KEM512, используемые Spike для защищённого обмена ключами.

Вот хорошая отправная точка: https://clang.llvm.org/get_started.html

C. Клонирование репозитория Mojo-V```bash

git clone https://github.com/toddmaustin/mojo-v.git cd mojo-v

### D. Сборка симулятора RISC-V Spike с поддержкой 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

E. Сборка и тестирование Data Contract Multi-tool

Контракты данных — это зашифрованные пакеты, которые позволяют аппаратному обеспечению CPU Mojo-V получить доступ к ключу доступа к данным и конфигурационной информации (например, режиму шифрования памяти) для зашифрованного набора данных Mojo-V.``` cd dc-tool make clean build test

### **E. Сборка и запуск бенчмарк-тестов Mojo-V Bringup-Bench**

1. **Соберите драйвер устройства Spike**   ```bash
   cd bringup-bench/target
   make
  1. Настройте ваш компилятор

    Отредактируйте ../Makefile и укажите TARGET_CC для цели mojov на расположение вашего LVM Clang-based RISC-V компилятора.

  2. Соберите и протестируйте тестовые программы Bringup-Bench ```bash cd .. # go to the top-level bringup-bench directory make TARGET=mojov-spike mojov-tests # run all Mojo-V tests

В качестве альтернативы вы можете запустить отдельный бенчмарк, перейдя в его каталог и выполнив следующую команду. ```bash cd ../mojov-test make TARGET=mojov-spike clean build test

## 🧪 Обзор тестов Mojo-V Bringup-Bench

Категории