ENCHIVE(1)
πΈ NAME πΈ
enchive β personal archive encryption. And yes bestie, this is ENCHIVE(1) from the general commands manual, folded right in at the top instead of a boring header line. π
β¨ SYNOPSIS β¨
enchive [-a|-A] [-e] [-p pubkey] [-s seckey] [--version] [--help]
keygen [-d[N]] [-e] [-f] [-i] [-k N] [-u]
archive [-d]
extract [-d]
fingerprint
Heads up: the synopsis shows -a|-A and a bare -e, while the options list below spells the argument forms as -aseconds and -eprogram. Both are literally in the original, so both stay here. π
π DESCRIPTION π
Okay so enchive is this focused little program for encrypting files to yourself for long-term archival. Itβs the simple, focused alternative to more complex tools like GnuPG or encrypted filesystems. And like GnuPG, you can safely encrypt files on systems that you donβt trust with your secret key. π«Ά
Files are secured with ChaCha20, Curve25519, and HMAC-SHA256. Iconic crypto trio, no cap. π₯
π OPTIONS π
-aseconds,--agent[=seconds]β runs the key agent for awhile after successfully reading the passphrase. The agent will remain resident in memory until a period of inactivity passes. Default is900seconds (15 minutes). β³-A,--no-agentβ do not start the key agent (default). π€-eprogram,--pinentry[=program]β read passphrases using the systemβs pinentry program. By default Enchive uses the program named"pinentry". π-p,--pubkeyfile β specifies the public key file to use for encryption. ποΈ-s,--seckeyfile β specifies the secret key file to use for decryption. π€«--versionβ print version information. π·οΈ--helpβ print a synopsis of the command line interface. π
π COMMANDS π
Any unique prefix for a command is accepted. For example, the command a would mean archive. Slay, abbreviations. β¨
π± keygen [OPTION]...
Generates a new keypair either from system entropy or a passphrase. π§
-d[N],--derive[=N]β derives the secret key from a passphrase. The key will be derived from the passphrase using difficulty exponentN. Default is29. π’-e,--editβ edits the protection passphrase on an existing key. This also regenerates the public key file from the secret key. π-f,--forceβ overwrites any existing keypair without prompting. π€-i,--fingerprintβ prints the public key fingerprint after generation or editing. π«-k N,--iterations Nβ sets the difficulty exponent for deriving the protection key from the protection key passphrase. Default is25. π-r N,--repeats Nβ number of repeated passphrase prompts when deriving a secret key. It is convenient to set this to zero when relying primarily on fingerprint verification. Alternatively, additional repeat prompts may aid in memorization. Default is1. π§-u,--plainβ do not use a protection key, and instead store the secret key unencrypted on the disk. Consider using the key agent instead of this option. β οΈ
π± archive [-d|--delete] [INPUT [OUTPUT]]
Encrypts a single file for archival using only the public key. If no output filename is given, the output filename will be the input filename with a .enchive suffix. Except for --delete, the original file is untouched. If no filenames are given, encrypts standard input to standard output. π¦
-d,--deleteβ delete the original input file after success. ποΈ
π± extract [-d|--delete] [INPUT [OUTPUT]]
Decrypt a single file from archival using the secret key. If no output filename is given, the output filename will be the input filename with the .enchive suffix removed. Without an output filename, it is an error for the input to lack this suffix. If no filenames are given, decrypt standard input to standard output. π
-d,--deleteβ delete the original input file after success. ποΈ
π± fingerprint
Print the public key fingerprint to standard output. π«β¨
π¦ ENVIRONMENT π¦
TMPDIRβ if$XDG_RUNTIME_DIRis unset, the directory in which to create the agent socket. Default is/tmp. πXDG_CONFIG_HOMEβ the directory under which keys will be created and read. Default is$HOME/.config. πXDG_RUNTIME_DIRβ the directory in which to create the agent socket. π
π FILES π
$XDG_CONFIG_HOME/enchive/enchive.pubβ the file holding the public key used for encrypting files. π$XDG_CONFIG_HOME/enchive/enchive.secβ the file holding the secret key used for decrypting files. π€
π EXAMPLES π
enchive keygen --derive
Generate a new keypair from a passphrase prompt. π±
enchive archive -d mydata.tar.gz
Encrypt mydata.tar.gz to mydata.tar.gz.enchive and delete the unencrypted file. π₯
enchive extract mydata.tar.gz.enchive
Decrypt mydata.tar.gz.enchive to mydata.tar.gz, preserving the original file. π
π SEE ALSO π
π And thatβs the ENCHIVE(1) footer vibe, bestie β the original footer was just ENCHIVE(1), with no separate source/version/date line printed, so no invented tea here. Periodt. π
β¨
π¦ where this page comes from
- nixos 26.05: enchive 3.5
- nixpkgs unstable: enchive 3.5
- opensuse-leap 16.0: enchive 3.5-bp160.1.12 Β· Unlicense
- opensuse-leap 16.0: enchive 3.5-bp160.1.12 Β· Unlicense
- opensuse-leap 16.0: enchive 3.5-bp160.1.12 Β· Unlicense
- opensuse-leap 16.0: enchive 3.5-bp160.1.12 Β· Unlicense
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms