Encryption

Shufflecake – create multiple hidden volumes

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
VeraCryptStrong disk encryption software
loop-AESEncrypt disk partitions, removable media, swap space and other devices
dm-cryptTransparent disk encryption subsystem
cryptsetupConfigures encrypted block devices
GnuPGGNU Privacy Guard - implementation of the OpenPGP standard
gocryptfsEncrypted overlay filesystem written in Go
TombSystem for file encryption
ShufflecakeCreate multiple hidden volumes
zuluCryptFeature rich solution for hard drive encryption
cryptmountManaging encrypted file systems
disk-encryption-toolEncrypt existing Linux storage without reinstalling the system

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted