All Projects → csu → encryptFS

csu / encryptFS

Licence: other
A simple file system that encrypts files individually.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to encryptFS

rxnode
Rxnode - a small and fast wrapper around the nodejs API using RxJS.
Stars: ✭ 24 (+60%)
Mutual labels:  filesystem
tabfs-specs
Specifications for the tabfs filesystem (osdev) | Mirror of https://codeark.it/Chalk-OS/tabfs-specs
Stars: ✭ 15 (+0%)
Mutual labels:  filesystem
fusell-seed
FUSE (the low-level interface) file system boilerplate 📂 🔌 💾
Stars: ✭ 13 (-13.33%)
Mutual labels:  filesystem
litefilesystem.js
Library with client (js) and serverside (php) to have a filesystem with previews, quotas, metadata, and multiple users with privileges.
Stars: ✭ 131 (+773.33%)
Mutual labels:  filesystem
tinyos
An UNIX-like toy operating system runs on x86 CPU
Stars: ✭ 47 (+213.33%)
Mutual labels:  filesystem
fu
Unix's Find, Unleashed.
Stars: ✭ 32 (+113.33%)
Mutual labels:  filesystem
esp littlefs
LittleFS port for ESP-IDF
Stars: ✭ 143 (+853.33%)
Mutual labels:  filesystem
Imm2Virtual
This is a GUI (for Windows 64 bit) for a procedure to virtualize your EWF(E01), DD (raw), AFF disk image file without converting it, directly with VirtualBox, forensically proof.
Stars: ✭ 40 (+166.67%)
Mutual labels:  filesystem
fsify
Convert an array of objects into a persistent or temporary directory structure.
Stars: ✭ 24 (+60%)
Mutual labels:  filesystem
SSFS
Simple & Stupid Filesystem (Using FUSE)
Stars: ✭ 64 (+326.67%)
Mutual labels:  filesystem
ucz-dfs
A distributed file system written in Rust.
Stars: ✭ 25 (+66.67%)
Mutual labels:  filesystem
luufs
Lazy man's, user-mode union file system
Stars: ✭ 28 (+86.67%)
Mutual labels:  filesystem
ltfs
Reference implementation of the LTFS format Spec for stand alone tape drive
Stars: ✭ 130 (+766.67%)
Mutual labels:  filesystem
FileSystemTest
FileSystem Api Test For Windows
Stars: ✭ 17 (+13.33%)
Mutual labels:  filesystem
xplr
A hackable, minimal, fast TUI file explorer
Stars: ✭ 2,271 (+15040%)
Mutual labels:  filesystem
kbdysch
A collection of user-space Linux kernel specific guided fuzzers based on LKL
Stars: ✭ 62 (+313.33%)
Mutual labels:  filesystem
podium
Searches your files faster and smarter
Stars: ✭ 25 (+66.67%)
Mutual labels:  filesystem
Lexical.FileSystem
Virtual IFileSystem interfaces, and implementations.
Stars: ✭ 24 (+60%)
Mutual labels:  filesystem
Save-System-for-Unity
Save System for Unity with AOT (IL2CPP) and assets references support.
Stars: ✭ 116 (+673.33%)
Mutual labels:  filesystem
gitfs
A complete solution for static files in Go code
Stars: ✭ 112 (+646.67%)
Mutual labels:  filesystem

encryptFS

A simple file system that encrypts each file individually. Designed for use with cloud storage.

Details

High-level overview

  1. You have some files abc, 123, asdf.
  2. You make an encryptFS in a directory and add all three files. You end up with an encrypted index file and three files with randomly generated names (e.g. e4e90f66761a0ddf52ec47e3d9f1851e3e2304b2b9abd6ae0f818cafa26d56a0).
  3. Later, you can open the existing encryptFS and decrypt your files back.

FAQ

  • What do you use for the actual encryption? PyCrypto, AES-256 (32-byte key)
  • Why are the files encrypted separately instead of being put together in blocks? Isn't this a flaw in the security? For now, I'm willing to trade off the security to simplify the code and to allow for easier/quicker decryption of specific individual files.
  • Does this keep my original file metadata? For now, no.

Usage

This project is very new and this API is very subject to change.

Set up

git clone https://github.com/csu/encryptFS.git
cd encryptFS
pip install -r requirements.txt

Example script

from encryptfs import EncryptFS

# Replace `asdfasdf` with a password
encfs = EncryptFS('asdfasdf')

# This will encrypt all new files in the current directory
encfs.encrypt_all()

# This will decrypt all encrypted files in the index
encfs.decrypt_all()

Have questions or suggestions? Open an issue.

CLI

CLI requires the click package.

python cli.py <action> <password>

Todo

  • FUSE support
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].