Store sensitive files in the cloud, or on shared media without trusting the host. LUKSbox is a Rust-based encrypted-container tool with passphrase, FIDO2 (YubiKey, Titan, Nitrokey, Windows Hello), TPM 2.0, and hybrid post-quantum (ML-KEM-768 / 1024) keyslots. Mounts as a real drive on Linux, macOS, and Windows. By Penthertz.
Stack multiple keyslots per vault. Hardware-backed by default - passphrase is the fallback, not the front door. Verified on YubiKey 4/5, Google Titan v2, any CTAP2 device with hmac-secret, and any TPM 2.0 chip on Linux.
ML-KEM-768 and ML-KEM-1024 (FIPS 203) combined via HKDF with classical Argon2id-, FIDO2-, or TPM-derived KEKs. Today's secrets stay secret when CRQCs arrive.
Linux + macOS via FUSE, Windows via WinFsp. Same on-disk format everywhere. CLI, interactive TUI wizard, desktop GUI, and detached headers all over the same Container core.
Built-in forensic toolkit: header-backup / header-restore (HMAC-verified), header-dump (decrypted JSON tree), check (per-chunk AEAD walk with exact offsets), and extract --tolerate-errors (zero-fills bad chunks instead of giving up). Same surface as cryptsetup luksHeaderBackup but with chunk-level inspection on top.
Create your first encrypted container and mount it as a drive - in under 60 seconds.
OpenBind a hardware key or biometric to a vault keyslot. Per-platform walkthroughs.
OpenHybrid ML-KEM-768 / 1024 design, threat model, and when you should turn it on.
OpenBind a vault to the machine's TPM. Optional PIN, fused TPM+FIDO2 mode, hybrid TPM+PQ. Linux today; Windows tracked.
OpenCLI for scripts, TUI wizard for guided flows, GUI for the desktop. Same vault, same on-disk bytes.
OpenRegression suite, fuzzing harnesses, thirteen internal audit rounds. How to feed our corpus and find more attack angles.
OpenLost your YubiKey? Forgot the passphrase? TPM died? The recovery procedure, step by step.
OpenDamaged header? Corrupted chunk? Use header-backup / header-restore / header-dump / check / extract --tolerate-errors to investigate and salvage what is still readable.
OpenCompile LUKSbox yourself, run the test vectors, verify the published SHA-256.
OpenIf yours isn't here, open an issue on GitHub or reach out to Penthertz.
.lbx wherever, and mount it back as a real drive when you need it. The provider sees one opaque blob and cannot decrypt it even under legal compulsion. Read the comparison page for the head-to-head against provider encryption, LUKS2, VeraCrypt, age, gocryptfs, and BitLocker / FileVault..lbx is a single point of failure: if the file is corrupted, lost, or every keyslot becomes inaccessible, the data is gone. The forensic toolkit (header-backup, check, extract --tolerate-errors) helps in many damage scenarios but cannot recover bytes that are no longer on disk or no longer AEAD-tagged. Always keep an unencrypted copy somewhere you trust for any file you cannot afford to lose. See the Disclaimer for the no-warranty / no-liability details.luksHeaderBackup plus chunk-level inspection on top. luksbox check walks every chunk and pinpoints which one fails AEAD with file path + on-disk offset. luksbox extract --tolerate-errors salvages a file by zero-filling the bad chunks. luksbox header-backup saves the 8 KiB header before changes; luksbox header-restore reinstates a saved header (HMAC-verified by default to prevent attacker-substituted backups). luksbox header-dump emits the decrypted file tree as JSON for forensics. Full walkthrough on the Forensics page.LBXVAULT magic, custom 8 KiB header) optimised for FIDO2 + TPM 2.0 + post-quantum keyslots and detached-header mode. The name borrows the LUKS spirit; the bytes are different. cryptsetup won't read a LUKSbox vault, and LUKSbox won't open a LUKS2 vault.HKDF-SHA256 over both an Argon2id-stretched passphrase (or FIDO2 hmac-secret) AND an ML-KEM shared secret. If either primitive breaks - classical or PQ - the other still protects the vault. The Kyber seed file lives on separate trusted storage so even disk + passphrase doesn't unlock without the seed.docs/PROJECT_OVERVIEW.md Sec.4 for the head-to-head.