You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cryptographic module for UNET providing secure user authentication, account recovery, and end-to-end encrypted direct messages. Zero networking, zero storage, zero UI — only cryptographic primitives.
🧩 Modules
Common (lib/common/)
Module
Description
key_derivation.dart
Argon2id key derivation (t=3, m=32 MB, p=1, len=32) for converting passwords to cryptographic seeds
key_utils.dart
Utilities: Ed25519 public key → SPKI/PEM encoding, cryptographically-secure salt generation, recovery key formatting
hkdf.dart
HKDF (RFC 5869) using HMAC-SHA-512 for domain-separated key derivation
Authentication (lib/auth/)
Module
Description
login_crypto.dart
Domain-separated Ed25519 challenge signing for login (unet-login-challenge:{challenge}) and generic auth operations
account_crypto.dart
Account deletion (unet-delete-account-challenge:{challenge}) and password change (unet-change-password-challenge:{challenge})
recovery_crypto.dart
Account recovery: recovery key generation, SecretBox encryption of auth seed, and recovery-complete flow
Registration (lib/registration/)
Module
Description
registration_crypto.dart
Ed25519 registration signing (unet-register:{username}:{keySalt}) with public key PEM generation
Direct Message E2E Encryption (lib/dm/)
Module
Description
dm_envelope_crypto.dart
X25519 + XSalsa20-Poly1305 envelope encryption/decryption for end-to-end encrypted messages
dm_key_derivation.dart
HKDF-SHA-512 derivation of Curve25519 (X25519) DM keypair from auth seed
dm_key_wrapping.dart
XSalsa20-Poly1305 wrapping of DM private keys for secure server-side backup