
امتداد لمجموعة تعليمات RISC-V ISA للحوسبة السرية المدعومة عبر العتاد، باستخدام تغليف مفاتيح ML-KEM-512 وتشفير SIMON-128، ما يتيح تنفيذًا غير مُطلِعٍ على البيانات (data-oblivious) بأداء قريب من الأداء الأصلي.
Mojo-V (تُنطق “mojo-five”) هو امتداد جديد لمعمارية RISC-V يقدّم إمكانيات برمجة موجهة للخصوصية لـ RISC-V. ينفّذ Mojo-V الحوسبة السرية، مما يتيح تنفيذًا آمنًا وفعّالًا وغير مكشوف للبيانات دون الاعتماد على برمجيات هشّة أو ثقة المبرمج. من خلال عزل البيانات الحساسة في سجلات سرية مخصصة وتشفير الذاكرة بمفتاح طرف ثالث، يمنع Mojo-V تسريب المعلومات ويفرض حوسبة تكون عمياء (بدون كشف مباشر) وصامتة (بدون تسريب عبر القنوات الجانبية). يندمج التصميم بسلاسة في مجموعة تعليمات RISC-V الحالية باستخدام بت وضع واحد وأربع تعليمات جديدة فقط، ويُطبَّق بالكامل عند مرحلة فك الترميز. تُظهر النتائج المبكرة سرعات تنفيذ شبه أصلية مع تحسين في الأداء يتراوح بين 5-7 مراتب من حيث الحجم مقارنة بالتشفير المتماثل بالكامل (FHE)، مع خارطة طريق واضحة للتكامل في وحدات المعالجة المركزية ووحدات معالجة الرسوميات والمسرّعات المتخصصة.
لمعرفة المزيد...
مواصفة امتداد ISA الحالية لـ Mojo-V (الإصدار 1.02):
للتواصل مع مطوّري Mojo-V:
يصدر الإصدار 1.03 من منصة Mojo-V المرجعية منصة محاكاة Spike مرجعية لـ RISC-V RV64GC ومترجم EXO لمواصفة ISA الخاصة بـ Mojo-V الإصدار 1.02. يدعم التطبيق الحالي أنماط التشفير السريع والقوي وحامل الإثبات، إلى جانب الكشف الآمن عن نتائج الحوسبة المشفرة وتوليد الأرقام العشوائية المعتمد. تتضمن النسخة مجموعة واسعة من اختبارات 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 الإصدار 1.02
doc/Spike (محاكي مجموعة التعليمات) مع امتدادات Mojo-V
riscv-isa-sim، وهو مكتمل الميزات لوحدة معالجة مركزية RV64GC مع تغليف المفاتيح ML-KEM-512 لتحميل عقود البيانات، وتشفير المفتاح المتماثل SIMON-128 لحماية الحوسبة السرية.--isa=rv64gc_zicond_zkmojov_zicntr عند تشغيل spikeالأداة المتعددة لعقود البيانات
عقود البيانات هي حزم مشفرة تتيح لعتاد وحدة معالجة Mojo-V الوصول إلى مفتاح الوصول إلى البيانات ومعلومات الإعداد (مثل وضع تشفير الذاكرة) لمجموعة بيانات مشفرة عبر Mojo-V. تتيح أداة DC متعددة الوظائف الإمكانيات التالية:
معايير أداء 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
عقود البيانات هي حزم مشفرة تسمح لعتاد وحدة المعالجة المركزية 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 على موقع مترجم RISC-V المبني على Clang من LVM.
ابنِ واختبر برامج اختبار 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
| Program | الوصف |
|:---------|:-------------|
| `mojov-test` | مثال تمهيدي من الشرائح |
| `mojov-test1` | اختبارات دلالات السجل السري والذاكرة المشفرة |
| `mojov-test2` | مقياس أداء لفرز الفقاعات الصحيح متعامٍ مع البيانات ومكتوب يدويًا مع تشفير Mojo-V السريع (int,fast) |
| `mojov-test3` | مقياس أداء لفرز الفقاعات للفاصلة العائمة متعامٍ مع البيانات ومكتوب يدويًا مع تشفير Mojo-V السريع (fp,fast) |
| `mojov-test4` | مقياس أداء لفرز الفقاعات الصحيح متعامٍ مع البيانات ومكتوب يدويًا مع تشفير Mojo-V القوي (int,strong) |
| `mojov-test5` | مقياس أداء لفرز الفقاعات للفاصلة العائمة متعامٍ مع البيانات ومكتوب يدويًا مع تشفير Mojo-V القوي (fp,strong) |
| `mojov-typetests` | اختبارات التحقق من نظام الأنواع لأنواع Mojo-V المشفرة واستخدام مكتبة EXO |
| `mojov-pctests` | مجموعة اختبارات التحقق من السلامة مكتوبة يدويًا لـ RV64GC+Mojo-V تتضمن اختبارات إيجابية وسلبية لتنسيق تشفير Mojo-V الحامل للإثبات (proofcarrying) |
| `mojov-sectests` | مجموعة اختبارات أمان مكتوبة يدويًا لـ RV64GC+Mojo-V تتضمن 130 اختبارًا إيجابيًا + 245 اختبارًا سلبيًا == 375 إجمالًا (int,fp,fast,strong) |
| `mojov-stringtests` | اختبارات التحقق من صحة مكتبة السلاسل المشفرة EXO لعمليات ومقارنات السلاسل الآمنة |
| `mojov-mathtests` | اختبارات التحقق من صحة مكتبة الرياضيات المشفرة EXO للدوال `_sincos`، `mojov_sin`، `mojov_cos`، `mojov_fabs`، `mojov_floor`، `mojov_pow`، `mojov_round`، و`mojov_sqrt` |
توضح هذه المقاييس الاختبارية قواعد ISA الخاصة بـ Mojo-V وسلوك مكتبة EXO ودلالات الأمان.
## 🧪 نظرة عامة على مقاييس أداء Mojo-V Bringup-Bench
تتضمن مجموعة مقاييس الأداء الحالية للإقلاع تطبيقات مقاييس Mojo-V التالية: