عن المشروع

توفر هذه المستودع حزمة Dart تُغلّف مكتبة Rust الخاصة بـ OpenMLS، وتنفذ بروتوكول الأمان الطبقي للرسائل (MLS) المعتمد في RFC 9420، وذلك لتمكين الرسائل المجمَّعة المشفرة من طرف إلى طرف وقابلة للتوسع. يعتمد البروتوكول على TreeKEM لتحقيق اتفاق مفاتيح جماعي كفء، وسرية تقدمية، وأمن ما بعد اختراق الحالة. تدعم المكتبة مجموعات شفرات كلاسيكية وتجريبية لما بعد الكم، تشمل خيارات هجينة ونقية قائمة على الشبكات (lattice-based). يتم تشفير جميع حالات MLS عند السكون باستخدام SQLCipher على المنصات الأصلية، وباستخدام AES-256-GCM عبر Web Crypto على WebAssembly، بينما تُخزَّن مفتاح التشفير في تخزين آمن خاص بالمنصة. تم تحسين الحزمة لتطبيقات Flutter، وتدعم Android وiOS وmacOS وLinux وWindows والويب (عبر dart2js). تتضمن الحزمة واجهة كاملة لإدارة دورة حياة المجموعة: الإنشاء، الانضمام، إضافة/إزالة الأعضاء، المقترحات، والالتزامات، بالإضافة إلى معالجة الشهادات الأساسية وشهادات X.509. يمكن للمطورين توليد حزم المفاتيح، وإدارة المجموعات، وتشفير وفك تشفير رسائل التطبيق، وتصدير الأسرار، مع إخفاء تطبيق Rust الأساسي. يحمّل نظام البناء تلقائياً المكتبات الأصلية المُعدَّة مسبقاً، لذا لا يحتاج المستخدمون النهائيون إلى وجود أداة Rust محلية. تشمل القيود المعروفة عدم دعم هدف dart2wasm على الويب، وبعض عمليات تخطي خطوط البناء أثناء تشغيل Flutter، ويمكن التغلب عليها بتشغيل `flutter build web` بالكامل أو تنظيف طابع البناء.