Skip to content

Advanced Image Encryption Algorithm based on Josephus Problem and Mixed Chaotic Maps

License

Notifications You must be signed in to change notification settings

SaiShanmukkha/Image-Encryption---JPMCM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image Encryption Project

Overview

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.

Algorithms Implemented

1. Josephus Problem and Filtering Diffusion Encryption

  • 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

2. Josephus Traversing and Mixed Chaotic Map Encryption

  • 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

3. Fast Image Algorithm Based on Rows and Columns Switch

  • 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

Project Setup and Execution Guide

Follow these steps to set up and run the project:

  1. Clone the GitHub Repository : git clone https://github.com/SaiShanmukkha/Image-Encryption---JPMCM.git
  2. 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.
  3. Install Required Dependencies: Make sure you have Python 3.x installed in the system and run "pip install -r requirements.txt"
  4. Configure the Script : Open main.py in a text editor and Change the input image path to your desired file.
  5. Run the Script : python main.py
  6. 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

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.

License

This project is licensed under the Apache License. Feel free to use, modify, and distribute as per the terms of the license.

Functionalities check

All the functionalities does work in the final version of the application.

Acknowledgments

Contact

For inquiries, issues, or collaboration, please contact the project maintainers:

About

Advanced Image Encryption Algorithm based on Josephus Problem and Mixed Chaotic Maps

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages