Skip to content
fcorbelli edited this page Sep 28, 2026 · 2 revisions

A second lock on the door: ChaCha20-Poly1305 on the whole file.

Quick summary

franzen encrypts/decrypts files with ChaCha20-Poly1305. It auto-detects the operation: it encrypts non-franzen files and decrypts franzen files. The output name is generated if -to is not given.

Power user usage

  • -franzen PWD the password (env var FRANZFRANZEN as fallback)
  • -to FILE explicit output filename
  • -ssd multi-threaded; -t N N threads (requires -ssd)
  • Subcommands: test (verify decryption without writing), ispasswordok (verify the password), dump (structure and header; -all all blocks + nonce uniqueness check, -n N first/last N blocks, -memzero zero-fill sensitive data ASAP)
  • Not in the builds made with -DOPEN, nor in the ANCIENT ones (-DANCIENT, so NAS and ESX too: ANCIENT defines NOFRANZEN).

Lo spiegone

Dispatched as command # to franzencommand() (inside #ifdef ZPAQFULL, #ifndef NOFRANZEN). A .franzen file can also be made while adding (a ... -franzen X). Background: Voodoo encryption Franzen.

Real-world examples

Encrypt, then decrypt (auto-detect)

zpaqfranz franzen archive.zpaq -franzen mypassword
zpaqfranz franzen archive.zpaq.franzen -franzen mypassword

Explicit output, multi-threaded

zpaqfranz franzen archive.zpaq -franzen mypassword -to backup.franzen
zpaqfranz franzen archive.zpaq -franzen mypassword -ssd -t 8

Test, check password, dump

zpaqfranz franzen test archive.zpaq.franzen -franzen mypassword
zpaqfranz franzen ispasswordok archive.zpaq.franzen -franzen mypassword
zpaqfranz franzen dump archive.zpaq.franzen -franzen mypassword -all -n 20

Clone this wiki locally