3

Note: this is not the same as What is a self-contained cross-platform encryption for USB drive?. I believe my question is on topic because I'm not asking for a recommendation. I'm asking if such a product exists. I'm not asking for a subjective comparison of products. A correct answer could be as short as "yes" or "no" with a link to corroborate.

Here's the use case I'm considering:

  • The user has multiple, heterogenous computers. (Linux, Mac OS, and Windows)
  • The user shares a volume of files between said computers. (The method of sharing is unspecified. Could be Dropbox or USB drive or … anything.)
  • The volume can be sliced to support large volumes on host file systems with file size constraints. (E.g. a 10GB volume can be stored as 5 X 2GB files on a FAT file system.)
  • The user enters a passphrase once to unlock the volume and see file metadata. (Not required to type a passphrase for each individual file.)
  • Uses authenticated encryption.

Notice that the last criterion eliminates TrueCrypt as a possible answer.

  • 2
    I think your last criterion eliminates almost everything. Volume encryption software tries not to make the encrypted data larger than the plaintext, while authenticated encryption requires doing so. – Mark Jul 6 '14 at 21:12
  • @Mark Good point. I'm thinking of an encrypted disk image, not necessarily a physical drive. – Mark E. Haase Jul 7 '14 at 17:18
2

I am not aware of any generic, cross-platform encryption utilities which can do this, but the newest version of Linux's LUKS2 volume encryption format supports authenticated encryption. You can format a partition to use authenticated encryption with a recent copy of cryptsetup and a modern kernel:

cryptsetup luksFormat --type luks2 $device --cipher aes-xts-plain64 --integrity hmac-sha256

This will use standard AES in XTS mode, using an HMAC for integrity. You can alternatively do:

cryptsetup luksFormat --type luks2 $device --cipher chacha20-random --integrity poly1305

This gives you an encrypted volume using the ChaCha20 stream cipher, with the Poly1305 MAC for authentication. While stream ciphers are normally a bad idea for disk encryption because of their malleability, it is not a security issue when combined with a secure MAC for cryptographic integrity.

Note that AEAD adds some storage overhead, as the MAC tag must be stored along with the ciphertext. This causes the amount of usable free space to be a bit smaller than if you did not use authentication.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.