vaha_
DE Deutsch
← Index No. 01 / 21

Akte · Flagship · Post-Quanten-Kryptografie

Nitva

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.

Bereich
Flagship · Post-Quanten-Kryptografie
Jahre
2025 → heute
Status
im Bau
System
iOS · Android · Desktop · Server
öffnen
Nitva — Sicherer Messenger
Screenshot · No. 01 Nitva auf iOS — Direktchat, Gruppe und Anruf in einem einzigen Client.

Was es tut

01 / 08
  1. PQXDH-Schlüsselaustausch auf CRYSTALS-Kyber (ML-KEM) statt klassischem X25519
  2. Double-Ratchet-Nachrichtenschicht (AEAD + KDF) mit einem Schlüssel pro Nachricht
  3. GMK-Epochenschlüssel für Gruppen, Rotation des Absenders und Wiederherstellung nach verlorenem Zustand
  4. BIP39-mnemonische Wiederherstellung + argon2id/AES-GCM-Escrow des Zustands
  5. Mehrere Geräte pro Konto und Löschen im Panikmodus
  6. Ein Rust-Kern (KyberSDK) hinter einer C-ABI — null Krypto-Code pro Plattform
  7. Eigenes Go-Backend: Auth, Geräte, Prekeys, DM- und Gruppen-Envelopes, Dateien
  8. The Nitva name: domain nitva.co and bundle co.nitva.app, since Nitva was taken on both stores

Schichten

02 / 05

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
  • NitvaNSE — 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

Technologien

03 / 03
Sprachen RustSwiftKotlinTypeScriptGo 05
Frameworks & Werkzeuge SwiftUIJetpack ComposeTauri 2ViteJNIC ABI 06
Infrastruktur own serversLokiPrometheusTempoGrafana 05

Alle Systeme im Verzeichnis

Zurück zum Index →