Block Ciphers with Matrices Operating Alternately over Columns and Rows

Journal of Science and Technology on Information Security  
Block Ciphers with Matrices Operating  
Alternately over Columns and Rows  
Pablo Freyre, Oristela Cuellar, Adrián Alfonso, Nelson Díaz  
Abstract—In this paper, we present the  
dynamic cryptographic algorithms for long states  
named ACDEL-2D and ACDEL-3D. The first one  
was inspired by Rijndael and the second one was  
of Rijndael several cryptographic algorithms  
based on its design have surged, some of them  
with random transformations [4]-[10].  
inspired by 3D, a three-dimensional block cipher.  
In both proposals, MDS matrices are used  
alternately on rows and columns of the state and  
all transformations used in the encryption process  
Another variant of Rijndael is the block cipher  
3D, using fixed transformations on a three-  
dimensional state [11]. Similar constructions are  
3D-AES [12], HiSea [13], DOZEN [14], the hash  
function Keccak [15] and Non-Alternate 3D [16].  
are  
randomly  
selected  
depending  
on  
pseudorandom sequences. In the block cipher  
ACDEL-3D the state takes the form of a  
rectangular parallelepiped or cuboid.  
Our contributions: In this paper, two fully  
dynamic cryptographic algorithms for long states  
named ACDEL-2D and ACDEL-3D (from  
Spanish Algoritmo Criptográfico Dinámico para  
Estados Largos) are presented, inspired by the  
design of the block ciphers Rijndael and 3D. In  
both proposals, all transformations in the  
encryption process are chosen depending on  
pseudorandom sequences and MDS matrices  
operating alternately on rows and columns of the  
state are used. The state in ACDEL-2D is a two-  
dimensional matrix and in ACDEL-3D is a three-  
dimensional cuboid; in both cases, message  
blocks longer than 512 bits can be encrypted.  
Additionally, a new method for the generation of  
4x4 MDS matrices in 퐺퐹(28) is proposed.  
Tóm tắt—Trong bài báo này, chúng tôi trình  
bày các thuật toán mật mã động cho các trạng thái  
dài, có tên là ACDEL-2D và ACDEL-3D. Thuật  
toán đầu tiên bắt nguồn từ thuật toán Rijndael và  
thuật toán thứ hai bắt nguồn từ thuật toán 3D, một  
thuật toán với khối dữ liệu được biểu diễn ở dạng  
ba chiều. Cả hai đề xuất đều sử dụng xen kẽ ma  
trận MDS trong các hàng và cột của trạng thái và  
tất cả các phép biến đổi được sử dụng trong quá  
trình mã hóa được chọn ngẫu nhiên tùy thuộc vào  
chuỗi giả ngẫu nhiên. Trong mật mã khối ACDEL-  
3D, trạng thái có dạng hình chữ nhật song song  
hoặc hình khối.  
Keywords—block  
cipher;  
Rijndael;  
random  
transformations; three-dimensional state.  
Từ khóa—mật mã khối; Rijndael; biến đổi ngẫu nhiên;  
trạng thái ba chiều.  
This paper begins with a brief description of  
the cryptographic algorithms Rijndael and 3D in  
Section II. In Section III and Section IV, the  
dynamic block ciphers ACDEL-2D and ACDEL-  
3D are presented as well as the random  
transformations used during the encryption  
processes. The necessary algorithms for the  
random generation of these transformations are  
shown in Section V and further comments on  
design strategy and security are discussed in  
Section VI. The paper is finished in Section VII  
with the conclusion.  
I. INTRODUCTION  
Rijndael is  
a
cryptographic algorithm  
designed by the Belgian Joan Daemen and  
Vincent Rijmen and submitted to the AES  
competition in 1997 [1]. Announced as a winner  
in 2001, Rijndael was adopted as the standard  
AES [2] with some specifications in terms of  
block and key sizes.  
Rijndael uses the transformations SubBytes,  
ShiftRows, MixColumns and AddRoundKey, all  
of them are fixed and selected a priori [3], acting  
on a two-dimensional state. Since the appearance  
II. RIJNDAEL AND 3D  
The operations of the cryptographic algorithm  
Rijndael are performed in the Galois field  
퐺퐹(28), so the input block and the output block  
are arrays of 4푁푏 bytes for each one, where 4 ≤  
푁푏 ≤ 8.  
This manuscript is received on May 22, 2020. It is  
commented on July 15, 2020 and is accepted on July 15, 2020  
by the first reviewer. It is commented on June 23, 2020 and is  
accepted on December 08, 2020 by the second reviewer.  
18 No 2.CS (12) 2020  
Khoa học và Công nghệ trong lĩnh vực An toàn thông tin  
The bytes of the input block 푝0푝1. . . 푝푁 −1 are ShiftRows(State)  
푏
located inside a matrix with 4 rows and 푁푏  
columns named state  
MixColumns(State)  
AddRoundKey(State, ExpandedKey[푖 + 1])  
푠0,0 푠0,1 ⋯ 푠0,푁 −1  
푏
}
푠1,0 푠1,1 ⋯ 푠1,푁 −1  
푏
푆 = (  
)
푠2,0 푠2,1 ⋯ 푠2,푁 −1  
SubBytes(State)  
푏
푠3,0 푠3,1 ⋯ 푠3,푁 −1  
푏
ShiftRows(State)  
so that 푠푖,푗 = 푝푖+4푗 for 0 ≤ 푖 < 4 and 0 ≤ 푗 < 푁푏.  
MixColumns(State)  
The secret key is another array of bytes  
located inside a matrix with 4 rows and 푁푘  
columns, where 4 ≤ 푁푘 ≤ 8, which splits  
through the key schedule in a matrix with 4 rows  
and 푁푏 columns for every round of the encryption  
process. The number of rounds 푁푟 depends on the  
size of the block and the key and it is computed  
as 푁푟 = 6 + max{푁푏, 푁푘}.  
AddRoundKey(State, ExpandedKey[푁푟 − 1])  
SubBytes(State)  
ShiftRows(State)  
AddRoundKey(State, ExpandedKey[푁푟])  
}
On the other hand, the state in the block cipher  
3D is a three-dimensional cube with 4 rows, 4  
columns and 4 lanes. 3D uses a fixed S-box like  
SubBytes, a fixed MDS matrix like MixColumns  
and two fixed transformations like ShiftRows  
acting in alternate rounds.  
In each round, the following transformations act  
on the state matrix offering confusion and diffusion:  
SubBytes, acting like S-box on every  
state byte.  
ShiftRows, performing cyclic rotations on  
the rows of the state.  
Let 훾 be the S-box, 휋 the MDS matrix, 휃1 the  
rotations on slices, 휃2 the rotations on sheets, and  
푘푖 the XOR of the state with the 푖-th round sub-  
key for 0 ≤ 푖 ≤ 푁푟, then the encryption process  
of 3D (from two rounds in two rounds) in  
pseudocode is presented next.  
MixColumns, multiplying every column  
of the state by one MDS matrix.  
AddRoundKey, a bitwise XOR of the  
state with the round key.  
Encryption process of 3D  
The encryption process and the key schedule  
of Rijndael can be seen in [3]. Here we present  
the encryption process of Rijndael (from two  
rounds in two rounds) in pseudocode in view to  
simplify the presentation of our dynamic proposals.  
3D(State, CipherKey)  
{
KeyExpansion(CipherKey, ExpandedKey)  
Encryption process of Rijndael  
for (푖 = 1; 푖 < 푁푟 − 2; 푖 + 2)  
{
Rijndael(State, CipherKey)  
{
푘푖(State, ExpandedKey[푖])  
훾(State)  
KeyExpansion(CipherKey, ExpandedKey)  
AddRoundKey(State, ExpandedKey[0])  
for (푖 = 1; i 푁푟 − 1; i + 2)  
{
휃1(State)  
휋(State)  
푘푖+1(State, ExpandedKey[푖 + 1])  
훾(State)  
휃2(State)  
휋(State)  
}
SubBytes(State)  
ShiftRows(State)  
MixColumns(State)  
AddRoundKey(State, ExpandedKey[푖])  
SubBytes(State)  
푘푁 −2(State, ExpandedKey[푁푟 − 2])  
푟
Số 2.CS (12) 2020 19  
Journal of Science and Technology on Information Security  
훾(State)  
휃1(State)  
휋(State)  
SubBytes(State)  
MixRows(State)  
AffineKey(State, ExpandedKey[푖 + 1])  
푘푁 −1(State, ExpandedKey[푁푟 − 1])  
}
푟
SubBytes(State)  
훾(State)  
MixColumns(State)  
AffineKey(State, ExpandedKey[푁푟 − 1])  
SubBytes(State)  
휃2(State)  
푘푁 (State, ExpandedKey[푁푟])  
푟
}
AffineKey(State, ExpandedKey[푁푟])  
}
In the case of Rijndael, full diffusion is  
reached in two rounds if 푁푏 = 4 or three rounds  
in other cases due to the properties of the  
diffusion layer, which is ensured because  
ShiftRows is a diffusion optimal permutation.  
Here sequence푖 is a pseudorandom sequence  
for all 1 ≤ 푖 ≤ 4 obtained through the key  
schedule or any pseudorandom number generator.  
In the case of 3D, full diffusion is reached in  
three rounds since the transformations 휃1 and 휃2  
are both diffusion optimal permutations and the  
number of rounds is 푁푟 = 22. The main  
advantage of 3D is to encrypt message blocks of  
512 bits, while Rijndael encrypts message blocks  
of 256 bits at most.  
A. RandomSubBytes  
In Rijndael, the transformation SubBytes acts  
on every byte of the state like a S-box denoted  
as 푆퐷푅, constructed through a non-affine  
transformation and an affine transformation [3].  
푆퐷푅 was selected by the Rijndael’s designers  
taking in mind a complex algebraic expression;  
however, we consider to use a random S-box so  
that its algebraic expression will be unknown.  
III. ACDEL-2D  
In this section, we propose the dynamic block  
cipher ACDEL-2D where the state is a two-  
dimensional matrix with 4 rows and 푁푏 columns,  
for 푁푏 ≥ 4 is any natural number. The  
pseudocode of the encryption process is  
presented below.  
In this paper, we present two possibilities for  
the random transformation RandomSubBytes.  
The first possibility is to generate a random  
invertible matrix in the general linear group  
퐺퐿8푥8(퐺퐹(2)) used to construct a random affine  
transformation. It is combined with the non-affine  
transformation of SubBytes, so RandomSubBytes  
Encryption process of ACDEL-2D  
ACDEL − 2D(State, CipherKey)  
{
[ ]  
acts like a random S-box 푅푆퐷푅 푥 .  
The second possibility is to construct a  
random S-box independent form 푆퐷푅 through a  
random permutation Π of the symmetric group  
KeyExpansion(CipherKey, ExpandedKey)  
RandomSubBytes(sequence1, SubBytes)  
RandomMixColumns(sequence2, MixColumns)  
RandomMixRows(sequence3, MixRows)  
RandomAffineKey(sequence4, AffineKey)  
AffineKey(State, ExpandedKey[0])  
for (푖 = 1; 푖 < 푁푟 − 1; 푖 + 2)  
{
푆
256 , this way RandomSubBytes acts like the  
[ ]  
random S-box 푅푆퐷푅 푥 = Π[푥].  
B. RandomMixColumns and RandomMixRows  
In Rijndael, the transformation MixColumns  
acts on the columns of the state multiplying the  
same ones by a MDS matrix and the  
transformation ShiftRows acts on the rows of the  
state cyclically rotating their bytes to the left [3].  
In ACDEL-2D, the random transformations  
RandomMixColumns and RandomMixRows act  
in alternate rounds on the state.  
SubBytes(State)  
MixColumns(State)  
AffineKey(State, ExpandedKey[푖])  
20 No 2.CS (12) 2020  
Khoa học và Công nghệ trong lĩnh vực An toàn thông tin  
RandomMixColumns is a random MDS Remark 3: In the third way of  
matrix in 퐺퐿4푥4(퐺퐹(28)) providing high  
diffusion into the columns of the state, and  
RandomMixRows is a random MDS matrix in  
퐺퐿푁 푥푁푏(퐺퐹(28)) providing high diffusion into  
the r푏ows of the state.  
RandomAffineKey,  
two  
different  
transformations act in alternate rounds as shown  
above. Furthermore, the second way of  
RandomAffineKey is used only in combination  
with the second way of RandomSubBytes.  
D. The key expansion and the number of rounds  
The value of 푁푏 can increase as much as  
desired since the random MDS matrix in  
RandomMixRows can be constructed through a  
fixed MDS matrix from a Reed-Solomon code,  
by swapping the rows depending on a random  
ACDEL-2D was designed to support any  
cipher key multiple of 32 bits (length of a  
column) from a minimum size of 256 bits.  
Note that each state matrix is formed by 푁푏  
columns, then the key expansion procedure splits  
the cipher key into the 푁푟 + 1 round keys needed  
in the encryption process.  
permutation in 푆푁 and multiplying each row by  
푏
a different non-zero element in 퐺퐹(28).  
C. RandomAffineKey  
In this paper, three ways to introduce the round  
key in the round function are proposed. The first  
way consists of a bitwise XOR like in Rijndael.  
Let 푁푘 be the number of columns of the cipher  
(
key, then columns 푊 for all 푁푘 ≤ 푖 < 푁푏 푁푟 +  
푖
)
1 are derived from the given columns of the  
cipher key 푊 for 0 ≤ 푗 < 푁푘 as shown below.  
The second way consists of a random affine  
transformation on every byte of the state of the form:  
푗
We clarify that this procedure to derive the round  
keys from the cipher key is the same as presented  
in [3] for Rijndael, where 푆푊 is the  
transformation SubBytes acting on each byte of  
the column and 푅푊 is a cyclic rotation from the  
column up.  
퐿 ⋅ 푠푖,푗 ⨁ ExpandedKey[푡]푖,푗  
where 퐿 is a random invertible matrix in  
퐺퐿8푥8(퐺퐹(2)) for all 0 ≤ 푖 < 4, 0 ≤ 푗 < 푁푏  
and 0 ≤ 푡 ≤ 푁푟.  
if (푖 ≡ 푁푘 mod 푁푘)  
The third way, also proposed in [17] for the  
block cipher SHARK, consists of two random  
( )  
[ ⁄ ]  
⊕ 푆푊(푅푊 푊 ) ⊕ 푅퐶 푖 푁푘  
푊 = 푊  
푖
푖−푁  
푖−1  
푘
affine  
transformations  
AffineKey1  
and  
else if (푖 ≡ 4 mod 푁푘)  
AffineKey2 on the state of the form:  
(
⊕ 푆푊 푊  
푖−1  
)
푊 = 푊  
푖
푖−푁  
푘
( )  
AffineKey1 푆 = 푆 ⋅ 푀1 ⨁ ExpandedKey[푡]  
else  
where 푆 is the state, 푀1 is a random invertible  
푊 = 푊  
⊕ 푊  
푖−1  
푖
푖−푁  
푘
matrix in 퐺퐿푁 푥푁푏(퐺퐹(28)), and 푡 is odd.  
푏
Since ACDEL-2D always achieves full  
diffusion in 2 rounds whatever 푁푏 are, we define  
the number of rounds as 푁푟 = 14, ensuring that  
the encryption and the decryption processes have  
the same structure.  
( )  
AffineKey2 푆 = 푀2 ⋅ 푆 ⨁ ExpandedKey[푡]  
where 푆 is the state, 푀2 is a random invertible  
matrix in 퐺퐿4푥4(퐺퐹(28)), and 푡 is even.  
Remark 1: ACDEL-2D can encrypt long  
message blocks and full diffusion is always  
achieved in 2 rounds. For example, in ACDEL-  
2D with 푁푏 = 16 we can encrypt 512 bits and  
still full diffusion is reached in 2 rounds instead  
of 3D.  
Further comments on the selection criteria for  
this number will be given in Section VI.  
E. Complexity by matrix multiplication  
For 푁푏 = 4, the number of multiplications in  
the field 퐺퐹(28) with ACDEL-2D is equal to the  
number of multiplications used to encrypt a  
message of the same length with Rijndael. For  
higher values of 푁푏, this number increases;  
however, when 푁푏 > 8, only one execution of  
ACDEL-2D is carried out instead of Rijndael.  
Remark 2: Although we present a state matrix  
with 4 rows, this number can increase to 5,  
since the first method presented in section V for  
the generation of random MDS matrices allows  
this increment.  
Số 2.CS (12) 2020 21  
Journal of Science and Technology on Information Security  
For example, to encrypt a 1024-bit message,  
ACDEL-2D performs 28160 multiplications;  
while Rijndael, for 256-bit blocks, runs 4 times  
needing 6656 multiplications, up to 4 times  
less. We assume that the MDS matrix of  
Rijndael is randomly chosen for our  
estimations; in practice with the MDS matrix of  
Rijndael, this number is less.  
If the random affine transformations  
Fig. 2. Example of one slice (with 4 rows and 푁푏 =  
6 columns) and one sheet (with 4 rows and 푁푏 = 5  
AffineKey1 and AffineKey2 are also used on the  
state, then ACDEL-2D is much more expensive  
than Rijndael in this sense. In this case, for 푁푏 =  
4, the number of multiplications is higher with  
respect to Rijndael.  
lines) of the state shown in the Fig. 1.  
The pseudocode of the encryption process is  
presented below.  
Encryption process of ACDEL-3D  
This constitutes an obvious disadvantage of  
ACDEL-2D; however, it is suitable in  
applications where long messages need to be  
encrypted with high security and they can tolerate  
slower encryptions. Further comments on the  
design strategy of ACDEL-2D and its security are  
presented in Section VI.  
ACDEL-3D(State, CipherKey)  
{
KeyExpansion(CipherKey, ExpandedKey)  
RandomSubBytes(sequence1, SubBytes)  
RandomMixColumns(sequence2, MixColumns)  
RandomMixRows(sequence3, MixRows)  
RandomMixLanes(sequence4, MixLanes)  
RandomAffineKey1(sequence5, AffineKey1)  
IV. ACDEL-3D  
In this section, we propose the dynamic block  
cipher ACDEL-3D where the state is a three-  
dimensional cuboid with 4 rows, 푁푏 columns and RandomAffineKey2(sequence6, AffineKey2)  
푁ℎ lines, for 푁푏, 푁ℎ ≥ 4 are any natural numbers.  
RandomAffineKey3(sequence7, AffineKey3)  
RandomSwapCuboid(sequence8, SwapCuboid)  
AffineKey3(State, ExpandedKey[0])  
for (푖 = 1; i < 푁푟; i + 3)  
{
SubBytes(State)  
MixColumns(State)  
AffineKey1(State, ExpandedKey[푖])  
SubBytes(State)  
MixRows(State)  
Fig. 1. Example of one three-dimensional state in  
AffineKey2(State, ExpandedKey[푖 + 1])  
SubBytes(State)  
ACDEL-3D with 푁푏 = 6 and 푁ℎ = 5.  
SwapCuboid(State)  
The state can be arranged as 푁ℎ matrices with  
4 rows and 푁푏 columns, each of which  
constitutes a slice, and the columns with the same  
position in each of these matrices form a sheet.  
MixLanes(State)  
AffineKey3(State, ExpandedKey[푖 + 2])  
SwapCuboid−1(State)  
}
}
22 No 2.CS (12) 2020  
Khoa học và Công nghệ trong lĩnh vực An toàn thông tin  
Here sequence푖 is a pseudorandom sequence for  
the  
random  
transformation  
RandomMixLanes. Thus we can use 푁ℎ different  
for all 1 ≤ 푖 ≤ 8 obtained through the key  
schedule or any pseudorandom number generator. MDS matrices 훼 and 훽 and 푁푏 different MDS  
matrices 휇 for each one of the matrices  
A. The random transformations  
푆1, 푆2, ⋯ , 푆푁 and 푆1′, 푆2′ , ⋯ , 푆푁′ .  
ℎ
푏
Let 푆1, 푆2, ⋯ , 푆푁 be the 푁ℎ matrices that  
ℎ
RandomAffineKey acts on the state cuboid by  
mixing the round keys in three possible ways.  
The first and second ways are the bitwise XOR  
and the random affine transformation on every  
byte of the state shown in Section III for ACDEL-  
2D. The third way consists of three random affine  
transformations AffineKey1, AffineKey2 and  
AffineKey3 acting on the state of the next form:  
form the slices of the three-dimensional state,  
each of these with 4 rows and 푁푏 columns, then  
the cuboid can be presented as a two-  
dimensional array  
푆 = (푆1|푆2| ⋯ |푆푁 )  
ℎ
RandomSubBytes acts on every byte of the  
state cuboid as a random S-box constructed in the  
two possible ways shown in Section III for  
ACDEL-2D.  
Let 훼1 be the affine transformation  
[ ]  
훼1(푆푝) = 푆푝 ⋅ 푀1 ⨁ ExpandedKey 푡  
푝
RandomMixColumns acts on the slices of the  
state cuboid multiplying all columns by a random  
MDS matrix 훼 in 퐺퐿4푥4(퐺퐹(28)) so that  
where 푆푝 is a slice matrix of the cuboid, 푀1 is a  
random invertible matrix in 퐺퐿푁 푥푁푏(퐺퐹(28)),  
푏
1 ≤ 푝 ≤ 푁ℎ and 푡 is any round where 훼 acts.  
Then  
( )  
MixColumns S = (α ⋅ 푆1|훼 ⋅ 푆2| ⋯ |훼 ⋅ 푆푁 )  
ℎ
RandomMixRows acts on the slices of the  
state cuboid multiplying all rows by a random  
( )  
AffineKey1 푆 = (훼1(푆1)|훼1(푆2)| ⋯ |훼1(푆푁 ))  
ℎ
MDS matrix 훽 in 퐺퐿푁 푥푁푏(퐺퐹(28)) so that  
Let 훽1 be the affine transformation  
푏
[ ]  
훽1(푆푝) = 푀2 ⋅ 푆푝 ⨁ ExpandedKey 푡  
( )  
MixRows S = (푆1 ⋅ 훽|푆2 ⋅ 훽| ⋯ |푆푁 ⋅ 훽)  
푝
ℎ
where 푆푝 is a slice matrix of the cuboid, 푀2 is a  
RandomMixLanes acts on the sheets of the  
state cuboid multiplying all lanes by a random random invertible matrix in 퐺퐿4푥4(퐺퐹(28)), 1 ≤  
MDS matrix 휇 in 퐺퐿푁 푥푁ℎ(퐺퐹(28)). In this case  
푝 ≤ 푁ℎ and 푡 is any round where 훽 acts. Then  
ℎ
the state cuboid is presented as a two-  
dimensional array  
( )  
AffineKey2 푆 = (훽1(푆1)|훽1(푆2)| ⋯ |훽1(푆푁 ))  
ℎ
Let 휇1 be the affine transformation  
푆′ = (푆1′|푆2′| ⋯ |푆푁′ )  
푏
[ ]  
휇1(푆′푝) = 푀3 ⋅ 푆′푝 ⨁ ExpandedKey t  
푝
where 푆1′, 푆2′ , ⋯ , 푆푁′ are the 푁푏 matrices that form  
the sheets of the th푏ree-dimensional state, each of  
these with 4 rows and 푁ℎ columns. This way  
where 푆′푝 is a sheet matrix of the cuboid, 푀3 is a  
random invertible matrix in 퐺퐿4푥4(퐺퐹(28)), 1 ≤  
푝 ≤ 푁푏 and 푡 is any round where 휇 acts. Then  
′
′
′
( )  
MixLanes S′ = (푆1 ⋅ 휇|푆2 ⋅ 휇| ⋯ |푆푁 ⋅ 휇)  
푏
( )  
AffineKey3 푆′  
= (휇1(푆′1)|휇1(푆′2)| ⋯ |휇1(푆′푁 ))  
Remark 4: For ACDEL-3D, it can be convenient  
to generate and store only one of the random  
ℎ
MDS matrices 훽 and 휇, since one of these can be Remark 6: The encryption process of ACDEL-  
taken as a sub-matrix of the other. If two  
dimensions of the cuboid are equal then they can RandomAffineKey. In the first and second ways  
3D previously presented uses the third way of  
be convenient to use the same random MDS  
matrices for these dimensions.  
only one transformation needs to be generated,  
thus AffineKey1, AffineKey2 and AffineKey3  
are equal.  
Remark 5: The three-dimensional state used in  
ACDEL-3D is seen as a two-dimensional array of  
푁ℎ matrices with 4 rows and 푁푏 columns for the  
random transformations RandomMixColumns  
and RandomMixRows, and as a two-dimensional  
array of 푁푏 matrices with 4 rows and 푁ℎ columns  
Remark 7: When the three dimensions of the  
state cuboid are equals (푁푏 = 푁ℎ = 4), the MDS  
matrices 훽 and 휇 can be randomly generated  
from the set of all its possible choices as well as  
훼 by the methods presented in Section V.  
Số 2.CS (12) 2020 23  
Journal of Science and Technology on Information Security  
RandomSwapCuboid operates between the  
two-dimensional states 푆 and 푆′, swapping the  
columns of the slices, the columns of the sheets  
and the bytes on all columns of the three-  
dimensional  
state.  
This  
way  
푁
푁
푁 푁  
푏 ℎ  
ℎ
푏
(
) ( ) ( )  
푁푏! 푁ℎ! 4!  
different swaps turn 푆  
into 푆′ depending on 푁ℎ random permutations of  
푆푁 , 푁푏 random permutations of 푆푁 and 푁푏푁ℎ  
푏
ℎ
random permutations in 푆4.  
Suppose  
that  
휏0, 휏1, ⋯ , 휏푁 −1 ∈ 푆푁 ,  
푏
휆0, 휆1, ⋯ , 휆푁 −1 ∈ 푆푁 and 휉0, 휉1, ⋯ ,ℎ휉푁 푁 −1  
∈
푏
ℎ
푏 ℎ  
푆4 , then the byte in the 푗-th row and the 푘-th  
column of the 푖-th matrix of 푆′ is computed as  
Remark 9: In the key expansion procedure as  
many sub-keys as it is needed can be generated,  
so that the 푁푟 + 1 round keys are guaranteed and  
also the pseudorandom sequences used for the  
generation of the random transformation. During  
the generation of these pseudorandom sequences  
if unwanted zero-elements are produced, these  
are ignored and additional key material is  
produced. In addition, as we have said before, any  
pseudorandom number generator can be used to  
produce the pseudorandom sequences.  
′
[
]
[ ]  
푆푖 푗, 푘 = 푆휆 [푖][휉푁 푖+푘 푗 , 휏푖[푘]]  
푘
ℎ
for all 0 ≤ 푗 < 4, 0 ≤ 푘 < 푁ℎ and 0 ≤ 푖 < 푁푏.  
Remark 8: ACDEL-3D can encrypt long  
message blocks and full diffusion is always  
achieved in 3 rounds. The values of 푁푏 and 푁ℎ  
can increase as much as desired since the random  
MDS matrices 훽 and 휇 can be constructed  
through fixed MDS matrices from a Reed-  
Solomon code, by swapping its rows depending  
on random permutations and multiplying its rows  
by different non-zero elements in 퐺퐹(28).  
Since ACDEL-3D always achieves full  
diffusion in 3 rounds whatever 푁푏 and 푁ℎ are, we  
define the number of rounds as 푁푟 = 21. Further  
comments on the selection criteria for this  
number will be given in Section VI.  
B. The key expansion and the number of rounds  
On the contrary of ACDEL-2D, the decryption  
algorithm of ACDEL-3D is always performed in a  
straightforward way by using the inverses of the  
transformations of the encryption process.  
ACDEL-3D was designed to support any  
cipher key multiple of 32 bits (length of a  
column) from a minimum size of 512 bits.  
C. Complexity by matrix multiplication  
Let 푁푘 be the number of columns of the cipher  
(
key, then columns 푊 for 푁푘 ≤ 푖 < 2푁푏푁ℎ 푁푟 +  
)
푖
ACDEL-3D uses only one execution to  
encrypt a message with 4푁푏푁ℎ bytes, while 3D  
1 are derived from the given columns of the  
cipher key 푊 for 0 ≤ 푗 < 푁푘 as shown in  
푗
⁄
uses 푁푏푁ℎ 16 executions in the best case that  
Section III for ACDEL-2D.  
⌈
⁄
⌉
푁푏푁ℎ is a multiple of 16, and 푁푏푁ℎ 16  
executions if not, either 푁푏 > 4 or 푁ℎ > 4.  
(
)
Once derived, in these 2 푁푟 + 1 sub-key  
matrices with 푁푏푁ℎ columns, the first 푁푟 + 1  
ones are used as input for ACDEL-3D in CFB  
⁄
Similarly, Rijndael uses 푁푏푁ℎ 8 executions  
(
)
⌈
⁄
⌉
if 푁푏푁ℎ is a multiple of 8 and 푁푏푁ℎ 16  
(
)
)
executions if not for all 푁푏 and 푁ℎ . This way,  
ACDEL-3D can encrypt long messages in a  
single execution without using a block cipher  
mode of operation.  
mode and the second 푁푟 + 1 ones are used as  
(
the round keys. The 푁푟 + 1 outputs are the  
round keys for the encryption process. This  
procedure is shown in the following figure.  
24 No 2.CS (12) 2020  
Khoa học và Công nghệ trong lĩnh vực An toàn thông tin  
For example, if 푁푏 = 푁ℎ = 16, we can  
푏1,0 푏1,1 푏1,2 푏1,3 푏1,4 푏1,5 푏1,6 푏1,7  
푐2,0 푏2,0 푏2,1 푏2,2 푏2,3 푏2,4 푏2,5 푏2,6  
푐3,0 푐3,1 푏3,0 푏3,1 푏3,2 푏3,3 푏3,4 푏3,5  
 
 
 
 
 
 
encrypt a message with 8192 bits (1 KB of data)  
generating efficiently 16x16 random MDS  
matrices from the MDS matrix of the Russian  
standard Kuznyechik [18], while 3D needs 16  
executions, Rijndael needs 32 executions and  
AES needs 64 executions.  
 
푐4,0 푐4,1 푐4,2 푏4,0 푏4,1 푏4,2 푏4,3 푏4,4
  
 
 
 
 
[
 
 
 
 
]
푐5,0 푐5,1 푐5,2 푐5,3 푏5,0 푏5,1 푏5,2 푏5,3  
푐6,0 푐6,1 푐6,2 푐6,3 푐6,4 푏6,0 푏6,1 푏6,2  
푐7,0 푐7,1 푐7,2 푐7,3 푐7,4 푐7,5 푏7,0 푏7,1  
In ACDEL-3D, the random MDS matrices 훼,  
훽 and 휇 operate in different rounds on each  
column, row and line of the cuboid respectively,  
this way RandomMixColumns uses 42푁푏푁ℎ  
multiplications, RandomMixRows uses 4푁푏2푁ℎ  
multiplications and RandomMixLanes uses  
4푁푏푁ℎ2 multiplications, so the number of  
multiplications during the encryption process is  
푐
8,0  
푐8,1 푐8,2 푐8,3 푐8,4 푐8,5 푐8,6 푏8,0  
where 푏푘,0, 푏푘,1, ⋯ , 푏푘,8−푘 ≠ 0 for all 1 ≤ 푘 ≤ 8.  
In [19], it is also presented the algorithms for  
the generation of a random invertible matrix and  
its inverse in 퐺퐿4푥4(퐺퐹(28)), used for the third  
possibility of RandomAffineKey. Furthermore,  
the methods presented below for the generation  
of a random MDS matrix in 퐺퐿4푥4(퐺퐹(28)) use  
these algorithms.  
휖1 = 28푁푏푁ℎ(4 + 푁푏 + 푁ℎ)  
In the most expensive case, ACDEL-3D uses  
the random MDS matrices 훼, 훽 and 휇 and the  
random invertible matrices 훼1, 훽1 and 휇1, so the  
number of multiplications during the encryption  
process in this case is  
For the transformations RandomMixLanes  
and RandomSwapCuboid in ACDEL-3D, as well  
as RandomMixRows and the second possibility  
for RandomSubBytes in ACDEL-2D and  
ACDEL-3D, random permutations is needed to  
be generated. In [20], the theoretical bases and the  
complexity analysis for the generation of a  
random permutation in the symmetric group 푆푛,  
푛 ≥ 2 can be found.  
휖2 = 28푁푏푁ℎ(64 + 2푁푏 + 푁ℎ)  
For example, if 푁푏 = 푁ℎ = 16 ACDEL-3D  
performs 258048 multiplications without using the  
matrices 훼1, 훽1 and 휇1, 3 times more than 3D and  
almost 5 times more than Rijndael. With 훼1, 훽1  
and 휇1 ACDEL-3D performs 16384 times more  
than the number of multiplications performed with  
3D and 26466 times more with Rijndael.  
In this algorithm, the input is a pseudorandom  
array (푥1, 푥2, ⋯ , 푥푛−1  
)
where 푥푖 ∈ {푖, 푖 +  
1, ⋯ , 푛} for all 1 ≤ 푖 ≤ 푛 − 1.  
A. Generation of random MDS matrices  
We assume that the MDS matrices of Rijndael  
and 3D are randomly chosen for our estimations;  
in practice, with the MDS matrices of both  
Rijndael and 3D, this number is less.  
In this paper, we propose two methods for the  
generation of MDS matrices in 퐺퐿4푥4(퐺퐹(28))  
for RandomMixColumns, whose complexity is  
similar to that of the algorithms presented in [19]  
for the generation of random invertible matrices  
and its inverses in 퐺퐿4푥4(퐺퐹(28)).  
V. GENERATION OF THE RANDOM  
TRANSFORMATIONS  
In this section, we present the algorithms for  
the generation of the random transformations  
used in ACDEL-2D and ACDEL-3D.  
The first method for the generation of a  
random MDS matrix is described in [21], and the  
following definition of MDS matrix is used:  
First, the theoretical bases and the complexity  
analysis for the generation of random invertible  
matrices in 퐺퐿8푥8(퐺퐹(2)) can be found in [19].  
Such matrices are needed for the transformations  
RandomSubBytes and RandomAffineKey in  
their first and second possibilities, for both  
ACDEL-2D and ACDEL-3D.  
Any 4x4 matrix over 퐺퐹(2푛) with all non-zero  
elements is an MDS matrix if and only if all its  
square sub-matrices are not singular.  
The second method proposed for the  
generation of a random MDS matrix is a new  
method using the following proposition found  
in [22]:  
In this algorithm, the input is a pseudorandom  
binary sequence written as matrix  
Số 2.CS (12) 2020 25  
Journal of Science and Technology on Information Security  
Any 4x4 matrix over 퐺퐹(2푛) with all non-  
The values 푎푖,푗 are linear functions of  
푏1,0 and then if the values 푎푖,푗 become  
equal to zero, linear equations with 푏1,0  
as unknown are formed.  
zero elements is a MDS matrix, if and only if it  
is full rank, the inverse matrix having all non-  
zero elements and all its 2x2 sub-matrices are  
full rank.  
The determinants of all 2x2 sub-matrices  
are computed. If the determinants  
become equal to zero, linear and  
quadratic equations with 푏1,0 as unknown  
are formed.  
Also, it is used the fact, if the polynomial  
푓 푥 = 푏1,0 + 푏1,1푥 + 푏1,2푥2 + 푏1,3푥3  
on  
( )  
8
( )  
퐺퐹 2 is such that 푏1,1, 푏1,2 and 푏1,3 ≠ 0 and  
푏1,0 is unknown, then all coefficients of the  
−1( )  
( )  
inverse 푓  
푥
module 푔 푥 , a primitive  
The values of 푏1,0 which do not satisfy  
the mentioned equations are stored.  
polynomial of degree 4, depend on 푏1,0.  
Input:  
Step 3: With the coefficients 푏1,1, 푏1,2 and 푏1,3 of  
matrix 푀 and 푏1,0 as unknown, it is computed the  
coefficients 푑1,0 = 휆0(푏1,0), 푑1,1 = 휆1(푏1,0),  
푑1,2 = 휆2(푏1,0) and 푑1,3 = 휆3(푏1,0) of the inverse  
- Primitive polynomials 푔1(푥), 푔2(푥) and 푔3(푥)  
in 퐺퐹(28)[푥] selected a priori so that  
푑푒푔(푔1(푥)) = 4,  
푑푒푔(푔3(푥)) = 2.  
푑푒푔(푔2(푥)) = 3  
and  
−1( )  
푥 = 푑1,0 + 푑1,1푥 + 푑1,2푥2 + 푑1,3푥3  
푓
- Pseudorandom sequence written as matrix  
module 푔1(푥). Thus, we can form the matrix  
−
푏1,1 푏1,2 푏1,3  
 
 
 
[
 
 
 
]
푑1,0 푑1,1 푑1,2 푑1,3  
푐2,0 푏2,0 푏2,1 푏2,2  
푐3,0 푐3,1 푏3,0 푏3,1  
푐2,0 푏2,0 푏2,1 푏2,2  
푐3,0 푐3,1 푏3,0 푏3,1  
 
 
 
[
 
 
 
]
푀 =  
푀′ =  
푐
4,0  
푐4,1 푐4,2 푏4,0  
푐
4,0  
푐4,1 푐4,2 푏4,0  
8
( )  
where 푐푖,푗, 푏푘,푡 ∈ 퐺퐹 2 and 푏푘,0, ⋯ , 푏푘,4−푘 ≠ 0  
for all 2 ≤ 푖 ≤ 4, 2 ≤ 푘 ≤ 4 and 0 ≤ 푗 ≤ 2, 0 ≤  
푡 ≤ 3, and also 푏1,1, 푏1,2 and 푏1,3 ≠ 0.  
Step 4: Using matrix 푀′ and the algorithm  
described above to compute the inverse, we  
can compute  
푑1,0 푑1,1 푑1,2 푑1,3  
푑2,0 푑2,1 푑2,2 푑2,3  
푑3,0 푑3,1 푑3,2 푑3,3  
{
 
 
 
[
 
 
 
]
퐴−1  
=
Step 1: Computation of the first row.  
The first row of a matrix 퐴 is formed by 푏1,0,  
푏1,1, 푏1,2 and 푏1,3 . Values 푏1,1, 푏1,2 and 푏1,3 are  
taken from matrix 푀 . The value 푏1,0 will be  
determined in Step 6 of the present algorithm.  
푑
푑4,1 푑4,2 푑4,3  
4,0  
Note that 푑푖,푗 depend on 푏1,0 , 푏1,1 , 푏1,2 and  
푏1,3 for all 2 ≤ 푖 ≤ 4 and 0 ≤ 푗 ≤ 3, then  
matrix 퐴−1 becomes  
Step 2: Computation of the row 2 ≤ 푖 ≤ 4.  
훿1,0(푏1,0) 훿1,1(푏1,0) 훿1,2(푏1,0) 훿1,3(푏1,0)  
 
 
 
[
 
 
 
]
훿2,0(푏1,0) 훿2,1(푏1,0) 훿2,2(푏1,0) 훿2,3(푏1,0)  
훿3,0(푏1,0) 훿3,1(푏1,0) 훿3,2(푏1,0) 훿3,3(푏1,0)  
훿 (푏 ) 훿 (푏 ) 훿 (푏 ) 훿 (푏 )  
From the values of the first row, matrix 푀 and  
the previous algorithm for random generation of  
4,0 1,0  
4,1 1,0  
4,2 1,0  
4,3 1,0  
an invertible matrix 퐴 = {푎푖,푗}4푥4  
,
푎푖,푗 ∈  
Step 5: If the values of 훿푖,푗(푏1,0) for all 1 ≤ 푖 ≤  
4 and 0 ≤ 푗 ≤ 3 become equal to zero,  
equations with 푏1,0 as unknown are formed. The  
values of 푏1,0 which do not satisfy the mentioned  
equations are stored.  
퐺퐹(28), the values 푎푖,푗 are computed, leaving  
matrix 퐴 in the following way:  
−
푏1,1 푏1,2 푏1,3  
푎2,0 푎2,1 푎2,2 푎2,3  
푎3,0 푎3,1 푎3,2 푎3,3  
푎4,0 푎4,1 푎4,2 푎4,3  
퐴 = [  
]
26 No 2.CS (12) 2020  
Khoa học và Công nghệ trong lĩnh vực An toàn thông tin  
bits. Meanwhile, with ACDEL-2D and ACDEL-  
3D, each output bit depends on all input bits in a  
single execution.  
Step 6: Random generation of the MDS matrix 퐴.  
From the values of 풃ퟏ,ퟎ which do not satisfy  
the equations of Step 2 and Step 5, one should be  
selected at random, leaving matrix 푴 full, and  
then matrix 푨 and its inverse are completed.  
Of course, some constructions like Rijndael  
and 3D can be built if longer message blocks need  
to be encrypted, increasing the values of the  
number of columns and the number of slices in  
case of 3D without replacing the original  
transformations. In this case, full diffusion is  
achieved in a bigger number of rounds.  
By rule, if 4푖−1 < 푁푏 ≤ 4푖, where 푖 ≥ 1,  
using a kind of construction like Rijndael full  
diffusion is achieved in 푖 + 1 rounds to encrypt a  
4푁푏-byte message block.  
}
Output:  
풃ퟏ,ퟎ 풃ퟏ,ퟏ 풃ퟏ,ퟐ 풃ퟏ,ퟑ  
풂ퟐ,ퟎ 풂ퟐ,ퟏ 풂ퟐ,ퟐ 풂ퟐ,ퟑ  
풂ퟑ,ퟎ 풂ퟑ,ퟏ 풂ퟑ,ퟐ 풂ퟑ,ퟑ  
풂ퟒ,ퟎ 풂ퟒ,ퟏ 풂ퟒ,ퟐ 풂ퟒ,ퟑ  
MDS matrix 푨 = [  
]
VI. FURTHER COMMENTS ON DESIGN STRATEGY  
AND SECURITY  
Rijndael was designed by means of the  
Wide Trail Strategy (WTS), so that full  
diffusion is achieved in the minimal number of  
rounds as possible.  
Round 1: 휃1(휋(훾(푘1(State, ExpandedKey[1]))))  
Round 2: 휃2(휋(훾(푘2(State, ExpandedKey[2]))))  
Round 3: 휃1(휋(훾(푘3(State, ExpandedKey[3]))))  
Round 4: 휃2(휋(훾(푘4(State, ExpandedKey[4]))))  
Round 5: 휃1(휋(훾(푘5(State, ExpandedKey[5]))))  
In the WTS, the diffusion step is constructed  
in such a way that one transformation acts on the  
columns of the state, providing high local  
diffusion; and another transformation acts on the  
rows of the state, providing high dispersion. This  
way the influence of one bit spreads to all the  
state as soon as possible.  
Considering this, MixColumns was chosen as  
an MDS matrix and ShiftRows as a diffusion  
optimal permutation, achieving full diffusion in  
three rounds (two rounds if 푁푏 = 4) in the sense  
that every state bit depends on all state bits in the  
previous three rounds, or a change in one state bit  
is likely to affect half of the state bits after three  
rounds. Other criteria such as efficiency, were  
also taken into account by Rijndael's designers [3].  
On the other hand, 3D is also based on the  
WTS, using in alternate rounds two diffusion  
optimal permutations on the slices and the sheets  
of the state cube. This way, 3D achieves full  
diffusion in three rounds, encrypting twice as  
much data as Rijndael in one execution.  
ACDEL-2D and ACDEL-3D allow to encrypt  
long message blocks at once, while Rijndael  
encrypts at most 256 bits at once and 3D encrypts  
always 512 bits at once. This way, to encrypt a  
message block larger than 512 bits, with Rijndael  
and 3D, more than one execution is needed as  
well as a block cipher mode of operation to make  
possible that each output bit depends on all input  
Fig. 3. Spreading of one-byte dependency  
through 5 rounds for the state shown in Fig. 1.  
Số 2.CS (12) 2020 27  
Journal of Science and Technology on Information Security  
Similarly, if also 4푗−1 < 푁ℎ ≤ 4푗, where 푗 ≥  
1, using a kind of construction like 3D full  
diffusion is achieved in 푖 + 푗 + 1 rounds if 푖 ≥ 푗  
or 2(푗 + 1) rounds if 푖 < 푗 to encrypt a 4푁푏푁ℎ-  
byte message block.  
presented. In both ACDEL-2D and ACDEL-3D,  
all transformations are randomly generated  
depending on pseudorandom sequences, obtained  
directly from the Rijndael’s key schedule or any  
other pseudorandom number generator.  
Our constructions are based in the WTS of  
Rijndael, allowing to encrypt long message blocks  
at once without using a block cipher mode of  
operation, at the same time the minimal number of  
rounds to achieve full diffusion is always two for  
ACDEL-2D or three for ACDEL-3D.  
As we said before, ShiftRows in Rijndael and  
휃1 and 휃2 in 3D act on the state spreading the  
diffusion provided by the MDS matrix to every  
column. In general, all diffusion optimal  
permutations have column branch number equal  
to the branch number of MixColumns; however,  
MixRows has column branch number 푁푏 + 1 and  
MixLanes has column branch number 푁ℎ + 1.  
In both proposals, a random MDS matrix is  
used alternately on columns and rows of the state;  
instead of Rijndael and 3D, which use a fixed  
MDS matrix on columns and a fixed diffusion  
optimal permutation on rows. Since the matrix  
multiplication is a very expensive operation, the  
number of multiplications performed in ACDEL-  
2D and ACDEL-3D is higher as the states are  
longer; however, both constructions have many  
applications in practice.  
This way, our constructions allow to encrypt  
long message blocks at once and full diffusion is  
always achieved in two rounds for two-  
dimensional states or three rounds for three-  
dimensional states. This constitutes the main  
advantage of ACDEL-2D and ACDEL-3D over  
Rijndael, 3D, and other possible constructions.  
Until today, none of the known attacks pose a  
threat to Rijndael in a practical sense. In addition,  
any cryptanalytic attack seems to be effective in  
reduced versions of Rijndael with more than six  
rounds [3]; however, some extra rounds were  
added in Rijndael in such a way that at least 2 full  
diffusion steps act as security margin.  
VII. APPENDIX  
A. Inverse of one polynomial of degree 3  
Next, we present an example of the inverse of  
8
( )  
one polynomial in 퐺퐹 2 [푥] with degree 3, so  
that it can be used in the generation of a random  
MDS matrix through the new method described  
in this paper.  
In ACDEL-2D, we add 4 full diffusion steps  
as security margin after 6 rounds, for a final  
number of rounds 푁푟 = 14. In ACDEL-3D, were  
added 4 full diffusion steps as security margin  
after 9 rounds, for a final number of rounds 푁푟 =  
21. More rounds could be added in both cases as  
security margin; however, the number of  
multiplications would be even higher and this  
amount is sufficient to prevent existing attacks.  
Let 푓(푥) be the polynomial  
푧8푥3 + 푧4푥2 + 푧32푥 + 푧2  
and let 푔(푥) be the primitive polynomial  
푥4 + 푧9푥3 + 푧2푥 + 푧13  
8
8
( )  
in 퐺퐹 2 [푥], where 푧 ∈ 퐺퐹(2 ) is a primitive  
element modulo the irreducible polynomial used  
to construct the field 퐺퐹(28) in Rijndael  
Most of the security of our constructions relies  
on the WTS and the number of rounds previously  
defined. On the other hand, extra security is  
provided in both ACDEL-2D and ACDEL-3D by  
8
4
3
( )  
푃 푦 = 푦 + 푦 + 푦 + 푦 + 1  
−1( )  
Let 푓 푥 = 푑1,0 + 푑1,1푥 + 푑1,2푥2 + 푑1,3푥3  
be the inverse of 푓(푥) modulo푔(푥), so that 푑1,0  
휆0(푏1,0), 푑1,1 = 휆1(푏1,0), 푑1,2 = 휆2(푏1,0), 푑1,3  
휆3(푏1,0). If we take 푧 = 푦 + 1 then  
the  
unknowingness  
of  
the  
random  
=
=
transformations used in the encryption process.  
We consider that ACDEL-2D and ACDEL-3D  
are strong ciphers.  
푑1,3 ≡ 푧89 mod 푃(푦)  
(
)
VII. CONCLUSION  
푑1,2 ≡ 푧64 mod 푃(푦)  
(
)
)
In this paper, the dynamic cryptographic  
algorithms ACDEL-2D and ACDEL-3D,  
working on two-dimensional states and three-  
dimensional states respectively have been  
푑1,1 ≡ 푧46 mod 푃(푦)  
(
푑1,0 ≡ 푧119 mod 푃(푦)  
(
)
28 No 2.CS (12) 2020  
Khoa học và Công nghệ trong lĩnh vực An toàn thông tin  
Bio-Inspired  
Computing:  
Theories  
and  
REFERENCES  
Applications. IEEE, 2011.  
[1] Daemen J. and Rijmen V. The Rijndael block  
cipher.  
AES  
proposal.  
1999.  
[13] Jamel S., et al. “The hybrid cubes encryption  
algorithm (HiSea).” Advances in Wireless, Mobile  
Networks and Applications. Springer, 2011.  
http/www.daimi.ai.dk/∼iran/rijndael.pdf.  
Accessed on Dec 11, 2020.  
[2] Federal Information Processing Standard. [14] Chugunkov I., et al. “Three - dimensional data  
Announcing the Advanced Encryption Standard  
(AES). FIPS Publication 197, 2001.  
stochastic transformation algorithms for hybrid  
supercomputer implementation.” 17th  
Mediterranean Electrotechnical Conference.  
IEEE, 2014.  
[3] Daemen J. and Rijmen V. “The design of  
Rijndael: AES - The Advanced Encryption  
Standard”. Second Edition. Springer. 2020.  
[15] Federal Information Processing Standard.  
“SHA-3 standard: Permutation-based hash and  
extendable-output functions.” FIPS Publication  
202, 2015.  
[4] Nakahara J. and Abrahao E. "A New Involutory  
MDS Matrix for the AES." IJ Network  
Security 9 (2), 2009.  
[16] Wang Q. and Jin C. “A non-alternate 3D structure  
and its practical security evaluation against  
differential and linear cryptanalysis.” Science  
China Information Sciences 61 (5), 2018.  
[5] Elumalai R. and Raji A. "Improving diffusion  
power of AES Rijndael with 8x8 MDS matrix."  
International Journal of Scientific & Engineering  
Research 2 (3), 2011.  
[17] Rijmen V., Daemen J., Preneel B., Bosselaers A.  
and De Win E. “The cipher SHARK”. LNCS  
1039, pp. 99–111. Springer, 1996.  
[6] Liu Z. and De H. "Dynamic Encryption  
Algorithm Based on Rijndael." Advanced  
Materials Research. Vol. 490. Trans Tech  
Publications Ltd, 2012.  
[18] Federal Agency on Technical Regulation and  
Metrology. “National Standard of the Russian  
Federation GOST R34.12-2015”. 2015.  
[7] Craig Suzanne. "A Simplified AES with Field  
Characteristic 7." Proceedings of the NCUR. 2014.  
[8] Gowda S., Aravind H. and Usha S. "Design and  
ASIC Implementation of Modified Rijndael  
Cipher." (IRJET) International Research Journal  
of Engineering and Technology. 2016.  
[19] Freyre P, Díaz N and Morgado E. R. “Some  
algorithms related to matrices with entries in a  
finite field”. Journal of Discrete Mathematical  
Sciences & Cryptography. India. Vol. 12, No. 5,  
pp. 509–519. 2009.  
[9] Yang M., Xiao B. and Meng Q. "New AES  
Dual Ciphers Based on Rotation of Columns."  
Wuhan University Journal of Natural Sciences  
24 (2), 2019.  
[20] Freyre P and Díaz N. “Generación aleatoria de  
permutaciones del grupo simétrico o del grupo  
alternado”. Revista Investigación Operacional.  
Vol. 36, No. 2, 2015.  
[10] Bossert J, et al. "Pholkos - Efficient Large-state  
Tweakable Block Ciphers from the AES Round  
Function." IACR ePrint Archive, Vol. 275, 2020.  
[21] Freyre P, Díaz N, Díaz R and Pérez C. “Random  
generation of MDS matrices”. Proceedings of  
Current Trends in Cryptology CTCrypt2014.  
Russia, 2014.  
[11] Nakahara J. "3D: A three-dimensional block  
cipher." International Conference on Cryptology  
and Network Security. Springer, Berlin,  
Heidelberg, 2008.  
[22] Gupta K. C. and Ray I. G. “On constructions of  
MDS matrices from companion matrices for  
lightweight cryptography”. In CD-ARES.2013  
Workshop: MOCrySEn, pp. 29-43, Springer. 2013.  
[12] Ariffin S., Mahmod R. and Jaafar A.. "Immune  
systems  
approaches  
for  
cryptographic  
algorithm." Sixth International Conference on  
Số 2.CS (12) 2020 29  
Journal of Science and Technology on Information Security  
ABOUT THE AUTHOR  
Pablo Freyre Arrozarena  
Workplace: Institute of Cryptography.  
University of Havana.  
Nelson Díaz Pérez  
Workplace:  
Institute  
of  
Cryptography. University of Havana.  
Education: Graduated in  
Mathematics in 1985; received  
Master's degree in 2006.  
Education: Graduated in Mathematics  
in 1988; received Doctor's degree in  
1998.  
Current  
research  
direction:  
Current research direction: symmetric cryptography,  
symmetric cryptography, mathematical aspects of  
cryptography and information security.  
mathematical  
information security.  
aspects  
of  
cryptography and  
Adrián Alfonso Peñate  
Oristela Cuellar Justiz  
Workplace:  
Cryptography. University of Havana.  
Education: Graduated in  
Institute  
of  
Workplace: Center for the Study of  
Computational  
Mathematics.  
University of Informatics Sciences.  
Mathematics in 2014; received  
Master's degree in 2018.  
Education:  
Mathematics and Physics in 1987;  
received Doctor's degree in 2016.  
Current research direction: symmetric cryptography,  
mathematical aspects of cryptography and  
Graduated  
in  
Current  
research  
direction:  
symmetric cryptography, mathematical aspects of  
cryptography and information security.  
information security.  
30 No 2.CS (12) 2020  
pdf 13 trang baolam 21340 Free
Bạn đang xem tài liệu "Block Ciphers with Matrices Operating Alternately over Columns and Rows", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfblock_ciphers_with_matrices_operating_alternately_over_colum.pdf