Skip to content
Portable Userspace eCryptfs
Python Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
pecryptfs
tests
.gitignore
.gitlab-ci.yml
.pylintrc
COPYING
Makefile
README.md
logo.svg
pylintrc
setup.py

README.md

pecryptfs - Portable Userspace eCryptfs

pecryptfs is a simple and somewhat incomplete Python reimplementation of the eCryptfs filesystem encryption. Unlike eCryptfs, which is a Linux kernel module, pecryptfs runs completely in userspace and works on individual files via command line tools.

It is recommended to keep a backup around, as pecryptfs might not be able to deal with more exotic features of eCryptfs correctly and do bad things.

Features

  • encrypt filenames (AES, DES, Blowfish)
  • decrypt filenames (AES, DES, Blowfish)
  • decrypt file content (AES16 only)
  • password based encryption/decryption

Missing Features

  • no encryption of file content
  • no recursive decryption of directory trees
  • no in-place decryption of files, content goes to stdout
  • no SSL support
  • no xattr support

Installation

pecryptfs comes with a setup.py and can be installed like most other Python packages:

sudo pip3 install .

Usage

To encrypt a filename:

$ pecryptfs-filename --encrypt HelloWorld
Password:
ECRYPTFS_FNEK_ENCRYPTED.FWYp3QmdieuVx-ReNM93cFJhZmQKb9S.7xyoNLh2yALCb17qYCkx232fM---

To decrypt a filename:

$ pecryptfs-filename --decrypt ECRYPTFS_FNEK_ENCRYPTED.FWYp3QmdieuVx-ReNM93cFJhZmQKb9S.7xyoNLh2yALCb17qYCkx232fM---
Password:
HelloWorld

The --move option with rename the file, otherwise the name is just printed to stdout.

To decrypt the content of a file:

$ pecryptfs-decrypt YourEncryptedFileHere
Password:
HelloWorld

Links

You can’t perform that action at this time.