
mojo-v mojov-v1.02
RISC-V ISA विस्तार हार्डवेयर-प्रवर्तित गुप्त गणना के लिए ML-KEM-512 कुंजी एनकैप्सुलेशन और SIMON-128 एन्क्रिप्शन का उपयोग करते हुए, डेटा-अज्ञेय निष्पादन को लगभग-मूल प्रदर्शन के साथ सक्षम करता है।
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 का परिचयात्मक वीडियो है: https://www.youtube.com/watch?v=HUT46TcNyyM
- Mojo-V परियोजना का अवलोकन देने वाली स्लाइड्स: https://drive.google.com/file/d/1VVzZqYHvQgnKMgXZjg7I_cX2GzF7awSN
वर्तमान Mojo-V ISA एक्सटेंशन विशिष्टता (रिलीज़ 1.02):
- [PDF प्रारूप में।] (https://drive.google.com/file/d/1yfiBqp0xyXD-S_G5d2o7Ggta5wI6nRot)
Mojo-V के डेवलपर्स से संपर्क करने के लिए:
- Email: [email protected]
🧩 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]
वर्तमान घटक
-
Mojo-V ISA Spec v1.02
doc/में जारी
-
Spike (इंस्ट्रक्शन सेट सिम्युलेटर) Mojo-V एक्सटेंशन के साथ
- Mojo-V को
riscv-isa-simमें एकीकृत किया गया है, और डेटा कॉन्ट्रैक्ट लोडिंग के लिए ML-KEM-512 कुंजी एनकैप्सुलेशन तथा गुप्त संगणना सुरक्षा के लिए SIMON-128 सममित कुंजी एन्क्रिप्शन के साथ RV64GC CPU के लिए फीचर-पूर्ण है। - Mojo-V एक्सटेंशन सक्षम के साथ Spike चलाने के लिए,
spikeचलाते समय--isa=rv64gc_zicond_zkmojov_zicntrफ़्लैग जोड़ें।
- Mojo-V को
-
डेटा कॉन्ट्रैक्ट मल्टी-टूल
डेटा कॉन्ट्रैक्ट एन्क्रिप्टेड पैकेट होते हैं जो Mojo-V CPU के हार्डवेयर को Mojo-V एन्क्रिप्टेड डेटा सेट के लिए डेटा एक्सेस कुंजी और कॉन्फ़िगरेशन जानकारी (जैसे, मेमोरी एन्क्रिप्शन मोड) तक पहुँचने की अनुमति देते हैं। DC मल्टी-टूल निम्नलिखित क्षमताएँ सक्षम करता है:
- हार्डवेयर डेवलपर्स सार्वजनिक/निजी ML-KEM512 कुंजी जोड़े बना सकते हैं: सार्वजनिक कुंजियाँ सेवा प्रदाताओं के साथ साझा की जाती हैं, निजी कुंजियाँ Mojo-V हार्डवेयर कार्यान्वयन में एम्बेड की जाती हैं।
- डेटा स्वामी डेटा कॉन्ट्रैक्ट बना सकते हैं और उन्हें सेवा प्रदाताओं की सार्वजनिक ML-KEM512 कुंजियों के अंतर्गत एन्क्रिप्ट कर सकते हैं। मेल खाने वाला Mojo-V हार्डवेयर फिर सुरक्षित तृतीय-पक्ष एन्क्रिप्टेड डेटा पर गुप्त संगणना कर सकता है।
-
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
-
अपने कंपाइलर को कॉन्फ़िगर करें
../Makefileको संपादित करें औरTARGET_CCकोmojovटारगेट के लिए अपने LVM Clang-आधारित 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 Tests Overview