A simple file system that encrypts each file individually. Designed for
use with cloud storage.
Quick high-level overview:
- You have some files abc, 123, asdf.
- 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.
- Later, you can open the existing encryptFS and decrypt your files
- What do you use for the actual encryption? PyCrypto, AES-256 (32-byte
- 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.
This project is very new and this API is very subject to change.
git clone https://github.com/csu/encryptFS.git
pip install -r requirements.txt
from encryptfs import EncryptFS
# Replace `asdfasdf` with a password
encfs = EncryptFS('asdfasdf')
# This will encrypt all new files in the current directory
# This will decrypt all encrypted files in the index
Have questions or suggestions? Open an
CLI requires the click package.
python cli.py <action> <password>
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.