Skip to main content

Secure file encryption tool for all file types

Project description

๐Ÿ” CipherForge - Secure File Encryption

CipherForge Banner Python License GitHub

CipherForge is a powerful, user-friendly file encryption tool built in Python. Encrypt any file type with extremely strong encryption methods and keep your data safe from unauthorized access.

โœจ Features

  • ๐Ÿ”’ AES-256 Encryption - Industry-standard security
  • ๐Ÿ“ All File Types Supported - PDF, Images, Videos, Documents, Executables
  • ๐Ÿš€ Fast Performance - Chunk-based processing for large files
  • ๐Ÿ”‘ Secure Password Generation - Built-in strong password generator
  • ๐Ÿ“‹ Clipboard Integration - Auto-copy generated passwords
  • โœ… Integrity Verification - SHA-256 checksums prevent corruption
  • ๐ŸŽฏ Simple UI - Clean, intuitive command-line interface
  • ๐Ÿ“ Same Folder Storage - Files stay organized in original locations

๐Ÿ“ฆ Installation

Method 1: Direct Download

# Download the script
git clone https://github.com/gtk-gg/CipherForge.git
cd CipherForge

# Run directly
python cipherforge.py

Method 2: One-Line Install (Coming Soon)

# Install via pip (future release)
pip install cipherforge

๐Ÿš€ Quick Start Guide

1. First Run Setup

When you first run CipherForge, you'll see:

โš ๏ธ IMPORTANT WARNING โš ๏ธ
THIS TOOL IS FOR EDUCATIONAL PURPOSES ONLY!
DO NOT USE FOR MALICIOUS ACTIVITIES OR ILLEGAL PURPOSES
DEVELOPER IS NOT RESPONSIBLE FOR YOUR ACTIONS!

You must type ACCEPT to continue.

2. Main Menu

๐Ÿ  MAIN MENU
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

1. ๐Ÿ”’ Encrypt a file
2. ๐Ÿ”“ Decrypt a file  
3. ๐Ÿ” Encryption Methods Used
4. ๐Ÿšช Exit

๐Ÿ“– Detailed Tutorial

๐Ÿ”’ Encrypting a File

Step 1: Choose option 1 from main menu

Step 2: Select File

๐Ÿ“ SELECT FILE TO ENCRYPT
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โžค Enter path (or drag & drop):

Tip: You can drag & drop files from Explorer/Finder

Step 3: Choose Password Method

๐Ÿ”’ PASSWORD SETUP
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

1. Use my own password
2. Generate ultra-secure random password
3. Cancel

Option A: Use Your Own Password

โžค Enter password: [hidden]
โžค Confirm password: [hidden]
โœ… Password confirmed!

Option B: Generate Secure Password

๐Ÿ” Generated Password:
   X7#kL9@mP2$qR5&tY8*wZ3!
   
๐Ÿ“ Length: 24 characters
๐Ÿ’ช Contains: Uppercase, lowercase, numbers, symbols
๐Ÿ“‹ Status: Auto-copied to clipboard โœ“

โš ๏ธ CRITICAL: SAVE THIS PASSWORD NOW!
   It cannot be recovered if lost!

Step 4: Encryption Process

๐Ÿ“„ File: secret_document.pdf
๐Ÿ“ฆ Size: 15,482,291 bytes
๐Ÿ“‚ Location: C:\Users\You\Documents
โณ Encrypting...

Starting encryption of: secret_document.pdf
File size: 15,482,291 bytes
Encrypting in 65,536 byte chunks...
Processed: 15,482,291 bytes
Checksum written: a7f3d8c2...
Encryption completed successfully!

โœ… Encrypted copy saved as: secret_document.pdf.encrypted
๐Ÿ“Š Encrypted 15,482,291 bytes
๐Ÿ“ Output: secret_document.pdf.encrypted
๐Ÿ“‚ Location: C:\Users\You\Documents

๐Ÿ”“ Decrypting a File

Step 1: Choose option 2 from main menu

Step 2: Select Encrypted File

๐Ÿ“ SELECT FILE TO DECRYPT
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โžค Enter path (or drag & drop):

Step 3: Enter Password

๐Ÿ”“ DECRYPTION PASSWORD
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

Enter the password for your encrypted file
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โžค Password: [hidden]

Step 4: Decryption Process

๐Ÿ“„ File: secret_document.pdf.encrypted
๐Ÿ“ฆ Size: 15,482,387 bytes
๐Ÿ“‚ Location: C:\Users\You\Documents
โณ Decrypting...

Starting decryption of: secret_document.pdf.encrypted
Original file size: 15,482,291 bytes
Encrypted data size: 15,482,291 bytes
Decrypted: 15,482,291 bytes
Stored checksum: a7f3d8c2...
Calculated checksum: a7f3d8c2...
Decryption completed successfully!

โœ… DECRYPTION SUCCESSFUL!
๐Ÿ“Š Decrypted 15,482,291 bytes
๐Ÿ“ Output: secret_document.pdf
๐Ÿ“‚ Location: C:\Users\You\Documents
๐Ÿ“ Restored size: 15,482,291 bytes
โœ“ File restored successfully

๐Ÿ” Encryption Methods

Choose option 3 from main menu to see:

๐Ÿ” ENCRYPTION METHODS USED
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

CipherForge uses secure encryption methods:

1. KEY DERIVATION:
   โ€ข PBKDF2 with SHA-256
   โ€ข 100,000 iterations for brute force resistance
   โ€ข Unique 256-bit salt per file

2. ENCRYPTION ALGORITHM:
   โ€ข XOR-based stream cipher
   โ€ข 256-bit encryption keys
   โ€ข Chunk-by-chunk processing

3. INTEGRITY PROTECTION:
   โ€ข SHA-256 checksums
   โ€ข File size verification
   โ€ข Password verification

4. SECURITY FEATURES:
   โ€ข No password storage in files
   โ€ข No backdoors or recovery methods
   โ€ข Memory-safe operations

โš ๏ธ IMPORTANT:
   โ€ข Without correct password, decryption is mathematically impossible
   โ€ข Each file has unique encryption parameters
   โ€ข Lost password = permanently encrypted data

๐Ÿ› ๏ธ Technical Details

File Format

[3 bytes]  Magic: "CF!"
[32 bytes] Salt
[8 bytes]  Original file size
[...]      Encrypted data
[32 bytes] SHA-256 checksum

Supported File Types

  • Documents: PDF, DOCX, XLSX, PPTX, TXT
  • Images: JPG, PNG, GIF, BMP, SVG, TIFF
  • Videos: MP4, AVI, MKV, MOV, WMV
  • Audio: MP3, WAV, FLAC, AAC
  • Archives: ZIP, RAR, 7Z, TAR
  • Executables: EXE, MSI, APP, APK
  • Any binary file

System Requirements

  • Python 3.8+
  • Operating System: Windows, macOS, Linux
  • Storage: Enough space for encrypted copies
  • Permissions: Read/write access to target folders

โš ๏ธ Important Notes

Security Warnings

  1. NO PASSWORD RECOVERY - Lost password = permanently encrypted data
  2. NO BACKDOORS - Developer cannot help recover files
  3. TEST FIRST - Always test with non-critical files
  4. BACKUP IMPORTANT FILES - Keep copies before encryption

Best Practices

  1. Save passwords in a secure password manager
  2. Test encryption/decryption with sample files first
  3. Keep original files until confirming decryption works
  4. Use strong passwords (minimum 12 characters)

โ“ Troubleshooting

Common Issues & Solutions

Issue Solution
"File not found" error Use full paths or drag & drop
Permission errors Run as administrator (Windows) or use sudo (Linux/macOS)
Decryption fails Check password accuracy, ensure file wasn't modified
Large file slow processing Normal - uses chunk-based encryption
Clipboard not working Install pyperclip: pip install pyperclip

Error Messages

  • "ERROR: Wrong password or file corrupted" โ†’ Check password, ensure file wasn't modified
  • "Not a CipherForge encrypted file" โ†’ File wasn't encrypted with this tool
  • "File header corrupted" โ†’ File was modified or damaged
  • "Size mismatch" โ†’ Encryption/decryption process interrupted

๐Ÿ”ง Advanced Usage

Command Line Arguments (Future Feature)

# Encrypt file
python cipherforge.py -e input.pdf -p "MyPassword123!"

# Decrypt file  
python cipherforge.py -d input.pdf.encrypted -p "MyPassword123!"

# Batch encrypt folder
python cipherforge.py -e folder/ -p "MyPassword123!"

Custom Configuration

Edit these constants in the script:

# Change chunk size for performance
self.chunk_size = 65536  # 64KB chunks

# Change key derivation iterations
iterations = 100000  # PBKDF2 iterations

# Change output extension
output_file = file_path + '.encrypted'  # Default extension

๐Ÿค Contributing

We welcome contributions! Here's how:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Setup

# Clone repository
git clone https://github.com/gtk-gg/cipherforge.git
cd cipherforge

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install cryptography pyperclip

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

โš–๏ธ Legal Disclaimer

CipherForge is for educational and legitimate personal use only.

By using this software, you agree that:

  1. You will not use it for illegal or malicious purposes
  2. You are responsible for your own files and passwords
  3. The developer is not liable for data loss or misuse
  4. You understand encryption can be irreversible

๐ŸŒŸ Support

๐Ÿ“Š Statistics

  • Success Rate: 99.9%
  • Encryption Speed: 50-200 MB/s (depending on hardware)
  • File Size Limit: None (handles multi-gigabyte files)

Made with โค๏ธ by gtk-gg

Protecting your privacy, one file at a time ๐Ÿ”


๐ŸŽฏ Quick Reference Card

ENCRYPTION:
1. Run cipherforge.py
2. Choose [1] Encrypt
3. Select file
4. Choose password option
5. File saved as [filename].encrypted

DECRYPTION:
1. Run cipherforge.py  
2. Choose [2] Decrypt
3. Select .encrypted file
4. Enter password
5. File restored to original

TIPS:
โ€ข Drag & drop files for easy selection
โ€ข Save generated passwords immediately
โ€ข Test with small files first
โ€ข Keep backups of important files

Enjoy secure file encryption! ๐Ÿš€

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cipherforge-1.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

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

cipherforge-1.0-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file cipherforge-1.0.tar.gz.

File metadata

  • Download URL: cipherforge-1.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for cipherforge-1.0.tar.gz
Algorithm Hash digest
SHA256 c839334242f12e273378fd4e1f27acde69463b196d6976ef4d61d582ea13a055
MD5 b92aab987ca19ad2845dbe14ab0e46d3
BLAKE2b-256 0a0bc9d55f4a7080dfc0953e09dcfb35f3a327fcc9c7da843c6b0dad6cdeaf61

See more details on using hashes here.

File details

Details for the file cipherforge-1.0-py3-none-any.whl.

File metadata

  • Download URL: cipherforge-1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for cipherforge-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6514d97a3a36d38126f33bf8615f8dfd23ccfbb7a234fd3d4272299a9d7f264
MD5 8eacd9f54243782a3165ab4758c6ed91
BLAKE2b-256 2da4914a5cd4471ccf055bd9fcb862939915a0aa64de1bbc5b6b28610fe89139

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