How Alpha Password is encrypted
The scheme is specified rather than described. Suite
AP1 is the normative reference for the Rust
vault core and the server alike, and these are its primitives.
- Password KDF
- Argon2id — m = 64 MiB, t = 3, p = 4
- Key derivation
- HKDF-SHA-256
- Encryption
- XChaCha20-Poly1305, 24-byte random nonce
- Attachments
- crypto_secretstream_xchacha20poly1305
- Sharing
- HPKE — X25519, HKDF-SHA-256, ChaCha20-Poly1305
- Signatures
- Ed25519
- Authentication
- OPAQUE (CFRG), OPRF over ristretto255
- Randomness
- Operating-system CSPRNG only
The server learns nothing about vault contents: no
plaintext, no titles, no web addresses, no one-time-code issuers, no
folder names. The vault unlocks offline, with no network round-trip. Every
ciphertext carries a suite byte, so the scheme can be replaced without a
flag day.