<!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 />
    <article-meta>
      <title-group>
        <article-title>Modular Matrix Multiplication for Cryptographic Conversions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sakhybay Tynymbayev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sergiy Gnatyuk</string-name>
          <email>s.gnatyuk@nau.edu.ua</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rat Berdibayev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kaiyrbek Makulov</string-name>
          <email>kaiyrbek.makulov@yu.edu.kz</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tetiana Okhrimenko</string-name>
          <email>t.okhrimenko@npp.nau.edu.ua</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Almaty University of Power Engineering and Telecommunication</institution>
          ,
          <addr-line>126/1 Baytursynuly str., Almaty, 050013</addr-line>
          ,
          <country country="KZ">Kazakhstan</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Aviation University</institution>
          ,
          <addr-line>1 Lybomyra Huzara ave., Kyiv, 03058</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Yessenov University</institution>
          ,
          <addr-line>micro district 32, 130000, Aktau</addr-line>
          ,
          <country country="KZ">Kazakhstan</country>
        </aff>
      </contrib-group>
      <fpage>57</fpage>
      <lpage>62</lpage>
      <abstract>
        <p>Today, three types of encryptors are most widely used for data encryption: hardware, software/hardware, and software. Their main difference is not only in the way encryption is implemented and the degree of data protection reliability but also in the price, which often becomes a determining factor for users. While the price of hardware encryptors is much higher than that of software encryptors, the price difference is not comparable to a significant increase in the quality of information security. Hardware encryption has several strong advantages over software encryption, one of which is faster performance. Hardware implementation guarantees the integrity of the encryption process. At the same time, the generation and storage of keys, as well as encryption, is carried out in the encryption board itself, and not in the computer's operating memory. In this regard, the development of high-performance hardware processor operating units for asymmetric encryption, despite their high cost, is an urgent scientific and applied task. This paper analyzes modern approaches to modular multiplication, highlighting their strengths and weaknesses. An algorithm for multiplication with stepwise formation of partial and intermediate remainders is investigated, which, in turn, does not require preliminary calculations, and all calculations do not exceed the range of the module's bit grid. As a result, a synchronous matrix multiplier containing n blocks of AND circuits, n - 1 FPRs, and a single FIR with an intermediate remainder register has been developed, which will be useful for cryptographic transformations in systems with increased requirements for performance and information security (for example, in critical information infrastructure).</p>
      </abstract>
      <kwd-group>
        <kwd>1 Multiplier</kwd>
        <kwd>information security</kwd>
        <kwd>hardware encryption</kwd>
        <kwd>public key cryptosystem</kwd>
        <kwd>cryptography</kwd>
        <kwd>cryptographic algorithm</kwd>
        <kwd>encryption</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The vast majority of modern cryptographic
systems perform transformations with integers.
Large integers (not necessarily primes) act as keys
to perform cryptographic transforxmations. To
achieve the desired level of security, depending on
the cryptosystem, integers range from several
hundred to several thousand bits. Over time, to
maintain the desired level of security, the size
should increase. To work with integers in binary
representation, the following arithmetic
operations are widely used: addition, subtraction,
left and right shifts, multiplication, squaring,
modular multiplication, and division.</p>
      <p>
        Specifically, in asymmetric cryptosystems, the
data encryption and decryption procedure are
carried out by raising the number a to a degree x
by modular Р (a x modP), which can be realized
by software, hardware, and software and hardware
means [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ].
      </p>
      <p>
        Hardware encryption has several significant
advantages over software encryption, one of
which (and probably the most significant) is faster
performance [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ]. The hardware implementation
guarantees the integrity of the encryption process.
In this case, the generation and storage of keys, as
well as encryption, is carried out directly in the
encryption board itself, and not in the computer’s
operating memory.
      </p>
      <p>Today,
operating</p>
      <p>the
units
development
of</p>
      <p>
        high-speed
of
hardware
processors
for
asymmetric encryption, despite their high cost, is
an urgent scientific and applied task [
        <xref ref-type="bibr" rid="ref5 ref6 ref7">5–7</xref>
        ].
      </p>
      <p>Given the above, the main goal of the paper is
the development of a modular matrix multiplier
for cryptographic transformations.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Analysis of Modular Multiplication</title>
    </sec>
    <sec id="sec-3">
      <title>Approaches</title>
      <p>
        The multiplication operation takes a leading
place among the operations in rings and number
fields, which form the basis for cryptographic
transformations with public keys. At the same time,
multiplication is a pretty time-consuming operation [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>Modular multiplication can be done in two ways.
In the first case, the operation is divided into two
stages. At the first stage, n-bit numbers A and B are
multiplied and form a 2n-bit number C. In the second
stage, the product C = A*B is reduced modulo P.</p>
      <p>To date, a lot of experience has been
accumulated in the development of high-speed integer
multipliers and tools for squaring.</p>
      <p>
        Among them are: Brown’s multiplier,
Wallace’s multiplier, Dadd’s multipliers, systolic and
vedic multipliers, and quadratus, where the
complexity of the calculation is O ( 2) bit operations.
However, these multipliers are very effective in
calculating “low-bit” numbers, which are widely
used in the construction of processing units of all
kinds of computers [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>Today, the following integer multiplication
methods are known and used in cryptography:
▪
▪
▪
▪
▪
▪</p>
      <sec id="sec-3-1">
        <title>Column multiplication.</title>
      </sec>
      <sec id="sec-3-2">
        <title>Karatsuba-Ofman.</title>
      </sec>
      <sec id="sec-3-3">
        <title>Toom-Cook.</title>
      </sec>
      <sec id="sec-3-4">
        <title>Schönhage-Strassen.</title>
      </sec>
      <sec id="sec-3-5">
        <title>Comba.</title>
        <p>Führer (development of the
Schönhage</p>
      </sec>
      <sec id="sec-3-6">
        <title>Straussen method).</title>
        <p>
          In cryptography, the Karatsuba method [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ],
which has a complexity of O( 2) steps (bit
operations), and the Toom-Cook algorithm [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] with a
complexity of O( log2 3) bit operations are widely
used to multiply multibit numbers, allowing to
calculation of the required product faster than
O( 2
        </p>
        <p>
          ) steps (bit operations). The
SchönhageStrassen algorithm [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] allows multiplying two
nbit numbers in O(nlogn, logn) bit operations.
        </p>
        <p>
          The modulo reduction operation performed in
the second step is to obtain the rest of the result of
dividing C = A*B by the modulo P. Paper [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]
analyzes various ways to reduce numbers by
modular. It is shown that the most effective means of
building is a modular drive device based on a
dividing device. This device includes a partial
remainder maker. High-performance matrix and
conveyor modulo conversion devices can be
easily implemented based on partial residue formers
        </p>
        <p>High-performance matrix and conveyor devices
for modular multiplication can be easily
implemented based on partial remainder formers [14–</p>
        <p>
          In the second method, modular multiplication is
performed by using an algorithm for dividing large
numbers. For example, the Barrett algorithm [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]
requires preliminary calculations of the constant
 = ⌊
        </p>
        <p>⌋
 2

where</p>
        <p>= 2 , k is word size in bits, m is the
number of words in the module N. The effectiveness
of the Barrett algorithm depends entirely on how
efficiently the preliminary calculations are
performed by the distribution of large numbers.</p>
        <p>
          Montgomery’s algorithm requires the
preliminary calculation of the constant  2(mod ), using
division with remainder [
          <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
          ].
        </p>
        <p>In the third method, the process of modular
multiplication is performed in a large number of
steps, where the number of steps is determined by
the bit depth of the multiplier.</p>
        <p>This paper describes the modular
multiplication of numbers, where multiplication begins with
the analysis of the lowest bits. In such a multiplier,
the following steps are performed at each step of
the multiplication:</p>
        <p>1. Partial remainder FPRi calculates the partial
remainder ri for which the previous partial
remainder ri – 1, shifted by one digit toward the
higher digit, by modulo P, i.e., ri=2ri–1modP.
When forming the first partial remainder ri, A is
taken as the previous partial remainder, i.e.,
ri = A1.</p>
        <p>2. The partial remainder ri is logically
multiplied by the i-bit of the multiplier B by the logic
circuit block Ii.</p>
        <p>3. The intermediate residual Ri is calculated by
adding up the partial remainder ri with the
previous intermediate remainder Ri–1 by module Р, that
is Ri = (ri + Ri–1) modP.</p>
        <p>After performing n multiplication steps, the
result is formed R – Rn–1=(rn–1 + Rn–2) modP.</p>
        <p>
          In work [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], the algorithm for multiplying
numbers by modulo is implemented according to
an asynchronous matrix system that consists of n
block schemes of I, n – 1 FPR, and n – 1 FIR
(intermediate residual shaper). The disadvantage
of this scheme is the complexity of its hardware
implementation. To eliminate this disadvantage,
this paper proposes a synchronous matrix
multiplier developed by the authors, which
contains n block schemes of І, n – 1 FPR, and a
single FIR with an intermediate remainder
register. The operation of the multiplier is
synchronized using a level divider.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3. Developed Modular Matrix</title>
    </sec>
    <sec id="sec-5">
      <title>Multiplier</title>
      <p>The functional scheme of a synchronous
multiplier with a matrix structure is shown in Fig. 1.
The multiplier consists of the n-bit multiplier
register RgB, the multiple registers RgA, and the
module register RgP, the synchronization block
SYNCHRO unit that generates level signals for
the block of schemes І0 ÷ Іn–1. At the entrance
SYNCHRO unit is supplied to the START signal,
clock signals CLOCK and a binary code to the
signal for the number of multiplier digits n.
Following the START signal, the RECEPTION
signal vibrates, after which the discharge of
multiplier B is received into the RgP register through
circuit block 3'.</p>
      <p>«"ПRрeиcеeмiv"ing»
«S"taПrуtс»к"</p>
      <p>Clock
n</p>
      <p>SYNCБHлR.СOИuНnХit</p>
      <p>The SYNCHRO unit consists of a binary
counter and a decoder. The state of the counter is
decoded on their outputs generating signal levels for
І0 ÷ Іn–1. With the START signal, the binary code
of the number n is also written to the binary
counter and permits the clock signal Clock to pass to
the counter input.</p>
      <p>The multiplier also includes partial remainder
generators FPR.1÷FPR.n–1 and circuits І0 ÷ Іn–1,
circuit OR1, and intermediate remainder generator
FIR with intermediate remainder register.</p>
      <p>The results output of multiplication І4' after
receiving the clock signal un–1 from the SYNCHRO
unit through the delay element EZ.</p>
      <p>The value of the modulus P̅ from the inverted
output RgP is delivered to the inputs of all
FPR.1 ÷ FPR.n–1 and FIR. On the RECEIVE
signal, the multiplier A is delivered to the inputs of
the I2' circuit block with a shift of one bit toward
the high bit to the FPR.1 input. The other inputs of
the I0 block receive the value of the lowest bit of
the RgB – b0 register and the control level u0 from
the SYNCHRO unit output.</p>
      <p>The output of I0 is connected to the FIR
register. The output FPR.1 is connected to the input of
the circuit block I1. The other inputs of the I1 are
connected to the outputs of the RgB and
SYNCHRO unit, through which the value of the bit b1
and the control level u1 are received. The output
of the I1 block is connected to the input of the OR1.</p>
      <p>The code value from the output of FPR.1 with
a shift of one bit toward the lowest bit is applied
to the input of FPR.2. In turn, the output of FPR.2.
is connected to the inputs of the I2 circuit block, to
the other inputs of which the value of the bit b2
from the RgB register and the control level u2
from SYNCHRO unit are supplied. The output of
the I2 block is connected to the input of the OR1
scheme. There are similar connections between
FPR.3 ÷ FPR.n–2 and blocks of schemes І3 ÷ Іn–2.</p>
      <p>The FPR.n–1 inputs receive the value of the
code from the FPR.n–2 output with a shift of one
bit toward the lowest bit and the code of the P
module from the RgP outputs. The output of
FPR.n–1 is connected to the input of the In–1 circuit
block, which also receives the value of the high
bit bn–1 of the RgB register and the control signal
un–1 from the SYNCHRO unit. The output of the
In–1 circuit block is connected to the OR1 input.
Fig. 2 shows the structure of the FPR, which is used
to form a partial remainder ri from the doubled
previous remainder by modulo P: ri = 2ri–1modP.
1
П
Зн
1
ri</p>
      <p>Add
2
MS
+1</p>
      <p>FPR consists of a binary adder Add and
multiplexer MS, which contains blocks of schemes І1, І2,
and scheme OR1.</p>
      <p>The doubled partial remainder 2ri–1, module
reverse code  ̅, and a single signal +1 is delivered
to the adder inputs. As a result of performing the
operation ri = 2ri–1 mod ̅ + 1, a difference with its
sign ZN is formed at the output of the adder.</p>
      <p>If ZN = 1, the following code 2ri–1 (2ri–1 ˂Р) is
transmitted to the FRP outputs. At the same time,
transferring from the digit sign Р = 0. If ZN = 0,
then the result of subtraction 2ri–1 – Р (2ri–1 ≥ Р) is
transferred to the FPR outputs.</p>
      <p>Fig. 3 shows the structure of the FIR
intermediate remainder generator, which includes the
Add adder, FPR, OR2 circuits, and the RgR
intermediate remainder register. The output of the RgR
register is connected to the Add input, where the
Ri–1 value is transferred. It is easy to see that the
circuit operates Ri = (ri + Ri–1) modP.</p>
      <p>Let’s consider the operation of a modular
matrix multiplier. After receiving the operands A, B,
and P into the corresponding registers and the
binary code, the number of bits multiplier in the
SYNCHRO unit is the first clock impulse Clock 1
arrives and code 1 is written to the binary counter.
At the same time, output 1 of the SYNCHRO unit
produces a high level u0, which is supplied to the
input of the circuit block I0.
ri
Add</p>
      <p>FPR</p>
      <p>2
RgR</p>
      <p>Ri
Figure 3: FIR structure</p>
    </sec>
    <sec id="sec-6">
      <title>5. Conclusions</title>
      <p>
        This paper analyzes modern approaches to
modular multiplication and highlights their
strengths and weaknesses. A multiplication
algorithm with step-by-step formation of partial
and intermediate remainders was studied, which,
in turn, does not require preliminary calculations,
and all calculations do not go beyond the range of
the bit grid of the module. As a result, a
synchronous matrix multiplier has been
developed that contains n blocks of circuits I,
n – 1 FPR, and a single FIR with an intermediate
remainder register. The obtained results will be
useful for cryptographic transformations in
systems with increased requirements [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] for
performance and information security (for
example, in critical information infrastructure).
      </p>
      <p>The other inputs of I0 are supplied with the
lowest bit of the multiplier b0 and the bits of the
multiplier A. With b0 = 1, a partial remainder
r0 = R0 is generated at the output of the I0 block,
which is written to RgR FIR. After that, the clock
signal Clock 2 is delivered to the SYNCHRO unit,
and the control level u2 is generated at the output
of the SYNCHRO unit, which is sent to the input
of I2. The other inputs of I2 are supplied with the
value of the bit b2 of the RgB register and the
value r2 from the output of FPR.2. The outputs of
the I2 circuit block are sent to the input of the OR1
scheme.</p>
      <p>Partial remainders r3 ÷ rn are formed in a
similar way, which also through schemes OR1 are
supplied to the entrance FIR. FIR, receiving
partial remainder ri, creates Ri according to the
formula Ri = (ri + Ri–1)modP.</p>
      <p>Table 1 shows an example of performing a
modular multiplication operation in a
synchronous matrix multiplier, where А = 2710;
B = 2310 = 101112; P = 3510. For convenience,
all arithmetic operations are performed in the
decimal system.</p>
      <p>Verification:</p>
      <p>R = (27×23) mod 35 = 621 mod 35 = 2610</p>
      <p>R1 =
= (r1b1 + R0)modP =
= (19+27)mod35 =
= 1110</p>
      <p>u2
r2 = 2r1modP =
= 38 – 35 = 310</p>
      <p>R2 =
= (r2b2 + R1)modP =
= (3 + 11)mod35 =
= 1410</p>
      <p>u3
r3 = 2r2modP =
= 6mod35 = 610</p>
      <p>R3 =
= (r3b3 + R2)modP =
= (6*0 + 14)mod35 =
= 1410</p>
      <p>u4
r4 = 2r3modP =
= 12mod35 = 1210</p>
      <p>R4 =
= (r4b4 + R3)modP =
= (12 + 14)mod35 =
= 2610</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Tynymbayev</surname>
          </string-name>
          , et al.,
          <source>Development of Pipelined Polynomial Multiplier Modulo Irreducible Polynomials for Cryptosystems, Eastern-European Journal of Enterprise Technologies</source>
          <volume>1</volume>
          (
          <issue>4</issue>
          -
          <fpage>115</fpage>
          ) (
          <year>2022</year>
          )
          <fpage>37</fpage>
          -
          <lpage>43</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E.</given-names>
            <surname>Aitkhozhaeva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tynymbaev</surname>
          </string-name>
          , Aspects of Hardware Modulo Conversion in Asymmetric Cryptography,
          <source>Bulletin of the National Academy of Sciences of Kazakhstan</source>
          <volume>5</volume>
          (
          <year>2014</year>
          )
          <fpage>88</fpage>
          -
          <lpage>93</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sadykov</surname>
          </string-name>
          , et al.,
          <article-title>Technology of Location Hiding by Spoofing the Mobile Operator IP Address</article-title>
          ,
          <source>in: IEEE International Conference on Information and Telecommun</source>
          . Technologies and Radio
          <string-name>
            <surname>Electronics</surname>
          </string-name>
          (
          <year>2021</year>
          )
          <fpage>22</fpage>
          -
          <lpage>25</lpage>
          . doi:
          <volume>10</volume>
          .1109/UkrMiCo52950.
          <year>2021</year>
          .9716700
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Carlsson</surname>
          </string-name>
          , et al.,
          <article-title>Sustainability Research of the Secure Wireless Communication System with Channel Reservation</article-title>
          ,
          <source>in: 2020 IEEE 15th International Conference on Advanced Trends in Radioelectronics, Telecommunications and Computer Engineering</source>
          (
          <year>2020</year>
          ). doi:
          <volume>10</volume>
          .1109/tcset49122.
          <year>2020</year>
          .235583
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>I.</given-names>
            <surname>Kuzminykh</surname>
          </string-name>
          , et al.,
          <article-title>Investigation of the IoT Device Lifetime with Secure Data Transmission, Internet of Things, Smart Spaces, and Next Generation Networks and Systems</article-title>
          , vol.
          <volume>11660</volume>
          (
          <year>2019</year>
          )
          <fpage>16</fpage>
          -
          <lpage>27</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -30859-
          <issue>9</issue>
          _
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Vladymyrenko</surname>
          </string-name>
          , et al.,
          <article-title>Analysis of Implementation Results of the Distributed Access Control System</article-title>
          . in: 2019 IEEE International Scientific-Practical Conference Problems of Infocommun.,
          <string-name>
            <surname>Sci</surname>
          </string-name>
          . and
          <string-name>
            <surname>Technology</surname>
          </string-name>
          (
          <year>2019</year>
          ). doi:
          <volume>10</volume>
          .1109/picst47496.
          <year>2019</year>
          .9061376
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>V.</given-names>
            <surname>Sokolov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Skladannyi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hulak</surname>
          </string-name>
          ,
          <article-title>Stability Verification of Self-Organized Wireless Networks with Block Encryption</article-title>
          ,
          <source>in: 5th International Workshop on Computer Modeling and Intelligent Systems</source>
          , vol.
          <volume>3137</volume>
          (
          <year>2022</year>
          )
          <fpage>227</fpage>
          -
          <lpage>237</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Okhrimenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kovtun</surname>
          </string-name>
          ,
          <article-title>Experimental Research of the Developed Methods of Arithmetic Operations in Cryptographic Transformations According to the ECDSA Scheme</article-title>
          ,
          <source>in Cyber Hygiene</source>
          <volume>2654</volume>
          (
          <year>2019</year>
          )
          <fpage>827</fpage>
          -
          <lpage>837</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P. G.</given-names>
            <surname>Comba</surname>
          </string-name>
          ,
          <source>Exponentiation Cryptosystems on the IBM PC, IBM Systems Journal</source>
          <volume>29</volume>
          (
          <issue>4</issue>
          ) (
          <year>1990</year>
          )
          <fpage>526</fpage>
          -
          <lpage>538</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Karatsuba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ofman</surname>
          </string-name>
          ,
          <article-title>Multiplication of Many-Digital Numbers by Automatic Computers</article-title>
          ,
          <source>DAN USSR 145</source>
          (
          <year>1962</year>
          )
          <fpage>293</fpage>
          -
          <lpage>314</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Cook</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Aanderaa</surname>
          </string-name>
          ,
          <source>On the Minimum Computation Time of Functions, Trans. AMS</source>
          <volume>142</volume>
          (
          <year>1969</year>
          )
          <fpage>291</fpage>
          -
          <lpage>314</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Schönhage</surname>
          </string-name>
          , W. Strassen, Fast Multiplication of Large Numbers,
          <source>Cybernetic Compendium</source>
          <volume>2</volume>
          (
          <year>1973</year>
          )
          <fpage>87</fpage>
          -
          <lpage>98</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>R.</given-names>
            <surname>Brumnik</surname>
          </string-name>
          , et al.,
          <article-title>Techniques for Performance Improvement of Integer Multiplication in Cryptographic Applications</article-title>
          , Mathematical Problems in Engineering (
          <year>2014</year>
          )
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>V.</given-names>
            <surname>Petrenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chipiga</surname>
          </string-name>
          , Combination Recurrent Residue Generator, Patent 2029435, MPK N03M7/18, no.
          <issue>5032302</issue>
          /24 (
          <year>1995</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>V.</given-names>
            <surname>Petrenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sidorchuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kuzminov</surname>
          </string-name>
          ,
          <article-title>Device for Forming Residues according to an Arbitrary Modulus</article-title>
          , Patent 2368942, MPK N03M7/18, no.
          <issue>02101066858</issue>
          /08, Bulletin. No.
          <volume>21</volume>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>S.</given-names>
            <surname>Tynymbayev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Aitkhozhayeva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Adilbekkyzy</surname>
          </string-name>
          ,
          <article-title>High-Speed Device for Modular Reduction</article-title>
          ,
          <source>Bulletin of National Academy of Sciences of the Republic of Kazakhstan</source>
          <volume>6</volume>
          (
          <issue>376</issue>
          ) (
          <year>2018</year>
          )
          <fpage>147</fpage>
          -
          <lpage>152</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Tynymbaev</surname>
          </string-name>
          , E. Aitkhozhaeva,
          <article-title>Residue Generator using an Arbitrary Modulus, Patent of the Republic of Kazakhstan</article-title>
          , no.
          <volume>30983</volume>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>S.</given-names>
            <surname>Tynymbaev</surname>
          </string-name>
          , et al.,
          <article-title>High-Speed Devices for Reducing Numbers Modulo, in 4th Int. Asian School Seminar “Problems of optimization of complex systems</article-title>
          ,
          <source>” part 2</source>
          (
          <year>2018</year>
          )
          <fpage>273</fpage>
          -
          <lpage>279</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>P.</given-names>
            <surname>Berrett</surname>
          </string-name>
          ,
          <article-title>Implementing the Rivest Shamir and Adleman Public Key Encryption Algorithm on a Standard Digital Signal Processor (</article-title>
          <year>1987</year>
          ). doi:
          <volume>10</volume>
          .1007/3-540-47721-7_
          <fpage>24</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>P. L.</given-names>
            <surname>Montgomery</surname>
          </string-name>
          ,
          <source>Modular Multiplication without Trial Division, Math. Compulation</source>
          <volume>44</volume>
          (
          <issue>170</issue>
          ) (
          <year>1985</year>
          )
          <fpage>519</fpage>
          -
          <lpage>521</lpage>
          . doi:
          <volume>10</volume>
          .20307/ 2007970.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>P.</given-names>
            <surname>Eran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. M.</given-names>
            <surname>Henige</surname>
          </string-name>
          ,
          <article-title>Method and Apparatus for Efficient Modulo Multiplication, Patent US no</article-title>
          .
          <issue>8Y17756B2</issue>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>B.</given-names>
            <surname>Kaliski</surname>
          </string-name>
          ,
          <article-title>Moore's Law</article-title>
          , in van Tilborg H.
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>A</article-title>
          .,
          <string-name>
            <surname>Jajodia</surname>
            <given-names>S</given-names>
          </string-name>
          . (eds)
          <article-title>Encyclopedia of Cryptography and Security (</article-title>
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>B.</given-names>
            <surname>Kuzma</surname>
          </string-name>
          , et al.,
          <article-title>Fast Matrix Multiplication viaCompiler-only Layered Data Reorganizationand Intrinsic Lowering</article-title>
          . doi:
          <volume>10</volume>
          .1002/ spe.3214
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>