vaha_
AR العربية
← الفهرس No. 01 / 21

ملف · منتج رئيسي · تشفير ما بعد كمومي

Nitva

Messenger آمن

Messenger مشفّر من الطرف إلى الطرف مبني على أساس ما بعد كمومي من اليوم الأول: تبادل مفاتيح CRYSTALS-Kyber (ML-KEM) عبر PQXDH، وطبقة رسائل Double Ratchet، ونظام مفاتيح جماعية بحقب (GMK) مع الاستعادة وتدوير المُرسِل. كل ذلك يشغّله قلب واحد بـ Rust — KyberSDK — يتشاركه iOS و Android و Tauri لسطح المكتب و backend خاص بـ Go.

المجال
منتج رئيسي · تشفير ما بعد كمومي
السنوات
2025 → حتى الآن
الحالة
قيد البناء
النظام
iOS · Android · Desktop · Server
افتح
Nitva — Messenger آمن
لقطة شاشة · No. 01 Nitva على iOS — محادثة مباشرة ومجموعة ومكالمة في عميل واحد.

ماذا يفعل

01 / 08
  1. تبادل مفاتيح PQXDH على CRYSTALS-Kyber (ML-KEM) بدلًا من X25519 الكلاسيكي
  2. طبقة رسائل Double Ratchet (AEAD + KDF) بمفاتيح لكل رسالة
  3. مفاتيح جماعية بحقب GMK، وتدوير المُرسِل والاستعادة من حالة مفقودة
  4. استعادة بعبارة BIP39 الاستذكارية + escrow للحالة بـ argon2id/AES-GCM
  5. عدة أجهزة للحساب الواحد ومسح في وضع الطوارئ
  6. نواة Rust واحدة (KyberSDK) عبر C ABI — صفر كود تشفير لكل منصة
  7. backend خاص بـ Go: auth والأجهزة والمفاتيح الأولية ومغلّفات DM والمجموعات والملفات
  8. The Nitva name: domain nitva.co and bundle co.nitva.app, since Nitva was taken on both stores

الطبقات

02 / 05

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* واجهة واحدة
  • NitvaNSE — إضافة إشعارات تفكّ تشفير رسائل 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 للوحات

التقنيات

03 / 03
اللغات RustSwiftKotlinTypeScriptGo 05
الأطر والأدوات SwiftUIJetpack ComposeTauri 2ViteJNIC ABI 06
البنية التحتية own serversLokiPrometheusTempoGrafana 05

كل الأنظمة في الملف

إلى الفهرس →