DOI QR코드

DOI QR Code

Improved Single Feistel Circuit Supporter by A Chaotic Genetic Operator

  • Received : 2020.04.11
  • Accepted : 2020.05.16
  • Published : 2020.06.30

Abstract

This document outlines a new color image encryption technology development. After splitting the original image into 240-bit blocks and modifying the first block by an initialization vector, an improved Feistel circuit is applied, sponsored by a genetic crossover operator and then strong chaining between the encrypted block and the next clear block is attached to set up the confusion-diffusion and heighten the avalanche effect, which protects the system from any known attack. Simulations carried out on a large database of color images of different sizes and formats prove the robustness of such a system.

Keywords

I. INTRODUCTION

With the rapid advance of innovative technologies in the field of information science and the digital world, all data are increasingly shared over Internet networks. On the other hand, unauthorized access to information or private information has become a problem in the virtual world. Security issues are increasingly coming to the forefront. Encryption and tattooing have become the most effective way to protect against unexpected attacks. However, traditional encryption standards, such as DES and AES, are generally designed only for encrypting text that does not have a high correlation, and are therefore considered unsuitable for images and video data sequences. The new vision of image-based encryption is the use of chaotic sequences for encryption key generation first prescribed by Friedrich in 1998. Since the image has been introduced and processed in digital form, its applications have been steadily increasing. It is now exploited by a wide public, both professional and amateur. However, given the extent of computer resources allowing the free circulation of information and the ease of transmission of confidential data, man has been pushed to increasingly improve encryption algorithms to secure his confidential data. To protect against known attacks, any new encryption system must agree to Shannon’s recommendations [1]; (Permutation, confusion diffusion). The majority of techniques use static permutations such as Arnold's technique [2] or advanced Hill's technique [3]. For confusion the Xor operator is the most used [4]. Recently, in order to avoid differential attacks, most algorithms use different encryption methods. Given the advances in mathematical theory, for the generation of encryption keys, all methods use chaotic cards.

Chang'e Dong [5] offers color image encryption based on the construction of a coupled chaotic map. Xing-Yuan Wanga Sheng-Xian Gua Ying-Qian Zhangab [6] proposed a crypto system based on a multitude of chaotic maps that define an effective result. All these approaches use a Lyapunov exponent calculation [7] to check the installation of chaos and sensitivity to initial conditions. Most encryption algorithms operating on blocks used the Feistel scheme with several turns. RC4, RC6, DES used more than four towers [10]. The classical Feistel technique consists in separating a2n-bit block into two blocks of n bit each, this classical method is resumed by the scheme of the figure below.

Fig. 1. Feistel’s classic round scheme.

This figure could be understood by the following evaluation function. Let t denote the quantity of blocks to be encrypted.

\(\text { Equation } 1\left\{\begin{aligned} g_{i}\left(G_{i,}, D_{i}\right) =\left(G_{i}^{\prime}, \quad D_{i}^{\prime}\right) \\ \left\{\begin{array}{c} G_{i}^{\prime} =D_{i} \\ D_{i}^{\prime}=G_{i} \oplus f_{i}\left(D_{i}\right) \end{array}\right. \end{aligned}\right. \text { With } i \in \mathbb{⟦}1 \quad t {⟧}\)

(fi)is a n-bit pseudo-random function.

In the absence of the diffusion, this method stays exposed to differential attacks. As a result, this scheme was expanded to include a new scheme by a bijection construction from purely random functions to produce a new encryption scheme [8], encapsulating confusiondiffusion. Genetic algorithms are based on the Darwinian evolution of biological populations, whose strongest individuals are the most suitable to survive and reproduce very powerful progeny. These algorithms have surfaced as pre-selected evaluation optimization tools for an assessment function. They are based on the following genetic operations: The inversion, the crossover the mutation and the insertion. Several tentative implementations for genetic algorithms for encrypting color images have surfaced [9-10]. Some use DNA sequences [11] for image encryption, others have used these genetic algorithms to upgrade some conventional encryption systems [12].

II. THE PROPOSED METHOD

Based on chaos, this technique implements one enhanced Feistel lap followed by a genetic crossover. This new color image encryption scheme focuses on six main axes All these measures are shown in a schematic diagram in the following figure.

Fig. 2. Steps of realization of the algorithm.

2.1. Chaotic Sequences Development

All the encryption parameters necessary for the successful execution of our system are generated from three chaotic maps, the most frequently used in the color image encryption. This choice is due to the simplicity of their exploitation and configuration, as well as their extreme sensitivity to the initial parameters.

2.1.1. The logistics map

The logistic map is a recurrent sequence described by a simple polynomial of second degree defined by the following equation

\(\left\{\begin{array}{l} \left.u_{0} \in\right] 0,51[{,}\mu \in[3,754] \\ u_{n+1}=\mu u_{n}\left(1-u_{n}\right) \end{array}\right.\)             (1)

This equation map guarantees that chaos is established to

𝒖𝟎 ∈ ]𝟎, 𝟓 𝟏[ 𝒂𝒔 𝒊𝒏𝒊𝒕𝒊𝒂𝒍 𝒄𝒐𝒏𝒅𝒊𝒕𝒊𝒐𝒏𝒔 𝒂𝒏𝒅 𝝁 ∈ [𝟑, 𝟕𝟔 𝟒] 𝒂𝒔 𝒄𝒐𝒏𝒕𝒓𝒐𝒍 𝒑𝒂𝒓𝒂𝒎𝒆𝒕𝒆𝒓𝒔

2.1.2. PWLCM map

It is a real linear sequence by pieces defined by the equation below.

\(\left\{w_{n}=f\left(w_{n-1}\right)=\left\{\begin{array}{cc} \frac{w_{n-1}}{d} & \text { if } 0 \leq w_{n-1} \leq d \\ \frac{w_{n-1}-d}{0.5-d} & \text { if } d \leq w_{n-1} \leq 0.5 \\ & f\left(1-w_{n-1}\right) \text { else } \end{array}\right.\right.\)             (2)

It is a very simple map to use in color image cryptography. It presents a chaotic aspect for 𝐝 ∈ [𝟎. 𝟓 𝟏] as control parameters, and 𝐰𝟎 ∈ ]𝟎 𝟏[ as initial conditions.

2.1.3. The skew tent map (SKTM)

The Skew tent map will be redefined as the next equation

\(\left\{\begin{array}{l} \left.v_{0} \in\right] 0 \quad 1[\quad p \in] 0,5 \quad [1 \\ v_{n+1}=\left\{\begin{array}{ll} \frac{v_{n}}{p} & \text { if } 0 \prec v_{n} \prec p \\ \frac{1-v_{n}}{1-p} & \text { if } p \prec v_{n\prec1} \end{array}\right. \end{array}\right.\)             (3)

The Skew tent map assures the installation of chaos under the conditions:

𝒗𝟎 ∈ ]𝟎 𝟏[ 𝒂𝒔 𝒊𝒏𝒊𝒕𝒊𝒂𝒍 𝒄𝒐𝒏𝒅𝒊𝒕𝒊𝒐𝒏𝒔, 𝒂𝒏𝒅 𝒑 ∈ ]𝟎, 𝟓 𝟏[ 𝒂𝒔 𝒄𝒐𝒏𝒕𝒓𝒐𝒍 𝒑𝒂𝒓𝒂𝒎𝒆𝒕𝒆𝒓𝒔

2.2. Clear Image Preparation

Before transferred the original image to the encryption surgery center, it must be prepared in anticipation, for this it must include the following activities.

2.2.1. Original image vectoring

After the three (RGB) color channels extraction and their conversion into size vectors (𝐕𝐫), (𝐕𝐠), (𝐕𝐛) (𝟏, 𝐧𝐦) each, a concatenation is established to generate a vector 𝐗(𝐱𝟏 , 𝐱𝟐 , . . . . . . . . , 𝐱𝟑𝐧𝐦) of size (𝟏, 𝟑𝐧𝐦)

2.2.2. Vector size (𝐗) adaptation

The resulting vector 𝐗(𝐱𝟏 , 𝐱𝟐 , . . . . . . . . , 𝐱𝟑𝐧𝐦) must be divided into 𝟐𝟒𝟎 − 𝐛𝐢𝐭 𝐛𝐥𝐨𝐜𝐤𝐬 − 𝟑𝟎 𝐩𝐢𝐱𝐞𝐥𝐬 , therefore its size must be accommodated. Let (𝐥) the new size calculated from the algorithm below.

\(\text { Algorithm1 }\left\{\begin{array}{c} \text { let } \quad 3 n m \equiv r[30] \\ \begin{array}{c} if \ r=0 \text { then } \\ l=3 n m \\ \text { else } \end{array} \\ l=3 n m+30-r \end{array}\right.\)

After, the vector (𝐗) will be transformed into an (𝐓𝐗) vector of size (𝟏, 𝐥) by 𝐚𝐝𝐝𝐢𝐧𝐠 𝟑𝟎 – 𝐫 new chaotic components at the end of the vector (𝐓𝐗), by applying the below algorithm.

\(\text { Algorithm } 2\left\{\begin{array}{c} \text { if } \boldsymbol{r}=\mathbf{0} \text { then } \\ (\boldsymbol{T} \boldsymbol{X})=(\boldsymbol{X}) \\ \text { Else } \\ \text { for } \boldsymbol{i}=3 \boldsymbol{n m}+\mathbf{1} \text { to } \boldsymbol{l} \\ \boldsymbol{T} \boldsymbol{X}(\boldsymbol{i})=\bmod \left(\boldsymbol{E}\left(\mathbf{1} \mathbf{0}^{10} u(i)\right), 253\right)+\mathbf{1} \\ \text { end if } \\ \text { Next } \boldsymbol{i} \end{array}\right.\)

2.2.3. 240-bit blocks decomposition

The vector (𝐓𝐗) is converted to binary and then a size (t, 240) binary matrix (𝐌𝐂) with (𝐭 = 𝐥/𝟑𝟎) . This decomposition can be illustrated by the following figure.

Fig. 3. Transition from clear image to matrix (MC).

2.2.4. (𝐈𝐕) Initialization vector design

Ultimately, the (𝐈𝐕) initialization vector of size (𝟏, 𝟐𝟒𝟎) is provided by the next algorithm.

\(\text { Algorithm3 }\left\{\begin{array}{c} \text { for } i=1 \text { to } 240 \\ I V(i)=0 \\ \text { for } k=2 \text { to } t \\ I V(i)=I V(i) \oplus M C(k, i) \\ \text { Next } k, i \end{array}\right.\)

To surpass the uniform image problem (Black, White …) the vector (𝐈𝐕) will be combined with the chaotic vector (𝐇𝐓) specified by the following algorithm.

\(\text { Algorithm4 }\left\{\begin{array}{c} \text { for } i=1 \text { to } 2 l \\ \text { if }(u(i)>v(i)) \text { then } \\ H T(i)=1 \\ \text { else } \\ H T(i)=0 \\ \text { Next } i \end{array}\right.\)

The blending of the two vectors is performed by the next algorithm.

\(\text { Algorithm5 }\left\{\begin{array}{c} \text { for } i=1 \text { to } 240 \\ I V(i)=I V(i) \oplus H T(i) \\ \text { Next }, i \end{array}\right.\)

This vector has the mission to only modify the value of the first block and start the diffusion confusion process.

\(\text { Algorithm6 }\left\{\begin{array}{c} \text { for } i=1 \text { to } 240 \\ M C(1, i)=M C(1, i) \oplus I V(i) \\ \text { Next }, i \end{array}\right.\)

(𝐍𝐁): In the absence of such an initialization vector, it is very difficult to follow the encryption scheme correctly.

2.3. Encryption Parameter Setting Architecture

2.3.1. Feistel’s first round functions construction

Each MC(k:) block of order (k) will be subdivided into four identical 60 – bit blocks [MG(k:)GM(k:)MD(K:)DM(k:)] and projected to a first enhanced feistel loop described by the following figure.

Fig. 4. First improved Feistel lap.

This pattern can be analytically expressed by the following mathematical statement.

\({\text { Equation } 4 \varphi _ { k } ^ { 1 } }\left\{\begin{array}{l} \operatorname{MD1}(k:)=h_{k}(M D(k:)) \\ \operatorname{MG1}(k:)=M G(k:) \oplus g_{k}(M D(k:)) \\ G S(k:)=M D 1(k:) M G 1(k:) \\ G M 1(k:)=G M(k:) \oplus f_{k}(M G(k:)) \\ \text { DM1 }(k:)=D M(k:) \oplus G M(k:) \\ D S(k:)=D M 1(k:) G M 1(k:) \end{array}\right.\)

• 𝒉𝒌 : Chaotic permutation

• 𝒈𝒌 : Chaotic displacement

• 𝒇𝒌 : Chaotic confusion

2.3.1.1. Feistel function lap design

2.3.1.1.1. Permutation scheme (𝐡𝐤) building

Initially, a descending sort on the first 60 values of the logistics sequence generates a permutation (𝐏𝐑) in 𝐆𝟔𝟎 . secondly, a chaotic vector (𝐃𝐏) is constructed in parallel to serve as building the permutation matrix (𝐌𝐏).

\(\text { Algorithm } 7 \quad\left\{\begin{array}{c} \text { for } i=1 \text { to } t \\ \left.D P(i)=\bmod \left(E\left(10^{10} u(i)\right), 52\right)\right)+3 \\ \text { Next } i \end{array}\right.\)

The first line of the permutation matrix (𝐌𝐏) is the permutation (𝐏𝐑); while line (𝐢 ≥ 𝟐) is the displacement of line (𝐢 − 𝟏) of step 𝐃𝐏(𝐢) . This construction is described by the following algorithm.

\(\text { Algorithm8 }\left\{\begin{array}{l} \text { The first line }\left\{\begin{array}{c} \text { for } i=1 \text { to } 60 \\ \text { MP }(1, i)=P R(i) \\ \text { Next } i \\ \end{array}\right. \\ \text { The following lines }\left\{\begin{array}{c} \text { For } i=2 \text { to } t \\ \text { for } j=1 \text { to } 60 \\ M P(i, j)=\operatorname{MP}\left(\begin{array}{c} i-1, \bmod \\ (j+D P(i) ; 60) \end{array}\right) \\ \text { Next } j,i \end{array}\right. \end{array}\right.\)

Therefore, the application of the permutation 𝐡𝐤 on the block (𝐌𝐃(𝐤:)) given by the next algorithm.

\(\text { Algorithm9 }\left\{\begin{array}{c} \text { for } i=1 \text { to } 60 \\ \text { MD1 }(k, i)=M D(k, M P(k, i)) \\ \text { Next }, i \end{array}\right.\)

2.3.1.2. Function scheme 𝒈𝒌

𝐠𝐤 : is a chaotic offset applied to the 60 bits of the 𝐌𝐆(𝐤:) block. This offset is performed by the chaotic vector (𝐃𝐃) resulting by applying the next algorithm.

\(\text { Algorithm } 10\left\{\begin{array}{c} \text { for } i=1 \text { to } t \\ D D(i)=mod \left(E\left(10^{10} \frac{u(i)+v(i)+w(i)}{3}\right), 51\right)+4 \\ \text { Next } i \end{array}\right.\)

The analytical expression of such a displacement is illustrated by the following algorithm.

\(\text { Algorithm11 }\left\{\begin{array}{c} \text { for } i=1 \text { to } 60 \\ \text { MG1 }(k, i)=\operatorname{MG}(k, \bmod (D D(k)+i, 60) \\ \text { Next }, i \end{array}\right.\)

2.3.1.3. Function scheme 𝒇𝒌

The matrix (𝐌𝐒) is the passage of the vector (𝐇𝐓) resulting by applying the algorithm4 in matrix of size (𝐭, 𝟔𝟎). As a result, the confusion function is given by the following algorithm.

\(\text { Algorithm12 }\left\{\begin{array}{c} \text { for } i=1 \text { to } 60 \\ \text { GM1 }(k, i)=M G(k, i) \oplus M S(k, i) \\ \text { Next }, i \end{array}\right.\)

2.3.2. Analytical expression of the function \(\varphi_{k}^{1}\)

The transformer of first-round diagram block (𝐌𝐂(𝐤:)) given by the algorithm below.

\(\text { Algorithm13 } \varphi_{k}^{1} \left\{\begin{array}{c} \\\text { for } i=1 \text { to } 60 \\MD1 (k, i)=M D(k, M P(k, i)) \\\text { Next } i \\\text { for } i=1 \text { to } 60 \\ {M G 1}({k}, {i})={G} {M}({k}, {i}) \oplus {M} {G}({k}, {i}) \oplus {M S}({k}, {i}) \\\text { Next } i \\\text { for } i=1 \text { to } 60 \\GM1 (k: i)=G M(k, i) \oplus M G(k, \bmod (i+D D(k), 60) \\\text { Next } i \\\text { for } i=1 \text { to } 60 \\DM1 (k: i)=D M(k, i) \oplus G M(k, i) \\\text { Next } i \end{array}\right.\)

We affirm that the function for the first round is a bijection, its reciprocal is given by the following equation.

\(Equation5 \boldsymbol {\varphi}_{\mathbf{k}}^{-\mathbf{1}}\left\{\begin{array}{c}\mathbf{M D}(\mathbf{k}:)=\mathbf{h}_{\mathbf{k}}^{-\mathbf{1}}(\mathbf{M D 1}(\mathbf{k}:)) \\ \mathbf{M G}(\mathbf{k}:)=\mathbf{M G 1}(\mathbf{k}:) \oplus \mathbf{g}_{\mathbf{k}}\left(\mathbf{h}_{\mathbf{k}}^{-1}(\mathbf{M D 1}(\mathbf{k}:))\right) \\ \mathbf{G M}(\mathbf{k}:)=\mathbf{G M 1}(\mathbf{k}:) \oplus \mathbf{f}_{\mathbf{k}}\left(\mathbf{M G 1}(\mathbf{k}:) \oplus \mathbf{g}_{\mathbf{k}}\left(\mathbf{h}_{\mathbf{k}}^{-\mathbf{1}}(\mathbf{M D 1}(\mathbf{k}:))\right)\right) \\ \mathbf{D M}(\mathbf{k}:)=\mathbf{D M 1}(\mathbf{k}:) \oplus \mathbf{G M 1}(\mathbf{k}:) \oplus \mathbf{f}_{\mathbf{k}}\left(\operatorname{MG1}(\mathbf{k}:) \oplus \mathbf{g}_{\mathbf{k}}\left(\mathbf{h}_{\mathbf{k}}^{-1}(\mathbf{M D 1}(\mathbf{k}:))\right)\right.\end{array}\right.\)

2.3.3. Crossover matrix design

A genetic crossover is a pseudo-random function applied to two genes of the same size to form another gene of double size. In our approach, it is a chaotic crossing between two 120-bit vectors to generate a 240-bit block. Firstly, for each block (k) two chaotic vectors (𝐇𝐑) and (𝐑𝐇) are generated by the following algorithm.

\(\text { Algorithm14 }\left\{\begin{array}{c} \text { for } i=1 \text { to } 11 \\ H R(i)=mod \left(E\left(10^{10} * \text { inf }(v(i+k), u(i+k))\right) ; 9\right)+4 \\ R H(i)=mod \left(E\left(10^{12} *\left(\frac{u(i+2 k)+3 * v(i+3 k)}{4}\right)\right) ; y\right)+3 \\ \text { Next } i \end{array}\right.\)

So

\(\text { Equation6 }\left\{\begin{array}{ll} H R=\left(h_{1}, h_{2}, \ldots \ldots h_{12}\right) & \text { With } h_{12}=120-\sum_{i=1}^{i=11} h_{i} \\ R H=\left(r_{1}, r_{2}, \ldots \ldots r_{12}\right) & \text { With } r_{12}=120-\sum_{i=1}^{i=11} r_{i} \end{array}\right.\)

The crossing function in our system is defined by the following mathematical formula.

\(\text { Equation7 }\left\{\begin{array}{l} \operatorname{Cr}(\boldsymbol{L}, \boldsymbol{R})=\boldsymbol{Q} \\ \boldsymbol{L} \text { size block }(\mathbf{1}, \mathbf{1 2 0}) \boldsymbol{b} i \boldsymbol{t} \\ \begin{array}{l} \text { R size block }(\mathbf{1}, \mathbf{1 2 0}) \text { bit } \\ \boldsymbol{Q} \text { size } \text { block }(\mathbf{1}, \mathbf{2 4 0}) \text { bit } \end{array} \end{array}\right.\)

The vector (𝐐) obtained by the following formula.

\(\left\{\begin{array}{l} \qquad \begin{array}{c} &Q=\left(Q_{1}\right)\left(Q_{2}\right)\left(Q_{3}\right)\left(Q_{4}\right) \ldots \ldots \ldots . .\left(Q_{24}\right) \\ &\text { With } \end{array} \\ \text { Equation8 }\left(\begin{array}{l} \left(Q_{1}\right)=\text { Contains } h_{1} \text { components extracted from } L \text { from the first position } \\ \left(Q_{2}\right)=\text { Contains } r_{1} \text { components extracted from } R \text { from the first position } \\ \left(Q_{3}\right)=\text { Contains } h_{2} \text { components extracted from } L \text { from the } h_{1} \text { position } \\ \left(Q_{4}\right)=\text { Contains } r_{2} \text { components extracted from } R \text { from the } r_{1} \text { position } \\ \left(Q_{24}\right)=\text { Contains } r_{12} \text { components extracted from } R \text { from the } r_{11} \text { position } \end{array}\right. \end{array}\right.\)

Example:

Fig. 5. Crossing of two individuals

The genetic crossing function (𝐂𝐫) defined by the equation7 is a bijection. Indeed, we have the block.

𝑸 = (𝑸 𝟏)(𝑸 𝟐)(𝑸 𝟑)(𝑸 𝟒) … … … . . (𝑸 𝟐𝟒)

\(\begin{aligned} &\text { Equation 9 } \quad C r^{-1}\left\{\begin{array}{l} L=\left(Q_{1}\right)\left(Q_{3}\right)\left(Q_{5}\right) \ldots \ldots \ldots\left(Q_{23}\right) \\ R=\left(Q_{2}\right)\left(Q_{3}\right)\left(Q_{6}\right) \ldots \ldots \ldots\left(Q_{24}\right) \end{array}\right. \end{aligned}\)

2.4. Clear Image Encryption

Let’s assume (∅) the clear image (𝐌𝐂) encryption function, we have

\(\text { Equation } 10 \quad(M O)=\emptyset(M C) \text { With } \emptyset=\varphi^{2} \text { o Mt } 0 \text { \varphi }^{1}\)

Therefore

\(\text { Equation 11 } \emptyset(M C(k:))=\left\{\begin{array}{c} \forall k \in ⟦ 1 t ⟧ \text { We have } \\ (M O(k:))=\emptyset(M C(k:)) \\ (M O(k:))=C r_{k} 0 \varphi_{k}^{1}(M C(k:)) \end{array}\right.\)

The encryption process can be illustrated by the following diagram.

Fig. 6. Color image encryption.

2.4.1. Cryptographic function mathematical expression

This new color image encryption technique follows the steps of the algorithm below.

1) Clear image vectoring

2) Adapt the size of image vector

3) Split into t 240 – bit block

4) Extract the initialization vector

5) Do k=1

6) Confusion with the first block

7) Applying the rotation function \(\varphi_{k}^{1}\) the block

8) Perform a genetic crossover on the two output blocks to get the block (IS)

9) Do (IV) = (IS)

10) Do k = k + 1

11) If k ≤ t then do MC(k − 1:) = MC(k:)

12) Return to 5

13) If k > t then restore the encrypted image

2.5. Encrypted Image Decryption

Our approach is a symmetrical chaos-based encryption system, so the secret encryption key is also the decryption key. After decomposing the encrypted image into 240-bit blocks and regenerating all encryption parameters, the decryption process starts with the last block by applying the inverse turn function to the second block, then the initialization vector is recalculated to retrieve the first block and restore the original image.

\(\text { Equation 13 } \emptyset^{-1}(M O(k:))=\left\{\begin{array}{c} \forall k ⟦ t 1⟧ \text { We have } \\ (M C(k:))=\emptyset^{-1}(M O(k:)) \\ (M O(k:))=\varphi_{k}^{-1} 0 C r_{k}^{-1}(M O(k:)) \end{array}\right.\)

2.6. Example and Simulations

A good system crypto must face all known attacks. For each statistical constant, 150 images are randomly selected according to a chaotic vector from a database of color images of different sizes and formats are tested by our algorithm, and a detailed statistical study has been developed.

2.6.1. Key space

If the precision of the computing is 10 decimal digits, then the size of the encryption key in our approach is 1060 ≈ 2180 ≫ 2100 which is more than enough to protect our method from brutal attacks.

2.6.2. Secret key’s sensitivity analysis

The high sensitivity of the encryption keys used in our system indicates that a very slight degradation of the encryption key automatically leads to an image that is so different from the original image. This confirmation can be viewed below the scheme in the figure12.

Fig. 7. Secret key’s sensitivity

We note that a 10−12 change in a single encryption parameter of this technology is incapable of restoring the clear image by the same decryption process.

2.6.3. Entropy analysis

Entropy is the measure of the disorder diffused by a source without memory. The entropy is therefore maximal for a source whose symbols are all equiproable or presenting a flat histogram. The entropy is for an (𝐌𝐂) image of size (𝐧, 𝐦), we pose (𝐭 = 𝐧𝐦), So

\(\text { Equation 14 } \quad H(M C)=\frac{1}{t} \sum_{i=1}^{t}-p(i) \log _{2}(p(i))\)

The entropy values on the 150 images tested by our method are represented graphically by the following figure.

Fig. 8. Entropy of 150 images of the same size

The entropy values of the images encrypted by our algorithm are around 8, it is the maximum value for a color image encoded on 8 bits. It confirms the uniformity of the histograms. This proves that this approach is safe from entropy attack.

2.6.3.1.1. Position parameter analysis

The values derived from the entropy by applying our approach to over 150 images in our image database, constitute a statistical series with position, dispersion and concentration parameters have been recalculated to verify the safety of our approach.

\(\text { Equation } 15\left\{\begin{array}{l} Q_{1}=\text { First quartile } \\ Q_{2}=\text { Second quartile } \\ Q_{3}=\text { Third quartile } \end{array}\right.\)

Table. 1. Position Parameter T

The moustache box of the entorpy is illustrated in the diagram in Figure below.

Fig. 9. Entropy moustache box.

2.6.3.1.2. Asymmetry coefficient

The Yule coefficient measures the asymmetry of the frequency curve of a statistical series. It is explained by the next equation.

\(\text { Equation 16 } \begin{aligned} \\\\s=& \frac{\left(Q_{3}-Q_{1}\right)-\left(Q_{2}-Q_{1}\right)}{\left(Q_{3}-Q_{1}\right)} \\ &=\frac{Q_{3}-2 Q_{2}+Q_{1}}{\left(Q_{3}-Q_{1}\right)} \end{aligned}\)

Under these conditions, Yule has demonstrated that

\(\begin{aligned} &\text { Equation 17 }\left\{\begin{array}{cl} s=0 & \text { it has symmetry } \\ s>0 & \text { right spreading } \\ s<0 & \text { left spreading } \end{array}\right. \end{aligned}\)

In our entropy study, we found

\(s=\frac{Q_{3}-2 Q_{2}+Q_{1}}{\left(Q_{3}-Q_{1}\right)}=0,00221\)

We note that 𝒔 ≈ 𝟎.

We can say that the frequency curve is symmetrical.

Fig. 10. Example of a symmetrical curve following a normal distribution (𝒔 ≈ 𝟎).

2.6.3.1.3. Applatissment coefficient

Flattening is judged by reference to the normal distribution density curve model. We will say that the frequency curve is more or less flattened than the normal distribution model.

The coefficient for quantitatively measuring flattening is called the (Kurtosis). Pearson proposed the following coefficient:

\(\text { Equation } 18 \quad \beta_{2}=\frac{\mu_{4}}{\sigma^{4}} \text { With }\left\{\begin{array}{l} \mu_{4} \text { is the fourth order moment } \\ \sigma \text { is the standard deviation } \end{array}\right.\)

Under these conditions, Pearson has demonstrated that

\(\left\{\begin{array}{cl} \beta_{2}=3 & \text { Normal law. } \\ \beta_{2}>3 & \text { Flattened curve } \\ \beta_{2}<3 & \text { Sharp curve } \end{array}\right.\)             (19)

In our entropy study, we found

\(\beta_{2}=\frac{\mu_{4}}{\sigma^{4}}=2,99725\)

We note that 𝜷𝟐 ≈ 𝟑.

We can say that our distribution is a normal distribution.

2.6.3.2. Correlation analysis

Correlation is a technique that compares two images to estimate the displacement of pixels in one image relative to another reference image. Adjacent pixels of a standard image of a clear image have a strong correlation. A good crypto image system must remove such correlation in order to avoid any statistical attack. The correlation expression is defined by equation below.

\(\text { correlation } \quad r=\frac{\operatorname{cov}(x, y)}{\sqrt{V(x)} \sqrt{V(y)}}\)             (20)

2.6.3.2.1. Horizontal correlation

Simulations performed on 100 identical-sized color images choose from a wide database of images of various sizes, formats and correlated values are represented graphically by the next figure.

Fig. 11. Entropy of 100 images of the same size.

2.6.3.2.2. Vertical correlation

Simulations made on 150 images of the database gave the vertical correlation scores are displayed in Figure below.

Figure 12 shows that the vertical correlation values of the encrypted images are close to zero. This ensures high security against correlation attacks.

Fig. 12. Vertical correlation of 70 images of the varying sizes.

2.6.3.2.3. Diagonal correlation

Simulations made on 150 images of the database gave the diagonal correlation scores are displayed in Figure 13

Fig. 13. Diagonal correlation of 100 images of the varying sizes.

Figure 11 shows that the diagonal correlation values of the encrypted images are close to zero. This ensures high security against correlation attacks.

2.6.3.3. Differential analysis

Let be two encrypted images, whose corresponding freeto-air images differ by only one pixel, from (𝑪𝟏) and (𝑪𝟐), respectively. The expressions of these two statistical constants (𝑁𝑃𝐶𝑅)𝑎𝑛𝑑 (𝑈𝐴𝐶𝐼) are given by equations 12 and 13, for an image size (𝑛, 𝑚).

The 𝑁𝑃𝐶𝑅 mathematical analysis of an image is given by the equation below.

\(\text { Equation21 } \quad N P C R=\left(\frac{1}{n m} \sum_{i, j=1}^{n m} D(i, j)\right) * 100\)

\(\text { With } \quad D(i, j)=\left\{\begin{array}{ll} 1 & \text { if } \quad C_{1}(i, j) \neq C_{2}(i, j) \\ 0 & \text { if } \quad C_{1}(i, j)=C_{2}(i, j) \end{array}\right.\)

The 𝑈𝐴𝐶𝐼 mathematicals analysis of an image is given by the equation 36

\(\text { Equation 22 } U A C I=\left(\frac{1}{n m} \sum_{i, j=1}^{n m} \operatorname{Abs}\left(C_{1}(i, j)-C_{2}(i, j)\right)\right) * 100\)

The study of the 150 selected images revealed the following diagram.

Fig. 14. NPCR of 150 images of the varying sizes.

All detected values are inside the confidence interval [99, 63, 99, 95]. These values are largely sufficient to affirm that our crypto system is protected from known differential attacks.

The study of the 150 selected images revealed the following diagram

Fig. 15. UACI of 150 images of the varying sizes.

All detected values are inside the confidence interval [33, 34, 33, 35]. These values are largely sufficient to affirm that our crypto system is protected from known differential attacks.

2.6.3.4. Avalanche effect

The avalanche effect is a required property in virtually all cryptographic hash functions and block coding algorithms. It causes progressively more important changes as the data is propagating in the structure of the algorithm. Therefore, by perturbing a single bit at the input, we can obtain a very different output, (about 1 bit our of 2 changed) explaining the name of this phenomenon. The avalanche effect makes it more difficult to reverse the function due to its chaotic properties (if well designed).

This constant determines the avalanche impact of the cryptographic structure in place. It is approximated by the next equation.

\(\text { Equation23 } A E=\left(\frac{\sum_{i} \text { bit change }}{\sum_{i} \text { bit total }}\right) * 100\)

Figure below depicts the evaluation of the 𝐴𝐸 score for 150 images examined by our approach.

Fig. 16. Avalanche effect.

All values returned from the AE by our method are all in the range of residual values [73.96 74.02]. This guarantees that a one- bit change in the clear image will be reflected by a change of at least 78% of the encrypted image's bits.

2.6.3.5. Signal-To-Peak noise ratio (PSNR)

2.6.3.5.1 MSE

The image quality estimation to be based on the pixel change was obtained by processing the PSNR values and the MSE. These are the error metrics used to compare the image and the cipher image.

Mean Square Error MSE: This is the cumulative square deviation between the original image and the additional noise image. When the MSE level is reduced, the error is reduced.

This constant measure the distance between the pixels of the clear image and the encrypted image. It is calculated by the next equation.

\(M S E=\sum_{i j}\left(P(L, J)-C(L, J)^{2}\right.\)

(𝑷(𝒊, 𝒋)) : pixel of the clear image

(𝑪(𝒊, 𝒋)) : pixel of the cypher image

2.6.3.5.2 PSNR T

The signal-to-peak noise ratio, often abbreviated PSNR, is a engineering term for the ratio between a signal's maximum possible power and the power of distorted noise that affects the precision of its display. Since many signals have a very large dynamic range, the PSNR is generally stated in terms of the logarithmic decibel scale. The PSNR mathematical analysis of an image is given by the next equation.

\(\operatorname{PSNR}=20 \log _{10}\left(\frac{t_{\operatorname{mar}}}{\sqrt{M S E}}\right)\)             (25)

For RGB color images, the definition of PSNR is the same except that the MSE is the sum of all square value changes. In the alternative, for color images, the image is transcoded into a separate color space and the PSNR is displayed for each channel in that color space. The acceptable PSNR values are the real numbers in the domain (5,10). Simulations made on over 150 images of various magnitudes and formats returned the same results as depicted in the figure 17.

Fig. 17. PSNR of 150 images of the varying sizes.

All values returned from the PSNR by our method are all in the range of residual values [8,99 8,993]. A statistical study of the dispersions of the PSNR values of the 150 images analyzed by our algorithm reveals the scores presented in the following Table 1:

Table. 1. Parameter values.

This table ensures that there is a low dispersion and a high concentration of values in a length interval of 0.001. Moreover, the value of 𝐬 close to 0 indicates that there is a symmetry in this dispersion and the value of 𝛃𝟐 close to 3 shows that our dispersion follows a normal distribution. More than 50% of the values achieved are within a longitudinal range of less than 0.0006.

2.6.3.6. Speed analysis

Assuming that the traditional DES and AES encryption algorithms operate in ECB mode, they are vulnerable to statistical attacks and selected plain text attacks. In addition, these two systems require no linking on clear and encrypted blocks and are consequently deficient in the face of differential attacks. In this sense, we will compare the time complexity for reference images with these two crypto systems. In addition to safety parameters, runtime is an important factor in evaluating image encryption system performance. To approve and document the quality of our methodology in a timely fashion. And finally, thanks to these properties, we have selected the "Lena" grayscale image with three different sizes (256×256) (512×512) and (1024×1024). The results are presented in the table below.

Table. 2. Execution time (in second).

We compare our results with the two classical algorithms AES and DES, Classic Hill and Improvement Hill, we can affirm that the time of execution is reasonable. The test was performed on other images of different sizes, and we obtained acceptable scores. This is due to the low algorithm complexity of the implemented algorithms in our strategy.

2.6.3.7 Math security

The large size of our encryption key ensures that the system is protected against any brute force attack. At the same time, the randomness of the genetic operator and the functions of Feistel's trick make it difficult to unlock the encryption system applied to a given block, increasing the difficulty of the statistical attack. In addition, the high sensitivity to the initial parameters of our three chaotic maps, and the statistical constants calculated in simulation make it difficult to reconstruct the encryption key.

III. CONCLUSION

Taking security as its primary objective, this document develops a new encryption framework for color images of arbitrary size. Based on chaos, this technique relies on 24-bit blocks by applying an improved Feistel round accompanied by genetic crossover, followed by chaining to install protection against any known attack. Simulations performed on more than 150 randomly selected images from a large database of color images of different sizes and formats confirm the robustness of our system.

References

  1. C. E Shanon, Communication theory of security systems, Bell syst Tech J., pp 656-715, 1949
  2. Hillion, Les theories mathematiques des population, P.U.F.1986.coll
  3. A.Jarjar, Improvement of hill's classical method in image cryptography, International Journal of Statistics and Applied Mathematics, vol. 2, no. 3, Part A, 2017.
  4. Hraoui S., Gmira F., Jarar A. O., Satori K. and Saaidi A., Benchmarking AES and chaos based logistic map for image encryption, in Proceeding of International Conference Computer Systems and Applications (AICCSA), 2013.
  5. G. Zhang, Q. Liu, "A novel image encryption method based on total shuffling scheme", Opt. Commun., pp. 284-2775, 2011. https://doi.org/10.1016/j.optcom.2011.02.039
  6. Xiao Feng, Xiaolin Tian and Shaowe iXia, "An Improved Image Scrambling Algorithm Based On Magic Cube Rotation and Chaotic Sequences", in Proceeding of IEEE 4th International Congress on Image and Signal Processing, pp. 1021-1024, 2011.
  7. Chang'e Dong, Color image encryption using one-time keys and coupled chaotic systems, Signal Processing: image Communication, vol. 29, no. 5, pp. 628-640, 2014. https://doi.org/10.1016/j.image.2013.09.006
  8. Xing-Yuan Wanga, Sheng-Xian Gua and Ying-Qian Zhangab, "Novel image encryption algorithm based on cycle shift and chaotic system," Signal Processing: Image Communication. vol. 68, pp. 126-134, 2015.
  9. G. Zhang and Q. Liu, "A novel image encryption method based on total shuffling scheme", Opt. Commun., pp. 2775-2780,2011. https://doi.org/10.1016/j.optcom.2011.02.039
  10. Tomoyasu Suzaki Kazuhiko Minematsu, "Improving the Generalized Feistel," in Proceeding of International Workshop on Fast Software Encryption FSE 2010, pp. 19-39, 2010.
  11. Abdellatif JarJar, "Improvement of Feistel method and the new encryption scheme," Optik, vol. 157, pp. 1319-1324, 2018. https://doi.org/10.1016/j.ijleo.2017.12.065
  12. Jacques Patarin, "Security of Random Feistel Schemes with 5 or More Rounds," in Proceeding of Annual International Cryptology Conference CRYPTO 2004: Advances in Cryptology - CRYPTO, pp. 106-122, 2004.