vaha_
SR Srpski
← Indeks No. 01 / 21

Dosje · Flagship · post-kvantna kriptografija

Nitva

Post-kvantni messenger

End-to-end šifrovan messenger građen post-kvantno od prvog dana: CRYSTALS-Kyber (ML-KEM) razmjena ključeva preko PQXDH, Double Ratchet sloj za poruke i epoški sistem grupnih ključeva (GMK) sa oporavkom i rotacijom pošiljaoca. Sve to pokreće jedno Rust jezgro — KyberSDK — koje dijele iOS, Android, Tauri desktop i vlastiti Go backend.

Oblast
Flagship · post-kvantna kriptografija
Godine
2025 → danas
Status
u izradi
Sistem
iOS · Android · Desktop · Server
Nitva — Post-kvantni messenger
Snimak ekrana · No. 01 Nitva na iOS-u — direktni razgovor, grupa i poziv u jednom klijentu.

Šta radi

01 / 08
  1. PQXDH razmjena ključeva na CRYSTALS-Kyber (ML-KEM) umjesto klasičnog X25519
  2. Double Ratchet sloj poruka (AEAD + KDF) sa per-poruka ključevima
  3. GMK epoški grupni ključevi, rotacija pošiljaoca i oporavak izgubljenog stanja
  4. BIP39 mnemonički oporavak + argon2id/AES-GCM escrow stanja
  5. Više uređaja po nalogu i panic-mode brisanje
  6. Jedno Rust jezgro (KyberSDK) preko C ABI-ja — nula kripto koda po platformi
  7. Vlastiti Go backend: auth, uređaji, pre-ključevi, DM i grupne koverte, fajlovi
  8. Brend Nitva: ime, domen nitva.co i bundle co.nitva.app, jer je Nitva bio zauzet na oba storea

Slojevi

02 / 05

KyberSDK — Rust jezgro

RustC ABI / FFIML-KEM
  • CRYSTALS-Kyber (ML-KEM) kao KEM, ne eksperimentalna grana
  • PQXDH sporazum o ključu otporan na „harvest now, decrypt later“
  • Double Ratchet + GMK epoški ključevi za grupe
  • FIPS-hardening staza kroz cijelo jezgro

iOS — Swift / SwiftUI

SwiftSwiftUISPM
  • Modularni SPM monorepo: svaki Core* je granica frameworka, svaki Feature* jedna površina
  • NitvaNSE — notifikaciona ekstenzija koja dešifruje E2E push poruke na uređaju
  • Šifrovani lokalni store (CoreDatabase), identitet uređaja u Keychainu
  • BIP39 oporavak naloga bez servera koji pamti ključeve

Android — Kotlin / Compose

KotlinJetpack ComposeJNI
  • Isto Rust jezgro preko JNI bindings — kripto se ne piše ponovo
  • Jetpack Compose UI, Coroutines + Flow za stanje
  • Šifrovani lokalni store i FCM pipeline sa E2E dešifrovanjem

Desktop — Tauri 2 (Rust + TypeScript)

RustTauri 2TypeScriptVite
  • Windows, macOS i Linux iz jedne baze koda
  • Rust jezgro linkovano nativno — nema Chromiuma ispod
  • Nativni tray, meniji i notifikacije, mali instalater

Backend — Go (self-hosted)

GoLokiPrometheusTempoGrafana
  • Servisi: auth, uređaji, pre-ključevi, DM i grupne koverte, transfer fajlova
  • Server stoji na mojoj infrastrukturi, ne na tuđem BaaS-u
  • Nadzor: Loki za logove, Prometheus za metrike, Tempo za trace, Grafana za panele

Tehnologije

03 / 03
Jezici RustSwiftKotlinTypeScriptGo 05
Okviri i alati SwiftUIJetpack ComposeTauri 2ViteJNIC ABI 06
Infrastruktura Vlastiti serveriLokiPrometheusTempoGrafana 05

Svi sistemi u dosjeu

Natrag na indeks →