https://github.com/erbsland-dev/fast-file-encryption
Fast, secure, and minimal file encryption for large files using RSA and AES.
https://github.com/erbsland-dev/fast-file-encryption
asymetric-cryptography decryption encryption large-files security signature verification
Last synced: 6 months ago
JSON representation
Fast, secure, and minimal file encryption for large files using RSA and AES.
- Host: GitHub
- URL: https://github.com/erbsland-dev/fast-file-encryption
- Owner: erbsland-dev
- License: apache-2.0
- Created: 2021-12-16T12:52:30.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-26T17:32:20.000Z (about 1 year ago)
- Last Synced: 2025-09-21T12:25:07.301Z (10 months ago)
- Topics: asymetric-cryptography, decryption, encryption, large-files, security, signature, verification
- Language: Python
- Homepage: https://erbsland-dev.github.io/fast-file-encryption/
- Size: 5.32 MB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Fast File Encryption
====================
**Fast File Encryption** is a lightweight, robust, and developer-friendly solution for encrypting large files—ranging from a few megabytes to several terabytes—securely and efficiently.
Ideal for environments that require:
- Minimal runtime dependencies
- Strong asymmetric encryption using RSA
- High performance for both small and large files
Features
--------
- Requires only Python ≥ 3.11 and the ``cryptography`` package
- Securely encrypts and decrypts files using RSA public/private key pairs
- Only the **public key** is needed on the server—no private key exposure
- Supports streaming and large file encryption (up to 10 TB and beyond)
Getting Started 🚀
------------------
New to the project? Start with our step-by-step **Getting Started Guide**. It walks you through installation, key generation, and your first file encryption.
▶️ `Getting Started `_
Documentation 📚
----------------
Explore the full documentation:
* In-depth reference for encryption and decryption classes
* Key management tools and utilities
* Technical details of the file format
▶️ `Reference Manual `_
▶️ `File Format Specification `_
Requirements
------------
* Python ≥ 3.11
* `cryptography` package (based on OpenSSL)
Running the Tests
-----------------
Install the dependencies from ``requirements.txt`` and execute ``pytest`` from
the project root::
pip install -r requirements.txt
pytest
Project Goals
-------------
**Fast File Encryption** is built with the following principles:
* **Archive Data** — Designed to securely archive files.
* **Secure by Default** — No configurable options that weaken encryption.
* **Large File Support** — Optimized for files up to several terabytes.
* **Metadata Block** — Clean separation of encrypted metadata.
* **No Key = No Access** — Data remains safe even if a server is compromised.
* **Corruption Detection** — Built-in checksums detect silent corruption.
▶️ `More about our design goals `_
Bug Reports & Feature Requests
------------------------------
Have feedback or ideas? Found a bug? We'd love to hear from you.
▶️ `Submit an Issue `_
License
-------
Copyright © 2021–2025
Tobias Erbsland – https://erbsland.dev/
EducateIT GmbH – https://educateit.ch/
Licensed under the **Apache License, Version 2.0**.
You may obtain a copy of the license at:
http://www.apache.org/licenses/LICENSE-2.0
Distributed on an “AS IS” basis, without warranties or conditions of any kind. See the LICENSE file for details.