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 details)

Uploaded Source

File details

Details for the file encryptfs-0.0.1.tar.gz.

File metadata

  • Download URL: encryptfs-0.0.1.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for encryptfs-0.0.1.tar.gz
Algorithm Hash digest
SHA256 230670f774ee3d267fc13a567cced4157fbdc75465792a0e7e60ff4f76e0885b
MD5 45c2eab73f369422163396fe61bb64fe
BLAKE2b-256 be10fb7627e49e6ef77b210462a2074dbcd4a5f3385410c283b33861b2a4b619

See more details on using hashes here.

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