Skip to content

dnyaneshwar-gitte/AES-image-encryption-and-decryption-with-256-bits

Repository files navigation

πŸ” 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.

  1. πŸ”‘ 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.

Releases

No releases published

Packages

 
 
 

Contributors

Languages