/ImageEncryption

Image Encryption Technique based on Chaos Theory and RK Method for confidentiality and protecting sensitive visual information.

Primary LanguageJupyter Notebook

Digital Image Encryption Using Lorenz Equation and Chaotic Systems

This repository contains the implementation of an innovative image encryption technique using the Lorenz equation and chaotic systems. This method provides a robust solution for encrypting digital images, ensuring their security and integrity.

Project Overview

This project explores the use of chaotic systems, specifically the Lorenz equation, in the field of image encryption. By leveraging the unpredictability of chaos theory, we have developed a method that enhances the security of digital images against unauthorized access.

Concepts Used

  • Lorenz Equations: A set of three ordinary differential equations used to model chaotic systems.
  • RK Method (Runge Kutta Methods): Numerical methods for solving ordinary differential equations, critical in our encryption algorithm.

Dependencies Required

  • matplotlib
  • numpy

Running the Code

  • Run the ImageEncryption.py file.
  • To change the image that is being encrypted, modify the path of the image mentioned in line number 56 of the code.
  • This process will generate the actual image that is being used.
  • The encrypted image will be displayed.
  • The decrypted image using the actual key will be shown.
  • The decrypted image using an improper key will also be displayed for comparison.

Implementation

The codebase includes algorithms for encrypting and decrypting images using the Lorenz system's chaotic behavior. The methodology involves applying the RK-4 (Runge Kutta) method to generate encryption keys and performing XOR operations for the encryption process.

Key Features

  • Ability to secure digital images using a robust encryption algorithm.
  • Utilization of Lorenz equations and chaotic systems for generating unpredictable encryption keys.
  • Implementation of the RK-4 method for precise calculations in the encryption process.

Contribution

This is an open-source project. Contributions are welcome.

Future Enhancements

  • Development of a Python-based GUI for easier interaction with the encryption tool.
  • Extension of the algorithm to support other image formats and text encryption.
  • Exploration of other numerical methods to further enhance encryption efficiency.