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.
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.
Email: [email protected]
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.
Email: [email protected]
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
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:
block_ciphers_with_matrices_operating_alternately_over_colum.pdf

