Skip to main content

A package for secure file encryption and decryption based on modern ciphers using heavy-compute-load chaining of hashing and KDF to generate strong encryption password based on users provided password to ensure secure encryption of files

Project description

Breaking Changes: release 0.4.0 is a BREAKING release, before updating to this release DECRYPT your already encrypted data with the EXACT version used for encrypting. Then update and encrypt again

Breaking Changes The breaking change 0.4.0 was necessary as the chaining of hash/kdf was not properly handled which potentially lead to less-secure-than-possible encryption passwords. Still strong ones but not as strong as they could be according to hash/kdf config

Secure File Encryption Tool

A powerful tool for securely encrypting, decrypting, and shredding files with military-grade cryptography and multi-layer password hashing.

History

The project is historically named openssl-encrypt because it once was a python script wrapper around openssl. But that did not work anymore with recent python versions. Therefore I decided to do a complete rewrite in pure python also using modern cipher and hashes. So the projectname is a "homage" to the root of all :-)

Important note: although whirlpool is supported by this tool, I do not recommend using this hashing algorithm. That is because building whirlpool via pip fails on recent Python versions (>= Python 3.12). If you want to use it you should have a look at pyenv which allows multiple Python versions to exist in peaceful co-existence. whirlpool will remain in the code also in future versions of this application \

Issues

you can create issues by sending mail to the linked address

Features

  • Strong Encryption: Uses Fernet symmetric encryption (AES-128-CBC) as default with secure key derivation. Also supports AES-GCM, AES-SIV, CAMLELIA and POLY1305-CHACHA20 as ecnryption algorithm
  • Multi-hash Password Protection: Optional layered hashing with SHA-256, SHA-512, SHA3-256, SHA3-512 and Whirlpool they all can be chained with different rounds to create key-stretching
  • Multi-KDF Password Protection: Optional layered KFD with PBKDF2, Scrypt, Argon2 and Ballon they all can be chained with different rounds to create key-stretching and very strong brute-force prevention
  • Password Management: Password confirmation to prevent typos, random password generation, and standalone password generator
  • File Integrity Verification: Built-in hash verification to detect corrupted or tampered files
  • Secure File Shredding: Military-grade secure deletion with multi-pass overwriting
  • Directory Support: Recursive processing of directories
  • Memory-Secure Processing: Protection against memory-based attacks and data leakage
  • Glob Pattern Support: Batch operations using wildcard patterns
  • Safe Overwriting: Secure in-place file replacement with atomic operations
  • Progress Visualization: Real-time progress bars for lengthy operations
  • Graphical User Interface: User-friendly GUI for all operations (beta)
  • Built-in and custom Templates: built in templates like --quick --standard and --paranoid can be used. You can also define your own customized templates in /templates

Files Included

all testfile files are ecrypted with password 1234 for your testing

License

MIT License

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

openssl_encrypt-0.4.2.tar.gz (74.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openssl_encrypt-0.4.2-py3-none-any.whl (78.5 kB view details)

Uploaded Python 3

File details

Details for the file openssl_encrypt-0.4.2.tar.gz.

File metadata

  • Download URL: openssl_encrypt-0.4.2.tar.gz
  • Upload date:
  • Size: 74.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for openssl_encrypt-0.4.2.tar.gz
Algorithm Hash digest
SHA256 240cf3a2aad205b8155e74bf64910af3094bbcbd445aa4b782d2e240c1103e94
MD5 b05c57f3e98a216064ffc504549adf0c
BLAKE2b-256 7e54520bc134c2dc283be78b45e36958e38177ddb62fab1cde0fa17057e54aec

See more details on using hashes here.

File details

Details for the file openssl_encrypt-0.4.2-py3-none-any.whl.

File metadata

File hashes

Hashes for openssl_encrypt-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6ecad296df9a4f6c479472b4f80c6932c4b13d7333df62e292ef1c1555e5030e
MD5 bc17a25c4c7359ce354b4aabf0bbb1c6
BLAKE2b-256 f5d1185445a6c712e74f2897c4047b209a7321e31a70c6da54b399e9dba16fe2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page