<!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>GPU Implementation of Quantum Secure ABC Cryptosystem on Cuda</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sedat Akleylek</string-name>
          <email>sedat.akleylek@bil.omu.edu.tr</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ramazan Koyutürk</string-name>
          <email>ramazankoyuturk@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hakan Kutucu</string-name>
          <email>hakankutucu@karabuk.edu.tr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ege University, Department of Mathematics</institution>
          ,
          <addr-line>Izmir</addr-line>
          ,
          <country country="TR">Turkey</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Karabuk University, Department of Computer Engineering</institution>
          ,
          <addr-line>Karabuk</addr-line>
          ,
          <country country="TR">Turkey</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Ondokuz Mayıs University, Department of Computer Engineering</institution>
          ,
          <addr-line>Samsun</addr-line>
          ,
          <country country="TR">Turkey</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we consider the ABC cryptosystem based on multivariate polynomial systems which is one of the post-quantum cryptosystems. We review the theoretical structure of the ABC cryptosystem and implement it on the GPU by using the NVIDIA CUDA technology. We carry out the GPU and CPU implementation details of the ABC cryptosystem on three computers with different graphics cards. We also give a comprehensive comparison between the implementations. We compute the required number of arithmetic operations for each process: key generation, encryption and decryption. According to the experimental results, the GPU implementations have better memory performance than the CPU implementations. Moreover, the encryption process is faster in the GPU implementation. Due to the structure of ABC cryptosystem, the decryption process is slower in the GPU implementation.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Post-quantum cryptography</kwd>
        <kwd>Multivariate polynomials</kwd>
        <kwd>GPU</kwd>
        <kwd>CUDA</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Public-key encryption systems developed in the late 1970s are becoming a crucial component of
communication networks. Especially with the spread of the internet, public key systems have become
common with the key exchange in SSL (Secure Sockets Layer). Systems developed for the secure
transmission and storage of information have enabled further study and development on public key
encryption. However, it is thought that the classical public key encryption systems will lose their
reliability when quantum computers working with very small cubits are developed and spread out. For
this reason, it is essential to develop public key encryption systems that are resistant to quantum
attacks. Besides, the reliability of the developed systems against quantum attacks should be tested.</p>
      <p>
        At present, the internet and the other communication systems are mainly based on the Digital
Signature Algorithm (DSA), the Elliptic Curve DSA or the Diffie-Hellman key exchange using
related algorithms, RSA encryption and digital signatures [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. These cryptosystems guarantee their
reliability due to the difficulty of several theoretical problems such as integer factorization, discrete
logarithm, elliptic curves, etc. However, Peter Shor showed in 1994 that each of these problems could
be solved with quantum computers in polynomial time [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. For this reason, almost all the encryption
methods we use will become insecure. Multivariate public key cryptography systems are supposed to
be resistant to quantum computer attacks since they rely on a multivariate polynomials over finite
fields that is an NP-hard problem [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ].
      </p>
    </sec>
    <sec id="sec-2">
      <title>Literature Survey</title>
      <p>
        When quantum computers of the required size are available, RSA [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Diffie-Hellman, DSA and
ECC (Elliptic Curve Cryptography), which are currently the most widely used public key encryption
algorithms, will become insecure. The reason for this security problem is the fact that Shor [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
algorithm, which solves the factorization and the discrete logarithm problems in polynomial time on
quantum computers, can be run quickly. Therefore, alternative methods to classical encryption
methods based on mathematical problems against quantum computer attacks are required. There are
currently five main classes that are believed to be resistant to quantum attacks: multivariate
polynomial systems, lattice, abstract, code and isogeny based cryptography. In this study, the ABC
cryptosystem using multivariate polynomial systems will be considered and the details about the GPU
implementation developed using the NVIDIA CUDA technology will be given.
      </p>
      <sec id="sec-2-1">
        <title>The cryptosystems based on multivariate polynomials are becoming very fast due to the infrastructure they use, but multivariate polynomial systems generally require more memory due to the key size. This is advantageous for low-cost devices such as smart cards and RFID [5] chips.</title>
        <p>
          Although there are many practical multivariate signature schemes [
          <xref ref-type="bibr" rid="ref6 ref7 ref8">6,7,8</xref>
          ], the number of secure and
efficient multivariate encryption schemes is low.
        </p>
        <p>
          Multivariate polynomial systems based cryptosystems are very attractive in the post-quantum
world. GeMSS, LUOV, Rainbow, MQDSS and their derivations have been proposed [
          <xref ref-type="bibr" rid="ref10 ref11 ref8 ref9">8,9,10,11</xref>
          ].
ABC is an encryption method defined for the post-quantum
world. Recently, a new simple and
efficient multivariate public key encryption scheme based on matrix multiplication called "simple
matrix scheme" was proposed. Then, ABC derivatives whose cubic polynomials are at least randomly
quadratic were given. They showed that they broke it using algebraic attacks that were as difficult as
solving an equation. A generalization of the ABC scheme using a non-square matrix instead of a
square matrix was defined. A new ABC version that uses tensor multiplication of matrices to
eliminate decoding errors was proposed. Optimized implementation of ABC by leveraging the
features of the modern x64 CPU to increase productivity was provided [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
1.2.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Motivation and Contribution</title>
      <p>The security of the information obtained as a result of certain labor and the applications we use in
our social and professional lives is vitally important. There are several encryption algorithms for the
computers and for quantum computers that are currently prototypes. The ABC encryption algorithm
based on multivariate polynomials is one of these algorithms. In this study, an implementation of the
ABC encryption system which works on CPU and GPU has been developed to provide necessary
security after quantum computers are available. We also give a comprehensive comparison between
the implementations.</p>
      <p>The organization of the paper as follows: In Section 2, we recall basic parts of the ABC
cryptosystem. In Section 3, we give implementation details as well as a comprehensive comparison.</p>
      <sec id="sec-3-1">
        <title>We conclude the paper in Section 4.</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>2. ABC Cryptosystem</title>
      <p>(1) − ( ) and  variables as follows:</p>
      <p>
        In this section, the details of ABC cryptosystem is given. ABC is one of the quantum attack
resistant cryptosystems. In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], an efficient implementation of ABC cryptosystem was provided.
      </p>
      <p>The security of ABC cryptosystem depends on the hardness of the solution of multivariate
polynomial systems. In a multivariate quadratic (MQ) polynomial system, there are 
equations</p>
      <p>.
multivariate quadratic polynomial system is needed such as  :  
structure of public key, linear transformations are used such as  1:  
→   . Then, to hide the linear
→   and  2:  
→   .
cryptosystem has three phases: key generation, encryption and decryption.</p>
      <p>Then, the public key is formed as  ´ =  2</p>
      <p>1. The private key set includes  1,  and  2. ABC
Key Generation : Let F be a finite field with q elements. Let  ∈  ,  =  2 and  = 2 . Then
 =
 1
⋮
 ( −1)( +1)
⋯  
⋱
⋯  
⋮ ,  =
 1
⋮
⋯  
⋱</p>
      <p>⋮ ,  =
 ( −1)( +1)
⋯  
 1
⋮
 ( −1)( +1)
⋯  
⋱</p>
      <p>⋮
⋯  
linear transformations.</p>
      <p>[ 1, … ,   ] is obtained by using ( 1, … ,   ) monomials. Then, by the linear combinations of
Two invertible linear maps  2:  
→</p>
      <p>and  1:  
( 1, … ,   ), ( 1, … ,   ) and ( 1, … ,   ) are computed.  1 = 
and  2 =</p>
      <p>are calculated.
→   are randomly chosen. Then, the public
key is the composition  ´ =  2   1:   →   . The private key includes B, C matrices and  1,  2
Encryption: Let  ∈   be a message (plaintext). Then, the ciphertext is computed as follows:  =
 ´ ( ) and  ∈   .</p>
      <p>Then, the message  ∈   is obtained. The detailed decryption process is as follows:
Decryption: After receiving the ciphertext, 
=  −21( ), 
=  −1( ) and 
=  −11( ) are performed.
1)
 1 =
 =  −21( ) is computed. Then,  ∈   is used to form  ´1 and  ´2 matrices.</p>
      <p>1
⋮
⋯  
⋱
⋮ ,  2 =
  +1</p>
      <p>⋮
 ( −1)( +1) ⋯  
  +( −1)( +1) ⋯
⋯   +
⋱
⋮
 
2)
3)
 = ( 1, … ,   ) is found such that  ( ) =  .</p>
      <p>=  −11( 1, … ,   ) is computed.</p>
      <p>The decryption failure probability in Step 2 is 1/q. This means that there might be more than one
solution of  (1), … ,  ( ). Therefore, each possible solution should be checked. In order to implement
ABC cryptosystem, finite field arithmetic (polynomial addition, multiplication inversion), matrix
multiplication, matrix inversion, matrix transpoze, and Gaussian elimination algorithms are needed.</p>
    </sec>
    <sec id="sec-5">
      <title>3. Implementations of the ABC Algorithm</title>
      <p>This section details the implementations of the ABC cryptosystem running on CPU and GPU
separately. The ABC system operates in three main stages that are “key generation”, “encryption” and
“decryption”. The parameters in the implementations on the CPU and GPU are given in Table 1. The
implementations were carried out on three different platforms with the different operating systems;
Windows 8 x64 and Windows 10 x64. The experiments were conducted on NVIDIA GeForce GT
740M, NVIDIA GeForce GT 840M and NVIDIA GeForce GTX 1050Ti graphics cards. One of the
processes in which performance improvement is required is the addition in GF(28).</p>
      <p>In the implementation on the CPU, after the predefined variables and the variables in the Main()
function are defined, the implementation is executed by calling the functions written for key
generation, encryption and decryption in the given order. The number of calls of the operations
mentioned in Section 2 by three functions (key generation, encryption, decryption) is given in Table 2
for the CPU and GPU implementation.</p>
    </sec>
    <sec id="sec-6">
      <title>GPU Implementation</title>
      <p>Addition, subtraction and multiplication in the finite field GF(28) can be implemented on the
Graphics Processing Unit (GPU) to provide performance improvement for the ABC cryptosystem.</p>
      <p>The main task of a GPU is to display the images on the screen that are created on the computer.
The first GPUs only performed this task. Over time, the Central Processing Unit (CPU) was
inadequate for major computational problems, and the idea of parallel computing using the GPU is
revealed. A GPGPU model has been created to provide that GPUs have a programmable interface and
can be programmed in high- level languages.</p>
      <p>Compute Unified Device Architecture (CUDA) is a parallel computing architecture introduced by
NVIDIA in 2006 to take advantage of computing power of the GPU. CUDA is an application
programming interface (API) model that supports programming languages such as FORTRAN,
C/C++ and Python. It runs on Linux, Windows and Mac Osx platforms. Its advantages over its
competitors include shared memory usage, faster data reading from the GPU, and bit-level operation.</p>
      <p>The GPU differs from the CPU in that it has a SIMD (Single Instruction Multiple Data)
architecture. Figure 2 shows the schematic comparison of CPU and GPU structures. While CPU
calculations are performed in series, GPU performs calculations in parallel.</p>
      <p>One of the most commonly used operations in the ABC algorithm is the addition in GF(28). When
the overall algorithm is considered, the summation function is called once in the “key generation”
function and three times in the “decryption” function.</p>
      <p>}
global void addcuda(WORD *a, WORD *b, WORD *c) {
*c = *a ^ *b;</p>
      <p>Similar to the function definition in C++ programming language, but a function other than the
main function is defined in CUDA. “a”, “b” and “c” are pointer variables of type “WORD”. “c” is the
variable that will store the result of the summation of “a” and “b” and carries it over the GPU to the
CPU.</p>
      <p>Calling the “addcuda” function in the key generation function is as follows. First, “*tempA”,
“*tempB”, “*tempC” and “tempFB” are defined as WORD data type. Then the cudaMalloc which is a
pre-defined CUDA function is used to define the size of the GPU. With the cudaMemcpy function,
the values on the CPU are copied to the GPU. We call the function on the GPU with “addcuda &lt;&lt;&lt; 1,
1 &gt;&gt;&gt; ()”. After completing this process, we use the cudaMemcpy function to copy the values on the
GPU back to the CPU.</p>
      <p>WORD *tempA, *tempB, *tempC, tempFB;
cudaMalloc((void**)&amp;tempA, sizeof(WORD));
cudaMalloc((void **)&amp;tempB, sizeof(WORD));
cudaMalloc((void **)&amp;tempC, sizeof(WORD));
for (s = 0; s &lt; VARIABLE; s++) {
for (t = s; t &lt; VARIABLE; t++) {
if (t == s)</p>
      <p>FB[flag++] = V[s * VARIABLE + t];
else {
cudaMemcpy(tempA, &amp;V[s*VARIABLE+t], sizeof(WORD), cudaMemcpy HostToDevice);
cudaMemcpy(tempB, &amp;V[t*VARIABLE+s], sizeof(WORD), cudaMemcpy HostToDevice);
addcuda&lt;&lt;&lt;1,1&gt;&gt;&gt;(tempA,tempB,tempC);
cudaMemcpy(&amp;tempFB,tempC,sizeof(WORD), cudaMemcpyDeviceToHost);</p>
      <p>FB[flag++] = tempFB;
}</p>
      <p>}
}
cudaFree(tempA);
cudaFree(tempB);
cudaFree(tempC);
3.3.</p>
    </sec>
    <sec id="sec-7">
      <title>Comparison of the implementations</title>
      <p>The implementation prepared in .Net environment using Microsoft Visual Studio for the ABC
cryptosystem has been tested on three different computers, each with different graphics processors.
Table 3 summarizes the computer, graphics processor, and operating system information used.
In Table 4, the total running time of both CPU and GPU implementations prepared for the ABC
cryptosystem in three different environments are given in microseconds (µs).</p>
      <p>RAM
In Table 6, the running times of the encryption and decryption functions on both CPU and GPU
implementations prepared for the ABC cryptosystem in three different environments are given in
microseconds (µs).</p>
      <p>The running times of the implementations and the functions required for the ABC cryptosystem
shown in Table 2 in detail are evaluated by counting the number of times the key generation,
encryption and decryption are called and used. As can be noticed in the call of functions the entire
addition operations in GF(28) are performed on the GPU. Furthermore, although an increase in total
time has been observed, an improvement has been achieved in the process of encryption. In addition
to running time improvements, there is an improvement in memory usage. The running time in Table
4 is measured for both implementations as follows: time starts before the key generation and ends
with the completion of the decryption.</p>
      <p>The running time of the CPU implementation is 4336000 microseconds in Computer1. The
running time of GPU implementation is 6089299 microseconds on the same computer. There is a 40%
increase in time compared to the CPU implementation. However, the memory consumption of the
CPU implementation is 90MB while the memory consumption of the GPU implementation is 76MB.
That is, a 15% memory saving is achieved compared to the CPU implementation. In the encryption
function, the time is reduced from 16000 microseconds to 8000 microseconds and a 50% time-saving
is achieved.</p>
      <p>The running time of the CPU implementation is 5123000 microseconds in Computer2. The
running time of GPU implementation is 6589299 microseconds on the same computer. There is a 28%
increase in time compared to the CPU implementation. However, the memory consumption of the
CPU implementation is 100MB while the memory consumption of the GPU implementation is 87MB.
That is, a 13% memory saving is achieved compared to the CPU implementation. In the encryption
function, the time is reduced from 19000 microseconds to 11000 microseconds and a 42%
timesaving is achieved.</p>
      <p>The running time of the CPU implementation is 2214000 microseconds in Computer3. The
running time of GPU implementation is 4856900 microseconds on the same computer. There is a 19%
increase in time compared to the CPU implementation. However, the memory consumption of the
CPU implementation is 127MB while the memory consumption of the GPU implementation is
118MB. That is, a 7% memory saving is achieved compared to the CPU implementation. In the
encryption function, the time is reduced from 10000 microseconds to 3000 microseconds and a 70%
time-saving is achieved.</p>
      <p>Regardless of the working environment, the GPU implementation is slower than the CPU
implementation, but it is better in memory consumption. The reason for this difference is that the
addition operations in GF(28) are performed on the GPU.</p>
    </sec>
    <sec id="sec-8">
      <title>4. Conclusion</title>
      <p>It is believed that the ABC, one of the multivariate public key cryptosystems, will be robust to
computational attacks using quantum computers. As a result of this study, an application or
implementation that works with a graphics processor regardless of the working environment of the
computers is better in memory usage. The running times are evaluated by counting the number of
calls of the key generation, encryption and decryption. The number of the arithmetic operations is
computed. The memory consumption of the CPU implementation is larger than the GPU
implementation in all platforms. In addition to the efficiency in terms of memory consumption,
running the entire implementation on the GPU will allow better results to increase performance in
terms of time.</p>
    </sec>
    <sec id="sec-9">
      <title>Acknowledgement</title>
    </sec>
    <sec id="sec-10">
      <title>5. References</title>
      <p>The first and second authors were partially supported by TÜBİTAK under grant no.
EEEAG116E279.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Rivest</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Shamir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Adleman</surname>
          </string-name>
          ,
          <article-title>A Method for Obtaining Digital Signatures and PublicKey Cryptosystems</article-title>
          .
          <source>Commun, ACM 21 2</source>
          (
          <year>1978</year>
          )
          <fpage>120</fpage>
          -
          <lpage>126</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Shor</surname>
          </string-name>
          ,
          <article-title>Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer</article-title>
          ,
          <source>SIAM J. Computing 26 5</source>
          (
          <year>1997</year>
          )
          <fpage>1484</fpage>
          -
          <lpage>1509</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Buchmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Butin</surname>
          </string-name>
          ,
          <string-name>
            <surname>Post-Quantum</surname>
            <given-names>Cryptography</given-names>
          </string-name>
          :
          <article-title>State of the Art</article-title>
          .
          <source>The New Codebreakers, LNCS</source>
          <volume>9100</volume>
          (
          <year>2016</year>
          )
          <fpage>88</fpage>
          -
          <lpage>108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N.</given-names>
            <surname>Kundu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.M.</given-names>
            <surname>Debnath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Mishra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A</given-names>
            <surname>Secure</surname>
          </string-name>
          and
          <article-title>Efficient Group Signature Scheme Based On Multivariate Public Key Cryptography</article-title>
          ,
          <source>Journal of Information Security and Applications 58</source>
          <volume>102776</volume>
          (
          <year>2021</year>
          ). doi:
          <volume>10</volume>
          .1016/j.jisa.
          <year>2021</year>
          .102776
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ning</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.S.C.</given-names>
            <surname>Lau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A New</given-names>
            <surname>Encryption Scheme For Multivariate Quadratic Systems</surname>
          </string-name>
          ,
          <source>Theoretical Computer Science</source>
          <volume>809</volume>
          (
          <year>2020</year>
          )
          <fpage>372</fpage>
          -
          <lpage>383</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>N.</given-names>
            <surname>Kundu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.M.</given-names>
            <surname>Debnath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Mishra</surname>
          </string-name>
          , T. Choudhury,
          <article-title>Post-Quantum Digital Signature Scheme Based On Multivariate Cubic Problem</article-title>
          ,
          <source>Journal of Information Security Applications</source>
          ,
          <volume>53</volume>
          (
          <year>2020</year>
          )
          <article-title>102512</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.jisa.
          <year>2020</year>
          .102512
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Smith-Tone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Tone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A Multivariate</given-names>
            <surname>Cryptosystem Inspired By Random Linear Codes</surname>
          </string-name>
          ,
          <source>Finite Fields and Their Applications</source>
          <volume>69</volume>
          <fpage>101778</fpage>
          (
          <year>2021</year>
          ). doi:
          <volume>10</volume>
          .1016/j.ffa.
          <year>2020</year>
          .101778
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Post-Quantum Cryptography</surname>
          </string-name>
          Round 2 Submissions,
          <year>2020</year>
          . URL: https://csrc.nist.gov/projects/post-quantum-cryptography/round-2-submissions
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M. S.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hülsing</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rijneveld</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Samardjiska</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Schwabe</surname>
          </string-name>
          , From 5
          <article-title>-pass MQ-based identification to MQ-based signatures</article-title>
          ,
          <source>in: Proceedings of 22th Annual International Conference on the Theory and Application of Cryptology and Information Security</source>
          ,
          <string-name>
            <surname>ASIACRYPT</surname>
          </string-name>
          , Hanoi,
          <year>2016</year>
          , vol.
          <volume>10032</volume>
          , pp.
          <fpage>135</fpage>
          -
          <lpage>165</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>Akleylek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Soysaldı</surname>
          </string-name>
          ,
          <article-title>A novel 3-pass identification scheme and signature scheme based on multivariate quadratic polynomials</article-title>
          ,
          <source>Turkish Journal of Mathematics 43</source>
          <volume>1</volume>
          (
          <year>2019</year>
          )
          <fpage>241</fpage>
          -
          <lpage>257</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Akleylek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Soysald</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.-K.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.O.</given-names>
            <surname>Hwang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chee-Keong</surname>
          </string-name>
          <string-name>
            <surname>Wong</surname>
          </string-name>
          ,
          <article-title>Novel Postquantum MQ-based Signature Scheme for Internet of Things with Parallel Implementation</article-title>
          ,
          <source>IEEE Internet of Things Journal</source>
          (
          <year>2021</year>
          ). doi:
          <volume>10</volume>
          .1109/JIOT.
          <year>2020</year>
          .
          <volume>3038388</volume>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Peng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Wu</surname>
          </string-name>
          and
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <source>Fast Implementation of Simple Matrix Encryption Scheme on Modern x64 CPU, in: ISPEC</source>
          <year>2016</year>
          ,
          <volume>10060</volume>
          , pp.
          <fpage>151</fpage>
          -
          <lpage>166</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>