Ⅰ. INTRODUCTION
The operation of digital data and its transmission through the network are uncertain operations and are vulnerable to various attacks, cryptography is becoming the most effective means for data security. In the literature, almost all classical methods are still vulnerable to statistical and differential attacks.
1.1. Conventional Hill technique
This technique, discovered by HILL [1],[2] in 1929, was only applicable to the text. It is based on two main steps. The first step is to divide the message to be encrypted into n character (natural number) blocks, and the second step is in a carefully selected ring as 𝑢𝑠𝑢𝑎𝑙𝑙𝑦 𝑍/26𝑍 𝑜𝑟 𝑍/256𝑍) The difficulty of constructing a large invertible matrix prompts researcher to only Use a matrix with 𝑛 ≥ 4. Equation 1 fully describes this standard technique
{𝐶𝑖′ = 𝐾𝐶𝑖 } ∀ 𝑖 ≥ 1. (1)
With(𝐶𝑖)is the clear block, (𝑪𝒊′)is the encrypted block, and (𝐾) is the encryption key. Each (𝑪𝒊) block is translated to an element of a well selected (𝐺𝑡) ring. In such a case, the encryption matrix (𝐾) is assigned coefficients in the same ring (𝑮𝒕) . Due to the high degree of linearity, this technique is always exposed to selected plain text and known statistical attacks. On the other hand, the high correlation between adjacent pixels and diagonal pixels of the image makes this technique unsuitable for image encryption. Finally, there is no chain in the encryption system, so this method is vulnerable to differential attacks. The decryption operation is described by next equation.
{𝐶𝑖 = 𝐾−1𝐶𝑖′} ∀ 𝑖 ≥ 1. (2)
1.2. Hill's classic method survey
Several successive developments in the methodology have taken place over time, but all using a reference ring such as (𝑮𝟐𝟓𝟔) or(𝑮𝟐𝟔) which significantly reduces the number of invertible matrixes and increases the risk of brutal attacks.
A first improvement [3-4-5] consists in modifying at each iteration; the encryption matrix by a secret permutation (𝒉) and fixed in the ring (𝑮𝟐𝟓𝟔), on the rows or on the columns. This improvement is given by the equation 3
\(\left\{\begin{array}{l} C_{1}^{\prime}=K_{1} C_{1} \\ C_{i}^{\prime}=h\left(K_{i-1}\right) C_{i} \quad \forall i \geq 2, \end{array}\right.\) (3)
where 𝒉 (𝑲𝒊−𝟏) is the transform of the matrix (𝑲𝒊−𝟏)by fixed permutation (𝒉). Other improvements accompany the static encryption matrix of a translation vector(𝑻) , and this to overcome the problem of uniform blocks [6 − 7] and null blocks, still others modify the translation vector at each iteration by a linear transformation provided by a fixed matrix (𝑸) of size (𝒏, 𝒏 ), not necessarily inversible. This method is described by equation4.
\(\left\{\begin{array}{l} C_{1}^{\prime}=K C_{1} \oplus T_{1} \\ T_{l}=Q T_{i-1} \text { With } i \geq 2, \\ C_{i+1}^{\prime}=K C_{i} \oplus T_{i} \forall i \geq 1 \end{array}\right.\) (4)
These improvements overcome statistical attacks and selected text attacks, but due to the lack of clear links between the original pixels, encrypted pixels, and encryption keys, they are still vulnerable to differential attacks. However, unless there is a strong correlation between the adjacent pixels of the image and the diagonal, all these methods are still powerless. Recently, the algorithm based on the classic chaotic method has exploded, and the chaotic suite [8 − 9] has been created to increase the key space, thereby protecting the method from brutal attacks. Unfortunately, due to the difficulty of calculating the inverse of higher-order matrices, these methods still use general non-invertible matrices with 𝑛 > 4 [10],[11], which poses complexity problems. So far, all encryption algorithms have considered the pixel values of the image in ring 𝑮𝟐𝟓𝟔, and the number of invertible matrices of size (𝑛, 𝑛) with coefficient 𝑮𝟐𝟓𝟔 is given by the following formula [12], [13].
1.3. Our contribution
Faced with the great difficulty of inverting in large-size matrices, the researchers were content to handle matrices of sizes generally less than five, in the classic ring (𝑮𝟐𝟓𝟔) To correct this anomaly, our contribution provides a convincing solution by treating all pixel values as elements of one of the constructed subjects. Working in the body greatly increases the number of invertible matrices and provides protection. To facilitate algebraic calculations, two chaos tables will be generated.
• Discrete logarithmic table
• Discrete exponential table
Moreover, taking advantage of the properties of the involuntary matrices, a new technique for constructing invertible matrices of random size will be determined.
Ⅱ. THE PROPOSED METHOD
This new technology that works at the pixel level is explained in the following aspects, and its value is regarded as an element of the built company.
Fig. 1. Steps of realization of the algorithm.
Finally, a detailed analysis of our methodology performance will be discussed and compared with other reference systems.
Step 1: Chaotic sequences Development
Our algorithm uses two of the most famous and widely used chaotic maps in cryptography.
(1) The Logistics’ Map
Due to its high sensitivity to initial conditions, chaos is largely utilized symmetric cryptography for the construction of cipher keys [14],[15],[16].
\(\left\{\begin{array}{l} \left.\mathrm{u}_{0} \in\right] 0,51[, \mu \in[3,75 \quad 4], \\ \mathrm{u}_{\mathrm{n}+1}=\mu \mathrm{u}_{\mathrm{n}}\left(1-\mathrm{u}_{\mathrm{n}}\right) . \end{array}\right.\) (5)
(2) HENON’S Map
Henon’s chaotic two-dimensional map was first discovered in 1978. It is described by equation below.
\(\left\{\begin{array}{c} v_{0}, w_{0} a=0.3, b \in\left[\begin{array}{ll} 1.07 & 1.4] \\ v_{n+1}=1+w_{n}-a v_{n}^{2} \\ w_{n+1}=b v_{n} \end{array}\right. \end{array}\right.\) (6)
We can convert the two-dimensional map expression to a one-dimensional map that is easy to implement in the encryption system. This formula is described by next equation.
\(\left\{\begin{array}{cc} v_{0}, v_{1} & \text { in }\left[\begin{array}{ll} 0 & 1 \end{array}\right] a=0.3, b \in[1.07-1.4] \\ v_{n+2} & =1-a v_{n+1}^{2}+b v_{n} \end{array}\right.\) (7)
(3) Chaotic used vector design
Our work requires the construction of three chaotic vectors(𝐶𝐿), (𝐾𝑅) and (𝐾𝐿) with a coefficient of(𝐺256), and the binary (𝐶𝑅) vector will be regarded as the control vector. This construct is seen by the following algorithm:
\(\text { Alg2 }\left\{\begin{array}{c} \text { for } i=1 \text { to } 3 \mathrm{~nm} \\ C L(i)=\bmod \left(E\left(\frac{u(i)+2 v(i)}{3} * 10^{11}, 254\right)+1\right) \\ K L(i)=\bmod \left(E\left(\frac{w(i)+u(i)+v(i)}{3} * 10^{11}, 253\right)+2\right) \\ K R(i)=E\left(\frac{K L(i)+C L(i)}{2}\right) \\ \text { if } u(i) \geq \frac{v(i)+w(i)}{2} \text { then } \\ C R(i)=0 \text { else } C R(i)=1 \\ \text { end if } \\ \text { Next } i \end{array}\right.\)
We note that
\(\forall i \in [[ 1 3n m ]]\left\{\begin{array}{l} C L(i) \approx 0 \\ K L(i) \approx 0 \\ K R(i) \approx 0 \end{array}\right.\)
These elements are all non-zero; as a result, they are invertible within the built body.
Step 2: 𝐅𝟐𝟓𝟔 Body Construction
The most important step is to create an entity with 256 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑠, which will replace the classical (𝐺256) in the calculation.
(1) Mathematical overview
For it
Let \(F_{256}=\left\{h(x) \in \frac{F[x]}{d}{ }^{\circ} h \leq 7\right\}\)
Let 𝒑(𝒙) eighth-order polynomial and irreducible in 𝑭[𝒙]. We define two internal composition laws described by the following formula on such a set.
\(\left\{\begin{array}{c} \text { First Internal Composition Law } \\ h(x) \oplus k(x)=(h(x)+k(x)) \text { modulo 2, } \\ \text { Second Internal Composition Law } \\ h(x) \otimes k(x)=(h(x) k(x)) \operatorname{modulo} \boldsymbol{p}(x) . \end{array}\right.\) (8)
It is easy to prove that these two internal composition laws provide the (𝑭𝟐𝟓𝟔, ,⊕; ⊗)with a commutative finite body structure with 256 elements.
(2) 𝑭𝟐𝟓𝟔 Elements Representation
Any element of the 𝑭𝟐𝟓𝟔 body can be represented in five different forms:
a) Polynomial Writing
We know that
\(F_{256}=\left\{h(x) \in \frac{F[x]}{d}^{\circ} h \leq 7\right\} .\) (9)
Consequently, any element can be written in the form of a polynomial of degree at most equal to 7 with (𝐺2) components. For example:
\(h(x)=x^{6}+x^{4}+x^{3}+x^{2}+1, \quad q(x)=x^{2}+x\)
b) Vector Writing
Any element of the body 𝐹256 can be represented as a size vector (𝟏, 𝟖) with a coefficient in (𝑮𝟐)
\(\begin{array}{|l|c|} \hline \ {\text { Potynomial Writing }} & \text { Vector Writing } \\ \hline h(x)=x^{6}+x^{4}+x^{3}+x^{2}+1 & (0,1,0,1,1,1,0,1\} \\ \hline q(x)=x^{2}+x & (0,0,0,0,0,1,1,0\} \\ \hline \end{array}\)
c) Binary Writing
By simple conversion from vector writing to binary writing, any element of such a subject can be written in binary form
\(\begin{array}{|l|c|l|} \hline \ {\text { Polynomia' Witing }} & \text { Vector Wring } & \text { Binary Witing } \\ \hline h(x)=x^{6}+x^{4}+x^{3}+x^{2}+1 & (0,1,0,1,1,1,0,1\} & 01011101 \\ \hline q(x)=x^{2}+x & (0,0,0,0,0,1,1,0\} & 00000110 \\ \hline \end{array}\)
d) Integers Writing
All body elements are displayed in 8 bits, consequently their value is located between 0 and 255. So, we have 𝑭𝟐𝟓𝟔 = {𝟎, 𝟏, 𝟐, 𝟑, … , 𝟐𝟓𝟓}
\(\begin{array}{|l|l|l|l} \hline \ {\text { Polnomid"hiting }} & \text { VectorWiting } & \text { Bnary Witing } & \text { mtegerWit } \\ \hline h(x)=x^{6}+x^{4}+x^{3}+x^{2}+1 & {[0,1,0,1,1,1,0,1\}} & 01011101 & 98 \\ \hline q(x)=x^{2}+x & (0,0,0,0,0,1,1,0) & 00000110 & 5 \\ \hline \end{array}\)
This notation can be extended to the coefficient matrix in 𝑭𝟐𝟓𝟔. For example:
\(M=\left(\begin{array}{cc} x^{2}+x+1 & x \\ x^{3}+x^{2} & x^{6}+x^{4}+1 \end{array}\right) \Rightarrow M=\left(\begin{array}{cc} 7 & 2 \\ 12 & 81 \end{array}\right)\)
e) Discrete Exponential Writing
Note that, (𝑭𝟐𝟓𝟔,⊕; ⊗) is a finite body, consequently, the set (𝐹∗256, ⨂) is a cyclic group. As a result, it is generated by a single element 𝑔(𝑥) closely related to the constructor polynomial 𝑝(𝑥). This can be illustrated by the following formula:
\(\begin{array}{c} F_{256}^{*}=\left\{h(x) \in F[x] \text { that } d^{\circ} h \leq 7, \text { and } h(x) \neq 0\right\} \\ =F_{256}-\{0\} \\ \left\{\begin{array}{c} \forall h \in F_{256}^{x} \exists ! i \in[0 \quad 254]: h(x)=g(x)^{i} \bmod (p(x)), \\ \text { by convention } g(x)^{255}=0, \end{array}\right. \end{array}\) (9)
where 𝑖 is called the exponential notation of the polynomial ℎ(𝑥).
𝑊𝑒 𝑛𝑜𝑡𝑒 𝑡ℎ𝑎𝑡 ; 𝐸𝑥𝑝(𝑖) = ℎ(𝑥)
We confirm that the change of the generator 𝑔(𝑥) will lead to a fundamental change in the sign of the exponent, which will result in serious distortion of the entire encryption system.
f) Discrete logarithm Writing
Function (𝐸𝑥𝑝) is bijective, and its inverse function is the function defined by the following formula (𝐿𝑜𝑔):
\(\text { Al3 }\left\{\begin{array}{c} \text { for } i=0 \text { to } \quad 254 \\ \log (\operatorname{Exp}(i))=i \\ \text { Next } i \\ \text { by convention } \log (0)=255 \end{array}\right.\)
This rating will greatly facilitate algebraic calculations
(3) Algebraic operations over 𝑭𝟐𝟓𝟔
The two algebraic operations will be defined from the two tables constructed to facilitate the calculations.
a) The multiplication
To facilitate the multiplication of 𝑭𝟐𝟓𝟔 elements, it is recommended to use the two notations (𝐸𝑥𝑝) 𝑎𝑛𝑑 (𝐿𝑜𝑔). This technique is clarified by the equation below:
\(g(x)^{i} \otimes g(x)^{j}=\left\{\begin{array}{c} 0 \quad \text { if } \quad i=255 \text { or } j=255, \\ \text { else } \\ g(x)^{[\bmod (i+j, 255)]} \end{array}\right.\) (10)
So, we can deduce the equation below
\(\left\{x_{i} \otimes x_{j}=\left\{\begin{array}{l} 0 \text { if } x_{i}=0 \text { or } x_{j}=0 \\ \operatorname{Exp}\left(\bmod \left(\log \left(x_{i}\right)+\log (x j), 256\right)\right) \end{array}\right.\right.\) (11)
Please note that multiplication is closely related to the choice of generator 𝑔(𝑥)
𝐛) 𝐅𝟐𝟓𝟔 Inverse of elements
The calculation of the inverse of the elements of the basic set is very important and very useful in the decryption process.
i. Inverse for addition
We know that
\(\forall x \in F_{256} \quad x \oplus x=0\) (12)
ii. Inverse for multiplication
\(\forall x \in F_{256}^{*} \quad x^{-1}=\operatorname{Exp}(255-\log (x)) .\) (13)
Note that any non-zero element is invertible in 𝑭𝟐𝟓𝟔.
(4) Matrix analysis in body 𝑭𝟐𝟓𝟔
Every matrix used in this system are all in coefficients in 𝑭𝟐𝟓𝟔
a) Image of a vector by a matrix (3,3)
The multiplication of a size matrix (3, 3) and a size vector (1,3) is determined by the following formula below
\(\begin{aligned} &\left(\begin{array}{lll} a & b & c \\ d & e & f \\ g & h & i \end{array}\right) \otimes\left(\begin{array}{c} \alpha \\ \beta \\ \delta \end{array}\right)=\left(\begin{array}{l} a \otimes \alpha \oplus b \otimes \beta \oplus c \otimes \delta \\ d \otimes \alpha \oplus e \otimes \beta \oplus f \otimes \delta \\ g \otimes \alpha \oplus h \otimes \beta \oplus i \otimes \delta \end{array}\right) \\ &\left(\begin{array}{ccc} a & b & c \\ d & e & f \\ g & h & i \end{array}\right) \otimes\left(\begin{array}{l} \alpha \\ \beta \\ \delta \end{array}\right) \\ = & \left(\begin{array}{l} a \otimes \alpha \oplus b \otimes \beta \oplus c \otimes \delta \\ d \otimes \alpha \oplus e \otimes \beta \oplus f \otimes \delta \\ g \otimes \alpha \oplus h \otimes \beta \oplus i \otimes \delta \end{array}\right) . \end{aligned}\) (14)
b) Second order determinant
The determinant of a second order matrix is defined by the equation below.
\(\left|\begin{array}{ll} a & b \\ c & d \end{array}\right|=a \otimes d \oplus c \otimes b \text { , }\) (15)
So 𝑇ℎ𝑒 𝑚𝑎𝑡𝑖𝑥 𝐴 𝑜𝑓 𝑠𝑖𝑧𝑒 (𝑙, 𝑙) 𝑖𝑠 𝑖𝑛𝑣𝑒𝑟𝑠𝑖𝑏𝑙𝑒 ⟺ 𝑑𝑒𝑡(𝐴) ≠ 0.
This greatly increases the number of invertible matrices. We know that the number of invertible size matrix (𝑝, 𝑝) in 𝑭𝟐𝟓𝟔 is:
\(\delta=\prod_{i=1}^{p-1}\left(2^{p}-2^{i}\right) \gg 2^{100}\) (16)
This proves that the brutal attacks on the matrices in 𝑭𝟐𝟓𝟔 of higher order are remote.
Ⅲ. INSTALL THE NEW CRYPTOSYSTEM
Throughout the document, the pixel intensity values of the color image pixels will be considered as elements of 𝑭𝟐𝟓𝟔 . Our method is articulated on the following points.
(1) Original image Vectorization
After extraction of the three color channels (𝑅𝐺𝐵) and their conversion into vectors ( 𝑉𝑟), (𝑉𝑔), (𝑉𝑏), a cohabitation is carried to form the vector 𝑿(𝒙𝟏, 𝒙𝟐, … … . . , 𝒙𝟑𝒏𝒎). To apply Hill's new method, the vector (𝑋) must be cut into blocks of the size of (𝒓𝒉) calculated from the chaotic map and the original image size.
(2) (𝐫𝐡) 𝐯𝐚𝐥𝐮𝐞 Determination
\(\boldsymbol{r}_{h}=\left(\bmod \left(E\left(10^{10}\left(\frac{1}{n m} \sum_{i=2}^{n m} \frac{u(i)+\sup (w(i), v(i))}{2}\right)\right), 6\right)+ 15\right)\). (17)
So, we can conduct as:
\(15 \leq \boldsymbol{r}_{h} \leq 20 .\) (18)
(3) Size vector image Adaptation
In order to implement the new technology, we need to cut the image vector (𝑋) into large and small blocks (2𝒓𝒉). This operation follows the following formula:
\(\left\{\begin{array}{c} \text { let } 3 n m \equiv s\left[2 r_{h}\right] \\ l=3 n m-s \\ t=\frac{l}{2 r_{h}} \end{array}\right.\), (19)
The vector (𝑋) must be imputed by (𝑠) pixels by the following method:
\(\text { AlG8 }\left\{\begin{array}{c} \text { for } i=1 \text { to } l \\ X T(i)=X(i) \\ \text { Next } i \end{array}\right.\)
\(\text { If } s \neq 0, \text { then }\left\{\begin{array}{c} \text { Amputated pixel storage } \\ \text { for } i=1 \text { to } \mathrm{s} \\ \text { if } C R(i+l)=0 \text { then } \\ X D(i)=X(i+l) \oplus C L(i+l) \\ \text { else } \\ X D(i)=X(i+l) \oplus K L(i+l) \\ \text { end if } \\ \text { Next } i \\ \text { end if } \end{array}\right. \text { . }\) (20)
We noticed that this decomposition is completely controlled by the decision vector (𝐶𝑅)
(4) (𝟐𝐫𝐡)-Bit Blocks Decomposition
In parallel, convert two chaotic vectors (𝐾𝑅) and (𝐾𝐿) into matrices (𝑀𝑅) and (𝑀𝐿) of size (𝑡, 𝟐𝒓𝒉) following Fig. 2. After adjusting the size of the image vector, convert the latter to a matrix (𝑀𝐶) of size (𝑡, 𝟐𝒓𝒉) as shown in Fig. 3.
Fig. 2. Converting two chaotic vectors.
Fig. 3. Image vector decomposition.
(5) Initialization Vector Design
First, the(𝑉𝐼) initialization vector of size (1, 𝟐𝒓𝒉) must be recalculated to change the value of the starting block. Ultimately, the (𝑽𝑰) value is provided by the next algorithm
\(\text { Alg9 }\left\{\begin{array}{c} \text { for } i=2 \text { to } t \\ V I(i)=0 \\ \text { for } j=2 \text { to } 2 r_{h} \\ V I(i)=V I(i) \oplus M C(i, j) \\ \text { Next } j, i \end{array}\right.\)
To surpass the uniform image problem (𝐵𝑙𝑎𝑐𝑘, 𝑊ℎ𝑖𝑡𝑒 . . . ) the setup value (𝑉𝐼) will be combined with the chaotic vector (𝑇𝑇) specified by the following algorithm.
\(\operatorname{Alg} 10\left\{\begin{array}{c} \text { for } i=1 \text { to } \mathbf{2 r}_{h} \\ \operatorname{VI}(i)=V I(i) \oplus C L(i) \\ \operatorname{Next} i \end{array}\right.\)
The value calculated from the clear image and the chaotic map, will only be used to change the value of the start pixel and restart the encryption process.
\(\operatorname{Alg} 11\left\{\begin{array}{c} \text { for } i=1 \text { to } \mathbf{2 r}_{h} \\ \operatorname{CM}(1, i)=\operatorname{CM}(1, i) \oplus V I(i) \\ \text { Next } i \end{array}\right.\)
Ⅳ. NEW IMPROVEMENT CLASSICAL HILL TECHNIQUE
The difficulty of reversing large matrices forces researchers to use matrices with sizes generally less than 5. However, due to linearity, classical HILL methods are still subject to statistical attacks. Our algorithm overcomes this anomaly by constructing an arbitrarily large invertible matrix, accompanied by chaotic vectors generated from the chaotic map used under binary chaotic vector control.
4.1. Encryption matrix construction
According to our technical steps, it will be easier to construct a large invertible matrix based on involute blocks and non-empty eigenvalue matrices
4.4.1 Involutive matrix
A is an involutive matrix if and only if we have
\(A=\left(\begin{array}{ll} A_{1} & A_{2} \\ A_{3} & A_{4} \end{array}\right) A_{i} \text { of size }\left(\boldsymbol{r}_{\boldsymbol{h}}, \boldsymbol{r}_{h}\right) \text { with }(r) \in G_{256}^{*}\)
We got
\(\begin{aligned} &=\left(\begin{array}{ccc} A^{2}= & \left(\begin{array}{cc} A_{1} & A_{2} \\ A_{3} & A_{4} \end{array}\right)\left(\begin{array}{cc} A_{1} & A_{2} \\ A_{3} & A_{4} \end{array}\right) \\ =\left(\begin{array}{cc} A_{1}^{2} \oplus A_{3} A_{2} & A_{2} A_{1} \oplus A_{4} A_{2} \\ A_{1} A_{3} \oplus A_{3} A_{4} & A_{4}^{2} \oplus A_{2} A_{3} \end{array}\right)=\left(\begin{array}{cc} I & 0 \\ 0 & I \end{array}\right) . \end{array}\right.\\ &\text { I: Identity Matrix } \end{aligned}\) (21)
Since matrix A is involutive, we get
\(\left\{\begin{array}{c} A_{1}^{2} \oplus A_{2} A_{3}=I, \\ A_{2} A_{1} \oplus A_{4} A_{2}=0, \\ A_{1} A_{3} \oplus A_{3} A_{4}=0, \\ A_{4}^{2} \oplus A_{2} A_{3}=I . \end{array}\right.\) (22)
So,
\(\left\{\begin{array}{l} A_{2} A_{3}=I-A_{1}^{2}=\left(I \oplus A_{1}\right)\left(I \oplus A_{1}\right), \\ A_{2} A_{3}=I-A_{4}^{2}=\left(I \oplus A_{4}\right)\left(I \oplus A_{4}\right) \end{array}\right.\) (23)
Since 𝐴1 matrix is given randomly, other matrices can be selected by the following formula
\(\left\{\begin{array}{c} A_{2}=k\left(I \oplus A_{1}\right), \\ A_{3}=k^{-1}\left(I \oplus A_{1}\right), \\ \left(k \in F_{256}^{*}\right) \\ k^{-1}=\operatorname{Exp}(255-\log (k)), \\ A_{4}=-A_{1=} A_{1}, \\ A_{1} \neq 0 \text { and } A_{1} \neq I . \end{array}\right.\) (24)
Or we can take as:
\(\left\{\begin{array}{c} A_{2}=k\left(I \oplus A_{1}\right) \\ A_{3}=k^{-1}\left(I \oplus A_{1}\right), \\ A_{4}=-A_{1}=A_{1} \\ \text { So } A=\left(\begin{array}{cc} A_{1} & k \otimes\left(I \oplus A_{1}\right) \\ k^{-1} \otimes\left(I \oplus A_{1}\right) & A_{1} \end{array}\right) . \end{array}\right.\) (25)
4.1.2. D matrix building
The eigenvalue(𝐷) matrix has the form as:
\(D=\left(\begin{array}{ccc} e_{1} & \cdots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \cdots & e_{2 r_{h}} \end{array}\right) \forall i \in [[ 1 r]]e_{i} \in F_{256}^{*}\) (26)
The number of matrices (𝐷) is much higher than 216𝑟ℎ.
Finally, the new Hill matrix will have the following form
H = A⨂D⨂A (27)
𝑋 ′ = ((𝐻⨂(𝑋))⨁𝑀𝐾) ⨂𝑀R (28)
Ⅴ. ORIGINAL IMAGE ENCRYPTION
After preparing the original image and constructing all the parameters, the following figure will explain the encryption process in detail.
Fig. 4. Clear image encryption
(Π) Spread function, used to increase the impact of avalanche effects and protect the system from any difference. It is defined by the following formula:
𝛱(𝐶𝑀(𝑖 +1:)) = 𝑀𝐶(𝑖:)⨁𝐶𝑀(𝑖 + 1:). (29)
Ⅵ. DECRYPTING THE ENCRYPTED IMAGE
Our technique is a symmetric encryption system using a spread function, which forces us to start the decryption process from the last block to the first block, and then recalculate the initialization vector to extract the exact value of the first block. The figure below illustrates the decryption process
Fig. 5. Decryption process.
A decryption function can be described as:
\(\left\{\begin{array}{c} \text { Improved Hill inverse function } \\ \left.\qquad \begin{array}{c} x^{\prime}=((H \otimes(X)) \oplus M K) \otimes M R \\ \boldsymbol{X}^{\prime} \otimes \operatorname{Exp}(255-\log (M R)=((H \otimes(X)) \oplus M K) \\ \left(\boldsymbol{X}^{\prime} \otimes \operatorname{Exp}(255-\log (M R) \oplus M K)=H \otimes(X)\right. \\ (X)=H^{-1}\left(\left(\boldsymbol{X}^{\prime} \otimes \operatorname{Exp}(255-\log (M R) \oplus M K)\right.\right. \end{array}\right) \end{array}\right.\)
\(\left\{\begin{array}{c} \text { Reverse diffusion } \\ \text { We have } \operatorname{CM}(i+1:)=\Pi(M C(i:)) \oplus C M(i+1:) \\ M C(i:)=\Pi^{-1}(\operatorname{CM}(i+1:) \oplus C M(i+1:)) \end{array}\right.\)
Ⅶ. Simulation Result
The polynomial p(x) = x 8 + x 7 + x 2 + x + 1 is irreducible and eighth order on 𝐹 [𝑥], so it is a candidate for this study in the construction of the simulation body 𝑭𝟐𝟓𝟔. In addition, the polynomial 𝑔(𝑥) = 𝑥 is a generator of such agents. Under these conditions, the (𝑻𝑺) dispersion index table is shown below.
Table 1. Discrete exponential table.
Example:
𝑇𝑆(10,3) = 𝐸𝑥𝑝(163) = 253.
So
𝐿𝑜𝑔(253) = 163
By applying inverse permutation, a table of discrete logarithms can be derived from a table of discrete exponents. The two tables are used mutually in the field (𝐹256).
\(\begin{array}{l} 152^{-1}=\operatorname{Exp}(255-\log (152))= \\ \operatorname{Exp}(255-80)=\operatorname{Exp}(174)=179 \end{array}\)
So
\(\left\{\begin{array}{c} 183 \otimes 250= \\ \operatorname{Exp}(\bmod (\log (152)+\log (250), 255)) \\ =E x p(80+163)=\operatorname{Exp}(243)=31 \end{array}\right.\)
In matrix notation,
\(\begin{array}{c} M=\left(\begin{array}{cc} x^{2}+x+1 & x \\ x^{3}+x^{2} & x^{6}+x^{4}+1 \end{array}\right) \Rightarrow M \\ =\left(\begin{array}{cc} 7 & 2 \\ 12 & 81 \end{array}\right) . \end{array}\)
So
\(\begin{array}{l} \operatorname{Exp}(M)=\left(\begin{array}{cc} 123 & 4 \\ 211 & 183 \end{array}\right),\\ \text { and }\\ \log (M)=\left(\begin{array}{cc} 106 & 1 \\ 101 & 251 \end{array}\right) \end{array}\)
Ⅷ. INVESTIGATION OF CRYPTO SYSTEM PERFORMANCE
In this section, all the experiments were performed on a large color image database and using a 𝑐𝑜𝑟𝑒 𝑖7 personal computer, 16 𝐺𝑏 memory, 500 𝐺𝑏 hard disk under the 𝑚𝑎𝑡𝑙𝑎𝑏 software running under 𝑤𝑖𝑛𝑑𝑜𝑤𝑠 7. Some of the most used reference images in cryptography and tested by our approach.
Table 2. Images encrypted by our approach.
1) Key-space analysis
In our example simulation we took as encryption key
𝑢0 = 0,7655412001 , 𝜇 = 3.89231541,
for logistic map,
𝑣0 = 0.865421331, 𝑣1 = 0,563215,𝑏 = 1,3561
for Henon map
The global Key space ≈ 2180 ≫ 2100.
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 next figure:
Fig. 6. Secret key’s sensitivity.
We note that a 10−15 change in a single encryption parameter of this technology is incapable of restoring the clear image by the same decryption process.
3) Strength analysis of the new generation
Our design has given a new opportunity to survive and to partner with the strongest members in the hope of rebuilding a new population more adapted to intruder aggression. To do that, we randomly selected an image and studied the strength of the original populations and the new generation, with the following results:
4) Statistics attack security
a) Histogram analysis
The histogram gives the distribution of the pixel intensity level of any original image passed under our algorithm, showing the concentration near certain intensity values and sometimes the maximum value, while the histograms of all encrypted images are uniformly distributed Yes, this eliminates any statistical histogram attacks.
b) Entropy Analysis
Entropy information is very important in measuring the randomness of the encrypted image. It is defined by the following equation: (𝑀𝐶) image of size (𝑛, 𝑚), we pose(𝑡 = 𝑛𝑚), so
\(H(M C)=\frac{1}{t} \sum_{i=1}^{t}-p(i) \log _{2}(p(i))\) (29)
where 𝑝(𝑖) is the probability of occurrence of level (𝑖) in the image of the selected database. If 𝐻(𝑀𝐶) is close to the value 8 ( 8 − 𝑏𝑖𝑡 𝑐𝑜𝑑𝑒𝑑 𝑖𝑚𝑎𝑔𝑒 ), the completely random aspect of the encrypted image is ensured. The following table illustrates the entropy of some reference images tested by our method:
Table 3. Encrypted image histogram
Table 4. Entropy of some tested images.
c) Correlation analysis
The correlation is given by:
\(r=\frac{\operatorname{cov}(x, y)}{\sqrt{V(x)} \sqrt{V(y)}}\) (30)
The following table illustrates the entropy of some reference images tested by our method:
Table 5. Correlation of some tested images.
5) Differential analysis
Let be two encrypted images, whose corresponding freeto-air images differ by only one bit, from (𝑪𝟏)and(𝑪𝟐), respectively. The expressions of these two statistical constants (𝑁𝑃𝐶𝑅)𝑎𝑛𝑑 (𝑈𝐴𝐶𝐼) are given by equations below
\(\begin{array}{r} N P C R=\left(\frac{1}{n m} \sum_{i, j=1}^{n m} D(i, j)\right) * 100 \\ \text { with } D(i, j)=\left\{\begin{array}{lll} 1 & \text { if } & C_{1}(i, j) \neq C_{2}(i, j), \\ 0 & \text { if } & C_{1}(i, j)=C_{2}(i, j) \end{array}\right. \end{array}\) (31)
The 𝑈𝐴𝐶𝐼 mathematical analysis
\(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\) (32)
a) Signal-To-Peak Noise Ratio (PSNR)
i. MSE
Mean Square Error (MSE): This is the cumulative square deviation between the original image and other noisy images. When the MSE level decreases, the error also decreases. This constant measure the distance between the pixels of the clear image and the encrypted image. Calculated by the next equation.
\(M S E=\sum_{i, j}\left(P(i, j)-C(i, j)^{2}\right.\) (33)
where (𝑃(𝑖,𝑗)): pixel of the clear image and
(𝐶(𝑖,𝑗)): pixel of the cypher image.
ii. PSNR
Since many signals have a large dynamic range, PSNR is usually expressed on a logarithmic decibel scale. The next equation gives the PSNR mathematical analysis of the image:
\(P S N R=20 \log _{10}\left(\frac{I_{\max }}{\sqrt{M S E}}\right)\) (34)
Table 6. Differential parameters
b) Avalanche effect
Our algorithm uses a strong link between encrypted pixels and pixels with clear policies. As a result, as data propagates through the structure of the algorithm, gradual changes become increasingly important. The avalanche effect is the number of bits that have been changed if a single bit in the original image is changed. The mathematical expression of this avalanche effect is given by
\(A E=\left(\frac{\Sigma_{i} \text { bit change }}{\Sigma_{i} \text { bit total }}\right) * 100 \text { . }\) (35)
Table 7. Avalanche effect.
c) Performance time
In our technique, the encryption and decryption times are very similar and vary in the interval [0.05, 0.1].
Table 8. Performance time.
d) Speed analysis
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 Table 9.
Table 9. Execution time (in second).
We compared the results with two classic algorithms, AES and DES, and can determine that the execution time is reasonable. The test was conducted on other images of different sizes, and we obtained an acceptable score. This is due to the low algorithm complexity of the algorithm implemented in our strategy
Ⅸ. MATH SECURITY
Our algorithm uses a large symmetric key that is extremely sensitive to initial conditions and control parameters. This ensures that small interference in the key will regenerate a new subject and a new calculation table. In addition, the complexity of using discrete logarithms in calculations increases the difficulty of attacking our systems. The construction of the key matrix is closely linked to the chaotic maps used, which eliminates any brutal attacks.
Ⅹ. CONCLUSION
Hill's conventional system is very easy to install in the color image encryption system, as long as the inversion matrix is determined in the carefully selected ring. But due to linearity, this technique is still vulnerable to statistics and brute force attacks. Carried on instead of the classic 𝑍/256𝑍 ring. Similarly, the construction of a large-sized invertible matrix has been introduced based on the involution block, and the non-zero eigenvalue matrix has been described in detail. The large number of matrices built in this way ensures better protection against any brutal attack. Using logarithms and discrete exponents and translation vectors to overcome linear problems will increase the complexity of our method.
Acknowledgment
This article is not subsidized by any public or private organization. It is a personal work.
References
- Y. P. K. Nkandeu, A. Tiedeu, and Hill L., "Cryptography in an algebraic alphabet," American Mathematical Monthly, vol. 1929, no. 36, pp. 306-312, 2019.
- Y.P.K. Nkandeu and A. Tiedeu, "An image encryption algorithm based on substitution technique and chaos mixing," Multimedia Tools and Applications, vol. 78, no. 8, pp. 10013-10034, 2019. https://doi.org/10.1007/s11042-018-6612-2
- 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.
- Lin CH, Lee CY, Lee C. Y., "Comments on Saeednia's improved scheme for the Hill cipher," Journal of the Chinese Institute of Engineers, vol. 27, no. 5, pp. 743-746, 2004. https://doi.org/10.1080/02533839.2004.9670922
- Bibhudendra Acharya1, Saroj Kumar Panigrahy, Sarat Kumar Patra, and Ganapati Panda, "Image encryption using advanced Hill cipher algorithm," International Journal of Recent Trends in Engineering and Technology, vol. 1, no. 1, 2009.
- C. Fu, G. Y. Zhang, M. Zhu, Z. Chen, and W. M. Lei, "A new chaos-based color image encryption scheme with an efficient substitution keystream generation strategy," Security and Communication Networks, vol. 2018, pp. 1-13, 2018.
- Chang'e Dong, "Color image encryption using one-time keys and couple chaotic systems," Signal Processing: image Communication, vol. 29, no. 5, pp. 628-640, 2014. https://doi.org/10.1016/j.image.2013.09.006
- Xing-Yuan Wang, Sheng-Xian Gu, and Ying-Qian Zhang, "Novel image encryption algorithm based on cycle shift and chaotic system," Optics and Lasers in Engineering, vol. 68, pp. 126-134, 2015. https://doi.org/10.1016/j.optlaseng.2014.12.025
- 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
- S. Hraoui, F. Gmira, A. O. Jarar, K. Satori, A. Saaidi, "Benchmarking AES and chaos based logistic map for image encryption," in Proceeding of ACS International Conference Computer Systems and Applications (AICCSA), 2013.
- M. Essaid, I. Akharraz, and A. Saaidi, "Image encryption scheme based on a new secure variant of Hill cipher and 1D chaotic maps," Journal of Information Security and Applications, vol. 47, pp. 173-187, 2019. https://doi.org/10.1016/j.jisa.2019.05.006
- Pand uranga and S. Naveen Kumar, "Advanced partial image encryption using two-stage Hill cipher technique," International Journal of Computer Applications, vol. 60, no.16, pp. 14-19, 2012. https://doi.org/10.5120/9775-4341
- Rifaat Zaidan Khalaf and Alharith Abdulkareem Abdullah, "Novel quantum encryption algorithm based on multiqubit quantum shift register and Hill cipher," Advances in High Energy Physics, vol. 2014, Article ID 104325, pp. 1-5, 2014.
- Rajwant Kaur, S. A. Khan, and Simranjit Kaur, "An efficient image encryption using DNA cryptography and reversible cellular automata," International Journal of Computer Applications, vol. 182, no. 24, pp. 32-38, 2018. https://doi.org/10.5120/ijca2018918018
- Yong Wang, Kwok-Wo Wong, Xiaofeng Liao, Tao Xiang, and Guanrong Chen, "A chaos-based image encryption algorithm with variable control parameters," Chaos, Solitons & Fractals, vol. 41, no. 4, pp. 1773-1783, 2009. https://doi.org/10.1016/j.chaos.2008.07.031
- Jan Sher Khan and J. Ahmad, "Chaos based efficient selective image encryption" Multidimensional Systems and Signal Processing, vol. 30, pp. 943-961, 2019. https://doi.org/10.1007/s11045-018-0589-x