Endecrypt is a secure, client-side file encryption and steganography tool built with modern web technologies. It allows users to encrypt files, decrypt them, and hide sensitive data within images using Least Significant Bit (LSB) steganography, all directly in the browser without sending data to a server.
- 🔒 Secure Encryption: Uses robust AES-GCM encryption for file security.
- ⚡ Client-Side Processing: All operations happen locally in your browser. Your files never leave your device.
- 🖼️ Steganography: Hide files or text messages inside PNG images using LSB encoding.
- 📂 Large File Support: Efficient chunked processing allows handling large files without freezing the browser.
- 🎨 Modern UI: Beautiful Glassmorphism interface built with Tailwind CSS.
- 🚀 High Performance: Utilizes Web Workers to keep the UI responsive during heavy cryptographic operations.
- Core: Vanilla JavaScript (ES Modules)
- Build Tool: Vite
- Styling: Tailwind CSS
- Crypto: Web Crypto API
- Icons: Lucide
- Node.js (v16 or higher)
- npm (v7 or higher)
-
Clone the repository:
git clone https://github.com/Patricklumowa/Endecrypt.git cd Endecrypt -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173.
- Navigate to the Encrypt tab.
- Drag and drop a file or click to select one.
- (Optional) Enable password protection and enter a strong password.
- Click Encrypt File. The encrypted file (
.enc) will download automatically.
- Navigate to the Decrypt tab.
- Upload an
.encfile. - If the file is password-protected, enter the password.
- Click Decrypt File to retrieve the original file.
- Navigate to the Stego tab.
- Upload a Cover Image (must be an image file).
- Choose to hide a File or Text.
- Upload the secret file or type your message.
- Click Hide & Download PNG.
- Go to the Stego tab and select Reveal Data.
- Upload the Steganographic image (PNG).
- Enter the password if one was used.
- Click Reveal & Download to extract the hidden data.
Endecrypt performs all encryption and decryption locally using the Web Crypto API. However, for critical security needs, always ensure your environment is secure and free from malware/keyloggers.
This project is open source.