The third step of the operation is MixColumns, the
core of the AES encryption operation, which utilizes
operations over a finite field to achieve encryption
and decryption. In this operation, the input data is
treated as a 4x4 matrix and matrix multiplication is
performed with a fixed matrix. In the operation within
the finite field GF(28), the result will always lie
between 0x00 and 0xff, which is determined by the
characteristics of the finite field operation(Karmani
Mouna, 2021). Similar to the lookup table (S-Box) in
the SubBytes operation, the MixColumns operation
in AES utilizes a fixed matrix for the operation. For
each element of the input matrix, the rule for the
multiplication operation is:
(1) For a multiplication with a value of 0x01,
the result is equal to itself.
(2) For a multiplication with a value of 0x02, if
the multiplied number is less than 0x80, the result is
a 1-bit left shift of the multiplied number.
(3) For a multiplication with a value of 0x02, if
the multiplied number is greater than or equal to 0x80,
the result is the multiplied number shifted 1 bit to the
left before being differentiated from 0x1b.
By using these arithmetic rules, each element of the
input matrix is multiplied to obtain a new value. Finally,
after the MixColumns operation is complete, the
AddRoundKey function needs to be called again to
perform the dissimilarity operation with the round key.
4 IMPROVED STRUCTURE
For the selection problem, this paper proposes a dual
IV design scheme. The scheme is based on the design
code of the original IV and adds an extra step to
generate a new big IV while the original IV is called
the small IV. Specifically, the ciphertexts that have
been encrypted are divided into a group of 64, i.e.,
512 bits as a unit, to form a 16x4 matrix. Then, in this
paper, the first group of 64 ciphertexts is taken as the
new big IV, while the original IV becomes the little
IV. When reading data from the original file, 64 bytes
are read as a unit each time. From a microscopic point
of view, the original CBC pattern still operates as
normal. When the first set of 64 bytes of big round
ciphertext is obtained, this paper creates a new array
to save it and continues to read the next 64 bytes of
plaintext data. In this way, this topic implements a
dual IV design. The purpose of this is to increase the
variability of IV and improve the security of the
cryptographic algorithm. In each round of encryption,
this topic will directly perform a bitwise dissimilarity
operation between the saved 64-byte ciphertext of the
previous round and the current plaintext to obtain a
result. This result will continue to be encrypted
iteratively as a small IV in groups of 16 bytes. After
4 consecutive rounds of encryption, the subject will
get the final result to be used as the large IV for the
next round of encryption. This realizes the purpose of
IV being generated directly from the ciphertext and
conforms to the diffusion principle proposed by
Shannon. Also, by this IV selection method, the
characters in the original encryption order are
completely disrupted, increasing the security of the
cryptographic algorithm.
A. shuffle the order of business
In this paper, we introduce a processing step for
changing the order, borrowing the idea of ShiftRows
from AES. The step is shown in Fig 3, which swaps
the order of the 64-byte array just generated.
Although the computational effort of this step is
small, it is very efficient. Because there are a large
number of arithmetic processes in AES, even a
change in any of these bits can make a big difference
in the final result.
For specific implementation, this topic is based on
the previously generated 64-byte large IV grouping
for processing. Since the 64 bytes can be divided into
exactly 8x8 matrices, we resemble the processing
principle of ShiftRows by keeping the first row
unchanged, and starting from the second row,
sequentially shifting each row to the left by 2, 3, 4, 5,
up to 7 bits. Through such a shift operation, we take
the last column of the matrix, i.e. the first byte, as the
original last byte, and realize the deep hiding of the
last indicator bit. At the same time, the AES
encryption block in a 16-byte group is forced to be
broken up into a 64-byte matrix, which further
improves the disorder of the encrypted data.
With the above modifications, we describe in
detail the first step of the variable order processing
and emphasize its hiding of the last indicator bit and
the enhancement of the degree of disorder of the
encrypted data. This is able to avoid the duplication
rate of the paper while further improving the security
of the cryptographic algorithm.
Fig 3. New Shift Processing Function.
64-byte
matrix
Divided
into eight
groups
1, 2, 3 ................ .8
16,9,10...............14,15
...... omitted 5 blocks
64, 57, 58, ......, 60, 61, 62,
ANIT 2023 - The International Seminar on Artificial Intelligence, Networking and Information Technology