Page 9 - 2024-Vol20-Issue2
P. 9
5| Yousif, Hameed & Al-Zuhairi
3) Decryption Procedure: this stage are merged together in a new permutated matrix.
The receiver can decrypt each ciphered text block C to retrieve In the second stage, RSA coding technique is exploited to
the original plaintext P by utilizing the following formula cipher the permutated image from the first stage by utiliz-
[3, 14, 38]: ing the public key (e, n). Eventually, primeval processes in
cryptography like confusion/diffusion are performed using
P = Cdmod n (2) chaotic Duffing and Lu¨ systems. These two systems produce
the confidential keys for the suggested work by the means
C. Chaotic Generators of their control parameters/initial conditions. Confusion is
1) Duffing Map: executed for randomly scrambling image pixel locations; this
This chaotic map is a two-dimensional discrete system that process is implemented via 2D Duffing map. On the other
can be expressed mathematically as: hand, diffusion is executed for varying image pixel values;
this operation is performed via 3D Lu¨ system. The details
x(n+1) = yn, y(n+1) = -bxn + ayn - yn3 (3) of encryption and decryption procedures are outlined in the
following subsections.
where a and b represent the system constants which generate
the chaotic behavior at the values 2.75 and 0.2, respectively A. Encryption Procedure
[19].
The specific steps for encryption process according to Fig. 2
2) Lu¨ System:
Lu¨ chaotic system is a three-dimensional continuous system are illustrated as follows:
which is considered a transitional state between Chen and Step 1: The input image A(m, m) is divided into (8 × 8) non-
Lorenz systems. This system is described mathematically via
a set of ordinary nonlinear differential equations given by: overlapping blocks.
Step 2: The odd blocks, for instance (block1, block3, block5,. . . ,
x? = a(y - x), y? = cy - xz, z? = xy - bz (4) block(k-1) are joined in one matrix M(8 × 8 × k/2), where k
represents the total blocks number and it is assumed as an
where a, b and c denote to the control system parameters and
they produce chaotic status when their values are 36, 3 and even value in this work.
20, respectively [39, 40]. Step 3: The even blocks, for instance (block2,block4, block6,. . . ,
blockk) are joined in one matrix N(8 × 8 × k/2).
III. TIC ALGORITHM STRUCTURE Step 4: Produce three chaotic sequences u, v and w with m2
The block diagram of the suggested encryption image scheme elements for each sequence, by using (4) after setting the ini-
is exhibited in Fig. 2. The major stages of TIC involve zigzag tial conditions/system parameters values (x0, y0, z0, a, b, c).
scan, RSA algorithm and chaotic systems. In the first stage, Step 5: Choose the first k elements of the quantized v and w
the plaintext image is divided into 8 × 8 non-overlapping
blocks. The direction of image splitting into blocks starts sequences to determine the starting pixel position, where each
from top to bottom till it reaches to the last block. Then, pair of (vi, wi), i = 1, 2, . . . , k, represents the starting pixel row
these blocks are separated to odd and even blocks according and column in the ith block, respectively.
to their indices. The pixels in the odd blocks are scrambled
by applying zigzag scan with a variable starting point at first Step 6: Depending on the selected starting pixel, apply zigzag
direction (Fig. 1b ), whereas the pixels in the even blocks
are scrambled by applying zigzag scan with a variable start- scan according to the direction in Fig. 1b on the matrix M to
ing point at second direction (Fig. 1c). The starting point is acquire the vector Y1 of 64k/2 elements.
determined by the generated two Lu¨ chaotic sequences. The Step 7: Depending on the next selected starting pixel, apply
specific sequences are quantized to have values in the range
[1-8], which represent the row and column numbers of the zigzag scan according to the direction in Fig. 1c on the matrix
zigzag operation starting pixel. Therefore, in each block, the N to acquire the vector Y2 of 64k/2 elements.
zigzag scan starts at a pixel location which is different from Step 8: Concatenate Y1 and Y2 in a new vector Y ' with 64k
those of other blocks. This step is the most significant step in elements.
this work because it helps to lessen the correlation between Step 9: Reshape Y ' into 2D matrix Y1' with the same size of
the original image pixels thereby increasing the value of en- plain image A.
tropy in the ciphered image. Next, the output vectors from
Step 10: Perform the RSA encryption algorithm after deter-
mining the value of public key (n, e) on the matrix Y1' via (1)
to obtain F as:
F (i, j) = ' (i, j)]emod n (5)
[Y1
Step 11: Produce two chaotic sequences x and y with m2
elements for each sequence, by using (3) for Duffing map