List of cryptographic file systems

Last updated

This is a list of filesystems with support for filesystem-level encryption. Not to be confused with full-disk encryption.

Contents

General-purpose filesystems with encryption

Cryptographic filesystems

FUSE-based file systems

File systemLatest release
gocryptfs2023 [3]
CryFS2023 [4]
securefs2023 [5]
EncFS 2018 [6]
LessFS [7] 2013 [8]
MetFS [9] 2012 [9]
Rclone 2023 [10]
Discontinued projects
CryptoFS [11] 2007 [12]
Magikfs [13] 2006 [14]
PhoneBookFS [15] 2004 [16]


Integrated into the Linux kernel

Integrated into other UNIXes

See also

Related Research Articles

XFS is a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993. It was the default file system in SGI's IRIX operating system starting with its version 5.3. XFS was ported to the Linux kernel in 2001; as of June 2014, XFS is supported by most Linux distributions; Red Hat Enterprise Linux uses it as its default file system.

ext2, or second extended file system, is a file system for the Linux kernel. It was initially designed by French software developer Rémy Card as a replacement for the extended file system (ext). Having been designed according to the same principles as the Berkeley Fast File System from BSD, it was the first commercial-grade filesystem for Linux.

ext3, or third extended filesystem, is a journaled file system that is commonly used by the Linux kernel. It used to be the default file system for many popular Linux distributions. Stephen Tweedie first revealed that he was working on extending ext2 in Journaling the Linux ext2fs Filesystem in a 1998 paper, and later in a February 1999 kernel mailing list posting. The filesystem was merged with the mainline Linux kernel in November 2001 from 2.4.15 onward. Its main advantage over ext2 is journaling, which improves reliability and eliminates the need to check the file system after an unclean shutdown. Its successor is ext4.

Reiser4 is a computer file system, successor to the ReiserFS file system, developed from scratch by Namesys and sponsored by DARPA as well as Linspire. Reiser4 was named after its former lead developer Hans Reiser. As of 2021, the Reiser4 patch set is still being maintained, but according to Phoronix, it is unlikely to be merged into mainline Linux without corporate backing.

Filesystem in Userspace (FUSE) is a software interface for Unix and Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a bridge to the actual kernel interfaces.

In computing, an extent is a contiguous area of storage reserved for a file in a file system, represented as a range of block numbers, or tracks on count key data devices. A file can consist of zero or more extents; one file fragment requires one extent. The direct benefit is in storing each range compactly as two numbers, instead of canonically storing every block number in the range. Also, extent allocation results in less file fragmentation.

EncFS is a Free (LGPL) FUSE-based cryptographic filesystem. It transparently encrypts files, using an arbitrary directory as storage for the encrypted files.

The following tables compare general and technical information for a number of file systems.

ext4 is a journaling file system for Linux, developed as the successor to ext3.

This is a technical feature comparison of different disk encryption software.

dm-crypt is a transparent block device encryption subsystem in Linux kernel versions 2.6 and later and in DragonFly BSD. It is part of the device mapper (dm) infrastructure, and uses cryptographic routines from the kernel's Crypto API. Unlike its predecessor cryptoloop, dm-crypt was designed to support advanced modes of operation, such as XTS, LRW and ESSIV, in order to avoid watermarking attacks. In addition to that, dm-crypt addresses some reliability problems of cryptoloop.

Btrfs is a computer storage format that combines a file system based on the copy-on-write (COW) principle with a logical volume manager, developed together. It was founded by Chris Mason in 2007 for use in Linux, and since November 2013, the file system's on-disk format has been declared stable in the Linux kernel.

Ceph is a free and open-source software-defined storage platform that provides object storage, block storage, and file storage built on a common distributed cluster foundation. Ceph provides completely distributed operation without a single point of failure and scalability to the exabyte level, and is freely available. Since version 12 (Luminous), Ceph does not rely on any other, conventional filesystem and directly manages HDDs and SSDs with its own storage backend BlueStore and can expose a POSIX filesystem.

aufs implements a union mount for Linux file systems. The name originally stood for AnotherUnionFS until version 2.

eCryptfs is a package of disk encryption software for Linux. Its implementation is a POSIX-compliant filesystem-level encryption layer, aiming to offer functionality similar to that of GnuPG at the operating system level, and has been part of the Linux kernel since version 2.6.19.

F2FS is a flash file system initially developed by Samsung Electronics for the Linux kernel.

Bcachefs is a copy-on-write (COW) file system for Linux-based operating systems. Its primary developer, Kent Overstreet, first announced it in 2015, and it will be added to the Linux kernel beginning with 6.7. It is intended to compete with the modern features of ZFS or Btrfs, and the speed and performance of ext4 or XFS. It self-describes as "stable", as of December 2022.

EROFS is a lightweight read-only file system initially developed by Huawei for the Linux kernel and now maintained by an open-source community from all over the world.

io_uring is a Linux kernel system call interface for storage device asynchronous I/O operations addressing performance issues with similar interfaces provided by functions like read /write or aio_read /aio_write etc. for operations on data accessed by file descriptors.

References

  1. "Ext4 encryption [LWN.net]". lwn.net. Archived from the original on 19 February 2018. Retrieved 23 April 2018.
  2. "'[GIT PULL] f2fs updates for v4.2' - MARC".
  3. "Release v2.4.0 · rfjakob/gocryptfs". GitHub. Retrieved 2023-08-20.
  4. "Release 0.11.4 · cryfs/cryfs". GitHub. Retrieved 2023-08-20.
  5. "Release 0.14.3 · netheril96/securefs". GitHub. Retrieved 2023-08-20.
  6. "Release v1.9.5 · vgough/encfs". GitHub. Retrieved 2023-08-20.
  7. "Lessfs". Lessfs.com. Archived from the original on 2014-01-30. Retrieved 2014-02-03.
  8. "lessfs - data deduplication for less - Browse Files at SourceForge.net". sourceforge.net. Archived from the original on 2016-01-17. Retrieved 2016-01-05.
  9. 1 2 "Metin KAYA - MetFS Encrypted, Dynamic Sized, Single File, FUSE Based Filesystem in Userspace". www.enderunix.org. Archived from the original on 2016-02-17. Retrieved 2016-01-05.
  10. Craig-Wood, Nick (2023-07-17). "Rclone Changelog". rclone.org. Retrieved 2023-08-20.
  11. "Reboot's personal page". reboot.github.io. Archived from the original on 2016-01-28. Retrieved 2016-01-05.
  12. "Reboot's personal page". reboot.github.io. Archived from the original on 2016-01-28. Retrieved 2016-01-05.
  13. "Magikfs – The Steganographic File System On Linux". magikfs.sourceforge.net. Archived from the original on 2016-03-04. Retrieved 2016-01-05.
  14. "magikfs-The steganographic filesystem - Browse Files at SourceForge.net". sourceforge.net. Archived from the original on 2016-03-08. Retrieved 2016-01-05.
  15. "Phonebook - Software to Make Your PC 'Police-Ready'". freenet.mcnabhosting.com. Archived from the original on 2016-03-05. Retrieved 2016-01-05.
  16. "Changelog for phonebook". Archived from the original on 2016-01-17.
  17. "eCryptfs in Launchpad". Launchpad.net. Archived from the original on 2014-02-09. Retrieved 2014-02-03.
  18. "Rubberhose disk encryption system". iq.org. Archived from the original on 2006-09-02.
  19. "Understanding EFS". www.ibm.com. 29 January 2008. Archived from the original on 19 August 2016. Retrieved 23 April 2018.