Skip to main content

A simple file system that encrypts files individually.

Project description

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


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


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


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

Set up

git clone
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

# This will decrypt all encrypted files in the index

Have questions or suggestions? Open an issue.


CLI requires the click package.

python <action> <password>

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

encryptfs-0.0.1.tar.gz (4.3 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page