الملف · № 01 / 16
vChat
Messenger آمن — Messenger مشفّر من الطرف إلى الطرف مبني على أساس ما بعد كمومي من اليوم الأول: تبادل مفاتيح CRYSTALS-Kyber (ML-KEM) عبر PQXDH، وطبقة رسائل Double Ratchet، ونظام مفاتيح جماعية بحقب (GMK) مع الاستعادة وتدوير المُرسِل. كل ذلك يشغّله قلب واحد بـ Rust — KyberSDK — يتشاركه iOS و Android و Tauri لسطح المكتب و backend خاص بـ Go.
ما أُنجز
- تبادل مفاتيح PQXDH على CRYSTALS-Kyber (ML-KEM) بدلًا من X25519 الكلاسيكي
- طبقة رسائل Double Ratchet (AEAD + KDF) بمفاتيح لكل رسالة
- مفاتيح جماعية بحقب GMK، وتدوير المُرسِل والاستعادة من حالة مفقودة
- استعادة بعبارة BIP39 الاستذكارية + escrow للحالة بـ argon2id/AES-GCM
- عدة أجهزة للحساب الواحد ومسح في وضع الطوارئ
- نواة Rust واحدة (KyberSDK) عبر C ABI — صفر كود تشفير لكل منصة
- backend خاص بـ Go: auth والأجهزة والمفاتيح الأولية ومغلّفات DM والمجموعات والملفات
طبقات النظام
KyberSDK — نواة Rust
RustC ABI / FFIML-KEM- CRYSTALS-Kyber (ML-KEM) كـ KEM، لا كفرع تجريبي
- اتفاق مفاتيح PQXDH مقاوم لـ «harvest now, decrypt later»
- Double Ratchet + مفاتيح GMK الحقبية للمجموعات
- مسار FIPS-hardening عبر النواة بأكملها
iOS — Swift / SwiftUI
SwiftSwiftUISPM- SPM monorepo معياري: كل Core* حدود framework، وكل Feature* واجهة واحدة
- vChatNSE — إضافة إشعارات تفكّ تشفير رسائل E2E push على الجهاز
- خزن محلي مشفّر (CoreDatabase)، وهوية الجهاز في Keychain
- استعادة الحساب بـ BIP39 دون خادم يحتفظ بالمفاتيح
Android — Kotlin / Compose
KotlinJetpack ComposeJNI- نواة Rust نفسها عبر JNI bindings — التشفير لا يُعاد كتابته
- واجهة Jetpack Compose، و Coroutines + Flow لإدارة الحالة
- خزن محلي مشفّر ومسار FCM مع فك تشفير E2E
سطح المكتب — Tauri 2 (Rust + TypeScript)
RustTauri 2TypeScriptVite- Windows و macOS و Linux من قاعدة كود واحدة
- نواة Rust مرتبطة أصليًا — لا Chromium في الأسفل
- شريط نظام وقوائم وإشعارات أصلية، ومثبّت صغير الحجم
Backend — Go (مستضاف ذاتيًا)
GoLokiPrometheusTempoGrafana- الخدمات: auth والأجهزة والمفاتيح الأولية ومغلّفات DM والمجموعات ونقل الملفات
- الخادم يعمل على بنيتي التحتية، لا على BaaS من طرف ثالث
- المراقبة: Loki للسجلات، Prometheus للمقاييس، Tempo للتتبّع، Grafana للوحات
التقنيات
لغات البرمجةRust, Swift, Kotlin, TypeScript, Go
الأطر والأدواتSwiftUI, Jetpack Compose, Tauri 2, Vite, JNI, C ABI
البنية التحتيةخوادم خاصة, Loki, Prometheus, Tempo, Grafana
البيانات
المنصاتiOS · Android · Desktop · Server
الحالةقيد التطوير
السنوات2025 → حتى الآن
التصنيفمنتج رئيسي · تشفير ما بعد كمومي
vChat على iOS — محادثة مباشرة ومجموعة ومكالمة في عميل واحد.
كل المشاريع