KeyCrypta usa primitive documentate: XChaCha20‑Poly1305 per la cifratura, Argon2id per la derivazione delle chiavi, SHA3/HMAC per i controlli di integrità ed Ed25519 per le firme digitali. Non usa algoritmi crittografici proprietari scritti internamente: si basa su librerie consolidate come libsodium/PyNaCl, OpenSSL tramite cryptography e argon2‑cffi.
Scelta KeyCrypta
Perché conta
XChaCha20-Poly1305
Cifratura autenticata in un’unica operazione, con nonce ampio e minore rischio operativo.
Argon2id
KDF memory-hard: aumenta il costo degli attacchi offline rispetto a derivazioni più leggere.
SHA3/HMAC + Ed25519
Controlli separati di integrità e autenticità sui flussi critici.
Le scelte sono deliberate, non casuali. AES‑CBC — ancora usato da molti strumenti consolidati — non è cifratura autenticata: senza un HMAC aggiunto separatamente è vulnerabile agli attacchi padding oracle. XChaCha20‑Poly1305 integra autenticazione e cifratura in un’unica operazione (AEAD), con nonce da 192 bit che elimina praticamente il rischio di collisioni anche a volumi elevati. Appartiene alla famiglia ChaCha20‑Poly1305, adottata in contesti di sicurezza moderni come VPN, messaggistica sicura e infrastrutture web.
PBKDF2‑SHA256 — usato dalla maggioranza dei password manager — non è memory‑hard: un attaccante con hardware dedicato (GPU/ASIC) può provare miliardi di combinazioni al secondo. bcrypt è memory‑hard ma progettato negli anni ’90, senza parametro di memoria configurabile. Argon2id è raccomandato da OWASP per la memorizzazione sicura delle password. NIST richiede che i segreti memorizzati siano protetti con schemi resistenti agli attacchi offline; l’uso di funzioni memory‑hard aumenta il costo pratico degli attacchi. Per i formati di esportazione, KeyCrypta usa parametri rafforzati, inclusi time_cost=7 e 1 GiB di RAM, pensati per aumentare il costo degli attacchi offline.
HMAC‑SHA3‑512 usa SHA3/Keccak. Nei formati KeyCrypta che prevedono un MAC esterno, l’HMAC viene calcolato sul ciphertext già prodotto da XChaCha20‑Poly1305: l’AEAD fornisce cifratura autenticata, mentre il MAC esterno aggiunge un ulteriore controllo di integrità sul file/formato.
Il codice che implementa queste primitive è pubblicato per verifica indipendente nella sezione Trasparenza & Verifica. I parametri esatti sono documentati nella specifica pubblica dei formati.
Questa sezione descrive le principali scelte crittografiche usate nei formati protetti di KeyCrypta, non l’intera architettura di sicurezza del software.