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.

Details

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.

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>

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 and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page