V vaha_

Dossier · № 01 / 16

vChat

Sicherer Messenger — Ein Ende-zu-Ende-verschlüsselter Messenger, von Anfang an post-quantisch gedacht: Schlüsselaustausch über CRYSTALS-Kyber (ML-KEM) mit PQXDH, eine Double-Ratchet-Nachrichtenschicht und epochenbasierte Gruppenschlüssel (GMK) mit Wiederherstellung und Rotation des Absenders. Alles läuft auf einem einzigen Rust-Kern — KyberSDK — den iOS, Android, Tauri Desktop und ein eigenes Go-Backend gemeinsam nutzen.

Kategorie
Flagship · Post-Quanten-Kryptografie
Jahre
2025 → heute
Status
in Entwicklung
Plattformen
iOS · Android · Desktop · Server
vChat — Sicherer Messenger
Screenshot 01 · vChat auf iOS — Direktchat, Gruppe und Anruf in einem einzigen Client.
01

Was gebaut wurde

  • PQXDH-Schlüsselaustausch auf CRYSTALS-Kyber (ML-KEM) statt klassischem X25519
  • Double-Ratchet-Nachrichtenschicht (AEAD + KDF) mit einem Schlüssel pro Nachricht
  • GMK-Epochenschlüssel für Gruppen, Rotation des Absenders und Wiederherstellung nach verlorenem Zustand
  • BIP39-mnemonische Wiederherstellung + argon2id/AES-GCM-Escrow des Zustands
  • Mehrere Geräte pro Konto und Löschen im Panikmodus
  • Ein Rust-Kern (KyberSDK) hinter einer C-ABI — null Krypto-Code pro Plattform
  • Eigenes Go-Backend: Auth, Geräte, Prekeys, DM- und Gruppen-Envelopes, Dateien
02

Schichten des Systems

KyberSDK — Rust-Kern

RustC ABI / FFIML-KEM
  • CRYSTALS-Kyber (ML-KEM) als KEM, kein experimenteller Zweig
  • PQXDH-Schlüsselvereinbarung, widerstandsfähig gegen „harvest now, decrypt later“
  • Double Ratchet + GMK-Epochenschlüssel für Gruppen
  • FIPS-Hardening über den gesamten Kern hinweg

iOS — Swift / SwiftUI

SwiftSwiftUISPM
  • Modulares SPM-Monorepo: jedes Core* eine Framework-Grenze, jedes Feature* eine Oberfläche
  • vChatNSE — Notification-Extension, die E2E-Push-Nachrichten auf dem Gerät entschlüsselt
  • Verschlüsselter lokaler Speicher (CoreDatabase), Geräteidentität im Keychain
  • BIP39-Kontowiederherstellung ohne Server, der Schlüssel aufbewahrt

Android — Kotlin / Compose

KotlinJetpack ComposeJNI
  • Derselbe Rust-Kern über JNI-Bindings — Krypto wird nie neu geschrieben
  • Jetpack Compose UI, Coroutines + Flow für den Zustand
  • Verschlüsselter lokaler Speicher und eine FCM-Pipeline mit E2E-Entschlüsselung

Desktop — Tauri 2 (Rust + TypeScript)

RustTauri 2TypeScriptVite
  • Windows, macOS und Linux aus einer Codebasis
  • Rust-Kern nativ eingebunden — kein Chromium darunter
  • Nativer Tray, native Menüs und Benachrichtigungen, kleiner Installer

Backend — Go (selbst gehostet)

GoLokiPrometheusTempoGrafana
  • Services: Auth, Geräte, Prekeys, DM- und Gruppen-Envelopes, Dateitransfer
  • Der Server läuft auf meiner eigenen Infrastruktur, nicht auf einem fremden BaaS
  • Observability: Loki für Logs, Prometheus für Metriken, Tempo für Traces, Grafana für Dashboards
03

Technologien

ProgrammiersprachenRust, Swift, Kotlin, TypeScript, Go
Frameworks & WerkzeugeSwiftUI, Jetpack Compose, Tauri 2, Vite, JNI, C ABI
InfrastrukturEigene Server, Loki, Prometheus, Tempo, Grafana
04

Fakten

PlattformeniOS · Android · Desktop · Server
Statusin Entwicklung
Jahre2025 → heute
KategorieFlagship · Post-Quanten-Kryptografie

vChat auf iOS — Direktchat, Gruppe und Anruf in einem einzigen Client.

Alle Projekte

← Zurück zum Index