Image Encryption Using a 6D Hyperchaotic System with DNA Encoding
Introduction
With advancements in digital image processing, image encryption has become increasingly vital for information security. Chaotic encryption algorithms are a popular research focus due to their effective diffusion and confusion properties. However, traditional low-dimensional chaotic systems often suffer from small key spaces and limited security.
Image Encryption Algorithm Based on a 6D Hyperchaotic System
To address the limitations of low-dimensional chaotic systems, this article proposes an image encryption algorithm that utilizes a 6D hyperchaotic system combined with DNA encoding. This approach enhances security by employing a high-dimensional chaotic system as a pseudo-random sequence generator.
Algorithm Steps
The algorithm proceeds as follows:
- Key Generation: Generate six initial values and control parameters to form the key for the 6D hyperchaotic system.
- Image Preprocessing: Convert the original image into a binary format and partition it into 8×8 pixel blocks.
- Diffusion: Apply six chaotic sequences to diffuse each pixel block, altering pixel values.
- Scrambling: Use distinct chaotic sequences to scramble the diffused pixel blocks, changing pixel positions.
- DNA Encoding: Transform the scrambled pixel blocks into DNA sequences, then diffuse and scramble these sequences using additional chaotic sequences.
- Image Reconstruction: Combine the encoded sequences to produce the encrypted image.
Experimental Results
To evaluate the algorithm's performance, the following experimenst were conducted:
- Image Entropy: The encrypted image's entropy approaches 8, indicating strong randomness.
- Pixel Correlation: Low pixel correlation in the encrypted image demonstrates effective confusion.
- Image Complexity: A key space exceeding 2^300 suggests high security.
- Robustness: The encrypted image shows good resistance to geometric and truncation attacks.
Conclusion
The proposed image encryption algorithm, based on a 6D hyperchaotic system with DNA encoding, exhibits excellent entropy, pixel correlation, complexity, and robustness. It effectively secures image data and is suitable for various encryption applications.
Code Example
function entropyValues = computeImageEntropy(imageData)
% COMPUTEIMAGEENTROPY Calculates the entropy of an image.
% entropyValues = computeImageEntropy(imageData) returns a vector of
% entropy values for each color channel of the input image.
entropyValues = zeros(1, 3);
function channelEntropy = calculateChannelEntropy(channel)
channel = double(channel);
[rows, cols] = size(channel);
pixelVector = channel(:)';
probabilityDistribution = zeros(1, 256);
for intensity = 0:255
probabilityDistribution(intensity + 1) = sum(pixelVector == intensity) / (rows * cols);
end
nonZeroProbabilities = probabilityDistribution(probabilityDistribution > 0);
channelEntropy = -nonZeroProbabilities * log2(nonZeroProbabilities)';
end
for channelIndex = 1:3
entropyValues(channelIndex) = calculateChannelEntropy(imageData(:, :, channelIndex));
end
end
References
Li, Q., Chen, L. An image encryption algorithm based on 6-dimensional hyper chaotic system and DNA encoding. Multimed Tools Appl 83, 5351–5368 (2024). https://doi.org/10.1007/s11042-023-15550-3