Next Article in Journal
Detection of Shoplifting on Video Using a Hybrid Network
Previous Article in Journal
Using Hybrid Algorithms of Human Detection Technique for Detecting Indoor Disaster Victims
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Development and Study of an Encryption Algorithm

by
Nursulu Kapalova
1,2,
Kairat Sakan
1,2,
Kunbolat Algazy
1,2,* and
Dilmukhanbet Dyusenbayev
1
1
Institute of Information and Computational Technologies, Almaty 050010, Kazakhstan
2
Faculty of Information Technology, Al-Farabi Kazakh National University, Almaty 050040, Kazakhstan
*
Author to whom correspondence should be addressed.
Computation 2022, 10(11), 198; https://doi.org/10.3390/computation10110198
Submission received: 22 September 2022 / Revised: 28 October 2022 / Accepted: 1 November 2022 / Published: 4 November 2022
(This article belongs to the Section Computational Engineering)

Abstract

:
A new symmetric block cipher algorithm called AL02 has been developed. The algorithm scheme provides five-round encryption of 128-bit blocks, while the data size at the input and output of the S-box is 8 bits. The main transformation is the F transformation. The difference between the proposed algorithm and the classical scheme is that the F transformation provides the maximum possible dependence of the output vector bits on the input bits and is based on “modulo 2 addition” and a substitution S-box. To assess the strength of the AL02 algorithm, it was programmatically implemented in the C programming language. During the analysis, the cryptographic properties of the developed encryption algorithm were tested. The algorithm was tested for statistical security. For an experimental assessment, in order to ensure that the ciphertext is not inferior to a random sequence in its properties, the well-known sets of statistical tests by NIST (National Institute of Standards and Technology) and Donald Knuth were used. The property of the avalanche effect was also checked. The strength was evaluated using the methods of differential and linear cryptanalysis.

1. Introduction

The development of new information technologies is accompanied by negative phenomena such as industrial espionage, computer crimes, and unauthorized access to confidential information.
Due to humans’ growing dependence on information technology and the need to ensure information security, the protection of information, including the use of cryptographic methods, has become important for society as a whole.
Modern cryptography is a specific research area at the intersection of mathematics and computer science, which forms one of the main subsystems of any information security system. Of the means of cryptographic protection, symmetric block ciphers have gained widespread popularity due to their practicality.
A strong block cipher must satisfy certain conditions. These conditions are formulated in [1], which is fundamental in the theory of encryption. A strong cipher must have confusion and diffusion properties. Confusion hides the relationship between the ciphertext and the key, while diffusion hides the relationship between the ciphertext and the plaintext.
To meet the requirements for block ciphers, modern encryption algorithms use various cryptographic transformations. This also applies to linear transformations, including MDS matrices over finite fields.
As a result of scientific developments, new-generation algorithms with the SP-network structure have appeared. The general design of these algorithms is a variant of the substitution–permutation network (SP network). This network uses an iterative transformation consisting of a substitution layer (non-linear elements), a linear (mixing) layer, and a key adding layer. By transforming the entire data block at each iteration, this design provides much faster mixing of the input vector compared to the Feistel network. This effect is enhanced by an MDS matrix (Maximal Distance Separable matrix) in the linear layer. This matrix provides the maximum possible dependence of the bits of the output vector on the bits of the input, and it is used in linear transformations in many well-known encryption algorithms [2].
In [3], a new method for estimating the integral property, truncated, and impossible differentials for substitution–permutation network (SPN) block ciphers is proposed. This method was tested only for truncated algorithms.
The paper [4] considers the structure and properties of a cryptographic information protection algorithm model based on non-positional polynomial notations (NPNs) and constructed on the basis of a SP network. Taking into account the properties of the NPN, the speed of the algorithm in the case of its implementation was not considered.
In symmetric block algorithms, a well-tested MDS transform is used as a linear transformation block. It gives the best diffusion properties. MDS codes (Maximum Distance Separable codes) are mainly used to multiply an original text vector by some matrix of constants, which is usually called an MDS matrix [5]. The scheme for generating subkeys (round keys) of known algorithms has the following disadvantages:
The ability to restore the master key using one subkey;
Fairly simple dependencies between subkeys (vulnerability to attacks on related keys);
The first of the subkeys is the master key;
The weak influence of changes in the master key bits on the bits of the first subkeys;
Use in the unfolding scheme of another design, different from the cyclic function;
Different complexity of generating a sequence of subkeys for encryption and decryption.
When designing block algorithms, their structural components, such as S-boxes, Boolean functions, and polynomials, play an important role. Depending on their characteristics and properties, block algorithms provide a certain level of security. In [6], the influence of the properties of S-boxes on the reliability of algorithms is considered.
The article [7] presents differential cryptanalysis of the Boron block cipher. The authors use differentials consisting of several differential characteristics with the same input and output differences. Each characteristic that corresponds to a given differential increases its overall probability.
By evaluating the strength of round key algorithms, potential loopholes in the overall encryption process can be anticipated. The paper [8] proposes a criterion for estimating the cryptographic strength of round key algorithms. This criterion includes various methods for generating data from subsections and a suitable set of statistical tests.
Quantum cryptography or quantum key distribution is considered one of the information technologies capable of shaping the image of the telecommunications networks of the future. It allows two parties connected over an open communication channel to create a common random key known only to them and use it to encrypt and decrypt messages. The authors of [9] were devoted to ensuring the security of quantum key distribution. The article, which consists of ten chapters, describes almost all practical aspects of security in creating and breaking quantum code. The conclusion includes a systematic and staged presentation of the research results. Technical aspects related to phase synchronization, which provides a high key transfer rate, are studied in [10]. When using single-photon sources in the Z-basis, their protocol provides security up to a higher error rate by establishing non-trivial mutual information between the bit-flip and phase error patterns, thereby achieving a higher key rate. In the history of the development of quantum cryptography, the quantum digital signature also plays an important role. Existing quantum digital signature schemes use non-orthogonal quantum states distributed as “quantum signatures”. Modern schemes allow a message to be securely signed so that one or more recipients can be sure of its authenticity. The use of quantum digital signatures and their exchange protocols is described in more detail in [11,12].
Thus, when developing a symmetric block encryption algorithm, it is necessary to take into account the features of the cryptographic procedures mentioned above. As a rule, when creating a new algorithm or modifying an existing encryption algorithm, its properties are first analyzed.

2. Materials and Methods

When constructing ciphers, the main issue is to ensure their strength. So far, there is no complete theory of block ciphers, which would allow the development of a full-fledged method for evaluating strength. Only some general requirements for the quality of encryption transformations are proposed. If the cipher satisfies such requirements, then we speak of provable security (against known methods of cryptanalysis) or the achievement of guaranteed properties of ciphering transformations.
The main methods for evaluating the strength of cryptographic algorithms include the assessment of their statistical security. Statistical tests are used to experimentally evaluate whether a ciphertext is as good as a random sequence in its properties.
The following test suites are known: NIST, CRYPT-X, DIEHARD, TESTU01, and test sets by Donald Knuth and Ali Doganaksoy. They are used to study the statistical properties of cryptographic primitives and make it possible to obtain a preliminary estimate of cryptographic strength.
To analyze the reliability of block encryption algorithms, powerful attacks such as linear and differential cryptanalysis have been developed [13,14]. Knowledge of these methods of analysis makes it possible, even at the design stage of ciphers, to provide for their excessive security and exclude the possibility of their breaking via these techniques.
The goal of linear cryptanalysis is to find the next “efficient” linear expression for a given encryption algorithm:
A i 1 A i 2 A i a C j 1 C j 2 C j b = K k 1 K k 2 K k c ,
where i 1 , i 2 , , i a ,   j 1 , j 2 , , j b and k 1 , k 2 , , k c denote fixed bit positions, and Equation (1) is satisfied with probability p ≠ ½ for an arbitrarily given plaintext A corresponding to ciphertext C and key K.
Linear cryptanalysis is implemented in two steps. The first is to build relationships between the plaintext, the ciphertext, and the key that are true, with high probability. The second is to use these relationships, along with known plaintext–ciphertext pairs, to derive the key bits. To estimate linear analysis, we use the following two lemmas [15].
Lemma 1. 
(Piling-up lemma). Let  X i ( 1 i n ) be independent random variables whose values are 0 with probability p i or 1 with probability 1 p i . Then, the probability that X 1 X 2 X n = 0   is 1 2 + 2 n 1 i = 1 n ( p i 1 2 ) .
Lemma  2. 
Let N be the number of given random plaintexts and p be the probability that Equation (1) is satisfied, and let | p 1 2 | be sufficiently small. Then, the probability of success of Algorithm 1 is 2 N | p 1 2 | e x 2 2 d x .
If it is possible to obtain an effective linear expression, then based on the maximum likelihood method, the following algorithm can determine one bit of the key K [ k 1 , k 2 , , k c ] :
Algorithm 1: Steps to determine one bit of the key K [ k 1 , k 2 , , k c ]
Step 1. Let T be the number of plaintexts, such that the left side of Equation (1) is equal to zero.
Step 2. If T > N/2 (N stands for the number of plaintexts),
then we set K [ k 1 , k 2 , , k c ] = 0 (for p > 1/2) or 1 (for p < 1/2).
Otherwise, K [ k 1 , k 2 , , k c ] = 1 (for p > 1/2) or 0 (for p < 1/2).
The probability of success of this method obviously increases with increasing N or |p − ½|. Now, consider the most efficient linear expression (i.e., |p − ½| is the maximum) as the best expression and the probability p as the best probability. Then, our main task is the following:
  • Methods for finding effective linear expressions.
  • An explicit description of the probability of success in terms of N and p.
  • Finding the best expression and calculating the best probability.
When designing an encryption algorithm, it is also necessary that the cipher satisfy the avalanche criterion. The avalanche effect is an important cryptographic property for encryption. It means that changing the value of a small number of bits in the input text or the key leads to an avalanche change in the values of the output bits of the ciphertext. To characterize the degree of the avalanche effect in a cryptographic transformation, an avalanche parameter is determined and used: the numerical value of the deviation of the probability of a bit change in the output sequence when a bit in the input sequence changes from the required probability value equal to 0.5.
In this work, we will follow the methodology for analyzing statistical security indicators, described in [16]. Here, we consider such indicators of statistical security as:
-
Degree of completeness (dc);
-
Degree of avalanche effect (da);
-
Degree of strict avalanche criterion (dsa).
The verification of the statistical security indicators of the cipher begins with the construction of the dependency matrix A and the distance matrix B of the cipher described by the function f : ( G F ( 2 ) ) n ( G F ( 2 ) ) m for a set of X inputs, where X is the set ( G F ( 2 ) ) n itself or a randomly chosen subset of the set ( G F ( 2 ) ) n .
If such matrices are constructed, then the degree of completeness is defined as:
d c = 1 # { ( i , j ) | a i j = 0 } n m .
The degree of the avalanche effect is defined as:
d a = 1 i = 1 n | 1 # X j = 1 m 2 j b i j m | n m .
The degree of the strict avalanche criterion is defined as:
d s a = 1 i = 1 n j = 1 m | 2 a i j # X 1 | n m .
For the avalanche criterion, the value of the avalanche parameter is determined by the formula = max { | 2 k i 1 | , 1 i n } , where i is the number of the changed bit in the input sequence, k i is the probability of changing half of the bits in the output sequence when the i-th bit at the input changes compared to the original (unchanged) input sequence.

3. Building the AL02 Encryption Algorithm

We have developed the AL02 encryption algorithm, which is new in its architecture and meets modern requirements.
Algorithm parameters: the block length is 128 bits. The number of rounds is five. The data size at the input and output of the S-box, which is used in the algorithm as a non-linear function, is 8 bits. The main transformations used are “modulo 2 addition” and S-box substitution, as well as the F transformation based on these two transformations.
The scheme of this algorithm is shown in Figure 1.
After the fifth round, the encryption result is passed through the S-box, and bitwise addition with the key is performed.

3.1. Encryption

A 128-bit block is an input as a sequence of 16 bytes:
A = ( a 0 , a 1 , a 2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 , a 9 , a 10 , a 11 , a 12 , a 13 , a 14 , a 15 ) .
This sequence can be represented as a 4 × 4 square matrix:
A = ( a 0 , 0 a 0 , 1 a 0 , 2 a 0 , 3 a 1 , 0 a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 0 a 2 , 1 a 2 , 2 a 2 , 3 a 3 , 0 a 3 , 1 a 3 , 2 a 3 , 3 ) = ( a 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 a 11 a 12 a 13 a 14 a 15 ) .
The transformation F ( S ( X ( K i ,   I ) ) ) ,   i = 0 ,   1 ,   2 ,   3 ,   4 is repeated five times. In the sixth round, the transformation X ( K 5 ,   S ( I ) ) of the obtained values is performed to get an encrypted block.
Thus, each block is encrypted according to the following scheme:
C X ( K 5 , S ( F ( S ( X ( K 4 , F ( S ( X ( K 3 , F ( S ( X ( K 2 , F ( S ( X ( K 1 , F ( S ( X ( K 0 , A ) ) ) ) .
Here, A is the plain text, C is the ciphertext, X is the XOR operation, S is the S-box transformation, F is a non-linear transformation, and I is an intermediate value.
F transformation of a block. Take four elements with intermediate values corresponding to each row of the matrix and perform a bitwise addition using the following formula:
b i = a i , 0 S ( a i , 1 ) S ( a i , 2 a i , 3 ) = a 4 i S ( a 4 i + 1 ) S ( a 4 i + 2 a 4 i + 3 ) ,
that is, the value of the first element is summed modulo 2 with the value obtained by applying the S-box to the second element and with the value obtained by applying the S-box to the result of bitwise addition of the third and fourth elements.
The resulting four values are added modulo 2, and the sum is converted using the S-box, which is taken as the first element of the first row of the matrix:
c 0 , 0 = S ( b 0 b 1 b 2 b 3 ) .
The remaining elements of the new matrix are calculated as follows.
The second, third, and fourth elements of each row are obtained by applying an S-box to the result of the bitwise addition of the processed element of the transformed matrix with the previous element of the same row of the transformed matrix:
c i , j + 1 = S ( c i , j a i , j + 1 ) , i = 0 ,   1 ,   2 ,   3 ; j = 0 , 1 , 2 .
To get the first element of a row, the S-box is applied to the result of the bitwise addition of the processed element of the transformed matrix and the last element of the previous row of the transformed matrix:
c i , 0 = S ( c i 1 , 3 a i , 0 ) , i = 1 ,   2 ,   3 .
All elements of the transformed matrix are calculated in the same way.

3.2. Decryption

Text decryption is performed by the sequential processing of 16-byte blocks using inverse transformation. Each block is represented as a 16-byte vector or 4 × 4 square matrix: C = ( c 0 , c 1 , c 2 , c 3 , c 4 ,   c 5 , c 6 , c 7 , c 8 , c 9 , c 10 , c 11 , c 12 , c 13 , c 14 , c 15 ) , or
C = ( c 0 , 0 c 0 , 1 c 0 , 2 a 0 , 3 c 1 , 0 c 1 , 1 c 1 , 2 c 1 , 3 c 2 , 0 c 2 , 1 c 2 , 2 c 2 , 3 c 3 , 0 c 3 , 1 c 3 , 2 c 3 , 3 ) = ( c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 c 13 c 14 c 15 ) .
To obtain a plaintext block, it is necessary to repeat the inverse transformation F 1 ( S 1 ( X ( K i ,   C ) ) ) ,   i = 1 ,   2 ,   3 ,   4 ,   5 five times and then perform the transformation X ( K 0 ,   S 1 ( I ) ) using the compositional method.
Each block is decrypted as per the following scheme:
A = X ( K 0 , S 1 ( F 1 ( S 1 ( X ( K 1 , , F 1 ( S 1 ( X ( K 5 , C ) ) ) ) ,
where A is the plain text, C is the ciphertext, X is the XOR operation, S 1 is the inverse S-box, F 1 is the inverse non-linear transformation, and I is an intermediate value.
F 1 (reverse) block transformation: As a result of applying the inverse transformation to the matrix of ciphertext elements, a new matrix is obtained. In reverse transformation, calculations start from the second element of the first row. The inverse S-box is applied to the second, third, and fourth elements of each row of the matrix to be transformed. After that, bitwise addition is performed with the previous element of the same row, resulting in an element of the transformed matrix located in the same position:
a i , j = S 1 ( c i , j ) c i , j 1 , i = 0 ,   1 ,   2 ,   3 ; j = 1 ,   2 ,   3 .
The first element of the second, third, and fourth row is calculated by applying the inverse S-box to the corresponding element of the matrix to be transformed, and then adding modulo 2 to the last element of the previous row:
a i , 0 = S 1 ( c i , 0 ) c i 1 , 3 , i = 1 ,   2 ,   3 .
B as a result of this transformation, we get all the elements of the resulting matrix, except for the first element in the first row. To get the first element of the first row, the following steps are performed. Starting from the second line, three intermediate values, b 1 , b 2 , and b 3 , are calculated by “modulo 2 addition” of the value of the first element, the value obtained by applying the S-box to the second element, and the value obtained by applying the S-box to the bit sum of the third and fourth elements:
b i = a i , 0 S ( a i , 1 ) S ( a i , 2 a i , 3 ) , i = 1 ,   2 ,   3 .
The intermediate value b 0 is obtained from the matrix element located at the intersection of the first row and the first column by applying the inverse S-box to it, and bitwise addition with the other three intermediate values:
b 0 = S 1 ( c 0 , 0 ) b 1 b 2 b 3 .
To find the first element of the first row of the inverted matrix, the resulting intermediate value b 0 is summed modulo 2 with the two results of applying the S-box, i.e., with the result of applying the S-box to the second element of the first row, and the value obtained as a result of applying the S-box to the bit sum of the second and third elements:
a 0 , 0 = b 0 S ( a 0 , 1 ) S ( a 0 , 2 a 0 , 3 ) .
To obtain a plaintext block, it is necessary to repeat the inverse transformation five times using the compositional method.
The method of obtaining the S-box is the same as in the Rijndael encryption algorithm, except for the chosen irreducible polynomials and the matrix for multiplications. As a result of the study, we made sure that when choosing any irreducible polynomial, the cryptographic strength of the S-box does not decrease. However, the row elements of the selected matrix must be linearly independent. The irreducible polynomial z ( x ) , the vector v, and the matrix used to construct the S-box are: z ( x ) = x 8 + x 7 + x 5 + x + 1 , v = ( 110100011 ) .
Let us show how to get the output element corresponding to each input element of the S-box:
In the field G F ( 2 8 ) , we get the inverse value for each element.
Next, the following transformation is performed:
[ s 0 s 1 s 2 s 3 s 4 s 5 s 6 s 7 ] = [ 1 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 ] × [ s 0 s 1 s 2 s 3 s 4 s 5 s 6 s 7 ] + [ v 0 v 1 v 2 v 3 v 4 v 5 v 6 v 7 ]
where s i , i = 0 , ,   7 are the coefficients of the obtained inverse elements in the field G F ( 2 8 ) .
The resulting S-boxes are shown in Table 1 and Table 2.

3.3. Round Key Algorithm

The 128-bit seed key is set randomly. Based on this key, round keys are formed for each iteration of this transformation. Figure 2 shows the scheme for generating round keys, where G is a non-linear transformation.
G transformation: The value of the initial key is chosen as input for the key transformation. After the input data are defined, we can proceed to the transformation itself.
First, 16 bytes of input data are represented as a 16-byte vector A = ( a 1 , a 2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 , a 9 , a 10 , a 11 , a 12 , a 13 , a 14 , a 15 ) , or a 4 × 4 square matrix
A = ( a 0 , 0 a 0 , 1 a 0 , 2 a 0 , 3 a 1 , 0 a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 0 a 2 , 1 a 2 , 2 a 2 , 3 a 3 , 0 a 3 , 1 a 3 , 2 a 3 , 3 ) = ( a 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 a 11 a 12 a 13 a 14 a 15 ) .
The first element of the first row of the matrix is summed as modulo 2 with the value obtained by applying the S-box to the second element, and with the result of applying the S-box to the sum of the third and fourth elements. The resulting sum is then converted using the S-box.
The resulting value b 0 is added to the first element of the second row, then to the value obtained by applying the S-box to the second element, and then to the value obtained by applying the S-box to the bit sum of the third and fourth elements. The resulting bit sum is also converted using the S-box:
b 1 = S ( b 0 a 0 , 0 S ( a 0 , 1 ) S ( a 0 , 2 a 0 , 3 ) ) = S ( b 0 a 4 S ( a 5 ) S ( a 6 a 7 ) ) .
The same steps are repeated for the third and fourth lines:
b i = S ( b i 1 a i , 0 S ( a i , 1 ) S ( a i , 2 a i , 3 ) ) = S ( b i 1 a 4 i S ( a 4 i + 1 ) S ( a 4 i + 2 a 4 i + 3 ) ) , i = 2 ,   3 .
Next, the byte matrix is represented as a 128-bit sequence and rotated left by 3 bits, and then the 8-bit elements of the resulting sequence are converted using the S-box.
This byte matrix transformation can be represented as follows:
( a 0 , 0 a 0 , 1 a 0 , 2 a 0 , 3 a 1 , 0 a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 0 a 2 , 1 a 2 , 2 a 2 , 3 a 3 , 0 a 3 , 1 a 3 , 2 a 3 , 3 ) rotate left by three bits and
apply   S - box   ( a 0 , 0 a 0 , 1 a 0 , 2 a 0 , 3 a 1 , 0 a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 0 a 2 , 1 a 2 , 2 a 2 , 3 a 3 , 0 a 3 , 1 a 3 , 2 a 3 , 3 ) .
where the elements a i , j of the transformed matrix are obtained as follows:
a i , j = S ( ( ( a i , j ( x ) × x 3 ) m o d x 8 ) ( ( a i , ( j + 1 ) ( x ) × x 3 ) m o d x 8 ) ( ( a i , ( j + 1 ) ( x ) × x 3 ) m o d ( x 8 + 1 ) ) ) ,
where, i = 0 ,   1 ,   2 ,   3 ;   j = 0 ,   1 ,   2 .
a i , 3 = S ( ( ( a i , 3 ( x ) × x 3 ) m o d x 8 ) ( ( a ( i + 1 ) m o d 4 , 0 ( x ) × x 3 ) m o d x 8 )   ( ( a ( i + 1 ) m o d 4 , 0 ( x ) × x 3 ) m o d ( x 8 + 1 ) ) ) ,   i = 0 ,   1 ,   2 ,   3 .
As the first element of the first row of the matrix after the key transformation, the value obtained as a result of applying the S-box to the bit sum of b3 and a 0 , 0 is taken:
c 0 , 0 = S ( b 3 a ) .
The values of the remaining elements of the transformed matrix are obtained by applying the S-box to the sum of the previous element of the transformed matrix with the corresponding element of the transformed matrix:
c i , j + 1 = S ( c i , j a i , j + 1 ) ; i = 0 ,   1 ,   2 ,   3 ; j = 0 ,   1 ,   2 .
To obtain the first elements of the remaining rows of the transformed matrix, it is necessary to calculate the value obtained as a result of applying the S-box to the bit sum of the last element of the previous row of the transformed matrix with the corresponding element of the transformed matrix:
c i , 0 = S ( c i 1 , 3 a i , 0 ) , i = 0 ,   1 ,   2 ,   3 .
In this way, all elements of the transformed matrix are calculated. In the case of the key generation algorithm, the key transformation is repeated five times using the compositional method.
When generating round keys, the matrix obtained as a result of a subsequent step of the key transformation is taken as the next round key.
To determine the number of rounds providing non-linearity, each round of the algorithm was considered to evaluate the algebraic normal forms (ANF) of the used permutation functions in the initial 128-bit key space. Since the round keys depend on the initial keys, in each round, the output bit of the ANF is evaluated by the monomial (single term) and the degree of the ANF. To ensure good statistical performance, each ANF should consist of approximately 2 127 monomials and have a degree of 127. With 128 variables in the ANF, the maximum number of monomials is 2 128 and the exponent is 128. It was found that in the considered algorithm, after the third round, the output bit in the ANF equation has 2 127 monomials and a degree of 127. As the number of rounds increases, the number of monomials increases correspondingly. It turned out that five rounds are sufficient for the algorithm.
The sufficiency of five rounds was assessed using statistical tests and an avalanche test (Table 3 and Figure 3) for one file.
The analysis results shown in Table 3 show that the AL02 algorithm passes all tests after the third round. Figure 3 shows data on the “avalanche effect” property with positive results after the second round of encryption. This confirms the adequacy of the established number of rounds of the algorithm.
Table 4 shows an example of encryption for the AL02 algorithm.
Table 5 shows the experimental results of the performance characteristics of different encryption algorithms. The experiment was conducted on a computer with the following parameters: Processor: Intel(R) Core(TM) i7-10700 CPU @ 2.90 GHz 2.90 GHz, RAM: 16.0 GB (available: 15.7 GB), System type: 64-bit operating system Windows 10 Pro.

4. Cryptographic Security Analysis of the Developed Encryption Algorithm

4.1. Statistical Analysis

For a computer study of the developed algorithm, 20 files with different extensions and 5 keys were used. The file characteristics were as follows: 1.docx (108 KB), 2.xls (20.0 KB), 3.pptx (453 KB), 4.pdf (561 KB), 5.rar (1059 KB), 6.zip (1063 KB), 7.jpg (205 KB), 8.png (889 KB), 9.txt (45 KB), 10.html (281 KB), 11.html (17 KB), 12.cat (928 KB), 13.mp4 (39 KB), 14.wmz (70 KB), 15.dll (210 KB), 16.log (508 KB), 17.lex (396 KB), 18.djvu (354 KB), 19. xml (689 KB), and 20 mp3 (193 KB).
Using the selected keys and plaintexts for the developed AL02 symmetric block encryption algorithm, 100 ciphertexts were obtained, which were tested for statistical security. For testing, a developed software package was used, which implements a system for assessing the quality of ciphertexts according to tests from the sets by D. Knuth and NIST-822 STS.
The results of statistical tests for different keys with a probability value of 0.5 and with a probability value of α are shown in Table 6 and Table 7.
The number of sequences that successfully passed each of the statistical tests was determined. The significance level α was set as 0.001, 0.01, and 0.05.
The statistical parameters of the ciphertexts were evaluated using the NIST-822 STS package (Table 8).
For convenience, the experimental verification of the files under study in the NIST-822 CTC environment is presented in the form of a table, the last column of which contains the percentages of the tests passed.
Ciphers with good statistical security indicators should have d c , d a , and d s a values satisfying the following conditions: d c ≈ 1, d a ≈ 1, d s a ≈ 1 [16]. Table 9 shows the comparative indicators of the statistical security of the algorithms AL02 and AES128.

4.2. Avalanche Effect

The avalanche effect was tested in two versions. In the first version, 129 blocks of plain texts were used, which differed from each other by one bit. These files were encrypted with the AL02 algorithm using the same key. Then, the encrypted files were checked for a match by the location of the bits. In the second version, the check was carried out for 129 different keys and with one plaintext, where the keys were selected in such a way that they differed from each other by only one bit. The resulting ciphertexts were also checked for matches in terms of bit arrangement. The test results are shown in Figure 4, where the blue line shows the results of the first option, and the orange line shows the results of the second option.
In the first test, the chi-square value for a degree of freedom of 127 is 62.203, and in the second test, the chi-square value is 77.313.

4.3. Differential Analysis of the AL02 Algorithm

For the differential analysis of the AL02 algorithm, the difference values for each function of a single round are first estimated. The AL02 algorithm consists of an XOR operation, a non-linear transformation using an S-box, and the F-function.
The XOR operation is linear, so the difference has the same value for both the input and the output, so the probability is one. The maximum substitution difference using the S-box is 4, so in this case, the probability will be 2–6.
For the F function of the AL02 algorithm, the finding of the round keys with respect to pairs of ciphertexts and the correspondence with the chosen pair of plaintexts are evaluated.
A = ( a 0 , 0 a 0 , 1 a 0 , 2 a 0 , 3 a 1 , 0 a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 0 a 2 , 1 a 2 , 2 a 2 , 3 a 3 , 0 a 3 , 1 a 3 , 2 a 3 , 3 ) , A = ( a 0 , 0 + 1 a 0 , 1 a 0 , 2 a 0 , 3 a 1 , 0 + 1 a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 0 + 1 a 2 , 1 a 2 , 2 a 2 , 3 a 3 , 0 + 1 a 3 , 1 a 3 , 2 a 3 , 3 )
Differences between selected plaintexts A and A are presented as a matrix Δ A :
Δ A = A A = ( 1 , 0 , 0 , 0 1 , 0 , 0 , 0 1 , 0 , 0 , 0 1 , 0 , 0 , 0 ) .
Intermediate values bi and b i ,   i = 0 , 1 , 2 , 3 for plaintexts are b i = a i , 0 S ( a i , 1 ) S ( a i , 2 a i , 3 ) and b i = a i , 0 1 S ( a i , 1 ) S ( a i , 2 a i , 3 ) . The first element of the first row of the new matrix is: c 0 , 0 = S ( b 0 b 1 b 2 b 3 ) = c 0 , 0 = S ( i = 0 3 b i ) = S ( i = 0 3 b i ) .
This implies c 0 , 0 c 0 , 0 = 0 , c 0 , 1 = S ( c 0 , 0 a 0 , 1 ) = c 0 , 1 = S ( c 0 , 0 a 0 , 1 ) , c 0 , 2 = S ( c 0 , 1 a 0 , 2 ) = c 0 , 2 = S ( c 0 , 1 a 0 , 2 ) , c 0 , 3 = c 0 , 3 since the first row of the difference of the new matrices is completely equal to zero. The second row changes depending on the key or plaintext. If one bit of the key or plaintext has been changed, then completely different values are obtained in the second row.
As a result of the differential analysis of the F-function, the maximum probability is 2–12 and the minimum probability is 2–60, so the input of the function is selected in such a way as to minimize the use of the S-box. In this case, the minimum S-box usage is 2 (the maximum S-box usage is 10).
Differential analysis was carried out to obtain the upper bound for each round for the selected pairs of open and closed texts (Table 10).
This algorithm does not allow us to keep the minimum difference at the input of any of the rounds [17,18].

4.4. Linear Analysis

Before performing a linear analysis, the non-linear functions of the algorithm are first examined separately. In the linear analysis table, the considered S-box has significant deviations from the linear approximation, which is equal to 16. The maximum probability of deviation is 0.5625. The overall linear analysis bound is determined by the upper value. Consider each transformation applied in the encryption algorithm. The cipher uses bitwise addition (XOR), substitution (S-box), and cyclic shifts. The bitwise addition operation and cyclic shifts are linear functions.
Lemmas 1 and 2 show that the probability of finding linear equations in one round is 0.5 + 2 9 ( 0.5 0.5625 ) 10 = 0.5 + 2 9 ( 2 4 ) 10 = 0.5 + 2 31   , since the corresponding obtained equations of one round of input and output variables of the linear approximation pass through the S-box 10 times. Hence, to find a key with a probability of 0.97, 2 62 pairs of plaintexts and ciphertexts are required (Table 11). For the full five rounds, the probability of finding linear equations given 40 S-boxes is 0.5 + 2 49 ( 0.5 0.5625 ) 50 = 0.5 + 2 49 ( 2 4 ) 50 = 0.5 + 2 151 .
Therefore, to determine the key with a probability of 0.97, 2302 pairs of plaintexts and ciphertexts are required.

5. Conclusions

Symmetric cryptographic primitives are widely used due to their high performance and low implementation complexity. Such algorithms use non-linear operations for confusion and linear transformations for diffusion. Consistent repeated application of confusion and diffusion makes it possible to achieve a high level of cryptographic strength. We have developed a new symmetric block cipher algorithm AL02, the architecture of which includes non-linear substitution nodes in the form of substitution tables, the F function, and the round key scheduling algorithm. The advantage of the developed algorithm is the possibility of its effective implementation on specialized equipment designed to perform encryption and decryption operations. Theoretical and experimental tests have shown that the algorithm fully complies with the basic cryptographic requirements. The study of the cryptographic strength of the encryption algorithm will be continued in subsequent works.
The developed algorithm was investigated for reliability using well-known cryptanalysis methods. It was shown that the parameters correspond to the requirements imposed on them.
The algorithm was tested for randomness using statistical tests from the NIST and D. Knuth sets. Based on the study results, it was found that the binary sequence obtained after encryption by the proposed algorithm is close to random. Additionally, the S-box and the AL02 encryption algorithm were tested for the presence of an avalanche effect. Based on the tests and studies carried out, it has been established that the proposed S-box and the AL02 encryption algorithm itself effectively provide a good avalanche effect.
It was also shown that the necessary level of resistance of the developed encryption algorithm to linear and differential cryptanalysis is provided. Research is ongoing to test the reliability of the algorithm against other existing cryptographic attacks.

Author Contributions

Conceptualization, N.K. and D.D.; data curation, N.K.; formal analysis, K.S. and K.A.; funding acquisition, N.K.; investigation, D.D.; methodology, K.A.; project administration N.K.; resources, K.A.; software, K.S.; supervision, K.S.; validation, N.K., K.S. and K.A.; visualization, N.K.; writing—original draft preparation, N.K.; writing—review and editing, D.D. All authors have read and agreed to the published version of the manuscript.

Funding

The research work was funded by the Ministry of Science and Higher Education of Kazakhstan and carried out within the framework of the project AP14870719 “Development and study of post-quantum cryptography algorithms based on hash functions” at the Institute of Information and Computational Technologies.

Data Availability Statement

Not applicable.

Acknowledgments

The authors are grateful to all lab members of “Information security laboratory” (Institute of Information and Computational Technologies) for their useful suggestions and support.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Haitner, I.; Vadhan, S. The Many Entropies in One-Way Functions. In Tutorials on the Foundations of Cryptography. Information Security and Cryptography; Lindell, Y., Ed.; Springer: Cham, Switzerland, 2017; pp. 159–217. [Google Scholar] [CrossRef]
  2. Panasenko, S.P. Encryption Algorithms; Special Reference-Book; S-P, BHV-Petersburg: Saint Petersburg, Russia, 2009; p. 576. [Google Scholar]
  3. Zhang, W.; Cao, M.; Guo, J.; Pasalic, E. Improved Security Evaluation of SPN Block Ciphers and its Applications in the Single-key Attack on SKINNY. IACR Trans. Symmetric Cryptol. 2019, 4, 171–191. [Google Scholar] [CrossRef]
  4. Kapalova, N.; Haumen, A. The model of encryption algorithm based on non-positional polynomial notations and constructed on an SP network. Open Eng. 2018, 1, 140–146. [Google Scholar] [CrossRef]
  5. Bondarenko, A.; Marshalko, G.; Shishkin, V. GOST R 34.12–2015: What to expect from the new standard? Inf. Secur. 2015, 4, 48–50. [Google Scholar]
  6. Dragomir, I.; Măluţan, S.; Lazar, M. An analysis of cryptographic algorithm strength based on S-box properties. In Proceedings of the 2019 11th International Conference on Electronics, Computers and Artificial Intelligence (ECAI), Pitesti, Romania, 27–29 June 2019; pp. 1–4. [Google Scholar]
  7. Teh, J.S.; Tham, L.J.; Norziana Jamil, N.; Yap, W. New differential cryptanalysis results for the lightweight block cipher BORON. J. Inf. Secur. Appl. 2022, 66, 103129. [Google Scholar] [CrossRef]
  8. Afzal, S.; Yousaf, M.; Afzal, H.; Alharbe, N.; Rafiq, M. Mufti Cryptographic Strength Evaluation of Key Schedule Algorithms. Secur. Commun. Netw. 2020, 5, 3189601. [Google Scholar]
  9. Xu, F.; Ma, X.; Zhang, Q.; Lo, H.-K.; Pan, J.-W. Secure quantum key distribution with realistic devices. Rev. Mod. Phys. 2020, 92, 025002. [Google Scholar] [CrossRef]
  10. Xie, Y.; Lu, Y.; Weng, C.; Cao, X.; Jia, Z.; Bao, Y.; Wang, Y.; Fu, Y.; Yin, H.; Chen, Z. Breaking the Rate-Loss Relationship of Quantum Key Distribution with Asynchronous Two-Photon Interference. arXiv 2021, arXiv:2112.11635. [Google Scholar] [CrossRef]
  11. Yin, H.; Fu, Y.; Chen, Z. Practical quantum digital signature. Phys. Rev. A 2016, 93, 032316. [Google Scholar] [CrossRef] [Green Version]
  12. Lu, Y.S.; Cao, X.Y.; Weng, C.X.; Gu, J.; Xie, Y.M.; Zhou, M.G.; Yin, H.L.; Chen, Z.B. Efficient quantum digital signatures without symmetrization step. Opt. Express 2021, 29, 10162–10171. [Google Scholar] [CrossRef] [PubMed]
  13. Babenko, L.K.; Ischukova, E.A. Modern Block Cipher Algorithms and Methods for Their Analysis; Helios ARV: Moscow, Russia, 2006; p. 376. Available online: http://www.tnu.in.ua/study/books/entry-1782833.html (accessed on 5 June 2022).
  14. Vergili, I.; Yücel, M.D. Avalanche and Bit Independence Properties for the Ensembles of Randomly Cho-sen S-Boxes. Turk. J. Electr. Eng. 2001, 2, 137–145. [Google Scholar]
  15. Matsui, M. Linear Cryptanalysis Method for DES Cipher. In Advances in Cryptology; EUROCRYPT ‘93, LNCS; Helleseth, T., Ed.; Springer: Berlin/Heidelberg, Germany, 23–27 May 1993; pp. 386–397. Available online: https://link.springer.com/content/pdf/10.1007/3-540-48285-7_33.pdf (accessed on 10 September 2022).
  16. Pascale, S. The Degrees of Completeness, of Avalanche Effect, and of Strict Avalanche Criterion for MARS, RC6, Rijndael, Serpent, and Twofish with Reduced Number of Rounds; Siemens AG, ZT IK 3; KU Leuven, ESAT/COSIC: Leuven, Belgium, 3 April 2000; Available online: https://www.cosic.esat.kuleuven.be/nessie/reports/phase1/sagwp3-003.pdf (accessed on 3 September 2022).
  17. Dyusenbaev, D.S.; Algazy, K.T.; Sakan, K.S. Study of nonlinear knots used in symmetric ciphers. In Proceedings of the Actual Problems of Information Security in Kazakhstan APIBK-2020, Almaty, Kazakhstan, 11 June 2021; pp. 34–39. Available online: https://conf.iict.kz/wp-content/uploads/2021/06/collection-apibk2021.pdf (accessed on 3 September 2022).
  18. Algazy, K.T.; Babenko, L.K.; Biyashev, R.G.; Ishchukova, E.A.; Kapalova, N.A.; Nyssanbaeva, S.E.; Smolarz, A. Differential Cryptanalysis of New Qamal Encryption Algorithm. Int. J. Electron. Telecommun. 2019, 66, 647–653. [Google Scholar] [CrossRef]
Figure 1. Scheme of the AL02 algorithm.
Figure 1. Scheme of the AL02 algorithm.
Computation 10 00198 g001
Figure 2. Scheme of the round key algorithm.
Figure 2. Scheme of the round key algorithm.
Computation 10 00198 g002
Figure 3. Results of the avalanche effect by rounds.
Figure 3. Results of the avalanche effect by rounds.
Computation 10 00198 g003
Figure 4. Results of testing the avalanche effect.
Figure 4. Results of testing the avalanche effect.
Computation 10 00198 g004
Table 1. Substitution S-box of the AL02 encryption algorithm.
Table 1. Substitution S-box of the AL02 encryption algorithm.
0123456789ABCDEF
0A504A6A7F7C6A4125FC8C7D1F6D47E7B
10BEF13AD945B4C8A0CFCCE1C9B7619F3
2216853962DD0A1893D9CDA6D51AFE1E9
3A2E309FEC33FAA1EBADD9F1D28548E92
4E7D54333DE813C9732EC1F7274CDB360
53A9539FA1A0EC105DFCCA08D875883D3
626FD867C204B083645DC3B7922BEAB14
72A03992C6BE5F95CB0855DB23080EDDB
8578F9DA9D6B8EE24CB84B7D869A86F50
9BDF10138F8404EBF9E0D91C97DF44707
AB9636E0FEB70D96A7A2BA3CF4465F500
B9835C241271B62AC67238810B68C4DC0
C643E5AE834D79A16B429D23773F26C46
D06E6CAC4EA7F18E0B531FBFF7117AE02
EB1152578BBF06193114F56828B425948
F2FE2664A0A902E75BCC5E4555277495E
Table 2. Reverse S-box of the AL02 encryption algorithm.
Table 2. Reverse S-box of the AL02 encryption algorithm.
0123456789ABCDEF
0AF92DF710157D09F6632F410189955AF
1BBE807126FE1C7DDD61E54B51B3B37BB
264206CB987E260B43CC970A97324F664
37CD94843C4B167CB9352506A4628C17C
495B3ED42AC68CF9EEFFEF36516BE9695
58F2CFC223DFBEA805DEEC215777AFF8F
64FE6B6A1C0ADF2B8218CA774CE2BA24F
7A5DC4BCC4CF71DFDE36BA80F639C0EA5
87D45EB5E8979625CBA2717ECBD5B3E7D
9F59A3FE714512347B072C61C298298F5
A5A2630AA060002038D83366EB713DE5A
B78E07B4EC8D8BC8A85A038E4F8906D78
CBF56B234D3F9050A099BD288594D1ABF
D250BCA5F0D4184C58BA62A7F69394425
ED72EF131FA75D140C32FD4A4497E86D7
FE591CD1F9DAE0C04947653DA196133E5
For convenience, S-boxes are presented in tabular form and have the following characteristics: Balance—yes; Nonlinearity—112; Hamming weight—128; t-stability—0, Bijectivity—yes, Correlation value—32.
Table 3. Results of the conducted statistical tests by rounds.
Table 3. Results of the conducted statistical tests by rounds.
TestsRound 1Round 2Round 3Round 4Round 5
Frequency Test+-+++
Frequency Test within a Block+++++
Run Test+++++
Longest Run of Ones in a Block+++++
Binary Matrix Rank Test+++++
Discrete Fourier Transform -++++
Non-Overlapping Template Matching Test+++++
Overlapping Template Matching Test+++++
Maurer’s Universal Statistical test+-+++
Linear Complexity Test+++++
Serial Test-++++
Approximate Entropy Test-++++
Cumulative Sums (Forward) Test+-+++
Cumulative Sums (Reverse) Test+-+++
Random Excursions Test--+++
Table 4. Encryption example for the AL02 algorithm.
Table 4. Encryption example for the AL02 algorithm.
Values in Hex Format
Keya3 13 ab e8 1d 5f b4 77 1d 59 72 0b a8 41 a5 ce
1 round keyf2 ca bb d6 fd 87 c4 2b e9 fe 25 6f 11 fb 29 62
2 round key30 16 22 d3 48 93 63 55 9e d6 87 14 d8 e0 60 41
3 round key3d 55 1a e0 c4 52 2c b4 a1 ee c8 fa c7 1f 55 44
4 round keycc 5d 7d 24 9b c1 e5 51 bb 17 cc c1 a6 37 0 2d
5 round key35 a1 7 ba 15 ae 5a f3 e4 a6 b6 8a 25 d9 74 8f
Plain text 53 6a 23 34 87 e2 42 d0 ff 31 69 e3 b8 be d3 aa
Results of the 1st round encryption2f a3 45 c3 39 1b 3f e 6d 3d 68 85 6f e3 ce 59
Results of the 2nd round encryptiona7 b2 55 7e 1f 86 c4 94 43 cf a6 2f 5a c1 39 2d
Results of the 3rd round encryptionfa ef 41 2d 3d 8 86 67 2a 18 2a 1e a9 3e 66 de
Results of the 4th round of encryptionb4 28 70 9d df db b0 6b 41 14 e3 df 6b a7 cc 58
Results of the 5th round of encryption93 f9 af 69 ac 86 cb 1a 49 59 98 8f 80 54 89 22
Ciphertext 0d 64 7 66 51 40 6d 3d 8 6a 28 da 72 c3 f0 dc
Table 5. Comparative performance characteristics of encryption algorithms.
Table 5. Comparative performance characteristics of encryption algorithms.
NoName of the Encryption AlgorithmData Processing SpeedSoftware Developer
1.BLOWFISH-12851.68 MB/sGNU Project (Libgcrypt Library)
2.AL0251.64 MB/sInstitute of Information and Computational Technologies CS MES RK
3.CAST-12849.04 MB/sGNU Project (Libgcrypt Library)
4.IDEA46.28 MB/sGNU Project (Libgcrypt Library)
5.3DES26.85 MB/sGNU Project (Libgcrypt Library)
6.GOST 34.12-20156.89 MB/sTK-26 (reference implementation)
Table 6. The results of the statistical tests for different keys with a probability value of 0.5.
Table 6. The results of the statistical tests for different keys with a probability value of 0.5.
Statistical TestsNumber of FilesKey 1Key 2Key 3Key 4Key 5
Frequency test201819191919
Serial test201920181917
Character test201918201920
Gap test201817171716
Poker test202020202019
Coupon collector’s test201720191820
Permutation test201818181720
Monotonicity test2018; 1919; 1919; 2019; 1918; 18
Correlation test202020202020
Linear complexity test202020202020
Table 7. The results of the statistical tests with a probability value of α.
Table 7. The results of the statistical tests with a probability value of α.
Statistical TestsNumber of FilesProbability α
0.050.010.001
Frequency test1009498100
Serial test1009399100
Character test10096100100
Gap test100859597
Poker test10099100100
Coupon collector’s test1009499100
Permutation test1009397100
Monotonicity test1009597100
Correlation test100100100100
Linear complexity test100100100100
Table 8. Results of statistical tests from the NIST-822 STS set.
Table 8. Results of statistical tests from the NIST-822 STS set.
TestsKey1Key2Key3Key4Key5Results
Frequency Test202019202099%
Frequency Test within a Block202020201999%
Runs Test2020202020100%
Tests for the Longest-Run-of-Ones in a Block2020202020100%
Binary Matrix Rank Test2020202020100%
Discrete Fourier Transform202019202099%
Non-Overlapping Template Match201920201998%
Overlapping Template Matching Test2020202020100%
Maurer’s “Universal Statistical” Test151516161691%
Linear Complexity Test202020192099%
Serial Test2020202020100%
Approximate Entropy Test182020202098%
Cumulative Sums (Forward) Test202019201998%
Cumulative Sums (Reverse) Test202018202098%
Random Excursions Test161917191693%
Random Excursions Variant Test181718192092%
Table 9. Single-round values of indicators of statistical security of the ciphers AES128 and AL02.
Table 9. Single-round values of indicators of statistical security of the ciphers AES128 and AL02.
Round NoAES128AL02
d c d a d s a d c d a d s a
10.06250.0615350.05911810.9950100.991544
20.250.2511760.24765910.9996420.992065
310.9957460.99145710.9992120.992005
410.9995140.99200610.9993040.992048
510.9997730.99202210.9992570.992001
610.9997120.992015
710.9986680.992003
810.9991760.992065
910.9984810.992030
1010.9995950.991962
Table 10. Differential analysis of the AL02 algorithm.
Table 10. Differential analysis of the AL02 algorithm.
Number of RoundsNumber of S-Boxes UsedProbability of Finding Round KeysKey Finding Probability
132−6 × 2−6 × 2−6 = 2−182−18
2102−6 × 2−12 × 2−12 × 2−6 × 2−6 = 2−422−18 × 2−42 = 2−60
3172−6 × 2−12 × 2−12 × 2−6 2−6 = 2−422−60 × 2−42 = 2−102
4242−6 × 2−12 × 2−12 × 2−6 2−6 = 2−422−102 × 2−42 = 2−144
5312−6 × 2−12 × 2−12 × 2−6 2−6 = 2−422−144 × 2−42 = 2−186
Table 11. Linear analysis of the AL02 algorithm.
Table 11. Linear analysis of the AL02 algorithm.
Number of RoundsNumber of S-Boxes UsedTruth Probability of Equations for Pairs of Plaintexts and CiphertextsNumber of Pairs of Plaintexts and Ciphertexts
110 2 31 2 62
220 2 61 2 122
330 2 91 2 182
440 2 121 2 242
550 2 151 2 302
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Kapalova, N.; Sakan, K.; Algazy, K.; Dyusenbayev, D. Development and Study of an Encryption Algorithm. Computation 2022, 10, 198. https://doi.org/10.3390/computation10110198

AMA Style

Kapalova N, Sakan K, Algazy K, Dyusenbayev D. Development and Study of an Encryption Algorithm. Computation. 2022; 10(11):198. https://doi.org/10.3390/computation10110198

Chicago/Turabian Style

Kapalova, Nursulu, Kairat Sakan, Kunbolat Algazy, and Dilmukhanbet Dyusenbayev. 2022. "Development and Study of an Encryption Algorithm" Computation 10, no. 11: 198. https://doi.org/10.3390/computation10110198

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop