Modern, secure, and lightweight file encryption software written in Python.
LOCK-0 is a desktop application designed to securely encrypt and decrypt files using modern cryptographic standards. It combines a simple graphical interface with authenticated encryption to protect your data while remaining easy to use.
| Main Window | Encryption | Befor Decryption |
|---|---|---|
![]() |
![]() |
![]() |
- AES-256-GCM authenticated encryption
- PBKDF2-HMAC-SHA256 key derivation
- 600,000 PBKDF2 iterations
- Secure deletion of original files
- Automatic file integrity verification
- Folder-based encryption
- Modern CustomTkinter interface
- Cross-platform support
- Random salt and nonce generation
- SHA-256 integrity validation
LOCK-0 follows modern cryptographic best practices.
| Component | Specification |
|---|---|
| Encryption Algorithm | AES-256-GCM |
| Key Derivation | PBKDF2-HMAC-SHA256 |
| PBKDF2 Iterations | 600,000 |
| Key Size | 256-bit |
| Salt | 16 bytes |
| Nonce | 12 bytes |
| Integrity | GCM Authentication Tag |
| Hash Function | SHA-256 |
Password
│
▼
PBKDF2-HMAC-SHA256
(600,000 iterations)
│
▼
256-bit Encryption Key
│
▼
AES-256-GCM
│
▼
Encrypted File
┌────────────────────────────┐
│ Magic Header │
├────────────────────────────┤
│ Version │
├────────────────────────────┤
│ Original File Size │
├────────────────────────────┤
│ Random Salt (16 bytes) │
├────────────────────────────┤
│ Random Nonce (12 bytes) │
├────────────────────────────┤
│ Ciphertext │
├────────────────────────────┤
│ Authentication Tag │
└────────────────────────────┘
- Python 3.8 or newer
- Windows, Linux or macOS
Required packages:
cryptography
customtkinter
PillowInstall everything with:
pip install -r requirements.txtClone the repository:
git clone https://github.com/BassemMohamed44/LOCK-0.git
cd LOCK-0Install dependencies:
pip install -r requirements.txtRun the application:
python LOCK-0.pyUsing PyInstaller:
pip install pyinstaller
pyinstaller ^
--onefile ^
--windowed ^
--icon=L0.ico ^
LOCK-0.py- Launch LOCK-0.
- Select the folder to encrypt.
- Enter a strong password.
- Choose Encrypt.
- Click Start.
The original files will be securely deleted after successful encryption.
- Launch LOCK-0.
- Select the folder containing encrypted files.
- Enter the correct password.
- Choose Decrypt.
- Click Start.
The original files will be restored.
LOCK-0/
│
├── LOCK-0.py
├── requirements.txt
├── LICENSE
├── README.md
├── SECURITY.md
└── assets/
| Platform | Status |
|---|---|
| Windows | Supported |
| Linux | Supported - It requires very minor adjustments. |
| macOS | Supported - It requires very minor adjustments. |
- Command Line Interface
- Drag & Drop support
- Multi-threaded encryption
- Single file encryption mode
- Automatic update checker
- Dark / Light theme
- Localization
- Encryption history
- Secure password generator
Contributions are welcome.
- Fork the repository.
- Create a feature branch.
git checkout -b feature/my-feature- Commit your changes.
git commit -m "Add new feature"- Push the branch.
git push origin feature/my-feature- Open a Pull Request.
LOCK-0 is designed to provide strong encryption, but security also depends on the user.
Please remember:
- Use a strong and unique password.
- Keep backups of important files.
- Never encrypt operating system files.
- There is no password recovery mechanism.
- Lost passwords cannot be recovered.
This project is licensed under the MIT License.
See the LICENSE file for more information.
This project relies on several excellent open-source libraries.
- cryptography
- CustomTkinter
- Pillow
Thanks to the maintainers and contributors of these projects.
Built with Python.
If you find this project useful, consider giving it a ⭐ on GitHub.



