Error-Correction Coding Using Polynomial Residue N
Error-Correction Coding Using Polynomial Residue N
sciences
Article
Error-Correction Coding Using Polynomial Residue
Number System
Igor Anatolyevich Kalmykov 1 , Vladimir Petrovich Pashintsev 1 , Kamil Talyatovich Tyncherov 2 ,
Aleksandr Anatolyevich Olenev 3 and Nikita Konstantinovich Chistousov 1, *
Abstract: There has been a tendency to use the theory of finite Galois fields, or GF(2n), in cryp-
tographic ciphers (AES, Kuznyechik) and digital signal processing (DSP) systems. It is advisable
to use modular codes of the polynomial residue number system (PRNS). Modular codes of PRNS
are arithmetic codes in which addition, subtraction and multiplication operations are performed
in parallel on the bases of the code, which are irreducible polynomials. In this case, the operands
are small-bit residues. However, the independence of calculations on the bases of the code and the
lack of data exchange between the residues can serve as the basis for constructing codes of PRNS
capable of detecting and correcting errors that occur during calculations. The article will consider the
principles of constructing redundant codes of the polynomial residue number system. The results of
the study of codes of PRNS with minimal redundancy are presented. It is shown that these codes are
only able to detect an error in the code combination of PRNS. It is proposed to use two control bases,
Citation: Kalmykov, I.A.; Pashintsev, the use of which allows us to correct an error in any residue of the code combination, in order to
V.P.; Tyncherov, K.T.; Olenev, A.A.; increase the error-correction abilities of the code of the polynomial residue number system. Therefore,
Chistousov, N.K. Error-Correction the development of an algorithm for detecting and correcting errors in the code of the polynomial
Coding Using Polynomial Residue
residue number system, which allows for performing this procedure based on modular operations
Number System. Appl. Sci. 2022, 12,
that are effectively implemented in codes of PRNS, is an urgent task.
3365. https://doi.org/10.3390/
app12073365
Keywords: residue number system (RNS); polynomial residue number system (PRNS); detecting
Academic Editors: Aleksandr Cariow and correcting errors; positional characteristic; polynomial interval
and Oleg Finko
Codes of RNS have found application in digital signal processing (DSP) systems due
to their high speed. The works [11–14] present mathematical models of special DSP as
well as their circuit solutions, use of which allows for orthogonal signal transformations in
real time.
Mathematical models of adaptive and classical digital filters implemented in the
code of RNS were developed in order to improve the quality of signal processing. The
works [15,16] present algorithms for performing signal filtering, in which the use of a
code of RNS makes it possible to increase the speed of the calculating filter’s response.
The work [17] shows methods for constructing a fault-tolerant digital filter functioning in
codes of RNS. Implementation of adaptive filters using codes of residue number system is
presented in [18–20]. An algorithm for choosing coefficients of a digital filter using integral
arithmetic of codes of residue number system was developed in [21] and provides zero
error in the response of the filter.
Codes of RNS have found application in neural systems. Neural networks using a
finite ring neural network model were developed using the parallel functioning principle
of neural networks and combining it with parallel principles of computation in a code
of RNS [22–24]. Use of this model allowed for an increase in the speed and accuracy of
neural networks.
One of the areas of effective application of codes of RNS is cryptography. As a rule, the
residue number system is used in cryptographic systems with a public key. The expediency
of using codes of RNS in RSA encryption algorithm is proved in the works [25–29]. Use of
codes of RNS aims to create a method for fast and efficient encryption based on elliptical
cryptography while ensuring high cryptographic strength of the cipher and the integrity of
the transmitted information.
However, modular codes of RNS are able to increase both the speed of calculations and
to detect and correct errors that occur during calculations due to failures in the operation of
the computing device. The theory of constructing redundant codes of RNS is considered
in detail in [2–4]. These works show fundamental differences between redundant codes
of RNS and error-correction codes; r additional control bases are introduced to detect and
correct errors in the code of RNS, which is specified by k informational bases. As a result,
the code combination is expanded by r residues. At the same time, control bases are equal in
relation to informational bases. This is due to the fact that all residues contain information
about the original integer. Therefore, control bases are involved in performing arithmetical
operations as well as informational ones.
As a rule, control symbols are obtained in error-correction codes by summing modulo
two of corresponding informational bits. In this case, there is no possibility of simultaneous
execution of arithmetical operations on both the informational and control parts of the
error-correction code.
Therefore, redundant arithmetical codes of RNS have found wide application in the
construction of fault-tolerant DSP systems, as the usage of redundant arithmetical codes
of RNS allows for the operability of the computing device to be maintained by detecting
and correcting errors that occur during data processing. For example, the works [30–33]
consider the issues with building a fault-tolerant special processor operating in codes of
RNS. The issues with increasing the fault tolerance of digital filters functioning in codes of
RNS are considered in [34–37].
Algorithms for detecting and correcting errors in the codes of the residue number
system are based on positional characteristics (PC), which show the location of an integer
represented as a redundant code combination of RNS relative to the range of allowed code
combinations (the allowed range), which is determined by the product of k informational
bases. If the number is within this range, then the code combination does not contain an
error; otherwise the code combination is erroneous.
One of the features of redundant modular codes of RNS is their multivariance of posi-
tional characteristics (PC). One of these characteristics is the number interval. Algorithms
for calculating this PC, as well as their circuit implementations, are provided in [2,3,38–41].
Appl. Sci. 2022, 12, 3365 3 of 20
Residues are sequentially excluded from the code combination and then compared with
the allowed range in the method of projections. If all reduced code combinations (obtained
during transformations) are less than the allowed range (i.e., they are within this range),
then the code combination of RNS is an allowed one. Otherwise, all reduced code combina-
tions will be greater than the allowed range except for one in which the erroneous residue
is removed.
The method of the extending the bases of a code of RNS used for error detection and
correction is presented in [42,43]. This method is based on the equality of informational and
control residues, as they are all obtained from the original integer by calculating its residues’
modulo bases of the code of RNS; r control residues are calculated using k informational
residues. Then, the calculated residues are compared with control residues in the code
combination. If they all match, then there is no error in the code combination of RNS.
In the works [44,45], the use of higher coefficients of mixed radix conversion (MRC) is
proposed as a positional characteristic. This system is used to perform reverse conversion
from a code of RNS to a positional code. If the higher MRC’s coefficients are zero, this
means that the code combination of RNS does not contain an error.
Summarizing what has been said to this point, we can conclude that the theoretical
foundations for the construction of redundant codes of RNS capable of detecting and
correcting calculation errors are well developed, and that is why codes of RNS have found
application in the construction of fault-tolerant high-speed DSP special processors.
Codes of polynomial residue number system received their name based on the fact
that irreducible polynomials are used as bases of the modular code [46–48]. It is necessary
to represent an integer as a polynomial and then calculate residues of this polynomial’s
modulo bases of PRNS in order to obtain a code combination of PRNS. As the code is
defined in the polynomial ring, there are modular operations for it (addition, subtraction
and multiplication), which are performed in parallel and independently on the bases using
small-bit residues [49,50]. Such principles of constructing codes of PRNS make it possible
to increase the speed of calculations. Therefore, these codes are used when orthogonal
transformations of signals are being performed in real time [51]. New algorithms for
constructing modular multipliers, as well as their circuit implementations, are proposed
in [52–54] for reducing the execution time of multiplicative operations in PRNS.
Unlike codes of RNS, codes of polynomial residue number system have found wide
application in cryptography, as shown in [55–58]. The work [59] presents a technique that
allows for switching from the AES encryption algorithm implemented in the finite field
GF(28 ) to calculations in the ring of finite fields of a smaller order, GF(24 ). It is known
that the AES block cipher is implemented in the Galois field GF(28 ) using a generating
polynomial p(z) = z8 + z4 + z3 + z + 1. The present work proposes to perform all AES
cryptographic transformations using two irreducible polynomials, p1 (z) = z4 + z + 1
and p2 (z) = z4 + z3 + 1. In this case, the plaintext byte will be represented as two
residues, which are obtained when it is divided by the polynomials p1 (z) = z4 + z + 1 and
p2 (z) = z4 + z3 + 1. As a result, the encryption process using the AES algorithm is per-
formed using the code of polynomial residue number system, which has two informational
bases. Circuit implementations of this technique are given in the works [60–63].
As failures may occur during the operation of computing devices using elements of
finite Galois fields GF(2n ), it becomes necessary to use codes that are able to detect and
correct these errors.
Currently, error-correction BCH codes, which belong to polynomial cyclic codes, are
widely used in signal processing and transmission systems. BCH codes are capable of
correcting multiple errors. The construction of such codes is based on the theory of finite
Galois fields GF(2n ). Depending on the multiplicity of the error being corrected, developers
determine the number of irreducible polynomials that are used to obtain the generating
polynomial. For example, we can use the code (15, 11) and the generating polynomial
g( x ) = x4 + x + 1 in order to correct a single error, which is understood as a distortion of
one binary digit in a code combination. This code is defined over the Galois field GF(24 ). It
Appl. Sci. 2022, 12, 3365 4 of 20
is necessary to use the code (15, 7) in order to correct two errors in the code combination.
The product of two minimal polynomials, x4 + x + 1 and x4 + x3 + 1, will provide the
generating polynomial g( x ) = x8 + x7 + x5 + x4 + x3 + x + 1 of the considered code.
However, there is a difference between codes of PRNS and BCH codes; the latter
does not allow the use of polynomial cyclic codes for detecting and correcting errors that
occur during calculations. All residues in modular codes of PRNS, both informational
and redundant, are obtained by dividing the original polynomial into bases of the code,
which are irreducible polynomials. Because the process of obtaining the residues is the
same, we can say that they are equal in relation to each other. Therefore, codes of PRNS are
arithmetical codes and can be used when calculations are being performed. At the same
time, arithmetical operations will take place in the same way on all bases of the code. It
is the equality of residues in relation to each other that allows us to dynamically change
the number of informational and control bases. For example, the following irreducible
polynomials can be defined for GF(24 ): m0 ( x ) = x + 1, m1 ( x ) = x4 + x + 1, m3 ( x ) = x4
+ x3 + x2 + x + 1, m5 ( x ) = x2 + x + 1, m7 ( x ) = x4 + x3 + 1. If it is necessary to detect a
single error, which is understood as a distortion of one residue of the code, then one base
of the code can be taken as a control base, for example, m7 ( x ) = x4 + x3 + 1. The four
remaining bases of the code of PRNS will be considered informational. If a single error
needs to be corrected during the calculation process, a polynomial, m1 ( x ) = x4 + x + 1,
can be added to the control bases. Then, the code will have three informational bases
and two control bases. At the same time, in the BCH code it is not necessary to make any
recalculations such as shown above with the generating polynomial.
BCH codes are not arithmetical. In BCH codes, control symbols are determined
by summing modulo two corresponding information digits. In this case, informational
and control bits are not equal in relation to each other. If calculations are performed in
BCH codes, then the corresponding arithmetical operations can be performed only on
informational bits. However, these operations cannot be performed on control bits, as the
result will lead to incorrect control bits. As BCH codes are not arithmetical, they cannot be
used for detection and correction of errors that occur during calculations [64,65].
However, the issues of building redundant codes of PRNS have not yet found wide
application. This disadvantage hinders the expansion of the scope of application of codes
of polynomial residue number system. Therefore, the objectives of the present article are:
• To conduct studies on the error-correction abilities of redundant codes of polynomial
residue number system with one and two control bases.
• To develop an algorithm for detecting and correcting errors in redundant codes of
PRNS based on the calculation of a positional characteristic (a polynomial interval)
in which only modular operations are used, that is, without performing a reverse
conversion from a code of PRNS to a positional code and then performing a divi-
sion operation.
2. Modular Codes
Modular codes belong to the class of arithmetical codes. The name of these codes
is associated with the rules of their construction: arithmetical operations are performed
modulo the bases of the code. As mentioned above, modular codes are of two types, and
we will consider both of them here.
X = ( x1 , x2 , . . . , x n ) (1)
The product of the bases determines the range of possible code combinations, which
is called the operating range:
n
Wn = ∏ mi (2)
i =1
Then, using the isomorphism generated by the Chinese Remainder Theorem (CRT) in
polynomials, we obtain
D (z)•U (z) = ((d1 (z)•u1 (z))modp1 (z), . . . , (dn (z)•un (z))modpn (z)) (7)
where • are addition, subtraction, and multiplication operations, U (z) ≡ ui (z)modpi (z),
and i = 1, 2, . . . , n.
Despite the similar principles of implementing codes of RNS and codes of PRNS, the
latter have not found as wide application due to the insufficient level of development of the
theoretical foundations for constructing redundant codes of polynomial residue number
system that are capable of detecting and correcting errors that occur during calculations in
the polynomial ring.
two disjointed subsets. The first subset contains allowed code combinations, and the sec-
ond contains prohibited code combinations. We will use this approach for construction of
error-correction codes of polynomial residue number system.
A similar result can be achieved if the set of allowed code combinations of PRNS is
reduced [2–4]. In this case, j bases are chosen from n bases of the code of PRNS, which will
be considered redundant. Thus, there is a decrease in the number of allowed code combi-
nations. Then, the new range of allowed code combinations of PRNS will be determined as
Wn (z)
Pj (z) = (8)
∏ p j (z)
j
where j = 1, . . . , n.
It can be concluded based on this equality that an increase in the number of redundant
bases leads to a decrease in the subset of allowed code combinations for which degD1 (z) <
degPj (z). The remaining code combinations of the code of PRNS will belong to prohibited
code combinations for which degD2 (z) ≥ degPj (z).
This can be illustrated by an example.
4
W4 (z) = ∏ pi (z) = z20 + z19 + z18 + z17 + z15 + z12 + z9 + z8 + z5 + z3 + z2 + z + 1
i =1
Take one base, p4 (z) = z5 + z3 + 1, and divide the operating range W 4 (z) by it. As a result, the
original operating range, W 4 (z), will be divided into two subsets, namely, allowed code combinations
and prohibited code combinations, and the range of allowed code combinations will be equal to
W4 (z)
P4 (z) = = z15 + z14 + z9 + z6 + z5 + z4 + z2 + z + 1
p4 ( z )
Thus, allowed code combinations of PRNS will be those that satisfy the condition degD1 (z) <
degP4 (z), while the condition degD2 (z) ≥ degP4 (z) will be valid for prohibited code combinations
of PRNS.
Take two bases, p4 (z) = z5 + z3 + 1 and p3 (z) = z5 + z2 + 1. This will reduce the subset of
allowed code combinations:
W4 (z)
P3,4 (z) = = z10 + z9 + z7 + z6 + z5 + z4 + z3 + z + 1
p3 ( z ) p4 ( z )
Then, allowed code combinations of PRNS will be those that satisfy the condition degD1 (z) <
degP3,4 (z), while the condition degD2 (z) ≥ degP3,4 (z) will be valid for prohibited code combina-
tions of PRNS.
The following conclusion can be drawn based on the above example: we can set a
value Pj (z) by choosing an appropriate set of j bases of the modular code to determine all
allowed code combinations of PRNS, and usage of j redundant bases allows us to detect
and correct errors that occur in code combinations of PRNS. At the same time, it is obvious
D (z)
that if the condition degD1 (z) < degPj (z) is met, then P1(z) = 0, and if the condition
j
h i
D2 (z) f (z)
degD2 (z) ≥ degPj (z) is met, then P (z) > 0, where g(z) is the quotient obtained from
j
the result of polynomial long division of polynomial f (z) by polynomial g(z).
Appl. Sci. 2022, 12, 3365 7 of 20
Consider a special case in which only one base, pi (z), of the code of polynomial residue
number system is used. Then,
W (z)
Pi (z) = n (9)
pi ( z )
Using the last equality, we obtain a set of code combinations in which residue modulo
pi (z) is being changed. These code combinations can be presented as
DiR (z) = (d1 (z), . . . , di−1 (z), Ri (z), di+1 (z), . . . , dn (z)) (10)
n o
where Ri (z) = 0, 1, z, . . . , zdegpi (z)−1 + zdegpi (z)−2 + . . . + z + 1 are residues modulo pi(z).
Then, using the CRT isomorphism in polynomials, it is necessary to prove that
two code combinations, DiR (z) = (d1 (z), . . . , Ri (z), . . . , dn (z)) and DiV (z) = (d1 (z), . . . ,
Vi (z), . . . , dn (z)), in which residues modulo the i-th base differ from each other (Vi (z) 6= Ri (z)),
will
h provide
i h different i results when they are divided by Pi (z), or, in other words,
DiR (z) D (z)
Pi (z)
− PiV(z) 6= 0. Fulfillment of this property is the condition that will allow us to
i
detect and correct errors using PRNS.
Theorem 1. If we have a code of polynomial residue number system with bases p1 (z), p2 (z), . . . , pn (z)
where p1 (z), p2 (z), . . . , pn (z) are irreducible polynomials, then for code combinations
DiR (z) = (d1 (z), . . . , di−1 (z), Ri (z), di+1 (z), . . . , dn (z)) and DiV (z) = (d1 (z), . . . , di−1 (z),
Vi (z), di+1 (z), . . . , dn (z)) where Vi (z) 6= Ri (z) and deg{Vi (z), Ri (z)} < degPi (z), the follow-
ing condition is met:
DiR (z) DiV (z)
− 6= 0 (11)
Pi (z) Pi (z)
n
Wn (z)
where Pi (z) = pi ( z )
, Wn (z) = ∏ pi (z)is the operating range of the code of PRNS, and
i =1
i = 1, 2, . . . , n.
Wn (z)
DiR (z) − DiV (z) = | Ri (z) − Vi (z)| p (z) mi (z) (13)
i pi ( z )
Wn (z) Wn (z)
| Ri (z) − Vi (z)| p (z) mi (z) = k(z) (14)
i pi ( z ) pi ( z )
If the weight of the orthogonal basis is mi (z) = 1, then Expression (15) will take
the form
k (z) = | Ri (z) − Vi (z)| p (z) (16)
i
Using the CRT for polynomials and converting the code combinations into a positional
code, we obtain
DiR (z) = |d1 (z) B1 (z) + . . . + Ri (z) Bi (z) + . . . + dn (z) Bn (z)|Wn (z) (18)
k(z)
| R(z) − V (z)|+
p (z) = (21)
i mi ( z ) pi ( z )
As mi (z) 6= 0 and k(z) 6= 0, the right side of Equality (21) is a nonzero element βi (z),
which is a residue modulo pi (z). Then, we obtain
Theorem 2. If an inequality
DiR (z) DiV (z)
6= (24)
Pi (z) Pi (z)
exists for two code combinations DiR (z) and DiV (z) presented in the code of polynomial residue
number system, then the following inequality holds:
Proof of Theorem 2. The difference between two code combinations DiR (z) = (d1 (z), . . . ,
Ri (z), . . . , dn (z)) and DiV (z) = (d1 (z), . . . , Vi (z), . . . , dn (z)) is determined by the follow-
ing expression:
Wn (z)
DiR (z) − DiV (z) = | Ri (z) − Vi (z)| p (z) mi (z) (26)
i pi ( z )
Given Inequality (24), we can conclude that the first multiplier of Expression (26) is
not zero. Then,
Ri (z) 6= Vi (z)modpi (z)
The theorem is proved.
Consider the application of the theorem in the example of a code of PRNS with
various bases.
Example 2. The code of PRNS is set with the following bases: p1 (z) = z + 1, p2 (z) = z2 + z + 1,
p3 (z) = z4 + z3 + z2 + z + 1, p4 (z) = z4 + z3 + 1, p5 (z) = z4 + z + 1. The operating range of
5
the code is W5 (z) = ∏ pi (z) = z15 + 1. The orthogonal bases for this modular code will have the
i =1
following form:
The theorems and examples presented above demonstrate the potential possibility of
constructing redundant codes of polynomial residue number system that are capable of
detecting and correcting errors that distort residues in the code combination. In order to do
this, it is necessary to choose bases pj (z) in such a way that a polynomial of the form
W (z)
Pj (z) = n (27)
∏ p j (z)
j
Appl. Sci. 2022, 12, 3365 10 of 20
is obtained such that its degree is greater than the degree of the polynomial D(z), on the
basis of which allowed the code combinations of PRNS can be constructed. Then, the
remaining polynomials presented in the code of polynomial residue number system that
satisfy the condition (degC (z) ≥ degPj (z)) ∩ (degC (z) < degWn (z)) form a subset of
prohibited code combinations of PRNS.
It is necessary to determine minimal number of control bases introduced into the
modular code in order to solve the problem of constructing a code of PRNS capable of
detecting and correcting errors that occur in the residues of the code combination of PRNS.
This will allow for the development of algorithms for correcting erroneous residues in
the code of polynomial residue number system, which can arise due to failures in the
calculation process, while introducing a minimal amount of necessary redundancy.
Minimal redundancy of the code of polynomial residue number system is achieved by
introducing one control base. For an ordered bases system used in PRNS, the redundant
base pn+1 (z) must satisfy the following condition:
n +1
Wn+1 (z) = ∏ pi (z) = Wn (z) pn+1 (z) (29)
i =1
In this case, Wn (z) is considered the operating range of the code and Wn+1 (z) is
the full range. The following rule is adopted in order to detect and correct errors in
the code of polynomial residue number system. Consider polynomials represented as
A(z) = (α1 (z), α2 (z), . . . , αn+1 (z)) and C (z) = (c1 (z), c2 (z), . . . , cn+1 (z)) for which the
following conditions are met:
degA(z) < degWn (z), degC (z) < degWn (z) (30)
then the original code combinations and the result do not contain errors. Otherwise, the
code combination of PRNS contains errors and is prohibited.
Proof of Theorem 3. Let a single error in the code combination of PRNS occur on the i-th
base, where i = 1, 2, . . . , n + 1. This leads to a distortion of the residue, as follows:
where ∆di (z) is an error depth and deg(∆di (z)) < degpi (z).
Appl. Sci. 2022, 12, 3365 11 of 20
By way of contradiction, assume that the polynomial D ∗ (z) presented in the code of
polynomial residue number system does not contain an error. Then, we use the Chinese
Remainder Theorem for polynomials and perform the inverse conversion:
D ∗ (z) = |d1 (z) B1 (z) + . . . + di∗ (z) Bi (z) + . . . + dk+1 (z) Bk+1 (z)|W (36)
n +1 ( z )
At the same time, according to Theorem 1, there is a polynomial D (z) = (d1 (z), . . . ,
di (z), . . . , dn+1 (z)) among the allowed code combinations of PRNS that differs from D ∗ (z)
by residue di (z) on the i-th base. Furthermore, the condition degD (z) < degWn (z) holds
for such a code combination.
Then, based on the CRT, the given polynomial is presented as
D (z) = |d1 (z) B1 (z) + . . . + di (z) Bi (z) + . . . + dk+1 (z) Bk+1 (z)|W (37)
n +1 ( z )
Substitute Expressions (36) and (37) into Equality (38) and, taking into account the
properties of orthogonal bases of redundant PRNS, that is,
we obtain
di∗ (z)mi (z) pn+1 (z) d ( z ) m i ( z ) p n +1 ( z )
= i (40)
pi ( z ) pi ( z )
Equality (40) is satisfied under the condition di (z) = |di (z) + ∆di (z)| p (z) , in other
i
words, when an error depth is ∆di (z) = 0.
However, according to the provided information, an error occurred in the code combi-
nation of PRNS and the residue is di∗ (z) 6= di (z). Therefore, the code combination Di∗ (z)
contains an error on the i-th base of the code of polynomial residue number system and
Condition (33) is valid for it.
The proof is finished.
Theorem 4. If a combination D ∗ (z) = (d1 (z), . . . , di∗ (z), . . . , dn+1 (z)) has a single error,
di∗ (z) = di (z) + ∆di (z) p (z) , on the i-th base in an ordered code of polynomial residue number
i
system, then the polynomial interval corresponding to this error is determined by the expression
Proof of Theorem 4. A single error in the redundant code of polynomial residue number
system means a distortion of one residue in the code combination. Accordingly, if an error
occurs on the i-th base of the code, an erroneous polynomial, D ∗ (z) = (d1 (z), . . . , di∗ (z), . . . ,
dn+1 (z)), is obtained by adding the allowed code combination D (z) = (d1 (z), . . . , di (z), . . . ,
dn+1 (z)) and di∗ (z) = di (z) + ∆di (z) p (z) , where ∆di (z) is an error depth.
i
Use the CRT to convert an erroneous combination of PRNS into a positional code.
Then, we have
D ∗ (z) = d1 (z) B1 (z) + . . . + di∗ (z) Bi (z) + . . . + dn+1 (z) Bn+1 (z) Wn+1 (z)
=
+
= d1 (z) B1 (z) + . . . + di (z) + ∆di (z) pi ( z )
( z ) Bi ( z ) + . . . + d n+1 z ) Bn+1 ( z )
( =
Wn+1 (z)
= D (z) + ∆di (z) Bi (z) Wn+1 (z)
,
(42)
where Bi (z) is the i-th orthogonal basis of PRNS.
The polynomial interval of the code combination of PRNS is determined by the expression
D (z)
S(z) = (43)
Wn (z)
From the Expression (43), we can see that if degD (z) < degWn (z), then S(z) = 0.
Find the polynomial interval for the erroneous combination:
+ +
D (z) + ∆di (z) Bi (z) ∆di (z) Bi (z)
D ∗ (z)
Wn+1 (z) Wn+1 (z)
S(z) = = = (44)
Wn (z) Wn (z) Wn (z)
Example 3. Consider the application of Theorem 4 for the code of polynomial residue number system
with informational bases p1 (z) = z + 1, p2 (z) = z2 + z + 1, p3 (z) = z4 + z3 + z2 + z + 1,
4
p4 (z) = z4 + z3 + 1. The operating range of the code is W4 (z) = ∏ pi (z) = z11 + z8 + z7 +
i =1
z5 + z3 + z2 + z + 1. Here, we select p5 (z) = z4 + z + 1 as a control base.
Consider D (z) = z5 = (1, z + 1, 1, z3 + z + 1, z2 + z). The code combination for this
polynomial is allowed, as degD (z) < degW4 (z).
Let the error occur in the residue d1 (z) and let the error depth be ∆d1 (z) = 1. Then, the
erroneous combination is D ∗ (z) = (0, z + 1, 1, z3 + z + 1, z2 + z). Using Expression (41), the
weight of the orthogonal basis is m1 (z) = 1; thus, we obtain
Calculating the polynomial interval using the CRT for polynomials and using the orthogonal
bases from Example 2, we have
It is possible to identify both a location of the erroneous residue of the code combina-
tion and an error depth using Theorems 1–3. It is necessary to find the corresponding poly-
nomial interval in order to do this. Due to the minimal introduced redundancy, a collision
may occur in the code of PRNS with one control base. In this case, errors on informational
bases and errors on control bases may produce the same value of the polynomial interval.
Let the error occur in the residue d5 (z) and let the error depth be ∆d5 (z) = z2 + z + 1. Then,
we have D ∗ (z) = (1, z + 1, 1, z3 + z + 1, 1). Using Expression (41), the weight of the
orthogonal basis is m5 (z) = z; thus, we obtain
We have obtained a polynomial interval that coincides with the polynomial interval in
the example. This is due to the fact that the number of possible polynomial intervals with
one control base is equal to
N1 = 2degpn+1 (z) (47)
At the same time, the number of polynomial intervals that correspond to errors on the
bases of the code of PRNS is determined by
n +1
N2 = ∑ 2degpi (z) (48)
i =1
3.2. Codes of Polynomial Residue Number System with Two Control Bases
Consider an ordered code of PRNS with informational bases p1 (z), p2 (z), . . . , pn (z)
for which the following expression takes place:
Now, we introduce two control bases pn+1 (z), pn+2 (z) into this code that satisfy the
following condition:
n +2
Wn+2 (z) = ∏ pi (z) = Wn (z) pn+1 (z) pn+2 (z) = Wn (z)Wk (z) (51)
i =1
Here, the number of polynomial intervals that correspond to errors on bases of the
code of PRNS is defined as
n +2
N2 = ∑ 2degpi (z) (53)
i =1
n +2
Wn+2 = ∏ pi = Wn pn+1 pn+2 = Wn Wk (55)
i =1
If the code combination of RNS satisfies Expression (54), then the interval is equal to
zero. If the number is outside the operating range, which corresponds to prohibited code
combinations of RNS, then the value of the interval is in the range from 1 to Wk − 1. This
means that the interval S depends on the modulus of the product of the control bases, Wk .
Through analysis of Expressions (43) and (56) we are able to conclude that there are
similar approaches to the development of algorithms for detecting and correcting errors in
codes of RNS and codes of polynomial residue number system. Hence, we can develop an
algorithm for calculating the polynomial interval without using the division operation, as
this operation is absent in the ring of irreducible polynomials.
Consider a code combination, D (z) = (d1 (z), . . . , di (z), . . . , dn+2 (z)), presented in
the code of PRNS with two control bases. Performing the inverse conversion using the CRT
for polynomials,
n +2
D (z) = ∑ di (z) Bi (z) − k(z)Wn+2 (z) (57)
i =1
hd
1 ( z ) B1 ( z )+ ... + d ( z ) Bi ( z )+ ... + dn+2 ( z ) Bn+2 ( z )
i
where k (z) = Wn+2 (z)
is a rank of the polynomial.
Appl. Sci. 2022, 12, 3365 15 of 20
The analysis in works [3–5] showed that both orthogonal bases of codes of RNS
containing redundant bases and those without them have the similarity property. The
conducted studies have confirmed this property for codes of polynomial residue number
system. Thus, we have
...
B i (z) ≡ Bi (z)modWn (z) (59)
...
where B i (z) is an orthogonal basis of PRNS using only information bases p1 (z), p2 (z), . . . ,
pn (z), and Bi (z) is an orthogonal base of redundant PRNS.
Hence, orthogonal bases can be presented as
...
Bi (z) = Wn (z) Li (z) + B i (z) (60)
h i
Bi (z)
where Li (z) = Wn (z)
.
... ...
At the same time, for control bases we have B n+1 (z) = 0, B n+2 (z) = 0 .
Then, using (47), we obtain
...
n +2
∑ di (z)(Wn (z) Li (z)+ B i (z))−k (z)Wn+2 (z)
S ( z ) = i =1 =
Wn (z)
(61)
n ...
n +2 ∑ di ( z ) B i ( z )
= ∑ di (z) Li (z)+ i=1 Wn (z)
− k(z)Wk (z).
i =1
When RNS was considered, it was shown that the values of the interval S form a ring
modulo Wk . Then, based on the similarity of RNS and PRNS we can conclude that values
of the polynomial interval S(z) do not exceed values modulo Wk (z) either. In this case,
we obtain
n ...
n +2 ∑ di ( z ) B i ( z )
S(z) = ∑ di (z) Li (z)+ i=1 Wn (z)
− k ( z )W ( z )
k =
i =1
Wk (z) (62)
n +2 ...
= ∑ di (z) Li (z)+ k (z) ,
i =1 Wk (z)
n ...
... ∑ di ( z ) B i ( z )
where k (z) = i=1 W (z) is a rank of the polynomial in a non-redundant polynomial
n
Example 4. Using PRNS with three informational bases, p1 (z) = z + 1, p2 (z) = z2 + z + 1, and
p3 (z) = z4 + z3 + z2 + z + 1, and two control bases, p4 (z) = z4 + z3 + 1 and p5 (z) = z4 + z + 1,
3
the operating range of the code is W3 (z) = ∏ pi (z) = z7 + z6 + z5 + z2 + z + 1. The product
i =1
of the two control bases is Wk = pn+1 pn+2 = z8 + z7 + z5 + z4 + z3 + z + 1. The full range of
PRNS is W5 (z) = ∏ pi (z) = z15 + 1.
i =1
As an allowed code combination of PRNS, we choose a polynomial, D (z) = z5 + z4 + z + 1 =
( 0, z, z3 + z2 + 1, 1, z2 + z ), which satisfies Condition (32). The orthogonal bases of
PRNS can be calculated as follows:
D ∗ (z) = (1∗ , z, z3 + z2 + 1, 1, z2 + z) =
= z14 + z13 + z12 + z11 + z10 + z9 + z8 + z7 + z6 + z3 + z2 .
5 ...
S(z) = ∑ di (z) Li (z)+ k (z) = (z7 + z4 + z2 + z) + z(z7 + z5 + z2 + z + 1)+
i =1 Wk (z)
+(z + z2 + 1)(z7
3 + z4 + z3 + z + 1) + (z7 + z4 + z3 ) + (z2 + z)(z5 + z4 + z) + z Wk
=
= (z10 + z9 + z8 + z7 + z6 + 1)modz8 + z7 + z5 + z4 + z3 +z+1 = z7 + z4 + z2 + z.
The obtained results coincide, which indicates the possibility of using redundant codes of
polynomial residue number system to build fault-tolerant high-speed computing systems for digital
signal processing and cryptographic protection of information operating in Galois fields.
4. Conclusions
The article discusses the principles of constructing redundant codes of polynomial
residue number system. Several theorems concerning the properties of codes of PRNS
were considered and proven. It was shown that the distortion of any residue transforms an
allowed code combination into a prohibited one. In this case, the criterion for the presence
of an error in the code combination of PRNS is a violation of Condition (32). Studies of
the code of polynomial residue number system, which has minimal redundancy, have
been carried out. We have shown that this code only allows for detection an error in the
code combination of PRNS. It was proposed to introduce two control bases to expand
error-correction abilities. We have shown that the use of two control bases makes it possible
to correct any erroneous residue in the code combination of PRNS. The article presents the
developed algorithm for calculating the positional characteristic (a polynomial interval) in
which only modular operations are used. This algorithm makes it possible to detect and
correct errors without performing a reverse conversion from a code of PRNS to a positional
code or performing a division operation, which is confirmed by the examples given in
the article.
Author Contributions: Conceptualization, I.A.K.; Data curation, K.T.T., A.A.O. and N.K.C.; Formal
analysis, I.A.K. and V.P.P.; Investigation, I.A.K., V.P.P., K.T.T. and A.A.O.; Methodology, I.A.K.; Project
administration, I.A.K.; Software, N.K.C.; Supervision, I.A.K.; Validation, V.P.P., K.T.T. and A.A.O.;
Visualization, V.P.P., K.T.T. and A.A.O.; Writing—original draft, I.A.K.; Writing—review and editing,
N.K.C. All authors have read and agreed to the published version of the manuscript.
Funding: This work was supported by the Russian Foundation for Basic Research, project No.
20-37-90009 and by the Russian Science Foundation (Moscow), project No. 22-21-00768.
Institutional Review Board Statement: Not applicable.
Informed Consent Statement: Not applicable.
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Szabo, N.S.; Tanaka, R.I. Residue Arithmetic and Its Applications to Computer Technology; Mc-Graw Hill: New York, NY, USA, 1967.
2. Mohan, P.V. Residue Number Systems. Algorithms and Architectures; Springer: New York, NY, USA, 2002.
3. Omondi, A.; Premkumar, B. Residue Number Systems: Theory and Implementation; Imperial College: London, UK, 2007.
4. Mohan, A. Residue Number Systems. Theory and Applications; Springer International Publishing: Cham, Switzerland, 2016.
5. Vergos, H.T.; Efstathiou, C. A unifying approach for weighted and diminished-1 modulo (2n + 1) addition. IEEE Trans. Circuits
Syst. II Express Briefs 2008, 55, 1041–1045. [CrossRef]
6. Patel, R.A.; Benaissa, M.; Boussakta, S. Fast Parallel-Prefix Architectures for Modulo 2n − 1 Addition with a Single Representation
of Zero. IEEE Trans. Comput. 2007, 56, 1484–1492. [CrossRef]
7. Juang, T.B.; Chiu, C.-C.; Tsai, M.-Y. Improved Area-Efficient Weighted Modulo 2n + 1 Adder Design With Simple Correction
Schemes. IEEE Trans. Circuits Syst. II Express Briefs 2010, 57, 198–202. [CrossRef]
8. Bajard, J.-C.; Eynard, J.; Gandino, F. Fault Detection in RNS Montgomery Modular Multiplication. In Proceedings of the 2013
IEEE 21st Symposium on Computer Arithmetic, Austin, TX, USA, 7–10 April 2013. [CrossRef]
Appl. Sci. 2022, 12, 3365 18 of 20
9. Gandino, F.; Lamberti, F.; Paravati, G.; Bajard, J.-C.; Montuschi, P. An Algorithmic and Architectural Study on Montgomery
Exponentiation in RNS. IEEE Trans. Comput. 2012, 61, 1071–1083. [CrossRef]
10. Plantard, T. Efficient Word Size Modular Arithmetic. IEEE Trans. Emerg. Top. Comput. 2021, 9, 1506–1518. [CrossRef]
11. Shahana, T.K.; Jose, B.R.; James, R.K.; Jacob, K.P.; Sasi, S. RRNS-Convolutional encoded concatenated code for OFDM based
wireless communication. In Proceedings of the 2008 16th IEEE International Conference on Networks, New Delhi, India,
12–14 December 2008. [CrossRef]
12. Albicocco, P.; Cardarilli, G.C.; Nannarelli, A.; Re, M. Twenty years of research on RNS for DSP: Lessons learned and future
perspectives. In Proceedings of the 2014 International Symposium on Integrated Circuits (ISIC), Singapore, 10–12 December 2014.
[CrossRef]
13. Khalifa, M.A.; Emam, A.E.; Youssef, M.I. A Comparative Study for RNS Coding Scheme Performance in OFDM and SC-
FDMA Systems. In Proceedings of the 2020 12th International Conference on Electrical Engineering (ICEENG), Cairo, Egypt,
7–9 July 2020. [CrossRef]
14. Ananthalakshmi, A.V.; Rajagopalan, P. VLSI implementation of residue number system based efficient digital signal processor
architecture for wireless sensor nodes. Int. J. Inf. Technol. 2019, 11, 829–840. [CrossRef]
15. Cardarilli, G.; Nunzio, L.D.; Fazzolari, R.; Nannarelli, A.; Petricca, M.; Re, M. Design Space Exploration based Methodology for
Residue Number System Digital Filters Implementation. IEEE Trans. Emerg. Top. Comput. 2020, 10, 186–198. [CrossRef]
16. Praveen, M.; Reddy, M.V.S.R.; Raju, Y.D.S. An approach for fixed coefficient RNS-based FIR filter. Open Access Int. J. Sci. Eng.
2021, 6, 1–6.
17. Luan, Z.; Chen, X.; Ge, N.; Wang, Z. Simplified fault-tolerant FIR filter architecture based on redundant residue number system.
Electron. Lett. 2014, 50, 1768–1770. [CrossRef]
18. Bernocchi, G.L.; Cardarilli, G.C.; Re, A.D.; Nannarelli, A.; Re, M. Low-power adaptive filter based on RNS components. In
Proceedings of the 2007 IEEE International Symposium on Circuits and Systems, New Orleans, LA, USA, 27–30 May 2007.
[CrossRef]
19. Rajni, D.S.K. Efficient Techniques for FIR Filter Designing. In Proceedings of First International Conference on Computational Electronics
for Wireless Communications; Springer: Berlin/Heidelberg, Germany, 2022; Volume 329, pp. 97–114.
20. Rawat, P.; Nemade, S. High Speed and Area Efficient Pipelined Distributed Arithmetic Technique based Adaptive Filter. Int. J.
Electron. Commun. Comput. Eng. 2020, 11, 8–15.
21. Kaplun, D.; Voznesensky, A.; Veligosha, A.V.; Kalmykov, I.A.; Sarma, K.K. Technique to Adjust Adaptive Digital Filter Coefficients
in Residue Number System Based Filters. IEEE Access 2021, 9, 82402–82416. [CrossRef]
22. Olsen, E.B. RNS Hardware Matrix Multiplier for High Precision Neural Network Acceleration: “RNS TPU”. In Proceedings of
the 2018 IEEE International Symposium on Circuits and Systems (ISCAS), Florence, Italy, 27–30 May 2018. [CrossRef]
23. Nakahara, H.; Sasao, T. A High-speed Low-power Deep Neural Network on an FPGA based on the Nested RNS: Applied to
an Object Detector. In Proceedings of the 2018 IEEE International Symposium on Circuits and Systems (ISCAS), Florence, Italy,
27–30 May 2018. [CrossRef]
24. Salamat, S.; Imani, M.; Gupta, S.; Rosing, T. RNSnet: In-Memory Neural Network Acceleration Using Residue Number System. In
Proceedings of the 2018 IEEE International Conference on Rebooting Computing (ICRC), McLean, VA, USA, 7–9 November 2018.
[CrossRef]
25. Ciet, M.; Neve, M.; Peeters, E.; Quisquater, J.-J. Parallel FPGA implementation of RSA with residue number systems—Can
side-channel threats be avoided? In Proceedings of the 2003 46th Midwest Symposium on Circuits and Systems, Cairo, Egypt,
27–30 December 2003. [CrossRef]
26. Papachristodoulou, L.; Fournaris, A.P.; Papagiannopoulos, K.; Batina, L. Practical Evaluation of Protected Residue Number
System Scalar Multiplication. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2018, 2019, 259–282. [CrossRef]
27. Noordam, L. VHDL Implementation of 4096-bit RNS Montgomery Modular Exponentiation for RSA Encryption. TU Delft Electr.
Eng. Math. Comput. Sci. 2019.
28. Wu, T. WITHDRAWN: Fast RNS elliptic curve point multiplication on FPGAs. Microprocess. Microsyst. 2020. [CrossRef]
29. Leelavathi, G.; Shaila, K.; Venugopal, K.R. Elliptic Curve Cryptography implementation on FPGA using Montgomery multiplica-
tion for equal key and data size over GF(2m ) for Wireless Sensor Networks. In Proceedings of the 2016 IEEE Region 10 Conference
(TENCON), Singapore, 22–25 November 2016. [CrossRef]
30. Agbedemnab, P.A.; Agebure, M.; Akobre, S. A Fault Tolerant Scheme for Detecting Overflow in Residue Number Microprocessors.
Int. J. Eng. Comput. Sci. 2018, 7, 23578–23587.
31. Tay, T.F.; Chang, C.-H. Fault-Tolerant Computing in Redundant Residue Number System. In Embedded Systems Design with Special
Arithmetic and Number Systems; Springer: Berlin/Heidelberg, Germany, 2017; pp. 65–88.
32. Popov, D.I.; Gapochkin, A.V. Development of Algorithm for Control and Correction of Errors of Digital Signals, Represented
in System of Residual Classes. In Proceedings of the 2018 International Russian Automation Conference (RusAutoCon), Sochi,
Russia, 9–16 September 2018. [CrossRef]
33. Afriyie, Y. A Novel Exploitation of Errors in Redundant Residue Number System Architecture. Am. J. Appl. Sci. 2021, 18, 96–106.
[CrossRef]
34. Selivanova, M.V.; Tyncherov, K.T.; Ikhsanova, F.A.; Kalmykov, I.A.; Olenev, A.A. A method of paired zeroing of numbers in a
residue system. J. Phys. Conf. Ser. 2019, 1333, 022015. [CrossRef]
Appl. Sci. 2022, 12, 3365 19 of 20
35. Pontarelli, S.; Cardarilli, G.C.; Re, M.; Salsano, A. A Novel Error Detection and Correction Technique for RNS Based FIR Filters.
In Proceedings of the 2008 IEEE International Symposium on Defect and Fault Tolerance of VLSI Systems, Cambridge, MA, USA,
1–3 October 2008. [CrossRef]
36. Gao, Z.; Reviriego, P.; Pan, W.; Xu, Z.; Zhao, M.; Wang, J.; Maestro, J.A. Fault Tolerant Parallel Filters Based on Error Correction
Codes. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2015, 23, 384–387. [CrossRef]
37. Kalmykov, I.A.; Pashintsev, V.P.; Zhuk, A.P.; Kalmykov, M.I.; Olenev, A.A. Redundant Modular Codes for Development of
Fault-Tolerant Systems of Satellite Identification. Int. J. Emerg. Trends Eng. Res. 2020, 8, 3160–3168. [CrossRef]
38. Sachenko, A.; Zhengbing, H.; Yatskiv, V. Increasing the Data Transmission Robustness in Wsn Using the Modified Error Correction
Codes on Residue Number System. Elektron. Elektrotech. 2015, 21, 76–81. [CrossRef]
39. Tay, T.F.; Chang, C.-H. A new algorithm for single residue digit error correction in Redundant Residue Number System. In Pro-
ceedings of the 2014 IEEE International Symposium on Circuits and Systems (ISCAS), Melbourne, VIC, Australia, 1–5 June 2014.
[CrossRef]
40. Tang, Y.; Boutillon, E.; Jégo, C.; Jézéquel, M. A new single-error correction scheme based on self-diagnosis residue number
arithmetic. In Proceedings of the 2010 Conference on Design and Architectures for Signal and Image Processing (DASIP),
Edinburgh, UK, 26–28 October 2010. [CrossRef]
41. Alhassan, A.; Saeed, I.; Agbedemnab, P.A. The Huffman’s Method of Secured Data Encoding and Error Correction using Residue
Number System (RNS). Commun. Appl. Electron. (CAE) 2015, 2, 14–18. [CrossRef]
42. Zhu, D.; Natarajan, B. Residue number system arithmetic inspired hopping pilot pattern design for cellular downlink OFDMA.
In Proceedings of the 2010 Wireless Telecommunications Symposium (WTS), Tampa, FL, USA, 21–23 April 2010. [CrossRef]
43. Timarchi, S.; Fazlali, M. Generalised fault-tolerant stored-unibit-transfer residue number system multiplier for moduli set {2n − 1,
2n , 2n + 1}. IET Comput. Digit. Tech. 2012, 6, 269–276. [CrossRef]
44. Afriyie, Y.; Daabo, M.I. Multiple Bits Error Detection and Correction in RRNS Architecture using the MRC and HD Techniques.
Int. J. Comput. Appl. 2018, 180, 18–23. [CrossRef]
45. James, J.; Pe, A. Error correction based on redundant Residue Number System. In Proceedings of the 2015 IEEE International
Conference on Electronics, Computing and Communication Technologies (CONECCT), Bangalore, India, 10–11 July 2015.
[CrossRef]
46. Skavantzos, A.; Taylor, F.J. On the polynomial residue number system (digital signal processing). IEEE Trans. Signal Process. 1991,
39, 376–382. [CrossRef]
47. Skavantzos, A.; Stouraitis, T. Polynomial residue complex signal processing. IEEE Trans. Circuits Syst. II Analog. Digit. Signal
Process. 1993, 40, 342–344. [CrossRef]
48. Yang, M.-C.; Wu, J.-L. A new interpretation of “polynomial residue number system”. IEEE Trans. Signal Process. 1994, 42,
2190–2191. [CrossRef]
49. Paliouras, V.; Skavantzos, A.; Stouraitis, T. Multi-voltage low power convolvers using the polynomial residue number system. In
Proceedings of the GLSVLSI ’02: Proceedings of the 12th ACM Great Lakes Symposium on VLSI, New York, NY, USA, 18 April
2002; pp. 7–11. [CrossRef]
50. Abdallah, M.; Skavantzov, A. The multipolynomial channel polynomial residue arithmetic system. IEEE Trans. Circuits Syst. II
Analog. Digit. Signal Process. 1999, 46, 165–171. [CrossRef]
51. Katkov, K.A.; Makarova, A.V. Parallel modular technologies in digital signal processing. Life Sci. J. 2014, 11, 435–438.
52. Chu, J.; Benaissa, M. GF(2m ) multiplier using Polynomial Residue Number System. In Proceedings of the APCCAS 2008—2008
IEEE Asia Pacific Conference on Circuits and Systems, Macao, China, 30 November–3 December 2008. [CrossRef]
53. Kalimoldayev, M.; Tynymbaev, S.; Magzom, M.; Ibraimov, M.; Khokhlov, S.; Abisheva, A.; Sydorenko, V. Polynomials Multiplier
under Irreducible Polynomial Module for High-Performance Cryptographic Hardware Tools. Available online: http://ceur-ws.
org/Vol-2393/paper_363.pdf (accessed on 15 January 2021).
54. Kalimoldayev, M.; Tynymbayev, S.; Gnatyuk, S.; Khokhlov, S.; Magzom, M.; Kozhagulov, Y. Matrix multiplier of polynomials
modulo analysis starting with the lower order digits of the multiplier. News Natl. Acad. Sci. Repub. Kaz. Ser. Geol. Technol. Sci.
2019, 4, 181–187. [CrossRef]
55. Kalimoldayev, M.; Tynymbayev, S.; Gnatyuk, S.; Ibraimov, M.; Magzom, M. The device for multiplying polynomials modulo an
irreducible polynomial. News Natl. Acad. Sci. Repub. Kaz. Ser. Geol. Technol. Sci. 2019, 2, 199–205. [CrossRef]
56. Biyashev, R.G.; Nyssanbayeva, S.E.; Begimbayeva, Y.Y.; Magzom, M.M. Modification of the cryptographic algorithms, developed
on the basis of nonpositional polynomial notations. In Proceedings of the International Conference on Circuits, Systems, Signal
Processing, Communications and Computers (CSSCC 2015), Vienna, Austria, 15–17 March 2015; pp. 170–176.
57. Kapalova, N.; Dyusenbayev, D. Security analysis of an encryption scheme based on nonpositional polynomial notations. Open
Eng. 2016, 6, 250–258. [CrossRef]
58. Biyashev, R.; Nyssanbayeva, S.; Kapalova, N. Secret Keys for Nonpositional Cryptosystems. Development, Investigation and Implementa-
tion; Lambert Academic Publishing: Chisinau, Moldova, 2014; pp. 136–147.
59. Good, T.; Benaissa, M. Very small FPGA application-specific instruction processor for AES. IEEE Trans. Circuits Syst. I Regul. Pap.
2006, 53, 1477–1486. [CrossRef]
60. Mangard, S.; Aigner, M.; Dominikus, S. A highly regular and scalable AES hardware architecture. IEEE Trans. Comput. 2003, 52,
483–491. [CrossRef]
Appl. Sci. 2022, 12, 3365 20 of 20
61. Hodjat, A.; Verbauwhede, I. Minimum area cost for a 30 to 70 Gbits/s AES processor. IEEE Comput. Soc. Annu. Symp. VLSI 2004,
83–88. [CrossRef]
62. Dichenko, S.A.; Finko, O.A. Controlling and Restoring the Integrity of Multi-Dimensional Data Arrays through Cryptocode
Constructs. Program. Comput. Softw. 2021, 47, 415–425. [CrossRef]
63. Samoylenko, D.V.; Eremeev, M.A.; Finko, O.A. A method of providing the integrity of information in the group of robotic
engineering complexes based on crypt-code constructions. Autom. Control. Comput. Sci. 2017, 51, 965–971. [CrossRef]
64. Martínez-Peñas, U. Sum-Rank BCH Codes and Cyclic-Skew-Cyclic Codes. IEEE Trans. Inf. Theory 2021, 67, 5149–5167. [CrossRef]
65. Li, C.; Wu, P.; Liu, F. On Two Classes of Primitive BCH Codes and Some Related Codes. IEEE Trans. Inf. Theory 2019, 65, 3830–3840.
[CrossRef]