This GitHub project implements three image encryption algorithms inspired by research papers. The algorithms leverage principles from the Josephus problem, filtering technology, chaotic maps, and row/column switching to achieve efficient and secure visual technology for protecting private images.
- The encryption algorithm utilizes the Josephus problem for pixel shuffling and filtering technology for diffusion.
- Classical diffusion and confusion structure is followed for enhanced security.
- Simulation results demonstrate uniform distribution in cipher images.
- The algorithm exhibits sensitivity to the secret key, resistance to various security attacks, and outperforms several advanced image encryption algorithms.
- Read More
- Similar to the first algorithm, this approach combines the Josephus problem and filtering technology.
- Follows classical diffusion and confusion structure for image encryption.
- Simulation results show encryption capabilities for various image types with uniform distribution.
- Security analysis indicates sensitivity to the secret key, resistance to security attacks, and superior performance compared to advanced image encryption algorithms.
- Read More
- Proposes a fast image encryption algorithm based on rows and columns switch.
- Shuffling involves rows and columns, with simultaneous encryption of pixels using a key.
- Utilizes a logistic map to generate keys and switched indexes, reducing the iteration count for faster execution.
- Demonstrates significantly faster speed compared to other algorithms based on research data.
- Shows resilience against differential attacks, statistical analysis, known-plaintext, and chosen-plaintext attacks.
- Read More
Follow these steps to set up and run the project:
- Clone the GitHub Repository : git clone https://github.com/SaiShanmukkha/Image-Encryption---JPMCM.git
- Navigate to the Project Directory : cd [name of the folder]. Open Terminal in the Project Folder and Ensure that you're in the correct directory.
- Install Required Dependencies: Make sure you have Python 3.x installed in the system and run "pip install -r requirements.txt"
- Configure the Script : Open main.py in a text editor and Change the input image path to your desired file.
- Run the Script : python main.py
- Navigate to the Images folder: Find the encrypted image "{file_name}_eimage.png" and decrypted image "{file_name}_dimage.png" in ./Images/Output/RGB or ./Images/Output/GreyScale for RGB and GreyScale images respectively.
Contributions are welcome! Feel free to fork the repository, make improvements, and create pull requests. Please ensure adherence to the project's coding standards and documentation guidelines.
This project is licensed under the Apache License. Feel free to use, modify, and distribute as per the terms of the license.
All the functionalities does work in the final version of the application.
- The algorithms implemented in this project are based on the research papers:
For inquiries, issues, or collaboration, please contact the project maintainers:
- Sai Shanmukkha Surapaneni ([email protected])
- Ganesh Gaiy ([email protected])
- Kalyan Chittipeddi([email protected])
- Raju Kumar Madala ([email protected])