Dérivation de clé
Argon2id, version 0x13. Les conteneurs produits utilisent 64 MiB, 3 passes et p=1.
GCRYPT combine Argon2id et XChaCha20-Poly1305, chiffre les métadonnées utiles à l'original et traite les données par blocs. Le mot de passe reste indispensable : il n'existe pas de clé maître ni de mécanisme de récupération documenté.
Argon2id, version 0x13. Les conteneurs produits utilisent 64 MiB, 3 passes et p=1.
XChaCha20-Poly1305. Toute modification d'un enregistrement ou de sa position doit faire échouer l'authentification.
Sel et préfixe de nonce sont générés aléatoirement à chaque chiffrement.
Le nonce combine un préfixe aléatoire de 16 octets et un index d'enregistrement u64. L'AAD contient l'en-tête de 60 octets et ce même index.
nonce = nonce_prefix || record_index_u64_le
AAD = header_60_bytes || record_index_u64_le
Le principe d'authentification reste le même, mais le plaintext utile correspond à un flux Zstandard, éventuellement précédé d'une sérialisation TAR interne pour un dossier.
fichier : bytes → Zstandard → XChaCha20-Poly1305
dossier : TAR → Zstandard → XChaCha20-Poly1305
Le conteneur ou le fichier restauré est d'abord écrit dans un fichier de travail opaque du même dossier. Le nom final n'est appliqué qu'après fin valide, flush et synchronisation.
L'application peut purger mots de passe, texte direct, sélections et dernier résultat après une période d'inactivité. Le fichier local settings.conf ne doit contenir que les préférences non sensibles documentées.
Le modèle documenté ne comprend ni clé maître ni récupération. Si le mot de passe est perdu, aucun service de récupération GCRYPT ne peut restaurer le contenu. De même, les métadonnées d'éditeur et une empreinte SHA-256 publiée ne doivent pas être confondues avec une signature commerciale du binaire.