
Расширение системы команд RISC-V для аппаратно-обеспечиваемых секретных вычислений с использованием инкапсуляции ключей ML-KEM-512 и шифрования SIMON-128, обеспечивающее не зависящее от данных выполнение с производительностью, близкой к нативной.
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:
Выпуск 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]
Спецификация ISA Mojo-V v1.02
doc/Spike (симулятор набора инструкций) с расширениями Mojo-V
riscv-isa-sim и функционально полон для процессора RV64GC с инкапсуляцией ключей ML-KEM-512 для загрузки контрактов данных и симметричным шифрованием SIMON-128 для защиты секретных вычислений.--isa=rv64gc_zicond_zkmojov_zicntr при запуске spikeData Contract Multi-tool
Контракты данных — это зашифрованные пакеты, которые позволяют аппаратному обеспечению процессора Mojo-V получать доступ к ключу доступа к данным и информации о конфигурации (например, режиму шифрования памяти) для набора данных, зашифрованного с помощью Mojo-V. Инструмент DC Multi-tool предоставляет следующие возможности:
Бенчмарки Mojo-V Bringup-Bench
Обратите внимание: остальная часть бенчмарков Bringup-bench пока НЕ перенесена на Mojo-V.
Вам понадобится кросс-компилятор RISC-V на основе LLVM, способный создавать бинарные файлы RV64GC.
Вот хорошая отправная точка: https://github.com/openssl/openssl
Вам понадобится установка OpenSSL версии 3.6 или новее для разработчиков. Она предоставляет библиотеки, реализующие ML-KEM512, используемые Spike для защищённого обмена ключами.
Вот хорошая отправная точка: https://clang.llvm.org/get_started.html
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
Контракты данных — это зашифрованные пакеты, которые позволяют аппаратному обеспечению 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
Настройте ваш компилятор
Отредактируйте ../Makefile и укажите TARGET_CC для цели mojov на расположение вашего LVM Clang-based RISC-V компилятора.
Соберите и протестируйте тестовые программы 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