<!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>Automation System for Configuration of Cryptographic Data Protection Unit Model</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Lviv Polytechnic National University</institution>
          ,
          <addr-line>St. Bandera Str. 12, Lviv, 79013</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1833</year>
      </pub-date>
      <fpage>0000</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>Elliptic curves are mathematical basis for digital signature processing. In this case, the processing of the elliptic curve points is based on the operations in the Galois fields GF(pm). Comparison of multipliers' hardware costs for Galois fields with different characteristics p is carried out in the work. The multipliers are intended for use as part of the cryptographic data protection system that is implemented on the FPGA. VHDL-descriptions of multipliers (cores) were created with the help of the developed core generator. It was found that hardware multipliers that process elements of the fields with characteristics 2, 3 and 7 ) and with approximately equal order and the representation of these elements in a polynomial basis have a lower hardware complexity than multipliers for Galois fields with other characteristics. Software complexity of multipliers for Galois fields GF(pm) with approximately equal order and the representation of these elements in a polynomial basis is also investigated. It was found that software multipliers that process elements of fields with characteristics 3, 5 and 7 have a higher time complexity (software complexity) than multipliers for Galois fields with other characteristics.</p>
      </abstract>
      <kwd-group>
        <kwd>Galois field GF(dm)</kwd>
        <kwd>multiplier</kwd>
        <kwd>modified Guild cell</kwd>
        <kwd>LUT</kwd>
        <kwd>core generator</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In the implementation of algorithms for performing arithmetic operations in finite
fields [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] or Galois fields GF(pm) a large number of arithmetic and logical operations
must be performed. The implementation of complex computational algorithms at the
level of logic elements is a common practice [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>Currently, in the practice of cryptographic data protection, logical fields GF(2m)
and simple fields GF(p) are used. Fields with the characteristic p &gt; 2 - GF(pm) are not
used extensively. In this paper, hardware and software complexity of multipliers for
Galois field elements GF(pm) with different field characteristics p but with
approximately the same order is compared.</p>
      <p>In carrying out this work, on the basis of multiplier model proposed in [1 and 5] its
implementation was carried out and the results of the hardware complexity estimation
(previously obtained theoretically) was obtained It was shown that the hardware
complexity will be the smallest for the fields with the characteristic 2.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ] a theoretical comparison of the hardware complexity of the multipliers of
Galois fields GF(pm) with different characteristics p was made. It was seen that
multipliers for fields with characteristic 3 and 7 implemented on modern FPGAs that
have logical blocks with 6 inputs and 1 output have the least hardware complexity. In
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] comparisons of Galois multipliers based on Modified Guild Cells (MGC) were
considered. The MGC was considered to be an black box (read only memory, ROM)
or a set of multiplier and adder [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] estimation of hardware costs of Galois field
multipliers in case when the MGC is consist of logical elements was made. The
Galois field multiplier time complexity was also performed, advantage of Galois
fields with field characteristics greater than 2 was shown and a comparison of the
structural complexity [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] of the Galois fields GF(pm) multipliers for different field
characteristic p was made.
      </p>
      <p>
        The most common methods of hacking computer systems are software brute force
method, that is, a simple override of keys that can be implemented on supercomputers
or quantum computers. Well known hacking methods were taken into account in
determining the vulnerability of cryptographic data protection systems that use Galois
fields with different field characteristics to hacking. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] a comparison of software
implementations of the Galois multipliers was made. Software realizations of the
multiplier for Galois field elements GF(2m) are well known.
      </p>
      <p>
        A multiplier core generator was developed to generate a multiplier for Galois fields
with different characteristics and field orders. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] describes methods for constructing
of core generators.
      </p>
      <p>The purpose of this work is to compare FPGA hardware and software costs of
multipliers for Galois field with different characteristics, but approximately the same
order. The codes of Galois fields elements are represented in a polynomial basis.
2</p>
      <p>Hardware Implementation of Cryptographic Protection Units
in FPGA
To estimate the hardware costs of multipliers for various Galois fields, an automated
system (core generator) for configuration of data protection unit models was
developed.</p>
      <p>
        The purpose of the system is to form a VHDL-description of a necessary unit with
necessary characteristics. To accomplish this task, the generator uses the base
configurable unit model in the form of its VHDL-description (template) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>The generator determines which parts of the base model will be needed for a
selected unit and performs adjustment of corresponding parameters of each selected
element of the base model. A word processor was developed for VHDL-code
generation from the base model of the configured unit.</p>
      <p>Configuration options include the type of unit, field characteristic p, and field
order m.</p>
      <p></p>
      <p>The list of cells that can be generated includes modified Guild cells for the field
with characteristic p, carry generation cells F, as well as the actual multiplier.</p>
      <p>The word processor generates VHDL-description in accordance with the template,
taking into account the parameters of the unit. The VHDL-generator of the Galois
field multipliers implements 2 variants of the multipliers: in the first variant the MGC
is treated as an integer component (black box, read only memory, ROM) and in the
second variant the MGC consists of a multiplier and an adder.</p>
      <p>The generator of VHDL-descriptions of multipliers consists of the following parts
(Fig. 1):




module for inverter F creation;
module for multiplier MUL and adder SUM creation;
module for element MGC creation;
module for creating and filling the matrix with F elements and the links
between them;
module for creating and filling the matrix with MGC elements and the links
between them.</p>
    </sec>
    <sec id="sec-2">
      <title>Creation boolean functions for element F</title>
    </sec>
    <sec id="sec-3">
      <title>Minimization of this functions</title>
    </sec>
    <sec id="sec-4">
      <title>Creation of element F</title>
    </sec>
    <sec id="sec-5">
      <title>Creation matrix of elements F</title>
    </sec>
    <sec id="sec-6">
      <title>Creation boolean functions for element SUM</title>
    </sec>
    <sec id="sec-7">
      <title>Minimization of this functions</title>
    </sec>
    <sec id="sec-8">
      <title>Creation of element SUM</title>
    </sec>
    <sec id="sec-9">
      <title>Creation matrix of elements MGC</title>
    </sec>
    <sec id="sec-10">
      <title>Filling matrix of elements and connections</title>
    </sec>
    <sec id="sec-11">
      <title>Creation boolean functions for element MUL</title>
    </sec>
    <sec id="sec-12">
      <title>Minimization of this functions</title>
    </sec>
    <sec id="sec-13">
      <title>Creation of element MUL</title>
    </sec>
    <sec id="sec-14">
      <title>Creation boolean functions for element MGC</title>
    </sec>
    <sec id="sec-15">
      <title>Minimization of this functions</title>
    </sec>
    <sec id="sec-16">
      <title>Creation of element MGC</title>
      <p>The program modules which are responsible for creating the F and MGC elements for
both cases use the common part of the program to minimize logical functions.</p>
      <p>Intermediate results of the VHDL-descriptions generator are stored in files. This
allows the user to see what changes occur with the function at each stage.</p>
      <p>In Fig. 2 the internal structure of the MGC is presented in case of its
implementation a) as a "black box" and b) as modular multiplier and adder, on the
example of the multiplier for Galois Field GF(34).</p>
      <p>In Fig. 3 the internal structure of generated multiplier for Galois Field GF(34) is
presented. The inverter F performs operation B=(-A)modp.
m
Fig. 2. Implementation of MGC for Galois fields GF(3 ): a) as "black box" (BB); b) as
“Multiplier plus Adder” (MA).</p>
      <p>U1</p>
      <p>MGC_3
l(1:0) B(7:6) A(1:0) l(1:0) B(5:4) A(1:0) l(1:0) B(3:2) A(1:0) l(1:0) B(1:0) A(1:0)
C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)
S(1:0)</p>
      <p>S(1:0)</p>
      <p>S(1:0)</p>
      <p>S(1:0)
A(7:0)
B(7:0)
P(7:0)
l(1:0)</p>
      <p>R(7:0)
l(1:0) B(7:6) A(5:4)</p>
      <p>B(5:4) A(5:4)</p>
      <p>B(3:2) A(5:4)</p>
      <p>B(1:0) A(5:4)
C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)
l(1:0) B(7:6) A(3:2)</p>
      <p>B(5:4) A(3:2)</p>
      <p>B(3:2) A(3:2)</p>
      <p>B(1:0) A(3:2)
C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)
S(1:0)</p>
      <p>S(1:0)</p>
      <p>S(1:0)</p>
      <p>S(1:0)
l(1:0) B(7:6) A(7:6)</p>
      <p>B(5:4) A(7:6)</p>
      <p>B(3:2) A(7:6)</p>
      <p>B(1:0) A(7:6)
C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)
S(1:0)</p>
      <p>U16</p>
      <p>MGC_3
:(01A f :(01B
) U29 )</p>
      <p>S(1:0)</p>
      <p>S(1:0)
P(7:6)</p>
      <p>P(5:4)</p>
      <p>P(3:2)</p>
      <p>P(1:0)
S(1:0)
S(1:0)</p>
      <p>U12
MGC_3</p>
      <p>U15
MGC_3</p>
      <p>U17</p>
      <p>MGC_3
:(10A f :(10B
) U30 )
C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)
S(1:0)</p>
      <p>S(1:0)</p>
      <p>S(1:0)</p>
      <p>S(1:0)</p>
      <p>U2
MGC_3</p>
      <p>U5
MGC_3</p>
      <p>U24
MGC_3</p>
      <p>U27</p>
      <p>MGC_3
4
Fig. 3. Diagram of Galois Field GF(3 ) multiplier MUL (U1 – U16 – multiplier, U17 – U31
modulo convolution unit, divider)
S(1:0)
S(1:0)</p>
      <p>U8
MGC_3</p>
      <p>U11
MGC_3</p>
      <p>U14
MGC_3</p>
      <p>U18
MGC_3</p>
      <p>U21</p>
      <p>MGC_3
:(1A f :(01B
)0 U31 )
C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)
S(1:0)</p>
      <p>S(1:0)</p>
      <p>S(1:0)</p>
      <p>S(1:0)</p>
      <p>U10
MGC_3</p>
      <p>S(1:0)</p>
      <p>U4
MGC_3</p>
      <p>U7
MGC_3</p>
      <p>U13
MGC_3</p>
      <p>U19
MGC_3</p>
      <p>U22
MGC_3</p>
      <p>U3
MGC_3</p>
      <p>U6
MGC_3</p>
      <p>U9
MGC_3</p>
      <p>U20
MGC_3</p>
      <p>U23</p>
      <p>MGC_3
P(7:6)</p>
      <p>P(5:4)</p>
      <p>P(3:2)</p>
      <p>P(1:0)
P(7:6)</p>
      <p>P(5:4)</p>
      <p>P(3:2)</p>
      <p>P(1:0)
C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>C(1:0) B(1:0) A(1:0)</p>
      <p>U25</p>
      <p>MGC_3
S(1:0)</p>
      <p>S(1:0)</p>
      <p>U26</p>
      <p>MGC_3
R(7:6)</p>
      <p>R(5:4)</p>
      <p>S(1:0)
R(3:2)</p>
      <p>S(1:0)
R(1:0)</p>
      <p>U28
MGC_3</p>
      <p>In the first case, two logical functions S(1) and S(0) which depend on 6 variables
(C(1:0), B(1:0), A(1:0)) are formed. The function S(1:0) forms the result of
S = (A * B + C)mod3. In the second variant there are 4 logical functions, each of
which depends on 4 variables, two of which form the result of multiplication
F = A * Bmod3, and two others - result of adding S = (F + C) mod3.</p>
      <p>The projects in this work were created and simulated in the Active-HDL 9.1
environment. The implementation was performed in the Xilinx ISE environment for</p>
      <sec id="sec-16-1">
        <title>Spartan 6 FPGA.</title>
        <p>The value of hardware costs and time delays for the implementation of the
multipliers for GF(215), GF(39), GF(56), GF(75), GF(134) fields, which all have
schemes similar to Fig. 3, are shown in Fig. 4 and Table 1.</p>
        <p>With the graphics of Fig. 4, it can be seen that multiplier for GF(215) has the
smallest hardware cost. Multipliers for field GF(215) has also the smallest time delays.
It should also be noted that the multipliers for GF(39), GF(75) have hardware and
performance rates, which are somewhat higher than logical fields multipliers.</p>
        <p>Software Implementation of Cryptographic Data Protection
Units</p>
        <p>Software Complexity.</p>
        <p>The hacking of cryptographic cipher on the basis of elliptic curves is mostly realized
by the method of "brute force". To assess the stability of the cipher to breakdown, it is
necessary to analyze the software complexity of arithmetic operations in the Galois
fields. The most complicated arithmetic operation in the Galois fields GF(pm) is
multiplication. For analysis, it was assumed that the multiplication operation is
performed on a matrix multiplier. Matrix multiplier consists of modified Guild cells.
The modified Guild cell can be considered either as a holistic element or as a set of
multipliers and adder both by the modulus of the characteristic p of the field. The
software complexity of multipliers in different Galois fields will be determined by the
number of logical operations that must be performed to calculate 1 bit of the result.</p>
        <p>Field MGS MGC Number Number of Number of Number max
as number of GF LUTs in slices in of inputs delay,
elements, multipliers multipliers and ns</p>
        <p>% outputs
GF(215) BB 435 101,3% 218 82 61 22
GF(215) MA 435 101,3% 205 86 61 26
GF(39) BB 153 96,5% 312 138 74 31
GF(39) MA 153 96,5% 298 106 74 47
GF(56) BB 66 89,6% 1946 600 75 49
GF(56) MA 66 89,6% 439 171 75 42
GF(75) BB 45 95,4% 2534 963 63 37
GF(75) MA 45 95,4% 258 103 63 31
GF(134) BB 28 100% 7395 3031 68 42
GF(134) MA 28 100% 2949 1018 68 86
The Table 1 shows that the smallest hardware costs of the multiplier will be in the
GF(215) field. Fields with characteristic 3 and 7 have higher hardware costs,
respectively, of 45.36 and 25.85% for MGC as a multiplier and adder</p>
        <p>Table 2 shows the number of logical operations that need to be performed to
simulate one modified Guild cell for fields with different characteristics. For analysis,
fields with approximately the same number of elements are taken. The values given in
Table 2 are based on the results of the synthesis of the corresponding MGS created by
the core generator of cryptographic data protection units.</p>
        <p>To estimate the number of operations that need to be performed when modeling a
MGC, its model is used in the form of a multiplier plus adder (consists of two ROMs,
Fig. 2, b – the first mode of estimation). An option when the MGC is holistic element
is not considered, since its software implementation needs in general more operations,
as can be seen from Table 2.</p>
        <p>Each of MGC’s two elements can be imagined as a ROM, so the hardware
complexity OMCG(p) of the MGC is the volume of this two ROMs:
OMCG(p) = 2V(p)=2*2ni*no, where ni  2log 2 p is ROM input bits number and
no  log 2p is ROM output bits number.</p>
        <p>2log p 2log 2p1
Then O ( p )  2 * 2  2  log p  2  log p.</p>
        <p>MCG 2 2</p>
        <p>The number NMGC of MGC in the Galois fields GF(pm) multiplier is
NMGC(m) = m(2m-1). The full hardware complexity of the multiplier of the Galois
field GF(pm) elements can be calculated as
2log 2p1
OMUL ( m, p )  OMCG ( p )N MGC ( m ) 2  log 2pm(2m - 1) .
value shows total number of bits which have to be calculated during multiplication.</p>
        <p>Table 3 shows the hardware complexity of GF(pm) multipliers.</p>
      </sec>
      <sec id="sec-16-2">
        <title>This</title>
        <p>
          OSW ( m, p )  NC  NV , where NC is number of processor cores;
NV is the number of vectors that the processor core can handle [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. This value shows
how many Galois Field elements each core can handle at a time. The element code
length must be equal or less then vector length VL  log 2p and NC  NV  m .
        </p>
        <p>
          The number of vectors NV and their length VL in modern processors are given in
Table 4 [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Results of software complexity estimation are shown in Table 3. This
mode of software complexity estimation gives incorrect results especially in case of
        </p>
      </sec>
      <sec id="sec-16-3">
        <title>Galois fields with big characteristics (Fig. 5).</title>
        <p>NC</p>
        <p>NV
8
4
3
3
2
16
16
16
16
16</p>
        <p>Software
complexity
1244
325
29240
19320
91584</p>
        <p>The software complexity of multiplication can also be estimated on the basis of
arithmetic operations that can be performed in each MGC (the second mode of
estimation). In one MGC, you must perform a multiplication, division, addition and
re-division operation. This method can be implemented by the MGC for the Galois
field. Each MGC will perform 4 arithmetic operations, which have their weight - the
ratio of its execution time to execution time of logical operation. Take the weight of
multiplication and division operation as 8, the weight of addition as 4. Thus, for the
simulation of the work of the MGC, it is necessary to perform 4 arithmetic operations,
which are equivalent to 28 logical operations. Estimation results are in Table 5 and in
Fig. 6.
3.4</p>
        <p>The Third Method of Software Complexity Estimation.</p>
        <p>An estimation of software complexity of the multiplier on the basis of logical
operations used for multiplication, division, addition is described below (the third
estimation method). To estimate the complexity of the multiplier it is necessary to
calculate the complexity of the MGC. It performs Nbpm= log 2p bit-parallel
multiplication operations, Nbprm= log 2p bit-parallel operations of reduction in
modulus after multiplication (long division), Na=1 serial addition operation and
Nbpra=1 bit-parallel operations of reduction in modulus after addition (short
division). If we take that bit-parallel and serial operation have the same execution
time then the complexity of the MGC can be estimated as total quantity Nbps of such
operations Nbps = Nbpm + Nbprm + Na + Nbpra =
= 2log 2 p  2  2( log 2 p  1 ) . The scheme of the multiplier and divider is
shown in Fig. 3. In general, for the implementation of the MGC, it is necessary to
perform Nlo = 4  2( log 2 p  1 )  8( log 2 p  1 ) logical operations, since we
take that each multiplier and divider performs approximately 4 logical operations, for
the implementation of a field with a characteristic of no more than W (where W is
width of processor data bus), and NLO  8( log 2p  1 )log 2p / W  for a
field with any other characteristic. MGC number is NMGC=m(2m-1). The formula
for estimating the number of logical operations that is used to multiply 2 elements of a
field: NLOM  8( log 2p  1 )log 2pm( 2m  1 ) / W  . Estimation results are
in Table 6 and in Fig. 6.
The obtained results show that the modeling of the multiplier of the Galois field
elements is better by the method of logical operations.</p>
        <p>The software complexity of multiplier for a field with a small characteristics is the
largest. That is, it will be harder to crack them.</p>
        <p>At the same time, the analysis of hardware implementation of multipliers shows
that the hardware complexity of multipliers for fields with characteristics 2, 3 and 7 is
the smallest.</p>
        <p>Thus, the use of hardware multipliers in Galois fields with characteristics 2, 3, and
7 provides the best hardware parameters and complicates the task of modeling their
work by hackers.</p>
        <p>Conclusion
An automated system for configuring VHDL-descriptions of cryptographic data
protection units has been developed. With its help, a family of multipliers of the
Galois field elements was generated for the Galois fields with field characteristics 2,
3, 5 7, 13 and a hardware cost analysis for their implementation on the FPGA of was
performed. An analysis of the results of multiplier implementation has shown that the
least hardware costs will be in multipliers of the Galois fields with the field
characteristic 2. It is also shown that extended fields with approximately the same
number of elements and small characteristics have low hardware and high software
complexity.
6</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>I.</given-names>
            <surname>Zholubak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Hlukhov</surname>
          </string-name>
          .
          <article-title>Determination of the extended Galois field GF(dm) with the smallest hardware complexity of the multiplier // Bulletin of the National Polytechnic University “Information systems</article-title>
          and network” ”. -
          <string-name>
            <surname>Lviv</surname>
          </string-name>
          :
          <article-title>-</article-title>
          <year>2016</year>
          . -
          <fpage>№</fpage>
          835. - P.
          <fpage>50</fpage>
          -
          <lpage>58</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>I.</given-names>
            <surname>Zholubak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Hlukhov</surname>
          </string-name>
          .
          <article-title>Hardware costs of Galois multipliers GF(dm) with a large characteristic // Bulletin of the National Polytechnic University “Computer sciences</article-title>
          and information technology” ”. -
          <string-name>
            <surname>Lviv</surname>
          </string-name>
          :
          <article-title>-</article-title>
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Cherkasky</surname>
            <given-names>М.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tkachuk</surname>
            <given-names>Т</given-names>
          </string-name>
          . І.
          <article-title>Characteristics of the complexity of multiplication devices // Radioelectronic and computer systems</article-title>
          . - 2012. -
          <fpage>№</fpage>
          5. P.
          <volume>142</volume>
          -
          <fpage>147</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Melnik</surname>
            <given-names>А.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Melnik</surname>
            <given-names>V</given-names>
          </string-name>
          .
          <article-title>Personal supercomputers</article-title>
          .
          <source>Monograph. Lviv: Lviv Polytechnic Publishing House</source>
          ,
          <year>2013</year>
          . 516 p.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>I.</given-names>
            <surname>Zholubak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Hlukhov</surname>
          </string-name>
          .
          <article-title>Implementation of high-order Galois multipliers in FPGA // Bulletin of the National Polytechnic University “Computer systems</article-title>
          and network”.
          <article-title>-</article-title>
          <string-name>
            <surname>Lviv</surname>
          </string-name>
          :
          <article-title>-</article-title>
          <year>2017</year>
          . -
          <fpage>№</fpage>
          881. - З.
          <fpage>41</fpage>
          -
          <lpage>47</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Palagin</surname>
            <given-names>A.</given-names>
          </string-name>
          <article-title>The structure of FPGA-based cyclic-code converters / Alexander Palagin</article-title>
          , Vladimir Opanasenko, Sergey Krivoi // Optical Memory &amp;
          <source>Neural Networks (Information Optics)</source>
          .
          <source>Springer. - 2013</source>
          , Vol.
          <volume>22</volume>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <year>4</year>
          . - PP.
          <fpage>207</fpage>
          -
          <lpage>216</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Pawliczek</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dzwinel</surname>
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yuen</surname>
            <given-names>D.A.</given-names>
          </string-name>
          (
          <year>2015</year>
          )
          <article-title>Visual Exploration of Data with Multithread MIC Computer Architectures</article-title>
          . In: Rutkowski L.,
          <string-name>
            <surname>Korytkowski</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scherer</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tadeusiewicz</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zadeh</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zurada</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <source>(eds) Artificial Intelligence and Soft Computing. ICAISC 2015. Lecture Notes in Computer Science</source>
          , vol
          <volume>9120</volume>
          . Springer, Cham
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Blair-Chappell</surname>
          </string-name>
          .
          <article-title>The significance of SIMD, SSE and AVX</article-title>
          . Software and Services Group. Copyright ©
          <year>2010</year>
          . Intel Corporation.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Vassyl</given-names>
            <surname>Dimitrov</surname>
          </string-name>
          , Kimmo Järvinen,
          <article-title>"Another Look at Inversions over Binary Fields" in Computer Arithmetic</article-title>
          (ARITH),
          <year>2013</year>
          21st
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Symposium</surname>
          </string-name>
          , Austin, TX, USA,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>