
Optimizations for Pairing-Based Cryptography
يحتوي هذا المستودع على كود Rust العملي الذي يقابل سلسلة مستمرة من منشورات المدونة التي تغطي تحسينات التشفير القائم على الاقتران باستخدام BLS12-381 كمنحنى مرجعي.
يرجى الملاحظة: هذا الكود لأغراض تعليمية، ولم يخضع لتدقيق أمني، وهو غير مناسب للاستخدام الإنتاجي. استخدمه على مسؤوليتك الخاصة.
سيغطي هذا المنشور حساب مونتغمري المعياري من البداية إلى النهاية، بما في ذلك السياق والبدائل والنظرية وكود Rust عملي يعمل أسرع بـ 9 أضعاف من تنفيذ الأعداد الصحيحة الكبيرة العامة. سيعمل منشور المدونة التالي على تحسين روتين الضرب الثقيل نسبيًا بلغة التجميع x86-64 على المعدن العاري.
mont1: https://github.com/nccgroup/pairing/tree/main/mont1يأخذ هذا المنشور الثاني خوارزمية ضرب مونتغمري المطوّرة في Rust خطوة أبعد سعيًا إلى تحقيق أقصى أداء يمكن لجهاز x86-64 حديث تقديمه من تنفيذ مكتوب يدويًا بلغة التجميع. ونتج عن العديد من التعليمات المتخصصة وميزات العمارة الدقيقة المتقدمة التي تتيح زيادة التوازي أن يعمل روتين ضرب مونتغمري أسرع بأكثر من 15 ضعفًا من تنفيذ الأعداد الصحيحة الكبيرة العامة.
mont2: https://github.com/nccgroup/pairing/tree/main/mont2حقوق النشر 2021 Eric Schorn؛ مرخّص بموجب رخصة BSD ثلاثية البنود.