Skip to content
forked from xoriors/rencfs

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

License

Notifications You must be signed in to change notification settings

nchristiann/rencfs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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].

Implementation

Documentation

rencfs

Please look into Flows for a detailed description of the various sequence flows.

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, vulnerabilities or you'd like a feature, please follow these steps:

Feel free to fork it, change and use it however you want. If you build something interesting and feel like sharing pull requests, it is always appreciated.

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 97.3%
  • Other 2.7%