The current research work proposed a novel optimization-based 2D-SIMM (Two-Dimensional Sine Iterative chaotic map with infinite collapse Modulation Map) model for image encryption. The proposed 2D-SIMM model is derived out of sine map and Iterative Chaotic Map with Infinite Collapse (ICMIC). In this technique, scrambling effect is achieved with the help of Chaotic Shift Transform (CST). Chaotic Shift Transform is used to change the value of pixels in the input image while the substituted value is cyclically shifted according to the chaotic sequence generated by 2D-SIMM model. These chaotic sequences, generated using 2D-SIMM model, are sensitive to initial conditions. In the proposed algorithm, these initial conditions are optimized using JAYA optimization algorithm. Correlation coefficient and entropy are considered as fitness functions in this study to evaluate the best solution for initial conditions. The simulation results clearly shows that the proposed algorithm achieved a better performance over existing algorithms. In addition, the VLSI implementation of the proposed algorithm was also carried out using Xilinx system generator. With optimization, the correlation coefficient was −0.014096 and without optimization, it was 0.002585.

Digital image contains more information owing to which it should be secured from unauthorized persons during transmission over communication channel. Conventional cryptosystems such as Advanced Encryption Standard (AES) and Data Encryption Standard (DES) are not suitable for digital image and video encryption on real-time basis. This is because of its low speed due to large data volume and correlation among pixels. In order to overcome this challenge, chaotic maps are used in image encryption process.

A two-dimensional Sine ICMIC Modulation Map (2D-SIMM) is derived from Sine map while Iterative Chaotic Map with Infinite Collapse (ICMIC) and its chaotic performance are analyzed by a few means namely phase diagram, Lyapunov exponent spectrum and complexity [

In literature, a singular value decomposition-based digital image watermarking using optimization algorithms like Particle Swarm Optimization (PSO) and Jaya algorithm was proposed [

Image encryption is based on three chaotic maps. The algorithm is based on the concept of shuffling the position of pixels and changing the gray values of image pixels [

The conceptual description of hardware & software simulation for image processing, using Xilinx System Generator (XSG), provides both theoretical as well as practical aspects of the technique. This also provides a set of Simulink models for several hardware operations using different Xilinx that could be implemented on various FPGA. This research paper also explained about the efficient architecture for various image processing algorithms to be used in image negatives, image enhancement, contrast stretching, Image Edge Detection, image Brightness Control, Parabola transformation for gray scale and color images. This is done so with the help of a few possible system generator blocks, implemented in Virtex5 hardware [

In current study, the authors propose a novel optimization-based 2D-SIMM (two-dimensional Sine Iterative chaotic map with infinite collapse Modulation Map) model for image encryption. The proposed 2D-SIMM model is derived from sine map and Iterative Chaotic Map with Infinite Collapse (ICMIC). In this technique, scrambling effect is achieved with the help of Chaotic Shift Transform (CST). Chaotic Shift Transform is used to change the value of pixels in input image and the substituted value is shifted cyclically, as per the chaotic sequence generated by 2D-SIMM model. These chaotic sequences, generated using 2D-SIMM model, are sensitive to initial conditions. In the proposed algorithm, these initial conditions are optimized using JAYA optimization algorithm. Correlation coefficient and Entropy are considered to be the fitness functions to evaluate the best solution for initial conditions.

Rest of the paper is organized as follows; Section 2 discusses about the chaotic maps for image encryption, Section 3 describes about the proposed image encryption algorithm, Section 4 deals with optimization algorithm. Section 5 discusses about simulation, performance metrics and results. Finally, Section 6 concludes the paper by highlighting the novelty of the proposed work.

Chaotic map is a map that exhibits some sort of chaotic behavior. It is useful in studying about dynamic systems. Different types of chaotic maps exists while some of the 1-D chaotic maps are logistic map, sine map, ICMIC map, henon map and Arnold cat map. Generally, in image encryption, these chaotic maps are used to generate pseudo random numbers. Thus, the image can be encrypted using chaotic sequences generated by the chaotic map. Since the chaotic maps are used in image encryption, this technique is also called as chaotic cryptography.

Sine map and Iterative Chaotic Map with Infinite Collapse (ICMIC) are two commonly used 1D chaotic maps. They are defined through the following

The orbits of both of the one-dimensional chaotic maps are easy to predict with the help of chaotic signal estimation technologies. In order to overcome this problem, 2D-SIMM (two dimensional sine ICMIC modulation map) model is used. It can be defined by the

Here, a and b are control parameters and a, b (0, +∞). When a = 1, b = 5, the system has two positive Lyapunov exponents [

A chaotic map can be characterized with the help of two important parameters such as Lyapunov Exponent and Phase diagram.

Chaotic behaviors of a dynamic system can be evaluated by Lyapunov exponent (LE). This exponent explains the divergence between two nearby points in a phase plane. Lyapunov exponent has positive values only, when the divergence between nearby points increases. If close trajectories converge at each other, then Lyapunov exponent remains negative. A HD chaotic map has at least two LE values and the maximum LE (MLE) value determines its predictability. There are chaotic behaviors when MLE value is positive and exhibits hyper chaotic behaviors, when it has more than one positive LE value. A HD chaotic map with hyper chaotic behaviors generally has high complexity and its trajectories are extremely difficult to predict.

The size of the secret key, used to encrypt the image, is a 256-bit sequence as shown in

To reduce the correlation between the adjacent pixels of a digital image, Chaotic Shift Transform is used to scramble the pixel value and pixel position of an original image. Let S be a chaotic series matrix generated by 2D-SIMM. Through specific quantification algorithm, a row shift matrix A= [a1, a2, …, aM]T and a column shift matrix B=[b1, b2, …, bN]T are obtained. Here, ai represents the step size of cyclic right shift in row i whereas bi represents the step size of cyclic upward shift in column i and ai [0, M−1] and bi [0, N−1] are integers. Chaotic Shift Transform (CST) is defined by T = F (P, S) where S denotes the CST function, P is the original image with the size of M*N and T be the corresponding shuffled image.

Step by step procedure

Step 1: Generate the row and column shift matrices, A and B by S respectively.

Step 2: Consider the pixels of the row in original image. The number of elements in the chaotic sequence should be equal to the number of pixel in row (or column) of the input image.

Step 3: These pixels are cyclically shifted in row i of the image P towards right with the step size of ai in row matrix A.

Step 4: If all the row pixels are shifted, then consider the row shift results as T1.

Step 5: Now consider the row shift matrix T1 and column matrix B. These pixels are cyclically shifted in column i of T1 to the top with a step size of bi in column matrix, B.

Step 6: When all the column pixels are shifted, the encrypted image T is obtained.

During decryption, the direction of shift is opposite (i.e.,) for column decryption while the image pixels are cyclically shifted towards the bottom of the column. In case of row decryption, the row pixels are shifted toward the left of that row.

A gray scale image sized 128 * 128 pixels and a secret key size of 256-bit sequence is used for encryption and decryption processes. During encryption, the image is substituted by the chaotic sequence generated by 2D-SIMM. Then, the permutation of pixels is achieved with the help of Chaotic Shift Transform (CST). The encryption algorithm for one round is shown in

Consider the input image of size M × N, then the first round of row encryption can be accomplished based on the following steps,

Step 1: Consider the first row i of the input image. The initial conditions (X01, Y01) are substituted in 2D-SIMM model

Step 2: Iterate

Step 3: For I th row pixels, calculate P (i, ⋅) = P(i, ⋅) K1.

Step 4: Connect P (i, ⋅) into circle, and shift these pixels to right with a step size of k2.

Step 5: Repeat steps 1 to 4 in a loop, until all the rows are encrypted.

Step 1: The initial conditions i.e., (X01, Y01) are substituted in 2D-SIMM

Step 2: Iterate

Step 3: Now consider the row has an encrypted image. For i^{th} column pixel, calculate

P (⋅, i) = P(⋅, i) K1.

Step 4: Connect P (⋅, i) into circle, and shift these pixels upward with a step size of k2.

Step 5: Repeat steps 1 to 4 in a loop until all the columns get encrypted. Thus, the encrypted image is obtained for one round.

Decryption is just the reverse operation of encryption. The difference between encryption and decryption is that the column is decrypted first while the row is decrypted next. Also, the direction of shift is opposite in decryption. Decryption algorithm for one round is shown in

Optimization is a process of searching for the most optimal solution among the available solutions of a particular problem. By considering the nature of optimization algorithms, these can be categorized broadly under two groups such as Evolutionary algorithms (EA) and Swarm Intelligence (SI)0based algorithms. Both evolutionary and swarm intelligence-based algorithms are probabilistic algorithms and require common controlling parameters like population size, number of generations, elite size etc. Besides, in case of common control parameters, different algorithms require their own algorithm-specific control parameters. For example, GA uses mutation probability, crossover probability, selection operator; and PSO uses inertia weight, particle position and particle velocity. Algorithm-specific parameters must be appropriately tuned which remains a very crucial factor since it affects the performance of the above-mentioned algorithms. In order to overcome this challenge, a new parameter-less optimization technique known as JAYA optimization algorithm is used in current study.

JAYA algorithm is a powerful heuristic method to solve the optimization problem. This algorithm tries to move as close as possible towards success (i.e., reaching the best solution) and avoids the failure (i.e., moving away from the worst solution). Further, it also strives to achieve victory by reaching the best solution. Hence, it is named after Jaya (a Sanskrit word meaning victory). It does not require any algorithm-specific parameter except three common control parameters namely, population size, number of design variables and number of generations to solve the optimization problem using fitness function. A single-objective optimization algorithm requires correlation coefficient and entropy or PSNR as its fitness functions. JAYA optimization algorithm is explained herewith.

Step 1: The number of design variables, population size and the termination criteria should be defined for the optimization problem.

Step 2: The population is initiated using random numbers, which forms the first generation. Each of these numbers in population is a possible solution of optimization problem.

Step 3: Each solution of current generation is tested using the fitness function so as to get the best and worst solutions

Step 4: Now each and every solution of the current generation is modified using

If Xj, k, i are the values of j^{th} variable for k^{th} candidate during i^{th} iteration, then this value is modified as follow

X_{j}, best_{i}–the value of the variable j for the best candidate X_{j}, worst, i–value of the variable j for the worst candidate r1, j, i, r2, j, i–two random numbers in the range [0, 1].

Step 5: The new set of solutions, obtained from

Step 6: Now compare the performance of current generation population and the next generation population with the help of fitness function.

Step 7: If the solution of next generation population is better than the current generation population, then update the current generation. Otherwise, keep the current generation as it is.

The above steps are continued till the termination criterion is met.

Correlation is a method of establishing the degree of probability that exists in a linear relationship between two measured quantities. Generally, an image has high data redundancy. Thus, the pixels between two different images possess high correlations. A good image encryption algorithm should have the ability of breaking the correlations between original and the encrypted image. Therefore, correlation coefficients for two adjacent pixels, x and y can be defined as follows

The randomness of gray scale value can be measured by information entropy and can be defined as follows

The initial conditions are generated using JAYA optimization with the help of correlation coefficient as fitness function. For this, 100 sets (population size) of four design variables are generated randomly in the range of 0 to 1. These four design variables are converted into double precision floating point format and are combined to form the secret key. Each candidate in this population, with 4 design variables, are used as initial condition for the 2D-SIMM model and the image is encrypted. Now, the correlation coefficient is calculated between the original and encrypted image for each candidate. The candidate with minimum correlation coefficient is selected as the best solution and the maximum as the worst solution. Now the design variables are updated based on best and worst solutions and are used to generate new population. The above steps are repeated for 25 times (termination criterion) and the best variables at the end of 25^{th} iteration are selected as initial condition for 2D-SIMM model. Generally, an image has high data redundancy. Thus, its pixels have high correlations with their neighboring pixels. A good image encryption algorithm should be able to break these correlations. Since optimization technique is a single objective optimization, correlation coefficient is used as the fitness function to evaluate the performance of the encrypted image.

Among four design variables, two variables are used for first round encryption whereas the other two variables are used for second round encryption. The initial conditions for the column encryption are the same as row encryption for each round. The images, thus encrypted using optimization technique, possess low correlation coefficient which proves that the information in the encrypted image is different from the original image.

This section discusses the simulation result and correlation coefficient with and without optimization. The best solutions were found to be 0.588643, 0.900000, 0.231928, and 0.773181. The correlation coefficient with optimization was −0.014096 and without optimization was 0.002585. The pixel distribution of the encrypted image is shown in

Name | CC of encrypted image without optimization | CC of encrypted image with optimization |
---|---|---|

Lena.jpg | 0.0002 | −0.0226 |

Fruit.jpg | −0.0479 | −0.0643 |

Horse.jpg | −0.0012 | −0.0182 |

Girl.jpg | −0.0012 | −0.0023 |

After the generation of chaotic sequence, row encryption and column encryption using chaotic shift transform were executed for two rounds to obtain the encrypted image. Its reverse operation generated the decrypted image using MATLAB R2016a.

The performance metrics helps in understanding the performance and characteristics of the encryption algorithm. Some of the performance metrics measured using MATLAB R2016a are shown in

Name | Correlation of |
Correlation of |
Entropy of |
---|---|---|---|

Hatgirl.jpg | 0.9149 | 0.0002 | 7.9861 |

Fruit.jpg | 0.9502 | −0.0479 | 7.9879 |

Horse.jpg | 0.9580 | −0.0012 | 7.9860 |

Testi2.jpg | 0.9471 | 0.0300 | 7.9886 |

To generate the chaotic sequence, 2D-SIMM model was designed in system generator and the result is shown in

In order to find the optimized initial condition, image encryption technique using 2D-SIMM model was designed as a subsystem in system generator as shown in

The system generator model, for image encryption technique using optimization, is designed as shown in

The simulation result for image encryption and decryption, using system generator, is shown in

The initial condition for the proposed 2D-SIMM model was generated using optimization technique to minimize the correlation coefficient between the original and encrypted images. Further, Chaotic Shift Transform was deployed for confusion and diffusion of pixels in input gray scale image with the help of chaotic sequences generated from 2D-SIMM model. After CST, the resultant pixel matrix obtained the encrypted image. The simulation results obtained for the performance metrics show that the encrypted image has good scrambling effect and less correlation. VLSI implementation was performed using Xilinx System generator. Therefore, the proposed model seems to have good application prospects in image or video encryption communication. In future, the proposed model can be employed in real-time environment as well.