Abstract
The paper implements and optimizes the performance of a currently proposed chaos-deoxyribonucleic acid (DNA)-based hybrid approach to encrypt images using a bi-objective genetic algorithm (GA) optimization. Image encryption is a multi-objective problem. Optimizing the same using one fitness function may not be a good choice, as it can result in different outcomes concerning other fitness functions. The proposed work initially encrypts the given image using chaotic function and DNA masks. Further, GA uses two fitness functions – entropy with correlation coefficient (CC), entropy with unified average changing intensity (UACI), and entropy with number of pixel change rate (NPCR) – simultaneously to optimize the encrypted data in the second stage. The bi-objective optimization using entropy with CC shows significant performance gain over the single-objective GA optimization for image encryption.
1 Introduction
Due to the rapid change in network technology and the popularity of the Internet, digital images are easily available, and anyone can process and distribute them. Hence, the security of digital images has become very vital, and the main issue is to secure such information from attackers [4]. Digital images are sent after applying some encrypting algorithms so that only the receiver can retrieve its content. This process has been developed in the science of cryptography. The encoding technique is known as encryption.
One great challenge in data security is to design computationally efficient encryption algorithms to keep data secure, particularly when communicating through untrusted networks such as the Internet. The encryption techniques may be conventional and chaotic. Traditional encryption techniques like advanced encryption standard, data encryption standard, international data encryption algorithm, and Rivest Shamir Adleman are not appropriate for real-time image encryption because these demand large computation time and high power [4, 9, 13, 16]. Chaotic algorithms are based on the ability of some dynamic systems to produce a random sequence of numbers, and have many unique characteristics such as sensitivity to starting conditions, no periodicity, no convergence, and control parameters [15]. Chaos has features mainly consisting of boundedness, ergodicity, randomness, fractal dimension, scaling property, universality, and positive Lyapunov exponent [15]. Researchers have proposed many image encryption algorithms using conventional, chaotic, and as well as hybrid approaches [1, 5, 6, 10, 11, 17, 18, 20, 23, 24, 25, 26]. Abdullah et al. first proposed a genetic and chaotic-based hybrid approach for encrypting images. The correlation coefficient (CC) has been used as the fitness function by genetic algorithm (GA) [1].
In the recent scenario, the DNA-based image encryption approach has proven to be more efficient and accurate [10, 11, 17, 18, 20, 24, 25, 26]. The approach converts the plain image to DNA sequence, and subsequently, the cipher image is produced using DNA rules. In Ref. [18], a novel approach to encrypt color image using hyper-chaotic and DNA rules has been proposed. The approach was re-evaluated and broken in Ref. [11]. In the same pattern, the hyper-chaotic and DNA-based image fusion encryption technique of Ref. [26] was broken in Ref. [20]. Recently, Enayatifar and Abdullah [4] introduced a synchronous chaos-DNA-based permutation-diffusion approach that performs permutation and diffusion at the same time to reduce time requirements.
Enayatifar et al. implemented image encryption with the combination of chaos theory, DNA rules, and GA optimization. The proposed work used entropy as the objective function to find the best DNA mask [5]. Abdullah et al. [1] and Enayatifar et al. [5] used two different fitness functions, CC and entropy, respectively, to optimize their implemented approaches.
An efficient image encryption algorithm maximizes the entropy and minimizes the CC. The proposed work targets bi-objective GA optimization using entropy and CC, simultaneously. The simulation results are also shown with interpolation of entropy with two other objective functions. It uses the classical weighted sum approach of solving multiple-objective image encryption problems. Firstly, the chaotic map function converts the input image into DNA sequence. Secondly, GA is applied to obtain the optimum results.
The proposed method is an optimization of the work done in Refs. [1, 5]. The literature reveals that the classical logistic map has problems like blank and stable windows [22]. Thus, the implemented work also uses the transformed logistic function and compares its performance with the logistic map function. The simulation results exhibit that use of two objective functions show consistent and stable values. Section 2 discusses chaotic functions, DNA, and GA approach. Section 3 deals with the proposed method. The experimental results are described in Section 4. Section 5 concludes the proposal.
2 Fundamentals
This section discusses the fundamentals of chaotic function, DNA, and GA approach used in the proposed work.
2.1 Chaotic Mapping
The main idea behind every encryption system is pseudo-random sequence generation and random mixing. A chaotic function is similar in behavior to noise function; however, unlike noise, it is deterministic in nature, i.e. initial values and necessary parameters can reproduce it. The initial condition dependency property of chaotic function makes it excellent for use in cryptography. This property can be defined as, “If a random output is obtained by some set of initial values and then these are altered, even just by a small factor, the output will also be different for the new initial values.” The logistic map function defined in Eq. (1) is a discrete chaotic, non-linear map function and is the most commonly used function [15]:
where Xi lies in the range of 0 and 1 for n number of iterations. The chaotic nature of the function depends on the parameter r used. The function shows complete chaotic behavior for r>3.83. For the implemented work, r is taken as 3.999.
The logistic map function described by Eq. (1) is very simple and the most widely accepted. However, it suffers from hidden security issues such as small key space, stable windows, and blank windows [22]. Many approaches have been proposed by various researchers to deal with these issues [7, 21]. However, the computational complexity of these proposed techniques is much higher than that of the logistic map. In Ref. [19], Xie et al. proposed a transformed logistic function that has a computational overhead identical to that of the logistic map and efficiently deals with the security constraints of the logistic map. The transformed logistic map function is given by Eq. (2) as
where parameter k is independent of parameter r and mod1 is used to take a decimal part of the value [19]. The implemented work takes the value of k as 668.6.
2.2 Deoxyribonucleic Acid (DNA)
DNA sequence: Four distinct nucleic acids, namely adenine (A), cytosine (C), guanine (G), and thymine (T), forms a DNA sequence where A always pairs with T and C always pairs with G to form units called base pairs. Table 1 shows the DNA encoding map rules used for the paper. It concludes that adenine is always taken as the complement of thymine and cytosine is taken as the complement of guanine, and vice versa.
Rule | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 |
---|---|---|---|---|---|---|---|---|
00 | A | A | T | T | C | C | G | G |
01 | G | C | G | C | T | A | T | A |
10 | C | G | C | G | A | T | A | T |
11 | T | T | A | A | G | G | C | C |
DNA operations: Along with biological operations, some algebraic operations like addition, subtraction, XOR, etc. have also been used in DNA computing. The implemented encryption algorithm uses DNA XOR operation.
2.3 Multi-objective GA
GA is an evolutionary or population-based approach popularly used for optimization in recent research scenario. GA uses mapping criteria between the solution space S and a unique solution vector x from the same solution space S. The mapping criterion is named as encoding, and x is defined as a chromosome. A group of such unique solutions or chromosome forms is known as the population. Crossover and mutation are the two operations used by GA, where the former produces the new chromosomes by interpolating any two existing chromosomes while the latter generates new solutions by causing chaotic changes into given solution characteristics [8].
The population-based approach, capability to find distinct regions of S, and non-requirement of prioritizing, scaling, or weighing objectives are the characteristics of GA that make it good in optimizing multi-objective problems like image encryption. Vector evaluated GA [14], multi-objective GA [2], multi-objective evolutionary algorithm [3], and rank density GA [12] are some well-known approaches given in the literature. In this paper, bi-objective optimization has been taken into consideration and an a priori approach of the classical weighted sum method has been used to optimize the results. The mathematical expression for the approach is given in Eq. (3):
where Σ αi=1 and fni is the ith fitness or objective function used. Equation (3) provides a single solution and weights are assigned by the user itself.
3 Proposed Method
This section gives the pseudo-code for the methodology used to implement the proposed method. The input to the given algorithm is a plain two-dimensional (2-D) image and a predefined secret key length. The output of the algorithm is an encrypted image. The proposed approach is mainly divided into three steps.
3.1 Secret Key Generation
Step 1 generates the secret key by first converting the given 2-D image to a 1-D array and using 15 keys {K1, …, K15} each of 8-bit character to make it 120 bits. The X0 of Eqs. (1) and (2) is evaluated in Eq. (4) using {K1, …, K15} as
3.2 Initial Population Formation
In this step, an initial DNA population is formed by using the chaotic map function of Eq. (1) or (2), shuffling the pixels and using DNA rules.
Let Plain_input_image[1…M,1…N] be the given input image |
Let Skey_len be the predefined secret key length |
M=256 |
N=256 |
Skey_len=120 |
Algorithm Main: Img_enc_ga_Bi_ob (Plain_input_image) |
Step 1: /* Secret key Generation */ |
M=Plain_input_image.rows |
N=Plain_input_image.columns |
n=M * N |
let odim[1…n] be a 1-D array |
odim=convert_image_to_1DArray(Plain_input_image) |
let secretkey be a string |
secretkey=generate_secret_key(Skey_len) |
Step 2: /* Initial Population Formation */ |
X0=generate_ X0 (secretkey) using Eq. (4) |
[locationMap,rn]=Generate_location_map(n, X0) |
let shim[1…M * N] be shuffle image 1-D array |
shim=convert_image_to_1DArray(locationMap) |
let DNA be an empty string denoting dna_seq |
let rulesOnShuffle[1…n] be a 1-D array denoting DNA rules |
encode shuffle image using X0 and DNA rules to generate DNA |
Step 3: /* Cipher Image Generation */ |
let popSize denote the initial population size |
let popKeys[1…popSize,2] be a 2-D array |
let pop[1…popSize,1] be a 2-D array |
[pop,popKeys]=generate_random_mask_pop(X0,popSize,n) for encryption |
let gbest denote optimal DNA mask |
for i=1 to popSize |
gbest=select optimal DNA mask using GA_Fitness() function |
let Qdash be a string denoting fused_dna |
Qdash=fuse_dna_and_mask(dna,gbest) |
let decoded[1…n] be a 1-D array |
decoded=decode DNA Qdash to enc image |
cipher[1…M,1…N] be a 2-D array denoting cipher image |
cipher=to_two_dim(decoded,M,N) |
return cipher |
Generate_location_map(n, X0) |
let rn[1…n] be a 1-D array denoting chaotic map function |
let locationMap[1…M * N] be a 1-D array |
rn=Logistic_map(n, X0) using Eq. (1) |
or Transformed_Logistic_map(n, X0) using Eq. (2) |
[srn,idx]=sort(rn) |
locationMap=idx |
return [locationMap,rn] |
GA_Fitness(obj_type,Plain_input_image,DNA_MASK) |
Alpha=0.6 |
Beta=(1−Alpha) |
M=Plain_input_image.rows |
N=Plain_input_image.columns |
n=M * N |
/*fusing image and mask*/ |
let Qdash be a string denoting fused_dna |
Qdash=fuse_plain_input_image_with_dna_mask(Plain_input_image,DNA_MASK) |
let decoded[1…n] be a 1-D array |
decoded=decode DNA Qdash to enc image |
de[1…M,1…N] be a 2-D array |
de=to_two_dim(decoded,M,N); |
Objective1=entropy(de) using Eq. (6) |
if(obj_type == ‘entropy’) { |
Alpha=1 |
Objective2=0 |
} |
else if(obj_type == ‘cc’) { |
Alpha=1 |
Objective1=cc(de) using Eqs. (7)–(11) |
Objective2=0 |
} |
else if(obj_type == ‘entropy_cc’) { |
Objective2=cc(de) using Eq. (14) |
} |
else if(obj_type == ‘entropy_npcr’) { |
Objective2=npcr(de) using Eq. (15) |
} |
else { |
Objective2=uaci(de) using Eq. (16) |
} |
fitness_value=Objective1 * Alpha+Objective2 * Beta |
return fitness_value |
3.3 Cipher Image Creation
In this step, initially, DNA mask is generated. Secondly, GA with different fitness functions is applied to select the optimal DNA mask. The fitness functions used are entropy only, CC only, entropy and CC, entropy and number of pixel change rate (NPCR), and entropy and unified average changing intensity (UACI). The algorithm Main (), in the given pseudo code, uses function GA_Fitness to implement the proposed optimization. The mathematical expression for the same using the weighted sum approach is given as
where Alpha and Beta are the predefined weights assigned by the user and Beta=(1−Alpha).
As objective 1, i.e. entropy, has been given the priority, Alpha has been kept equal to 0.6 and Beta has been given the value 0.4.
4 Experimental Setup and Results
The section discusses the experimental setup used and the results obtained after performing the simulation. MATLAB version 10, operating system Windows 7, and Processor i-7 were used. The standard images used by previous researchers were selected to show the comparison with earlier developed approaches. The following parameters were taken into consideration to test the performance of the developed parameters.
4.1 Data Set Used
Four grayscale images of dimensions 256×256 as shown in Figure 1A–D – Camera_men, Lena, Coin, and Rice – were used to test the proposed optimization technique.
4.2 Histogram Analysis
The histogram of an image shows how pixels in an image are distributed by graphing the number of pixels at each color intensity level. The histograms of plain images and shuffled images are always the same. The histogram of plain or original image is a fluctuating one, whereas the encrypted image has an almost uniform histogram and is distinct from the original one. Figure 2 A–O shows the histogram analysis of Figure 1A–C using logistic map chaotic function, and Figure 3A–E shows the histogram analysis of Figure 1D using transformed logistic map function.
4.3 Entropy Analysis
Entropy is a statistical measure of randomness. Entropy tells the degree of uncertainty in an image. Higher entropy means a stronger algorithm and more uniform distribution. The mathematical expression for entropy is
where H(m) represents the entropy of an image in bits, N is the number of gray level in the image (256 for 8-bit images), and P(mi) is the probability of occurrence of symbol m.
4.4 CC Analysis
CC factor is a type of statistical analysis and is applied to measure the relationship between two variables: the image and the encryption. For a good encryption algorithm, there must be a lower correlation between adjacent pixels. If the CC equals 1, it means the original image and its encrypted image are identical. If the CC equals 0, that means the encrypted image is totally different from the original one, which is good encryption. If the CC equals −1, that means the encrypted image is the negative of the original image. For analyzing the correlations of the adjacent pixels, the mathematical expression is given as
where x, y are values of two adjacent pixels, COV(x, y) refers to the covariance between x and y, and E(x) is the expectation of variable x defined as
D(x) is the variance of variable x.
4.5 Differential Analysis
In this analysis, a minute change is made into the original image by the attacker. The NPCR and UACI are the two parameters used for the differential analysis. NPCR is defined as the change rate of the number of pixels of the cipher image with respect to the per pixel change in the plain image. UACI is the measure of the average intensity of the difference between the plain and cipher images.
The NPCR is given by the equation
where D(i, j) is a 2-D array having the same size as the encrypted images.
UACI is mathematically expressed as
where W=width of C1 and C2, H=height of C1 and C2, and C1 (i, j) and C2 (i, j) are corresponding images to the original images that have only 1 pixel difference.
4.6 Bi-objective Fitness Formula
Equations (14)–(16) describe the bi-objective optimization used in the implemented work. The equations use the mathematical expressions defined in Eqs. (6)–(13).
Tables 2–4 and Figures 4–6 show the comparative analysis of different fitness functions for Figure 1A–C using logistic map function. Table 5 and Figure 7A–D show comparative analysis of different fitness functions using transformed logistic map function.
Image | Camera_man | |||
---|---|---|---|---|
Objective | Entropy | NPCR% | UACI% | CC |
Entropy | 7.8392 | 99.5117 | 29.5956 | −0.0153 |
CC | 7.7684 | 99.8047 | 31.2121 | −0.0733 |
Entropy+CC | 7.8106 | 99.9023 | 31.5162 | −0.0824 |
Entropy+NPCR | 7.7684 | 99.8047 | 31.2121 | −0.0733 |
Entropy+UACI | 7.8106 | 99.9023 | 31.5162 | −0.0824 |
Image | Coin | |||
---|---|---|---|---|
Objective | Entropy | NPCR% | UACI% | CC |
Entropy | 7.8306 | 99.5117 | 29.3987 | 0.0058 |
CC | 7.7687 | 99.707 | 30.5005 | −0.065 |
Entropy+CC | 7.8091 | 99.6094 | 29.8694 | −0.0151 |
Entropy+NPCR | 7.8116 | 99.707 | 28.7037 | 0.0667 |
Entropy+UACI | 7.8249 | 99.5117 | 29.4007 | −0.0031 |
Image | Lena | |||
---|---|---|---|---|
Objective | Entropy | NPCR% | UACI% | CC |
Entropy | 7.8461 | 99.2188 | 29.4979 | 0.0418 |
CC | 7.7715 | 99.6094 | 30.8073 | −0.0304 |
Entropy+CC | 7.8091 | 99.707 | 30.5706 | −0.0548 |
Entropy+NPCR | 7.842 | 99.9023 | 30.7709 | −0.023 |
Entropy+UACI | 7.8413 | 99.707 | 28.6769 | 0.0491 |
Image | Rice | |||
---|---|---|---|---|
Objective | Entropy | NPCR% | UACI% | CC |
Entropy | 7.8553 | 99.5117 | 29.5278 | 0.0113 |
CC | 7.8005 | 99.9023 | 31.1562 | −0.0572 |
Entropy+CC | 7.8035 | 99.5117 | 30.617 | −0.0433 |
Entropy+NPCR | 7.8471 | 99.9023 | 30.3259 | −0.019 |
Entropy+UACI | 7.8388 | 99.6094 | 29.0146 | 0.0132 |
5 Conclusion and Future Work
In this paper, a chaos-DNA-based hybrid approach using bi-objective GA for optimization has been proposed. It helps in image encryption using chaotic function and DNA mask. The proposed system uses two different chaotic functions. It adopts a two fitness function optimization approach that results in better performance than the single-objective function optimization. The proposed technique shows that using two fitness functions, entropy and CC combination, produces better results. The experimental results showcase better performance when demonstrated on sample benchmark image datasets using bi-objective optimization. The work can further be extended by using multi-objective optimization with more powerful encryption algorithms.
Bibliography
[1] A. H. Abdullah, R. Enayatifar and M. Lee, A hybrid genetic algorithm and chaotic function model for image encryption, AEU – Int. J. Electron. Commun.66 (2012), 806–816.10.1016/j.aeue.2012.01.015Search in Google Scholar
[2] C. C. Coello, Evolutionary multi-objective optimization: a historical view of the field, IEEE Comput. Intell. Mag.1 (2006), 28–36.10.1109/MCI.2006.1597059Search in Google Scholar
[3] S. Das and B. K. Panigrahi, Multi-objective evolutionary algorithms, in: Encyclopedia of Artificial Intelligence, pp. 1145–1151, IGI Global, 2009.10.4018/978-1-59904-849-9.ch167Search in Google Scholar
[4] R. Enayatifar and A. H. Abdullah, Image encryption using a synchronous permutation-diffusion technique, Optics Lasers Eng.90 (2017), 146–154.10.1016/j.optlaseng.2016.10.006Search in Google Scholar
[5] R. Enayatifar, A. H. Abdullah and I. F. Isnin, Chaos-based image encryption using a hybrid genetic algorithm and a DNA sequence, Optics Lasers Eng.56 (2014), 83–93.10.1016/j.optlaseng.2013.12.003Search in Google Scholar
[6] R. Enayatifar, A. H. Abdullah and M. Lee, A weighted discrete imperialist competitive algorithm (WDICA) combined with chaotic map for image encryption, Optics Lasers Eng.51 (2013), 1066–1077.10.1016/j.optlaseng.2013.03.010Search in Google Scholar
[7] H. Gao, Y. Zhang, S. Liang and D. Li, A new chaotic algorithm for image encryption, Chaos Solitons Fractals29 (2006), 393–399.10.1016/j.chaos.2005.08.110Search in Google Scholar
[8] A. Konak, D. W. Coit and A. E. Smith, Multi-objective optimization using genetic algorithms: a tutorial, Reliab. Eng. Syst. Saf.91 (2006), 992–1007.10.1016/j.ress.2005.11.018Search in Google Scholar
[9] S. Li, G. Chen, A. Cheung, B. Bhargava and K. T. Lo, On the design of perceptual MPEG-video encryption algorithms, IEEE Trans. Circuits Syst. Video Technol.17 (2007), 214–223.10.1109/TCSVT.2006.888840Search in Google Scholar
[10] H. Liu and X. Wang, Image encryption using DNA complementary rule and chaotic maps, Appl. Soft Comput.12 (2012), 1457–1466.10.1016/j.asoc.2012.01.016Search in Google Scholar
[11] Y. Liu, J. Tang and T. Xie, Cryptanalyzing a RGB image encryption algorithm based on DNA encoding and chaos map, Optics Laser Technol.60 (2014), 111–115.10.1016/j.optlastec.2014.01.015Search in Google Scholar
[12] H. Lu and G. G. Yen, Rank-density-based multi-objective genetic algorithm and benchmark test function study, IEEE Trans. Evol. Comput.7 (2003), 325–343.10.1109/TEVC.2003.812220Search in Google Scholar
[13] M. Salleh, S. Ibrahim and I. F. Isnin, Image encryption algorithm based on chaotic mapping, J. Teknol.39 (2003), 1–12.10.11113/jt.v39.458Search in Google Scholar
[14] J. D. Schaffer, Multiple objective optimization with vector evaluated genetic algorithms, in: Proceedings of the 1st International Conference on Genetic Algorithms, pp. 93–100, L. Erlbaum Associates Inc., NJ, USA, 1985.Search in Google Scholar
[15] K. Sun, Chaotic Secure Communication: Principles and Technologies, Walter de Gruyter GmbH & Co KG, Berlin/Boston, 2016.10.1515/9783110434064Search in Google Scholar
[16] M. Usama and M. K. Khan, Classical and chaotic encryption techniques for the security of satellite images, in: International Symposium on Biometrics and Security Technologies, 2008, ISBAST 2008, pp. 1–6, IEEE, 2008.10.1109/ISBAST.2008.4547663Search in Google Scholar
[17] X. Wang, L. Teng and X. Qin, A novel color image encryption algorithm based on chaos, Signal Process.92 (2012), 1101–1108.10.1016/j.sigpro.2011.10.023Search in Google Scholar
[18] X. Wei, L. Guo, Q. Zhang, J. Zhang and S. Lian, A novel color image encryption algorithm based on DNA sequence operation and hyper-chaotic system, J. Syst. Softw.85 (2012), 290–299.10.1016/j.jss.2011.08.017Search in Google Scholar
[19] J. Xie, C. Yang, Q. Xie and L. Tian, An encryption algorithm based on transformed logistic map, in: International Conference on Networks Security, Wireless Communications and Trusted Computing, 2009, NSWCTC‘09, vol. 2, pp. 111–114, IEEE, Wuhan, Hubei, China, 2009.10.1109/NSWCTC.2009.201Search in Google Scholar
[20] T. Xie, Y. Liu and J. Tang, Breaking a novel image fusion encryption algorithm based on DNA sequence operation and hyper-chaotic system, Optik – Int. J. Light Electron Optics125 (2014), 7166–7169.10.1016/j.ijleo.2014.07.111Search in Google Scholar
[21] W. Yong, L. Sheng-zhu and D. U. Mao-kang, Block encryption algorithm based on multiple logistic maps, Comput. Eng.33 (2007), 162–164.Search in Google Scholar
[22] C. Yuan, Chaos based encryption algorithm for compressed video, Chin. J. Comput. Chin. Ed.27 (2004), 257–263.Search in Google Scholar
[23] G. Zhang and Q. Liu, A novel image encryption method based on total shuffling scheme, Optics Commun.284 (2011), 2775–2780.10.1016/j.optcom.2011.02.039Search in Google Scholar
[24] Q. Zhang, L. Guo and X. Wei, Image encryption using DNA addition combining with chaotic maps, Math. Comput. Modell.52 (2010), 2028–2035.10.1016/j.mcm.2010.06.005Search in Google Scholar
[25] Q. Zhang, X. Xue and X. Wei, A novel image encryption algorithm based on DNA subsequence operation, Sci. World J.2012 (2012). http://dx.doi.org/10.1100/2012/286741.10.1100/2012/286741Search in Google Scholar PubMed PubMed Central
[26] Q. Zhang, L. Guo and X. Wei, A novel image fusion encryption algorithm based on DNA sequence operation and hyper-chaotic system, Optik – Int. J. Light Electron Optics124 (2013), 3596–3600.10.1016/j.ijleo.2012.11.018Search in Google Scholar
©2019 Walter de Gruyter GmbH, Berlin/Boston
This article is distributed under the terms of the Creative Commons Attribution Non-Commercial License, which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.