DarkDrop is a secure, encrypted file transfer tool that enables safe file sharing between devices over a network. Built with Python and featuring AES-256 encryption, it provides a user-friendly GUI for both sending and receiving files securely.
- 🔐 AES-256 Encryption: Military-grade encryption for maximum security
- 🖥️ User-Friendly GUI: Clean, dark-themed interface built with Tkinter
- 🌐 Network Transfer: Send files over local network or internet
- 🔑 Password Protection: PBKDF2 key derivation with 100,000 iterations
- 📱 Dual Mode: Both sender and receiver functionality in one application
- 🛡️ Secure by Default: No plaintext transmission, encrypted end-to-end
pip install cryptography- Clone the repository:
git clone https://github.com/karan2527/DarkDrop.git
cd darkdrop- Install dependencies:
pip install -r requirements.txt- Run the application:
python DarkDrop.py- Launch DarkDrop
- Select "Send" mode
- Enter the receiver's IP address
- Set a port number (e.g., 8888)
- Enter a strong password
- Choose the file to send
- Click "Execute"
- Launch DarkDrop
- Select "Receive" mode
- Set the same port number as sender
- Enter the same password
- Click "Execute"
- Wait for the file transfer to complete
- Algorithm: AES-256 in CBC mode
- Key Derivation: PBKDF2 with SHA-256
- Salt: Fixed salt (consider using random salt for production)
- Iterations: 100,000
- Padding: PKCS7
- IV: Randomly generated for each transfer
- Transport: TCP/IP
- Data Format:
- 4 bytes: filename length
- Variable: filename
- 16 bytes: IV
- Variable: encrypted file data
- Uses a fixed salt for key derivation
- No authentication mechanism
- Vulnerable to man-in-the-middle attacks
- No integrity verification
- Dynamic Salt Generation: Use random salts for each session
- HMAC Authentication: Add message authentication codes
- Key Exchange: Implement secure key exchange protocol
- Certificate Validation: Add TLS/SSL layer
- Integrity Checks: Implement file hash verification
DARKDROP/
├── DarkDrop.py # Main application
├── requirements.txt # Dependencies
├── README.md # Documentation
├── LICENSE # License file
└── screenshots/ # Application screenshots
- Python 3.7+
- cryptography library
- tkinter (usually included with Python)
- Secure File Sharing: Share sensitive documents safely
- Network Administration: Transfer configuration files securely
- Development: Share code and assets between team members
- Personal Use: Backup files between personal devices
- File Size: No theoretical limit (limited by available memory)
- Network: Optimized for both LAN and WAN transfers
- Encryption Speed: Efficient AES implementation via cryptography library
This project is licensed under the MIT License - see the LICENSE file for details.
- Fixed salt reduces security (planned fix in v2.0)
- No connection timeout handling
- Limited error handling for network issues
If you have any questions or issues, please:
- Check the existing issues
- Create a new issue with detailed description
- Contact: [amazing2311asus@gmail.com]
🔒 Security Notice: While DarkDrop provides strong encryption, it should not be used for highly sensitive data without additional security measures. Always use in trusted network environments.