Research Article

Image Encryption Algorithm Based on an Improved ML Neuron Model and DNA Dynamic Coding

Algorithm 1

The image encryption algorithm.
Input: Original plaintext image
(1)Divide the original plaintext image into three two-dimensional matrices.
(2)Divide the three two-dimensional matrices into blocks of size , fill the three two-dimensional matrices so that their sizes all satisfy Algorithm 1
(3)Set the initial value x0 according to Algorithm 1, and obtain the chaotic sequence after successive iterations of the Logistic chaotic mapping
(4)Process the sequence according to Algorithm 1 so that all elements are belong to [0, 255], and divide it into random matrices of the same size , .
(5)Use MATLAB’s built-in Runge–Kutta function ode45 to calculate to obtain the three sequences of length in the ML neuron model. The initial value is calculated by Algorithm 1
(6)According to the initial value and the number of blocks r, solve the ML neuron model and get four chaotic sequences X, Y, Z, and H.
(7)Use X and Y to determine the DNA encoding method of the image matrix and the chaotic matrix. There are 8 kinds, 1∼8.
(8)Use Z to determine the DNA operation method between the image matrix and the chaotic matrix. There are 4 kinds, 0∼3.
(9)Use H to perform DNA decoding operations on the computed sub-blocks. There are 8 kinds, 1∼8.
(10)Obtain two logistic chaotic sequences. The initial value is obtained according to Algorithm 1 to produce two chaotic sequences
(11)Sort the two chaotic sequences obtained in the previous step in descending order and obtain the position sequence before the ranking. Take the sequence value before ranking and its corresponding index as the exchange coordinates of row and column to perform row and column permutation on the matrix.
(12)Combine the three component matrices after row and column permutation.
Output: ciphertext image