CRYPT

📘 Overview
Crypt is a lightweight, standalone Windows application built in Python (with PyQt5). It provides a secure graphical interface for encrypting and decrypting text and attachments using RSA public/private keys — optionally protected by a passphrase.

Ideal for:
- Secure personal messaging
- Safely transmitting sensitive files
- Practicing or testing RSA workflows
- Lightweight encryption without needing command-line tools

📦 What’s Included in the ZIP Package
After extracting, you’ll find:
- crypt.exe — Main Windows application
- README.txt — This installation and usage guide
- (Optional) public_key.pem / private_key.pem — Sample keys for testing

🖥️ System Requirements
- Windows 10 or 11 (64-bit)
- No Python installation required (Python is bundled)
- No Internet access required
- No installation needed — extract and run!

📁 Installation Steps

1. Extract the ZIP
   - Right-click the .zip file → “Extract All…”
   - Choose a destination folder (e.g., C:\Users\YourName\Documents\crypt)

2. Bypass SmartScreen (if prompted)
   Because the app is unsigned, Windows Defender may block it:

   Option A: Run Anyway
   - Double-click crypt.exe
   - If you see “Windows protected your PC”, click:
     - More info → Run anyway

   Option B: Add a Defender Exception
   - Open Windows Security
   - Go to Virus & Threat Protection → Manage Settings
   - Scroll to Exclusions → Add or remove exclusions
   - Click “+ Add an exclusion” → File → Choose crypt.exe

🚀 User Guide

🔑 Key Management (New!)
Click Keys → Manage Keys to:
- View all stored keypairs
- See strength (e.g., 2048 bits), and whether public/private keys exist
- Add new keypairs with a custom label and strength (1024/2048/4096)
- Import existing keys from disk
- Export selected keypairs
- Delete keys

Key files are saved under a user-defined key storage location:
- Set it via Settings → Set Key Storage Location
- Public and private keys are stored in separate folders

🧭 Getting Started

1. Set your key storage path (optional)
2. Load Keys via dropdowns (populated from registry)
3. Write or Paste a Message
4. Attach a File (Optional)
5. Enter a Passphrase (Optional)
6. Click Encrypt or Decrypt

🔐 Features

🧷 File Attachments
- Any file can be securely attached and encrypted
- During decryption, you’ll be prompted to save the attachment separately

📏 Large File Handling
- Choose to partially load large encrypted files for display, or decrypt directly
- Copying is disabled during partial loads to prevent freezing

🧼 Clear Interface
- "Clear All" resets both text fields and the passphrase

🔐 Key Management
- Central key dialog with strength and file existence indicators
- Add, import, export, delete keys

📄 Example Workflows

Encrypting
1. Bob loads Alice’s public key
2. Bob types a message and attaches a file
3. Bob clicks Encrypt and sends the encrypted output to Alice

Decrypting
1. Alice loads her private key
2. Alice loads or pastes encrypted text
3. Alice enters the passphrase (if used)
4. Alice clicks Decrypt and saves the output

⚙️ Configuration

- Internet needed: No
- Registry modified: No
- External communication: None
- Installation required: No (portable)
- Settings saved: Yes (storage path & registry)

❓ Troubleshooting

Issue                          Solution
----------------------------  -----------------------------------------------
"Windows protected your PC"   Click More info → Run anyway
Permission denied             Run crypt.exe as Administrator
Wrong private key             Use correct key and passphrase
Encrypted blob looks short    Large files may be partially displayed
Can't copy encrypted text     Copy is disabled during partial view

📬 Support
Use latest version and follow guide. Contact developer for extended help if available.
