<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>X (V. Yatskiv );</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Number System for Asymmetric Cryptosystems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mykhailo Kasianchuk</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ihor Yakymenko</string-name>
          <email>iyakymenko@ukr.net</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vasyl Yatskiv</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mikolaj Karpinski</string-name>
          <email>mpkarpinski@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Solomiya</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ternopil Ivan Puluj National Technical University</institution>
          ,
          <addr-line>56, Ruska str, Ternopil, 46001</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Bielsko-Biala</institution>
          ,
          <addr-line>2, Willova str., Bielsko-Biala, 43-309</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>West Ukrainian National University</institution>
          ,
          <addr-line>11 Lvivska str., Ternopil, 46009</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>Nowadays the requirements for modern information security systems stability and speed are constantly growing. Therefore, the development of methods for parallel processing of multi-bit numbers in asymmetric cryptographic algorithms is an urgent task. Modern algorithms in most cases have strictly consistent structures based on the positional binary numeral system, which causes certain functional limitations. An important area is the usage of non-positional residue number system. It allows successfully parallelizing the processes of addition, multiplication and exponentiation of multi-bit numbers. These are basic operations in asymmetric systems for information flows protection in computer systems. However, there are some difficulties in recovering a decimal number from its residues due to the most time-consuming operation of finding a multiplicative inverse element by moduli. To eliminate this problem, it is advisable to use a modified perfect form of the residue number system. In the paper methods for multiplying multi-bit numbers in the residue number system and its modified perfect form are proposed, which, in contrast to the existing ones, allow reducing the bit size of operands and executing arithmetic operations in parallel. Analytical expressions of time complexities depending on factors bit-size and number of moduli are constructed for developed methods. As a result, it was determined that the complexity significantly increases with increasing bit size and decreasing number of modules. For effective software implementation of the proposed diagram is designed and the appropriate algorithmic implementations are developed, also decision on the programming environment is substantiated. Experimental studies of the time characteristics of multiplication at different ratios between moduli in the residue number system have been carried out. Graphical dependencies of time characteristics on bit size of input parameters are provided.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>cryptography, bit size, time complexity
operation, residue
number system,
modulo system, asymmetric</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>At the current stage of societal development, the scope of large numbers usage and operations on
them is not limited to specialized science intensive tasks.
EMAIL:
(M.</p>
      <p>Kasianchuk);</p>
      <p>2022 Copyright for this paper by its authors.</p>
      <p>
        In recent years, asymmetric cryptography systems [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] have become increasingly important. Their
implementation requires calculations on multi-bit integer operands with a few thousands of decimal
digits [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        In most cases, users have to use computer systems with limited performance to execute the client
part of crypto-protocols. This determines the importance of increasing the speed of operations on
large numbers in their software, hardware, or software and hardware implementation [
        <xref ref-type="bibr" rid="ref5 ref6">5,6</xref>
        ].
      </p>
      <p>
        With regard to asymmetric cryptography (RSA cryptosystems, Rabin, El Gamal, electronic
digital signature algorithms, encryption on elliptical curves [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ]), the greatest attention should be
paid to optimizing the performance of multiplication operations and its derivatives (exponentiation, in
particular, exponent 2) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], as they account for 45% and 24% (in the case of 2048-bit key) of the total
complexity of cryptocurrency operations.
      </p>
      <p>The most common among positional number systems for today is the binary system that has a
strictly consistent structure. This limits its ability to process information in parallel.</p>
      <p>
        Usage of non-positional number systems, one of which is the residue number system (RNS) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
allows eliminating this drawback. It also has some known disadvantages, for example difficulties in
division [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and comparison [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] operations, but it can be successfully used in asymmetric
cryptosystems to parallelize the processing of multi-bit numbers while adding, multiplying and
exponentiating.
      </p>
    </sec>
    <sec id="sec-3">
      <title>2. Related works</title>
    </sec>
    <sec id="sec-4">
      <title>2.1. Theoretical foundations of RNS</title>
      <p>The theoretical basis of RNS is algebra and number theory. Any integer N, written in positional, in
particular, decimal number system, is represented as a set (b1, b2, … , bk) in the RNS. bi values are the
smallest non-negative residues from the division of the number N by fixed numbers (or moduli) р1, р2,
... , рk (bi=N mod pi), where k is the number of moduli.</p>
      <p>The moduli must be natural and pairwise coprime numbers. In addition, the inequality 0NP–1,
k
where Р=  pi - a number that determines the condition of bitwise calculations overflow.</p>
      <p>i =1</p>
      <p>
        Arithmetic operations (addition, multiplication, exponentiation) are performed separately for each
low-bit modulo. After that, obtained results are converted into a positional number system, mainly
using the Chinese remainder theorem (CRT) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>The reverse conversion into a positional number system is usually based on the CRT:
 k 
N =  bi Bi  mod P ,
 i =1 
(1)
where Bi=Mimi, M i =</p>
      <p>P
pi</p>
      <p>, mi = M i−1 mod pi .</p>
    </sec>
    <sec id="sec-5">
      <title>2.2. Application of RNS in computer systems</title>
      <p>
        RNS usage in computer systems can significantly increase the speed of integer arithmetic
operations implementation, which is very important for asymmetric cryptography. In particular, in
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] a method of applying floating-point intervals for non-modular calculations in RNS was proposed.
      </p>
      <p>In [12] this method was improved and it was experimentally demonstrated that for random
residues and a 128 modules set with 2048-bit dynamic range, the proposed implementation reduces
the operating time by 39 times and memory consumption by 13 times compared to the
implementation based on mixed transformations.</p>
      <p>In [13] it was shown that the usage of RNS in the Montgomery method is an effective way to
increase the speed of modular multiplication, but its time complexity still remains high for multi-bit
numbers processing. Significant acceleration can be achieved by moving to the processor level of
arithmetic operations or cloud technologies usage [14].</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref5">5, 15</xref>
        ] secure and effective approaches for RNS application in cryptography on elliptic curves
are presented. They are especially effective as a response to attacks through the side channel leakage
and during the malfunctions introduction in the computer system.
      </p>
      <p>
        Paper [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] present effective algorithms for implementing RSA-cryptographic system based on
RNS, experimental studies of which have shown that they have greater speed and resistance to brute
force attacks compared to classical ones.
      </p>
    </sec>
    <sec id="sec-6">
      <title>2.3. Selection of specialized RNS modules sets</title>
      <p>One of the ways to increase the computers operating speed in RNS is the choice of specialized
module sets, which significantly affects the execution time of both modular and non-modular
operations. Therefore, RNS offers many module sets of different types and quantities for certain
applications that significantly affect all parts of the hardware implementation, including direct
converters, modular arithmetic channels, reverse converters.</p>
      <p>In the vast majority of works module type 2k, 2k±1 is considered, which enables rational usage of
bit grid registers [14, 15].</p>
      <p>However, the search for inverse elements by module is characterized by considerable
computational complexity and in number theory it is realized by a complete search of possible
options, using the Euclidean algorithm or Euler's theorem [18, 19].</p>
      <p>In [20] the modified perfect form (MPF) of RNS is proposed, in which M i mod pi = 1. This
eliminates the operation of finding the inverse element and the calculations are performed according
to the following formula:</p>
      <p> n 
N =    bi M i  mod P ,</p>
      <p> i=1 
because mi=±1.</p>
      <p>In addition, [20] presents the theoretical basis for the construction of a three-modulo MPF RNS.
However, currently there are no experimental studies of time characteristics for performing arithmetic
operations, in particular, multiplication in the RNS and its MPF. This is the purpose of this work.</p>
    </sec>
    <sec id="sec-7">
      <title>3. Proposed model</title>
    </sec>
    <sec id="sec-8">
      <title>3.1. Multiplication method in the residue number system</title>
      <p>Let's consider the product b=ac of two numbers a and c, written in the positional decimal number
k
system, using RNS with a set of modulo рі. Their product P =  pi must exceed the desired result.
i=1
First it is needed to find the remainders from the division of multiplicands by each of the modulo:
аі=а mod pi; сі=с mod pi. Then obtained remains are multiplied by the appropriate moduli:
bi=aici mod pi.</p>
      <p>The desired product is obtained as a result of restoring the positional (in particular, decimal)
representation of the number of its residues according to the formula (1).</p>
      <p>To reduce the operands on which operations are performed when using the CRT, expression (1)
should be written as follows:</p>
      <p> k 
b = a  c =   Mi ((mi  bi )mod pi ) mod P .</p>
      <p> i=1 
(2)
(3)</p>
    </sec>
    <sec id="sec-9">
      <title>3.2. Algorithmic implementation of the proposed multiplication method in RNS</title>
      <p>The step-by-step implementation of this method can be presented in the following way.
1. Start: pi , i=1…k, a, c.
2. Residues are being searched ai= a mod pi ci = c mod pi.
3. bi =ai* ci mod pi is calculated.</p>
      <p>k
4. The value P =  pi is being searched.</p>
      <p>i=1
5. The basic RNS parameters are searched Mi =P/pi.
6. mi = (Mi )-1mod pi is calculated.
 k
7. Operations are performed using RNS b = a  c =   M i ((mi  bi )mod pi ) mod P .
 i=1 
8. End: b .</p>
      <p>For the effective software implementation of the proposed multiplication method in RNS its block
diagram is developed and presented in Figure 1.
bi =ai* ci mod pi</p>
      <p>P= p1
i=1..k
P=P* pi</p>
      <p>Mi =P/ pi
mi = (Mi )-1mod pi
А
А
si=mi* bi mod pi</p>
      <p>Li=Mi *si
S= L1
i=1..k
S=S+Lі
b=S mod P</p>
      <p>b
End</p>
    </sec>
    <sec id="sec-10">
      <title>3.3. Research of the multiplication method time complexity in RNS</title>
      <p>The main operation of n-bit numbers multiplication by modulo in RNS is residues finding [19],
finding the inverse value by modulo [16] (in MPF RNS it is not present), product of residues by
modulo, restoring the decimal representation of the number from its residues.</p>
      <p>Therefore, for determining the complexity of the proposed method the complexity of the above
mentioned operations, which are presented in table 1, must be taken into account.</p>
      <p>Table 1.</p>
      <p>Time complexity of basic multiplication operations in RNS
№ Basic operations Time complexity in RNS Time complexity in MPF RNS</p>
      <p>Given the tabular data, the multiplication time complexity in a conventional RNS will be
O1 3n2 + k  n  log2 kn  + log2 n 2  . Since there is no operation of multiplicative inverse element
 k 
search by modulo in the MPF RNS, the time complexity will be reduced accordingly:
O2 3n2 </p>
      <p>+ log2 n 2  .
 k </p>
      <p>Figure 2 shows the surface, which demonstrates the dependence of the multiplication operation
complexity O1(n, k) on the bit-size and the number of modulo factors. It is determined that the
complexity increases significantly with increasing n and decreasing k.</p>
    </sec>
    <sec id="sec-11">
      <title>Examples of performing a multiplication operation in RNS</title>
      <p>To demonstrate the proposed method, let's consider the RNS with three moduli (k=3): p1=1579,
p2=1627, p3=1705. Their product Р=4380201265 is a 33-bit number. Let's find the product of two
16bit numbers а=37831 and с=43529, which will be definitely less than Р. Table 2 shows the values of
intermediate values from formula (3), which are used to find the product b.</p>
      <p>Table 2.</p>
      <p>Intermediate values for finding the product
i 1 2 3
pi 1579 1627 1705</p>
      <p>Mi 2774035 2692195 2569033
Mi mod pi 1311 1137 1303
mi 1361 342 1582</p>
      <p>a=37831, c=43529
ai=a mod pi
сi=с mod pi
bi</p>
      <p>3106
2106
106</p>
      <p>k
3.4.</p>
      <p>Then b = (2774035((1361183)mod1579) + 2692195((342327)mod1627) +
+2569033((1582334)mod1705))mod4380201265=(27740351160+26921951198+
+25690331543)mod 4380201265=1646745599.</p>
      <p>Therefore, instead of multiplying two 16-bit numbers, it is needed to multiply the 22-bit number
by 11-bit number.</p>
      <p>The calculation can be simplified taking into account the property of congruence that mi, bi mod
pi=( mi, bi - pi) mod pi. It is advisable for the case when the parameters mi, bi are greater than the half
of the corresponding module.</p>
      <p>For our example m1=1361 mod 1579=
=-218mod1579, m3=1582mod1705=-123mod1705.</p>
      <p>Hence b=(-2774035((218183)mod1579) +
2692195((342327)mod1627)- 2569033((123334)mod1705))mod4380201265=(-2774035419 + 26921951198
-2569033162)mod 4380201265=1646745599.</p>
      <p>A significant reduction in computational complexity can be achieved by using a set of moduli that
form MPF RNS (Mi mod pi=1), for example p1=1025, p2=2049, p3=2051.</p>
      <p>The values of corresponding parameters are shown in table 3.</p>
      <p>It is shown that in this case the bulky modular operation of finding the inverse element is
eliminated. Then b=(-420249974+21022751181-2100225250)mod 4307561475=1646745599.</p>
    </sec>
    <sec id="sec-12">
      <title>4. Results and Discussions</title>
    </sec>
    <sec id="sec-13">
      <title>4.1. Rationale for choosing the programming environment</title>
      <p>A high-level general-purpose programming language Python was chosen for the software
implementation of multiplication operation in RNS and MPF RNS [20, 25-27]. It is focused on
improving developer productivity and code readability.</p>
      <p>Python kernel syntax is simple and minimal. At the same time, the standard library includes a large
number of useful functions.</p>
      <p>Python code is organized into functions and classes that can be combined into moduli (they, in
turn, can be combined into packages).</p>
      <p>An example of entering input parameters is shown in Figure 3.</p>
    </sec>
    <sec id="sec-14">
      <title>4.2. Experimental studies of the implementation in a conventional RNS multiplication operation software</title>
      <p>Figure 5 presents the time characteristics of the multiplication operation b=ac in the three-module
RNS with a fixed multiplier a=65536 with two different module systems (first case - the moduli have
a little difference: р1=1625= 3 65536 2 , р2=1626, р3=1627 - dotted lines, the second case - moduli
have a big difference: р1=163, р2=1627, р3=16381 - solid lines). The product of the moduli in both
systems exceeds 232.</p>
      <p>The second factor c varied from 67 to a with an interval of 1311. The last one determined the
number of obtained calculations, which was equal to 50. The horizontal lines indicate the average
time of calculations for each case.</p>
      <p>As shown in Figure 5, chart 1 is oscillating. The average execution time of the multiplication
operation (line 2) is 0.008645 ms. In the second case, the multiplication time (Figure 3) does not
fluctuate significantly.</p>
      <p>The average time (line 4) is 0.005934 ms, which is 1.46 times less than in the previous case.
Therefore, in order to increase the speed in the RNS, pairwise coprime modulo must be chosen in
such a way that they differ as little as possible from each other.</p>
    </sec>
    <sec id="sec-15">
      <title>4.3. Experimental studies of the</title>
      <p>implementation in the MPF RNS
multiplication
operation
software</p>
      <p>For the MPF RNS research, system of moduli with a significant difference between them (p1=651,
p2=691, p3=11246) was chosen by the formula obtained in [25-27]:</p>
      <p>During a three-moduli MPF RNS construction according to formula (4), the system of the same
bit-size moduli can not be selected. The smallest difference between the moduli will be following:</p>
      <p>.</p>
      <p>Based on this, the following moduli were selected: р1=1025, р2=2049, р3=2051. Again, the product
of the moduli in both cases exceeds 232.</p>
      <p>The input parameters were the same as for conventional RNS. The calculations were performed
according to the expression for MPF RNS:</p>
      <p>The obtained results are presented in Figure 6. The solid line shows the multiplication time (curve
1) and the average time (line 2) for 50 p values when p1=651, p2=691, p3=11246, dotted line (graphs
3, 4) shown results respectively for р1=1025, р2=2049, р3=2051.</p>
      <p>b = (− b1M1 + b2M2 + b3M3)mod P ,
(4)
(5)
(6)
0,0024</p>
      <p>t, ms
0,00235</p>
      <p>0,0023
0,00225</p>
      <p>0,0022
0,00215</p>
      <p>0,0021
0,00205
0,002
4
3
1</p>
      <p>2
617
66622
1311717
1971362
2622871
3284226</p>
      <p>It can be seen that in both cases at small с values, the amplitude of oscillations is large, with
increasing с it decreases except for a small segment in the second half of the range of value с changes.</p>
      <p>The average time for the modulo system p1=651, p2=691, p3=11246 is 0,002177 мс (line 2), and
for р1=1025, р2=2049, р3=2051 - 0,002133 ms (line 4), which is 1.02 times less than in the previous
case.</p>
      <p>A comparison of Figures 5 and 6 shows a significant increase in performance due to the MPF RNS
usage.</p>
    </sec>
    <sec id="sec-16">
      <title>4.4. Comparative analysis of multiplication results in conventional RNS and MPF RNS</title>
      <p>Further studies were performed for numbers whose bit-size n varied from 16 to 24 bits. Four cases
of the modulo system construction were considered:
1) RNS moduli significantly different from each other;
2) moduli are three consecutive numbers, the first and third of which are odd: р1  3 22n  ,
р2= р1+1, р3= р1+2;
3) moduli are calculated by the following formulas: р2= р1+1, р3= р1(р1+1)-1;
4) moduli are calculated by the following expressions: р2= 2р1-1, р3= 2р1+1.</p>
      <p>In all cases the product of the modulo is the smallest, but greater than 22n. In the third and fourth
cases, the modulo systems form MPF RNS. The first factor in the product b=ac was fixed: a=2n-1,
which corresponds to the maximum number of the specified bit-size. The second factor c changed
 2n   2n 
from the initial value с = 2n −   + 1 with the interval of   . Therefore, 1000 different
1000 1000 
values of the number c and, accordingly, the execution time of 1000 multiplication operations b=ac
with a fixed value a and a variable c.</p>
      <p>Further, for each bit-size the average operation execution time was determined by formula (3). In
addition, for cases 3 and 4, the average time tav 1 for executing operation of two numbers
multiplication by formula (6) was determined.</p>
      <p>To eliminate accidental effects, all calculations were repeated 100 times. The corresponding sets of
modulo, as well as the average calculation time for numbers with different bit-size are presented in
Table 4. Figure 7 shows the graphs of the average time of the multiplication by formula (3)
dependence on the bit-size of numbers n that are used according to the table 4 (the graph number
corresponds to the case number in Table 4.</p>
      <p>Figure 7 shows that the most time is spent on a conventional RNS in the case when the moduli
significantly different from each other.</p>
      <p>Moreover, the graph growth is almost linear with increasing bit-size. Graphs 2 and 4 are almost
linear at small bit-size, more intensive growth of graphs is observed at n=19 and n=21 respectively.
And the third graph is close to linear over the entire considered range.</p>
      <p>Analysis of figure 7 shows that the usage of moduli that either form the MPF RNS, or differ little
from each other, allows increasing the speed of the computing system.</p>
      <p>Figure 8 presents graphs that show dependence of the average multiplication time on the bit-size n
for the third (curve 1) and fourth (curve 2) cases of table 3, the moduli in which form MPF RNS, with
the same input parameters using formula (6).</p>
      <p>Analysis of Figures 7 and 8 shows that the average computation time in MPF RNS decreases by
approximately 2.5-3 times compared to the usual integer RNS form.</p>
      <p>Conclusion</p>
      <p>The paper proposes methods for multiplying multi-bit numbers in ordinary integer-valued RNS
and MPF RNS, which, unlike the existing ones, allow reducing the operands bit-size and parallel the
arithmetic operations execution. Analytical expressions for the developed methods time complexity
depending on factors bit-size and number of moduli are constructed. As a result, it was determined
that the complexity increases significantly with increasing bit-size and decreasing number of moduli.</p>
      <p>For effective software implementation of the proposed methods, a block diagram is designed and
the appropriate algorithmic implementations are developed. Experimental studies of the time
characteristics of multiplication at different ratios between moduli in RNS have been carried out.
Graphical dependences of time characteristics on bit size of input parameters are provided. As a result
of numerical experiments, it is determined that the average execution time of the multiplication
operation is 1.46 times bigger when the moduli are significantly different than when they are almost
the same. The speed of the algorithm for multi-bit numbers multiplication in MPF RNS is
investigated. It is shown that the average time of the multiplication operation does not depend on the
ratio between moduli.</p>
      <p>A comparative analysis of time results in ordinary RNS and MPF RNS for various sets of moduli
and numbers with different bit-size is conducted. It was found that using MPF RNS instead of the
ordinary integer-valued RNS allows reducing multiplication operation time by approximately 3 times.
[12].K. Givaki et al. Using Residue Number Systems to Accelerate Deterministic Bit-stream
Multiplication. 2019 IEEE 30th International Conference on Application-specific Systems,
Architectures and Processors (ASAP), 2019, pp. 40-40, doi: 10.1109/ASAP.2019.00-33.
[13].J.-C. Bajard, J. Eynard, N. Merkiche, Montgomery Reduction within the Context of Residue
Number System. Arithmetic Journal of Cryptographic Engineering, № 2, 2017, pp. 121-132.
https://doi.org/10.1007/s13389-017-0154-9
[14].О.Р. Markovskyi, N. Bardis, N. Doukas, S. Kirilenko, Secure Modular Exponentiation in Cloud
Systems. Information Technology, Computational and Experimental Physics (CITCEP 2015):
Proceedings of the Congress, Krakow, Poland, 2015, pp. 266-269.
[15].A.P. Fournaris, L. Papachristodoulou, L. Batina, N. Sklavos, Residue number system as a side
channel and fault injection attack coun-termeasure in elliptic curve cryptography. Design and
Technology of Integrated Systems in Nanoscale Era (DTIS): Proceedings of the 2016
International Conference, 2016, pp. 1–4. https://doi.org/10.1109/DTIS.2016.7483807.
[16].Z. Torabi, G. Jaberipur, A. Belghadr. Fast division in the residue number system {2n + 1, 2n,
2n - 1} based on shortcut mixed radix conversion. Comput. Electr, Eng., 83, 2020, 106571.
https://doi.org/10.1016/j.compeleceng.2020.106571.
[17].S. Kumar, C. Chang, T.F. Tay. New Algorithm for Signed Integer Comparison in {2n+k , 2n − 1,
2n + 1, 2n±1 − 1} and Its Efficient Hardware Implementation. IEEE Trans. Circuits Syst. I
Regul. Pap., 64, 2017, pp. 1481–1493. https://doi.org/10.1109/TCSI.2016.2561718.
[18].T. Rajba, A. Klos-Witkowska, S. Ivasiev, I. Yakymenko, M. Kasianchuk, Research of Time
Characteristics of Search Methods of Inverse Element by the Module. Intelligent Data
Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS–2017):
Proceedings of the 2017 IEEE 9th International Conference, Bucharest, Romania, V.1,
September, 2017, pp.82–85. https://doi.org/10.1109/IDAACS.2017.8095054.
[19].Hu. Zhengbing, I. Dychka, M. Onai, A. Bartkoviak, The Analysis and Investigation of
Multiplicative Inverse Searching Methods in the Ring of Integers Modulo M. International
Journal of Intelligent Systems and Applications (IJISA), Vol. 8, №11, 2016, pp. 9-18.
https://doi.org/10.5815/ijisa.2016.11.02.
[20].Ya.M.Nykolaychuk, M.M.Kasianchuk, I.Z.Yakymenko, Theoretical Foundations of the Modified
Perfect Form of Residue Number System. Cybernetics and Systems Analysis, Vol. 52, №2, 2016,
pp. 219-223. https://doi.org/10.1007/s10559-016-9817-2.
[21].S. Ivasiev, I. Yakymenko, M. Kasianchuk, R. Shevchuk, M. Karpinski, O. Gomotiuk, Effective
algorithms for finding the remainder of multi-digit numbers. Advanced Computer Information
Technology (ACIT–2019): Proceedings of the International Conference. Ceske Budejovice
(Czech Republic), 2019, pp. 175-178. https://doi.org/10.1109/ACITT.2019.8779899.
[22].J. Stewart. Python for Scientists. Cambridge: Cambridge University Press, 2014, 230 р.</p>
      <p>https://doi.org/10.1017/CBO9781107447875.
[23]. A. Kumar and S. P. Panda, A Survey: How Python Pitches in IT-World, 2019 International
Conference on Machine Learning, Big Data, Cloud and Parallel Computing (COMITCon), 2019,
pp. 248-251, doi: 10.1109/COMITCon.2019.8862251.
[24].Alejandro Garces, Convex Programming in Python, in Mathematical Programming for Power
Systems Operation: From Theory to Applications in Python , IEEE, 2022, pp.61-83, doi:
10.1002/9781119747291.ch4.
[25].L. Yu, "Empirical Study of Python Call Graph, 2019 34th IEEE/ACM International Conference
on Automated Software Engineering (ASE), 2019, pp. 1274-1276, doi:
10.1109/ASE.2019.00160.
[26].H. Ren, L. Yang, L. Jiang, Y. Bai, W. Lu and J. Chang, A Computational-thinking-oriented
Progressive Teaching Mode for Python Course, 2021 IEEE 3rd International Conference on
Computer Science and Educational Informatization (CSEI), 2021, pp. 81-84, doi:
10.1109/CSEI51395.2021.9477642.
[27].A. Safari and A. A. Ghavifekr, International Stock Index Prediction Using Artificial Neural
Network (ANN) and Python Programming, 2021 7th International Conference on Control,
Instrumentation and Automation (ICCIA), 2021, pp. 1-7, doi:
10.1109/ICCIA52082.2021.9403580.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>. J.</given-names>
            <surname>Bajard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Eynard</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>Merkiche, Multi-fault attack detection for RNS cryptographic architecture</article-title>
          .
          <source>Computer Arithmetic (ARITH</source>
          <year>2016</year>
          )
          <article-title>:</article-title>
          <source>Proceedings of the 23nd IEEE Symposium</source>
          , Silicon Valley, CA, USA,
          <year>2016</year>
          , pp.
          <fpage>16</fpage>
          -
          <lpage>23</lpage>
          . https:// doi.org/10.1109/ARITH.
          <year>2016</year>
          .
          <volume>16</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>. I.R.</given-names>
            <surname>Fadulilahi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.K.</given-names>
            <surname>Bankas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.B.A.K.</given-names>
            <surname>Ansuura</surname>
          </string-name>
          ,
          <article-title>Efficient Algorithm for RNS Implementation of RSA</article-title>
          .
          <source>International Journal of Computer Applications</source>
          , Vol.
          <volume>127</volume>
          (
          <issue>5</issue>
          ),
          <year>2015</year>
          , pp.
          <fpage>14</fpage>
          -
          <lpage>19</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]. Oksana Pomorova, Oleg Savenko, Sergii Lysenko,
          <article-title>Andrii Kryshchuk. Multi-Agent Based Approach for Botnet Detection in a Corporate Area Network Using Fuzzy Logic</article-title>
          .
          <source>Communications in Computer and Information Science</source>
          .
          <year>2013</year>
          . Vol.
          <volume>370</volume>
          . PP.
          <volume>243</volume>
          -
          <fpage>254</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]. Bohdan Savenko, Sergii Lysenko, Kira Bobrovnikova, Oleg Savenko,
          <string-name>
            <given-names>George</given-names>
            <surname>Markowsky</surname>
          </string-name>
          .
          <source>Detection DNS Tunneling Botnets. Proceedings of the 2021 IEEE 11th International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications</source>
          , Cracow, Poland,
          <source>September 22-25</source>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>. A.P.</given-names>
            <surname>Fournaris</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Papachristodoulou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Batina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Sklavos</surname>
          </string-name>
          ,
          <article-title>Secure and Efficient RNS Approach for Elliptic Curve Cryptography</article-title>
          .
          <source>Trustworthy Manufacturing and Utilization of Secure Devices (TRUDEVICE</source>
          <year>2016</year>
          )
          <article-title>:</article-title>
          <source>Proceedings of the 6th Conference</source>
          , Barcelona,
          <year>2016</year>
          , pp.
          <fpage>121</fpage>
          -
          <lpage>126</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]. S. Asif,
          <string-name>
            <given-names>M.S.</given-names>
            <surname>Hossain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Abdul</surname>
          </string-name>
          ,
          <article-title>A Fully RNS based ECC Processor</article-title>
          . Integration,
          <volume>61</volume>
          ,
          <year>2018</year>
          , pp.
          <fpage>138</fpage>
          -
          <lpage>149</lpage>
          . https://doi.org/10.1016/j.vlsi.
          <year>2017</year>
          .
          <volume>11</volume>
          .010.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>. V.</given-names>
            <surname>Adki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hatkar</surname>
          </string-name>
          , A Survey on Cryptography Techniques.
          <source>International Journal of Advanced Research in Computer Science and Software Engineering</source>
          , Vol.
          <volume>6</volume>
          (
          <issue>6</issue>
          ),
          <year>2016</year>
          , pp.
          <fpage>469</fpage>
          -
          <lpage>475</lpage>
          . https://doi.org/10.15587/
          <fpage>2706</fpage>
          -
          <lpage>5448</lpage>
          .
          <year>2020</year>
          .
          <volume>202099</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>. P.V.</given-names>
            <surname>Ananda</surname>
          </string-name>
          <string-name>
            <surname>Mohan</surname>
          </string-name>
          ,
          <source>Residue Number Systems: Theory and Applications</source>
          . Birkhäuser,
          <year>2016</year>
          , 351 p. https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -41385-3.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>. K.</given-names>
            <surname>Phalakarn</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Surarerks</surname>
          </string-name>
          ,
          <source>Alternative Redundant Residue Number System Construction with Redundant Residue Representations</source>
          ,
          <source>2018 3rd International Conference on Computer and Communication Systems (ICCCS)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>457</fpage>
          -
          <lpage>461</lpage>
          , doi: 10.1109/CCOMS.
          <year>2018</year>
          .
          <volume>8463305</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10].
          <string-name>
            <given-names>B.</given-names>
            <surname>Raghavaiah</surname>
          </string-name>
          and Omprakash.
          <source>Implementation of Hamming coding in Residue Number System</source>
          ,
          <source>2018 International Conference on Current Trends towards Converging Technologies (ICCTCT)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          , doi: 10.1109/ICCTCT.
          <year>2018</year>
          .
          <volume>8551122</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11].
          <string-name>
            <given-names>W. K.</given-names>
            <surname>Jenkins</surname>
          </string-name>
          .
          <article-title>Contributions of Graham Jullien and William Miller to Residue Number System Arithmetic Technology</article-title>
          .
          <source>2018 IEEE 61st International Midwest Symposium on Circuits and Systems (MWSCAS)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>157</fpage>
          -
          <lpage>160</lpage>
          , doi: 10.1109/MWSCAS.
          <year>2018</year>
          .
          <volume>8623919</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>