अपडेट पर वापस जाएँ
New releaseAug 13, 2026

mojo-v mojov-v1.03

RISC-V ISA विस्तार हार्डवेयर-प्रवर्तित गुप्त गणना के लिए ML-KEM-512 कुंजी एनकैप्सुलेशन और SIMON-128 एन्क्रिप्शन का उपयोग करते हुए, डेटा-अज्ञेय निष्पादन को लगभग-मूल प्रदर्शन के साथ सक्षम करता है।

साझा करें

Mojo-V Logo

Mojo-V: RISC-V के लिए गुप्त संगणना

Mojo-V (उच्चारण “mojo-five”) RISC-V के लिए एक नया RISC-V एक्सटेंशन है जो RISC-V में गोपनीयता-उन्मुख प्रोग्रामिंग क्षमताएँ प्रस्तुत करता है। Mojo-V गुप्त संगणना (secret computation) को लागू करता है, जो नाजुक सॉफ़्टवेयर और प्रोग्रामर के भरोसे पर निर्भर हुए बिना सुरक्षित, कुशल और डेटा-अज्ञेय (data-oblivious) निष्पादन सक्षम बनाता है। संवेदनशील डेटा को समर्पित गुप्त रजिस्टरों में सीमित रखकर और तीसरे पक्ष की कुंजी के अंतर्गत मेमोरी को एन्क्रिप्ट करके, Mojo-V डिस्क्लोज़र को रोकता है और ऐसी गणना लागू करता है जो दोनों रूपों में अंधी (blind) है (कोई प्रत्यक्ष डिस्क्लोज़र नहीं) और मूक (silent) है (कोई साइड-चैनल लीकेज नहीं)। यह डिज़ाइन केवल एक मोड बिट और चार नए निर्देशों के साथ मौजूदा RISC-V ISA में सहज रूप से एकीकृत होता है, जो पूरी तरह से डिकोड पर लागू होता है। प्रारंभिक परिणाम लगभग-नेटिव निष्पादन गति दिखाते हैं, साथ ही पूर्ण होमोमोर्फिक एन्क्रिप्शन (FHE) की तुलना में 5-7 ऑर्डर ऑफ़ मैग्नीट्यूड से अधिक प्रदर्शन सुधार प्रदान करते हैं, और CPUs, GPUs और विशेष एक्सेलेरेटर में एकीकरण के लिए एक स्पष्ट रोडमैप प्रस्तुत करते हैं।

और जानने के लिए...

वर्तमान Mojo-V ISA एक्सटेंशन विशिष्टता (रिलीज़ 1.02):

Mojo-V के डेवलपर्स से संपर्क करने के लिए:

🧩 Mojo-V संदर्भ प्लेटफ़ॉर्म — रिलीज़ 1.03

🚧 परियोजना स्थिति

Mojo-V संदर्भ प्लेटफ़ॉर्म रिलीज़ 1.03, RISC-V RV64GC के लिए एक संदर्भ Spike सिम्युलेटर प्लेटफ़ॉर्म और Mojo-V ISA विशिष्टता v1.02 के लिए EXO कंपाइलर लागू करता है। वर्तमान कार्यान्वयन तेज़, मजबूत और प्रमाण-वाहक (proof-carrying) एन्क्रिप्शन मोड के साथ-साथ एन्क्रिप्टेड गणना परिणामों के सुरक्षित प्रकटीकरण और प्रमाणित यादृच्छिक संख्या निर्माण का समर्थन करता है। रिलीज़ में मोजो-वी परीक्षणों की एक विस्तृत श्रृंखला, गोपनीयता-उन्मुख बेंचमार्क और सुरक्षित प्रकटीकरण के लिए प्रदर्शक अनुप्रयोग शामिल हैं। इसमें संपूर्ण Mojo-V ISA विशिष्टता और डेवलपर दस्तावेज़ भी शामिल हैं।

यह रिलीज़ निम्न रूप में उपयोग के लिए उपयुक्त है: i) Mojo-V अनुप्रयोग विकास प्लेटफ़ॉर्म, ii) Mojo-V हार्डवेयर कार्यान्वयन को मान्य करने के लिए एक गोल्डन मॉडल, और iii) सुरक्षा विश्लेषण के लिए एक संदर्भ कार्यान्वयन। वर्तमान कार्य निम्न के विकास पर केंद्रित है: i) LLVM-आधारित Mojo-V कंपाइलर, ii) आर्किटेक्चरल अन्वेषण और विश्लेषण के लिए gem5-आधारित Mojo-V मॉडल, और iii) Mojo-V एक्सटेंशन के साथ RISC-V RV64GC का एक संदर्भ CVA6 SystemVerilog RTL कार्यान्वयन।

विशिष्टता संस्करण: 1.02 (अगस्त 2026)
संपर्क: [email protected]

वर्तमान घटक

  1. Mojo-V ISA Spec v1.02

    • doc/ में जारी
  2. Spike (इंस्ट्रक्शन सेट सिम्युलेटर) Mojo-V एक्सटेंशन के साथ

    • Mojo-V को riscv-isa-sim में एकीकृत किया गया है, और डेटा कॉन्ट्रैक्ट लोडिंग के लिए ML-KEM-512 कुंजी एनकैप्सुलेशन तथा गुप्त संगणना सुरक्षा के लिए SIMON-128 सममित कुंजी एन्क्रिप्शन के साथ RV64GC CPU के लिए फीचर-पूर्ण है।
    • Mojo-V एक्सटेंशन सक्षम के साथ Spike चलाने के लिए, spike चलाते समय --isa=rv64gc_zicond_zkmojov_zicntr फ़्लैग जोड़ें।
  3. डेटा कॉन्ट्रैक्ट मल्टी-टूल

    डेटा कॉन्ट्रैक्ट एन्क्रिप्टेड पैकेट होते हैं जो Mojo-V CPU के हार्डवेयर को Mojo-V एन्क्रिप्टेड डेटा सेट के लिए डेटा एक्सेस कुंजी और कॉन्फ़िगरेशन जानकारी (जैसे, मेमोरी एन्क्रिप्शन मोड) तक पहुँचने की अनुमति देते हैं। DC मल्टी-टूल निम्नलिखित क्षमताएँ सक्षम करता है:

    • हार्डवेयर डेवलपर्स सार्वजनिक/निजी 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 कंपाइलर स्थापित करें

आपको एक LLVM-आधारित RISC-V क्रॉस-कंपाइलर की आवश्यकता होगी जो 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. Mojo-V समर्थन के साथ RISC-V Spike सिम्युलेटर बनाएँ```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. डेटा कॉन्ट्रैक्ट मल्टी-टूल को बनाएँ और परीक्षण करें

डेटा कॉन्ट्रैक्ट एन्क्रिप्टेड पैकेट होते हैं जो Mojo-V CPU के हार्डवेयर को 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-आधारित 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 Tests Overview

श्रेणियाँ