π AES Image Encryption and Decryption [256-bit] π Project Overview This project demonstrates the 256-bit AES (Advanced Encryption Standard) algorithm applied to image files to ensure robust data confidentiality. It serves as a practical implementation of cryptography and network security principles, offering hands-on experience in image encryption/decryption using Python and Kali Linux.
Through this project, users can encrypt any image using a password and later decrypt it using the same key, simulating real-world secure data transmission and storage scenarios.
βοΈ System Requirements Operating System: Kali Linux (recommended via Oracle VirtualBox to avoid compatibility issues)
Python Version: 3.10.1
π¦ Python Libraries Used
NumPy - v1.13.3
Pillow (PIL) - v9.0.0
PyCryptodome - v3.12.0
Tkinter - (Built-in for GUI)
π Workflow 1. π Image Selection Choose an image file from your system using a GUI file dialog.
- π Password Entry Enter a custom password that will be used as the encryption key (AES-256 requires a 32-byte key).
π Encryption Process Once the image and password are provided:
AES-256 encryption is applied to the image.
Time taken depends on image resolution and system resources.
π Output Files Generated Secret Image β The core encrypted image file.
Visual Encryption Image β A watermarked or visually altered version for verification.
2-Share Encryption Images β Optional: Two image shares used for visual cryptography.
project.crypt β Final fully encrypted image file with AES-256.
π Decryption Process Select the previously encrypted file (project.crypt).
Enter the same password used during encryption.
The image is decrypted and restored to its original format.
π‘οΈ Key Features π AES-256 Encryption β Industry-grade symmetric key encryption.
πΌοΈ Image-based Security β Focused on securing visual data.
π§ͺ Hands-on Cryptography β Explore how modern data security works.
π₯οΈ Linux-Based Development β Built and tested on Kali Linux for cybersecurity enthusiasts.
π§ Educational Tool β Ideal for students learning cryptography, Python, and secure file handling.
πΈ Screenshots (Optional) Add GUI or command-line screenshots here to showcase the encryption and decryption process.
π§βπ» Future Enhancements Support for video encryption.
Multi-user authentication.
AES-GCM for authentication with encryption.
Web or mobile-based interface.
π References AES Standard Documentation (NIST)
PyCryptodome Documentation
π¨βπ« Author & Credits This project was developed as part of a Cryptography & Network Security course to demonstrate secure image handling and encryption techniques using Python and AES-256.