Shufflecake is a Linux storage-encryption system designed around plausible deniability. It can create multiple hidden volumes on a single device while making it difficult to determine how many volumes exist without knowing their passwords.
Each volume represents a different secrecy level. Revealing the password for one layer unlocks that volume and all less-sensitive layers below it while leaving higher layers undisclosed. This provides a hierarchy of decoy and secret storage for threat models involving coercion.
This is free and open source software.
Key Features
- Supports up to 15 ordered hidden volumes on a single storage device.
- Each volume has its own password and independent encryption key.
- Unlocking one volume automatically unlocks all less-sensitive volumes below it in the hierarchy.
- The number of actual volumes is intended to remain hidden from an observer who does not possess all passwords.
- Encrypted headers, position maps and unused regions are designed to appear indistinguishable from random data.
- Data is stored in encrypted slices distributed through the underlying device rather than conventional visible partitions.
- Hidden volumes appear to Linux as normal virtual block devices and can use the filesystem of the user’s choice.
- Several unlocked volumes can be formatted, mounted and used concurrently.
- Supports physical disks, USB devices, partitions and file-backed loop devices.
- Volumes are overcommitted so their apparent sizes do not reveal how storage has actually been divided between hidden layers.
- Designed to use little storage for encryption metadata.
- Provides crash-consistent operation so an interrupted write should not leave the encryption structure unusable.
- Includes a Linux kernel module, command-line management utility and supporting userspace library.
- The project remains experimental and upstream explicitly advises against relying on it for important secrets.
Website: codeberg.org/shufflecake/shufflecake-c
Support:
Developer: Benjamin Voisin, Elia Anzuoni, Nagravision Sàrl, Tommaso Gagliardoni
License: GNU General Public License v2.0
Shufflecake is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| Disk Encryption Tools | |
|---|---|
| VeraCrypt | Strong disk encryption software |
| loop-AES | Encrypt disk partitions, removable media, swap space and other devices |
| dm-crypt | Transparent disk encryption subsystem |
| cryptsetup | Configures encrypted block devices |
| GnuPG | GNU Privacy Guard - implementation of the OpenPGP standard |
| gocryptfs | Encrypted overlay filesystem written in Go |
| Tomb | System for file encryption |
| Shufflecake | Create multiple hidden volumes |
| zuluCrypt | Feature rich solution for hard drive encryption |
| cryptmount | Managing encrypted file systems |
| disk-encryption-tool | Encrypt existing Linux storage without reinstalling the system |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.