#encryption #security #file-encryption #encryption-key #privacy #cryptography

nightly bin+lib rencfs

WARNING! UNDER ACTIVE DEVELOPMENT. An encrypted file system that is mounted with FUSE on Linux. It can be used to create encrypted directories.

58 releases (12 breaking)

0.14.10 Dec 27, 2024
0.13.81 Oct 23, 2024
0.13.59 Jul 31, 2024

#223 in Filesystem

Download history 41/week @ 2024-09-17 59/week @ 2024-09-24 99/week @ 2024-10-01 6/week @ 2024-10-08 256/week @ 2024-10-22 8/week @ 2024-10-29 1/week @ 2024-11-12 5/week @ 2024-11-19 1/week @ 2024-12-03 119/week @ 2024-12-10 654/week @ 2024-12-24

774 downloads per month

MIT/Apache

440KB
11K SLoC

rencfs

rencfs-bin crates.io docs.rs build-and-tests release codecov Open Source Helpers

[!WARNING]
This crate hasn't been audited; it's using ring crate, which is a well-known audited library, so in principle, at least the primitives should offer a similar level of security.
This is still under development. Please do not use it with sensitive data for now; please wait for a stable release.
It's mostly ideal for experimental and learning projects.

An encrypted file system written in Rust mounted with FUSE on Linux. It can be used to create encrypted directories.

You can then safely back up the encrypted directory to an untrusted server without worrying about the data being exposed. You can also store it in a cloud storage service like Google Drive, Dropbox, etc., and sync it across multiple devices.

You can use it as CLI or as a library to build your custom FUSE implementation or other apps that work with encrypted data.

Introduction

Key features

Some of these are still being worked on and marked with [WIP].

Alternatives

Implementation

Documentation

rencfs

Please look into Flows for a detailed sequence flow description.

Usage and Development

Next steps

Considerations

  • Performance Aes256Gcm is slightly faster than ChaCha20Poly1305 by an average factor of 1.28. This is because of the hardware acceleration of AES on most CPUs via AES-NI. However, where hardware acceleration is unavailable, ChaCha20Poly1305 is faster. Also, ChaChaPoly1305 is better at SIMD.
  • ⚠️ Security
  • Cipher comparison
  • Others

Contribute

If you find any issues or vulnerabilities or you'd like a feature, please follow these steps:

Feel free to fork, change, and use it however you want. We always appreciate it if you build something interesting and feel like sharing pull requests.

How to contribute:

Follow us

  • Blog and tutorial There is a series of articles about the evolution of this project, trying to keep it like a tutorial. This is the first one.

Get in touch

Dependencies

~27–43MB
~823K SLoC