Open In App

Image encryption using cellular automata

To propose an image encryption system using one dimensional cellular automata for image encryption and decryption. Cellular automata can be corresponded with the essential cryptographic properties i.e. Balance, correlation-immune, nonlinearity, easy to implement in hardware. CA cryptosystems can give better performances compared to classic methods that are based on computational techniques. Therefore, this technique should be most favourable for cryptography.

Features:



1. Encryption –

2. Decryption –



3. Result and Analysis –

4. Rule Selection –
Rules to be applied to encrypt image can be selected and order can be changed (R30, R90, R120).Further rules can also be added.

Implementation/Algorithms:

Tools:
This image encryption system has been prepared on Python and MATLAB.

Following libraries are used:

OpenCV: To extract image pixels and modify it.
Numpy: To make use of arrays in key function.
Matplotlib: To obtain results (histogram, correlation) 

Following Cellular Automata rules have been applied:

Rule 90
Rule 30
Rule 120 

The whole program is divided into modules:

Encryption Script
Decryption Script
Result and Analysis 

Application –
Image encryption is the primary task of the program I developed although the system proposed is not only limited to Image encryption. The system can be modified to achieve:

  1. Coding messages
  2. Picture compression
  3. Production of pseudo-random numbers.

Project Link:
https://github.com/Lakshyasukhralia/CellularAutomata

Article Tags :