<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0120-5609</journal-id>
<journal-title><![CDATA[Ingeniería e Investigación]]></journal-title>
<abbrev-journal-title><![CDATA[Ing. Investig.]]></abbrev-journal-title>
<issn>0120-5609</issn>
<publisher>
<publisher-name><![CDATA[Facultad de Ingeniería, Universidad Nacional de Colombia.]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0120-56092014000200011</article-id>
<article-id pub-id-type="doi">10.15446/ing.investig.v34n2.40542</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[Design of elliptic curve cryptoprocessors over GF(2(163)) using the Gaussian normal basis]]></article-title>
<article-title xml:lang="es"><![CDATA[Diseño de criptoprocesadores de curva elíptica sobre GF(2(163)) usando bases normales Gaussianas]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Realpe-Muñoz]]></surname>
<given-names><![CDATA[P.C]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Trujillo-Olaya]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Velasco-Medina]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad del Valle  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad del Valle  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A03">
<institution><![CDATA[,Universidad del Valle  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Colombia</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>08</month>
<year>2014</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>08</month>
<year>2014</year>
</pub-date>
<volume>34</volume>
<numero>2</numero>
<fpage>55</fpage>
<lpage>65</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0120-56092014000200011&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0120-56092014000200011&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0120-56092014000200011&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[This paper presents an efficient hardware implementation of cryptoprocessors that perform the scalar multiplication kP over a finite field GF(2(163)) using two digit-level multipliers. The finite field arithmetic operations were implemented using the Gaussian normal basis (GNB) representation, and the scalar multiplication kP was implemented using the Lopez-Dahab algorithm, the 2-non-adjacent form (2-NAF) halve-and-add algorithm and the w-&tau;NAF method for Koblitz curves. The processors were designed using a VHDL description, synthesized on the Stratix-IV FPGA using Quartus II 12.0 and verified using SignalTAP II and Matlab. The simulation results show that the cryptoprocessors provide a very good performance when performing the scalar multiplication kP. In this case, the computation times of the multiplication kP using the Lopez-Dahab algorithm, 2-NAF halve-and-add algorithm and 16-&tau;NAF method for Koblitz curves were 13.37 µs, 16.90 µs and 5.05 µs, respectively.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este trabajo se presenta la implementación eficiente en hardware de criptoprocesadores que permiten llevar a cabo la multiplicación escalar kP sobre el campo finito GF(2(163)) usando dos multiplicadores a nivel de digito. Las operaciones aritméticas de campo finito fueron implementadas usando la representación de bases normales Gaussianas (GNB), y la multiplicación escalar kP fue implementada usando el algoritmo de López-Dahab, el algoritmo de bisección de punto 2-NAF y el método w-&tau;NAF para curvas de Koblitz. Los criptoprocesadores fueron diseñados usando descripción VHDL, sintetizados en el FPGA Stratix-IV usando Quartus II 12.0 y verificados usando SignalTAP II y Matlab. Los resultados de simulación muestran que los criptoprocesadores presentan un muy buen desempeño para llevar a cabo la multiplicación escalar kP. En este caso, los tiempos de computo de la multiplicación kP usando Lopez-Dahab, bisección de punto 2-NAF y 16-&tau;NAF para curvas de Koblitz fueron 13.37 µs, 16.90 µs and 5.05 µs, respectivamente.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[elliptic curve cryptography]]></kwd>
<kwd lng="en"><![CDATA[Gaussian normal basis]]></kwd>
<kwd lng="en"><![CDATA[digit-level multiplier]]></kwd>
<kwd lng="en"><![CDATA[scalar multiplication]]></kwd>
<kwd lng="es"><![CDATA[criptografía de curva elíptica]]></kwd>
<kwd lng="es"><![CDATA[bases normales Gaussianas]]></kwd>
<kwd lng="es"><![CDATA[multiplicador a nivel de digito]]></kwd>
<kwd lng="es"><![CDATA[multiplicación escalar]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  <font size="2" face="verdana">     <p><a href="http://dx.doi.org/10.15446/ing.investig.v34n2.40542" target="_blank">http://dx.doi.org/10.15446/ing.investig.v34n2.40542</a></p>     <p>    <center> <font size="4"><b>Design of elliptic curve cryptoprocessors over GF(2<sup>163</sup>) using the Gaussian normal basis</b></font> </center></p>     <p>    <center> <font size="3"><b>Dise&ntilde;o de criptoprocesadores de curva el&iacute;ptica sobre GF(2<sup>163</sup>) usando bases normales Gaussianas</b></font> </center></p>     <p>P.C. Realpe-Mu&ntilde;oz<sup>1</sup>, V. Trujillo-Olaya<sup>2</sup> and J. Velasco-Medina<sup>3</sup></p>     <p><sup>1</sup> Paulo Cesar Realpe Mu&ntilde;oz. Bs in Physic Engineering, Universidad del Cauca, Colombia. M.Sc. in Electronics Engineering, Universidad del Valle, Colombia. Affiliation: Universidad del Valle, Colombia. E-mail: <a href="mailto:paulo.realpe@correounivalle.edu.co">paulo.realpe@correounivalle.edu.co</a></p>     <p> <sup>2</sup> Vladimir Trujillo Olaya. Bs in Electronic Engineering, Universidad del Valle, Colombia. M. Sc. in Electronics Engineering, Universidad del Valle, Colombia. Affiliation: Universidad del Valle, Colombia. E-mail: <a href="mailto:vladimir.trujillo@correounivalle.edu.co">vladimir.trujillo@correounivalle.edu.co</a></p>     <p><sup>3</sup> Jaime Velasco Medina. B.S in Electrical Engineering, University del Valle, Colombia. Ph.D in Microelectronics, TIMA-INPG, France. Universidad del Valle, Colombia. E-mail: <a href="mailto:jaime.velasco@correounivalle.edu.co">jaime.velasco@correounivalle.edu.co</a></p> <hr>     ]]></body>
<body><![CDATA[<p><b>How to cite:</b> Realpe-Mu&ntilde;oz, P. C., Trujillo-Olaya, V., &amp; Velasco-Medina, J. (2014). Design of elliptic curve cryptoprocessors over GF(2<sup>163</sup>) using the Gaussian normal basis. Ingenier&iacute;a e Investigaci&oacute;n, 34(2), 55-65.</p> <hr>     <p><b>ABSTRACT</b></p>     <p> This paper presents an efficient hardware implementation of cryptoprocessors that perform the scalar multiplication kP over a finite field GF(2<sup>163</sup>) using two digit-level multipliers. The finite field arithmetic operations were implemented using the Gaussian normal basis (GNB) representation, and the scalar multiplication kP was implemented using the Lopez-Dahab algorithm, the 2-non-adjacent form (2-NAF) halve-and-add algorithm and the w-&tau;NAF method for Koblitz curves. The processors were designed using a VHDL description, synthesized on the Stratix-IV FPGA using Quartus II 12.0 and verified using SignalTAP II and Matlab. The simulation results show that the cryptoprocessors provide a very good performance when performing the scalar multiplication kP. In this case, the computation times of the multiplication kP using the Lopez-Dahab algorithm, 2-NAF halve-and-add algorithm and 16-&tau;NAF method for Koblitz curves were 13.37 &micro;s, 16.90 &micro;s and 5.05 &micro;s, respectively.</p>     <p> <b>Keywords:</b> elliptic curve cryptography, Gaussian normal basis, digit-level multiplier, scalar multiplication. </p> <hr>     <p><b>RESUMEN</b></p>     <p> En este trabajo se presenta la implementaci&oacute;n eficiente en hardware de criptoprocesadores que permiten llevar a cabo la multiplicaci&oacute;n escalar kP sobre el campo finito GF(2<sup>163</sup>) usando dos multiplicadores a nivel de digito. Las operaciones aritm&eacute;ticas de campo finito fueron implementadas usando la representaci&oacute;n de bases normales Gaussianas (GNB), y la multiplicaci&oacute;n escalar kP fue implementada usando el algoritmo de L&oacute;pez-Dahab, el algoritmo de bisecci&oacute;n de punto 2-NAF y el m&eacute;todo w-&tau;NAF para curvas de Koblitz. Los criptoprocesadores fueron dise&ntilde;ados usando descripci&oacute;n VHDL, sintetizados en el FPGA Stratix-IV usando Quartus II 12.0 y verificados usando SignalTAP II y Matlab. Los resultados de simulaci&oacute;n muestran que los criptoprocesadores presentan un muy buen desempe&ntilde;o para llevar a cabo la multiplicaci&oacute;n escalar kP. En este caso, los tiempos de computo de la multiplicaci&oacute;n kP usando Lopez-Dahab, bisecci&oacute;n de punto 2-NAF y 16-&tau;NAF para curvas de Koblitz fueron 13.37 &micro;s, 16.90 &micro;s and 5.05 &micro;s, respectivamente.</p>     <p> <b>Palabras clave:</b> criptograf&iacute;a de curva el&iacute;ptica, bases normales Gaussianas, multiplicador a nivel de digito, multiplicaci&oacute;n escalar. </p> <hr>     <p><b>Received:</b> October 29th 2013 <b>Accepted:</b> February 25th 2014</p> <hr>     <p><font size="3"><b>Introduction</b></font></p>     <p>The use of computer networks and the steady increase in the number of users of these systems have driven the need to improve security for the storage and transmission of information. There are many applications that must ensure the privacy, integrity or authentication of the information stored or transmitted. The security of the applications has been resolved by using different cryptographic algorithms, which are used in private- or public-key cryptosystems.</p>     ]]></body>
<body><![CDATA[<p> The security of public-key cryptosystems is based on mathematical problems that are computationally difficult to resolve, i.e., problems for which there are no known algorithms to resolve them in a practical time. Because of the high volume of information processed, electronic systems are required to perform the encryption and decryption processes in the shortest time possible without compromising the security. In this regard, hardware implementations of cryptographic algorithms have advantages, such as high speed, high security levels and low cost. </p>     <p> One of the most important cryptosystems is the elliptic curve cryptosystem (ECC), proposed independently by Koblitz (Kobliz, 1987) and Miller (Miller, 1986). There have been several investigations of the theory and practice of this cryptosystem. The results of the investigations demonstrated the ability of these systems to encrypt information and concluded that this cryptosystem offers better security, efficiency and memory usage. The hardware implementations of ECCs have many advantages and are used in equipment such as ATMs, smart cards, telephones, and cell phones.</p>     <p> In elliptic curve cryptography, it is known that finding the discrete logarithm of a random elliptic curve element with respect to a publicly known base point, that is, the elliptic curve discrete logarithm problem or ECDLP, has high hardness. The entire security of the ECC depends on the ability to compute the scalar multiplication and the inability to compute the multiplicand given the original and product points. Furthermore, the finite-field size of the elliptic curve determines the computational complexity of the above problem. </p>     <p> Several works regarding scalar multiplication over a finite field <i>GF</i>(2<i><sup>m</sup></i>) have been proposed and implemented efficiently in hardware. </p>     <p> C. Rebeiro and D. Mukhopadhyay (Rebeiro and Mukhopadhyay, 2008) presented a cryptoprocessor with novel multiplication and inversion algorithms. J.Y. Lai, T.Y. Hung, K.H. Yang and C.T. Huang (Lai <i>et al.</i>, 2010) proposed an architecture for elliptic curves along with the operation scheduling for the Montgomery scalar multiplication algorithm. B. Muthukumar and S. Jeevananthan (Muthukumar and Jeevanahthan, 2010) implemented an elliptic curve co-processor, which is a dual-field processor with a projective coordinate. A.K. Rahuman and G. Athisha (Rahuman and Athisha, 2010) presented an architecture using the Lopez-Dahab algorithm for the elliptic curve point multiplication and Gaussian normal basis (GNB) for field arithmetic over <i>GF</i>(2<sup>163</sup>). M. Amara and A. Siad (Amara and Siad, 2011) proposed an EC point multiplication processor intended for cryptographic applications such as digital signatures and key agreement protocols. X. Cui and J. Yang (Cui and Yang, 2012) implemented a processor that parallelizes the computations of the ECC at the bit-level and gains a considerable speed-up. The processor is fully implemented in hardware and supports key lengths of 113 bits, 163 bits and 193 bits. </p>     <p> In this context, we present in this work efficient hardware implementations of cryptoprocessors over <i>GF</i>(2<sup>163</sup>) using a GNB representation and the Lopez-Dahab algorithm, 2-NAF halve-and-add algorithm and <i>w</i>-&tau;NAF method for Koblitz curves (Anomalous Binary Curves or ABC) with window sizes of 2, 4, 8 and 16 to perform the scalar multiplication <i>kP</i>. </p>     <p> The main contributions of this work are: (i) the hardware design of cryptoprocessors using the GNB over GF(2<sup>163</sup>) and three scalar multiplication algorithms (Lopez-Dahab, halve-and-add and w-&tau;NAF method for Koblitz curves) to determine the best cryptoprocessor for embedded cryptographic applications. (ii) an efficient hardware implementation of cryptoprocessors based on the <i>w</i>-&tau;NAF method with different window sizes for the Koblitz curves. They present the best trade-off between the computation time and area, obtaining a higher performance than the other cryptoprocessors reported in the literature. Additionally, they are very suitable for hardware cryptosystems.</p>     <p><font size="3"><b>Mathematical background</b></font></p>     <p><b>GNB representation</b></p>     <p> ANSI X9.62 (ANSI, 1999) describes the detailed specifications of the ECC protocols and uses the GNB to represent the finite field elements (NIST, 2000). An element over GF(2<sup><i>m</i></sup>) has the computational advantage of performing squaring very efficiently. However, multiplying distinct elements can be cumbersome. In this case, there are multiplication algorithms that make this operation both simpler and more efficient.</p>     ]]></body>
<body><![CDATA[<p> A normal basis over GF(2<sup><i>m</i></sup>) is as follows:</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e1.jpg"></center></p>     <p> where <i>&beta;</i> &isin; GF(2<sup><i>m</i></sup>) and any element <i>A</i> &isin; GF(2<sup><i>m</i></sup>) can be written as follows:</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e2.jpg"></center></p>     <p> The type<i> T</i> of a GNB is a positive integer and measures the complexity of the multiplication operation with respect to that basis. Generally, the type <i>T</i> of a smaller value provides a more efficient multiplication. For a given <i>m</i> and <i>T</i>, the field <i>GF</i>(2<sup><i>m</i></sup>) can have at most one GNB of type <i>T</i>. A GNB exists whenever <i>m</i> is not divisible by 8. Let <i>m</i> and <i>T</i> be two positive integers. Then, the type <i>T</i> of a GNB over <i>GF</i>(2<sup><i>m</i></sup>) exists if and only if <i>p</i> =<i>Tm</i>+1 is prime.</p>     <p> If <img src="/img/revistas/iei/v34n2/v34n2a11ep1.jpg" align="absmiddle"> is a GNB over GF(2<sup><i>m</i></sup>), then the element <img src="/img/revistas/iei/v34n2/v34n2a11ep2.jpg" align="absmiddle"> is represented by the binary string (a<sub>0</sub>a<sub>1</sub>a<sub>2</sub> ... a<sub>m-1</sub>), where a<sub>i</sub> &isin; {0,1}. In this case, the multiplicative identity element is represented by the bit string of all ones.</p>     <p> The additive identity element is represented by the bit string of all zeros. An important result for the GNB arithmetic is Fermat's Theorem. For all &beta; &isin; GF(2<sup><i>m</i></sup>), then</p>     <p>    ]]></body>
<body><![CDATA[<center><img src="/img/revistas/iei/v34n2/v34n2a11e3.jpg"></center></p>     <p> This theorem is important for performing the squaring of an element over <i>GF</i>(2<sup><i>m</i></sup>).</p>     <p> <b>Finite field arithmetic operations</b></p>     <p> The following arithmetic operations can be performed over GF(2<sup><i>m</i></sup>) when using a normal basis of type <i>T</i>.</p>     <p><i>Addition</i>: If <i>A </i>= (<i>a</i><sub>0</sub><i>a</i><sub>1</sub><i>a</i><sub>2</sub>...<i>a</i><sub>m-1</sub>) and <i>B </i>= (<i>b</i><sub>0</sub><i>b</i><sub>1</sub>b<sub>2</sub>...b<sub>m-1</sub>) are elements over GF(2<sup><i>m</i></sup>), then <i>A</i> + <i>B</i> = <i>C</i> = (<i>c</i><sub>0</sub><i>c</i><sub>1</sub><i>c</i><sub>2</sub>...<i>c</i><sub>m-1</sub>), where <i>c<sub>i</sub></i>= (<i>a<sub>i</sub></i> + <i>b<sub>i</sub></i>) mod 2.</p>     <p><i>Squaring</i>: Let <i>A </i>= (<i>a</i>0<i>a</i>1<i>a</i>2...<i>a</i>m-1) &isin; GF(2<sup><i>m</i></sup>), then</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e4.jpg"></center></p>     <p> Based on Fermat's Theorem, , then</p>     <p>    ]]></body>
<body><![CDATA[<center><img src="/img/revistas/iei/v34n2/v34n2a11e5.jpg"></center></p>     <p> In this case, squaring is a simple rotation of the vector representation.</p>     <p><i>Multiplication</i>: The multiplication <i>C</i> = <i>A</i>&middot;<i>B</i> is based on the multiplication matrix R<sub>(m-1)XT</sub> (Masoleh, 2006). If <i>A</i> = (<i>a</i><sub>0</sub><i>a</i><sub>1</sub><i>a</i><sub>2</sub>...<i>a</i><sub>m-1</sub>) and <i>B</i> = (<i>b</i><sub>0</sub><i>b</i><sub>1</sub><i>b</i><sub>2</sub>...<i>b</i><sub>m-1</sub>) are elements over GF(2<sup><i>m</i></sup>) and are represented using a GNB, then <i>A</i>&middot;<i></i><i>B</i> = <i>C</i> = (<i>c</i><sub>0</sub><i>c</i><sub>1</sub><i>c</i><sub>2</sub>...<i>c</i><sub>m-1</sub>), where the coefficient <i>c</i><sub>0</sub> is given by equation (6)</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e6.jpg"></center></p>     <p>and R(<i>i</i>,<i>j</i>), 0 &le; R(<i>i</i>,<i>j</i>) &le; <i>m</i>-1, 1 &le; <i>i</i> &le; <i>m</i>-1, 1 &le; <i>j</i> &le; <i>T</i> denotes the (<i>i</i>, <i>j</i>)th element of the matrix. To obtain the <i>i</i>th coefficient of <i>C</i>, i.e., <i>c<sub>i</sub></i>, add "<i>i</i> mod <i>m</i>" to all indices in (6).</p>     <p><i>Inversion</i>: If <i>A</i> &ne; 0 and <i>A</i> &isin; GF(2<sup><i>m</i></sup>), the inverse of <i>A</i> is <i>C</i> &isin; GF(2<sup><i>m</i></sup>), and <i>C</i> is the only element of GF(2<sup><i>m</i></sup>) such that <i>A</i>&middot;<i>C</i> = 1, i.e., <i>C</i> = <i>A</i><sup>-1</sup>. The algorithm used to calculate the inversion is based on equation (7):</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e7.jpg"></center></p>     <p> Itoh and Tsujii (Itoh and Tsujii, 1998) proposed a method that reduces the number of multiplications to calculate the inversion, and it is based on the following:</p>     ]]></body>
<body><![CDATA[<p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e8.jpg"></center></p>     <p><i>Trace</i>: If A is an element over GF(2<sup><i>m</i></sup>), the trace of <i>A</i> is:</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e9.jpg"></center></p>     <p> If <i>A</i> <i>= </i>(<i>a<sub>0</sub>a<sub>1</sub>a<sub>2</sub>...a<sub>m-1</sub></i>)and it is represented in a normal basis, then the trace can be computed efficiently as follows:</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e10.jpg"></center></p>     <p> The trace of the element <i>A</i> has two possible values (0 or 1). Quadratic equation solving over GF(2<sup><i>m</i></sup>): If <i>A</i> is an element of GF(2<sup><i>m</i></sup>) represented in a normal basis, then the quadratic equation:</p>     <p>    ]]></body>
<body><![CDATA[<center><img src="/img/revistas/iei/v34n2/v34n2a11e11.jpg"></center></p>     <p> has 2 - 2<i>T</i> solutions over GF(2<sup><i>m</i></sup>), where <i>T </i>= <i>Tr</i>(<i>A</i>). Therefore, if <i>T</i> = 1, there is no solution, and if <i>T</i> = 0, there are two solutions. If <i>z</i> is one solution, then the other solution is <i>z</i> + 1. For example, if <i>A</i> = 0, the solutions are <i>z = </i>0 and <i>z = </i>1 (IEEE std 1363, 2000). The algorithm 1 calculates the quadratic equation over GF(2<sup><i>m</i></sup>) for a normal basis representation.</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11a1.jpg"></center></p>     <p><i>Square root</i>: Let <i>A</i> = (<i>a</i><sub>0</sub><i>a</i><sub>1</sub><i>a</i><sub>2</sub>...<i>a</i><sub>m-1</sub>) &isin; GF(2<sup><i>m</i></sup>), then</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e12.jpg"></center></p>     <p> In this case, the square root in a normal basis is a simple rotation of the vector representation (IEEE std 1363, 2000).</p>     <p> <b>Elliptic curve arithmetic</b></p>     <p> A non-supersingular elliptic curve <i>E</i>(<i>F<sub>q</sub></i>) is defined as a set of points (<i>x</i>, <i>y</i>) &isin; <i>GF</i>(2<sup><i>m</i></sup>)&times;<i>GF</i>(2<sup><i>m</i></sup>) that satisfies the affine coordinates equation,</p>     ]]></body>
<body><![CDATA[<p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e13.jpg"></center></p>     <p> where <i>a</i> and <i>b</i> &isin; <i>F<sub>q</sub></i> and are constants with <i>b</i> &ne; 0 together with the point at infinity denoted by <i>O</i>. The group operations for the elliptic curve arithmetic in affine coordinates are defined as follows. Let <i>P</i> = (<i>x</i><sub>1</sub>, <i>y</i><sub>1</sub>) and <i>Q</i> = (<i>x</i><sub>2</sub>, <i>y</i><sub>2</sub>) be two points that belong to the curve, and let the addition inverse of <i>P</i> be defined as -<i>P</i> = (<i>x</i><sub>1</sub>, <i>x</i><sub>1</sub> + <i>y</i><sub>1</sub>). Then, if <i>Q</i> &ne; -<i>P</i>, the point <i>P</i> + <i>Q</i> = (<i>x</i><sub>3</sub>, <i>y</i><sub>3</sub>) can be computed as:</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e14y15.jpg"></center></p>     <p>Using the group operations above, the elliptic curve scalar multiplication can be defined as follows. Let <i>E</i> be an elliptic curve over <i>GF</i>(2<sup><i>m</i></sup>), let <i>Q</i> and <i>P</i> &isin; <i>E</i> be two arbitrary elliptic points satisfying equation (13), and let <i>k</i> be an arbitrary positive integer. Then, the elliptic curve scalar multiplication <i>Q</i> = <i>kP</i> is defined as:</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e16.jpg"></center></p>     <p> Considering the group operations described in equations (14) and (15) using the finite field arithmetic in affine coordinates, three main elliptic curve operations can be defined: point addition, point doubling and point halving. In the group operations, the inversion is the arithmetic operation that is most expensive over GF(2<sup><i>m</i></sup>), and this operation can be avoided with a projective coordinate representation. In this case, the inversion is avoided by using the finite field multiplication.</p>     <p> A point <i>P</i> in the projective coordinates is represented using three coordinates (<i>X</i>, <i>Y</i> and <i>Z)</i>. For the <i>Lopez-Dahab</i> (LD) projective coordinates (Lopez and Dahab, 1999), the projective point (<i>X</i> : <i>Y</i> : <i>Z</i>) with <i>Z</i> &ne; 0 corresponds to the affine coordinates <i>x</i> = <i>X</i>/<i>Z</i> and <i>y</i> = <i>Y</i>/<i>Z</i><sup>2</sup>. Then, equation (13) can be mapped from the affine coordinates to the LD projective coordinates as:</p>     ]]></body>
<body><![CDATA[<p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e17.jpg"></center></p>     <p> The three group operations for the elliptic curve arithmetic in the projective and affine coordinates can be computed as (Menezes <i>et al</i>., 2003):</p>     <p> 1. Point doubling <i>Q</i> = 2<i>P</i>, where <i>Q</i> = (<i>X</i><sub>3</sub> : <i>Y</i><sub>3</sub> : <i>Z</i><sub>3</sub>) and <i>P</i> = (<i>X</i><sub>1</sub> : <i>Y</i><sub>1</sub> : <i>Z</i><sub>1</sub>) in the projective coordinates, can be performed using 4 finite field multiplications, such as</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e18.jpg"></center></p>     <p> 2. Point addition <i>Q</i> +<i> P</i>, where <i>Q</i> = (<i>X</i><sub>1</sub> : <i>Y</i><sub>1</sub> : <i>Z</i><sub>1</sub>) in the projective coordinates and <i>P</i> = (<i>x</i><sub>2</sub>, <i>y</i><sub>2</sub>) in the affine coordinates, can be performed using 8 finite field multiplications, such as</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e19.jpg"></center></p>     <p> 3. Point halving <i>Q</i>/2 is the inverse operation of point doubling. Let <i>P</i> = (<i>x</i><sub>1</sub>, y<sub>1</sub>) and <i>Q</i> = (<i>x</i><sub>2</sub>, <i>y</i><sub>2</sub>) be the points over the curve (13) in the affine coordinates. The point halving operation is performed by computing P such that <i>Q</i> = 2<i>P</i> by solving the following equations:</p>     ]]></body>
<body><![CDATA[<p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e20-22.jpg"></center></p>     <p> Let the &lambda;-representation of a point <i>Q = </i>(<i>x</i><sub>2</sub><i>, y</i>2) be <i>Q = </i>(<i>x</i>, <i>l</i>Q), where</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e23.jpg"></center></p>     <p> If <i>Q</i> in the &lambda;-representation is the input of the point halving algorithm, then it is possible to compute point halving without using the affine coordinates. In scalar multiplication, repeated point halving operations can be performed directly on the &lambda;-representation. However, when a point addition is required, a conversion to the affine coordinates must be performed. Algorithm 2 computes the point halving operation.</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11a2.jpg"></center></p>     <p> <b>Koblitz Curves</b></p>     <p> Koblitz curves, or anomalous binary curves, are elliptic curves defined over GF(2<sup><i>m</i></sup>). The main advantage of these curves is that the scalar multiplication operation can be performed without the use of point doubling operations.</p>     ]]></body>
<body><![CDATA[<p> An algorithm for scalar multiplication on Koblitz curves is presented by Solinas (Solinas, 2000). The Solinas algorithm or the <i>&tau;</i>-adic window method computes a special <i>&tau;</i>-adic expansion of an integer number in <img src="/img/revistas/iei/v34n2/v34n2a11ep3.jpg" align="absmiddle">. For example, a special <i>&tau;</i>-adic expansion is the window <i>&tau;</i>-adic non-adjacent form (<i>&tau;</i>NAF).</p>     <p> The Koblitz curves are curves defined over <i>GF</i>(2<sup><i>m</i></sup>) by:</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e24.jpg"></center></p>     <p> where <i>a</i> &isin; {0,1}, that is, curves <i>E</i><sub>0</sub> and <i>E</i><sub>1</sub>.</p>     <p> These curves present the following property: If <i>P</i>(<i>x</i>, <i>y</i>) is a point on the curve <i>E<sub>a</sub></i>, then the point (<i>x</i><sup>2</sup>, <i>y</i><sup>2</sup>) is also a point on <i>E<sub>a</sub></i>. In addition, they satisfy (<i>x</i><sup>4</sup>, <i>y</i><sup>4</sup>) + 2(<i>x</i>, <i>y</i>) = &micro;(<i>x</i><sup>2</sup>, <i>y</i><sup>2</sup>) for each point (<i>x</i>, <i>y</i>) on <i>E<sub>a</sub></i>, where &micro; = (-1)<sup>1-<i>a</i></sup>. In <i>GF</i>(2<sup><i>m</i></sup>), the Frobenius map <i>&tau;</i> is an endomorphism that raises every element to its power of two, i.e., <i>&tau;</i><i> </i>: <i>x </i><i>&rarr; x</i><sup>2</sup>. Then, the Frobenius endomorphism is performed efficiently (cost-free) when the elements of the finite field are represented in a normal basis (Cui and Yang, 2012). Koblitz shows that the point doubling operation can be performed efficiently by using the Frobenius endomorphism, if the binary curve is defined over <i>GF</i>(2<sup><i>m</i></sup>) and <i>a </i>&isin; {0, 1}. Then, the Frobenius map can be defined as <i>&tau;</i>: (<i>x, y</i>) <i>&rarr; </i>(<i>x</i><sup>2</sup><i>, y</i><sup>2</sup>). In this case, if the scalar <i>k </i>is represented in <i>&tau;</i>NAF, then</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e25.jpg"></center></p>     <p> The <i>&tau;</i>-adic representation can be obtained by repeatedly dividing <i>k</i> by <i>&tau;</i>, where the remainders of each division step are named digits <i>u<sub>i</sub></i>. This procedure is also used to obtain the representation's NAF of the scalar <i>k, </i>namely,<i> k </i>is repeatedly divided by 2. To decrease the number of point additions for the scalar multiplication, it is necessary to obtain a <i>&tau;</i>NAF representation of <i>k</i> that achieves a smaller number of nonzero digits. The scalar multiplication can be computed as:</p>     <p>    ]]></body>
<body><![CDATA[<center><img src="/img/revistas/iei/v34n2/v34n2a11e26.jpg"></center></p>     <p> The result corresponds to the Hamming weight of the <i>&tau;</i>NAF, and it is equal to the binary NAF representation, i.e., the Hamming weight <i>&asymp; </i>(log<sub>2</sub> <i>k</i>)/3, and the length of the <i>&tau;</i>-adic representation of <i>k </i>is approximately 2<i><u>m</u></i><u>,</u> which is twice the length of the binary NAF representation. However, Solinas presents a method that reduces the length of the <i>&tau;</i>-adic representation to approximately <i>m</i>. Thus, the Koblitz curves' arithmetic is based on the point addition and Frobenius map &tau;.</p>     <p><font size="3"><b>Hardware architectures for elliptic curve cryptoprocessors</b></font></p>     <p>In this section, we present the hardware architectures for elliptic curve cryptoprocessors over <i>GF</i>(2<sup>163</sup>) using a Gaussian normal basis. Each cryptoprocessor is designed using one algorithm for the scalar multiplication, namely, the Lopez-Dahab algorithm (Lopez and Dahab, 1999), the halve-and-add 2-NAF algorithm (Menezes <i>et al</i>., 2000) and the <i>w</i>-&tau;NAF method for Koblitz curves with <i>w</i> = 2, 4, 8 and 16 (Solinas, 2000). </p>     <p> <b>Digit-level multiplier</b></p>     <p> The finite field multiplication over<i> GF</i>(2<sup><i>m</i></sup>) is an operation that is more important for performing the scalar multiplication. Thus, this operation must be implemented efficiently in hardware. There are several algorithms for performing the finite field multiplication that are presented in Azarderakhsh and Masoleh (2010), Huang et al. (2011,), Wang and Fan (2012) Lee and Chiou (2012).</p>     <p> Azarderakhsh and Masoleh (Azarderakhsh and Masoleh, 2010) proposed a serial or parallel digit-level multiplier with a digit-size <i>d</i>, where 1 &le; <i>d</i> &le; <i>m</i>. In this case, if <i>d</i> = <i>m</i>, the multiplier is parallel and if <i>d</i> &lt; <i>m</i>, it is serial and requires <img src="/img/revistas/iei/v34n2/v34n2a11ep4.jpg" align="absmiddle">, clock cycles to generate all the <i>m</i> coefficients of <i>C</i> = <i>A</i><i>&middot;B = </i>(<i>c<sub>0</sub>c<sub>1</sub>c<sub>2</sub>...c</i><sub><i>m</i>-1</sub>), where <i>A = </i>(<i>a<sub>0</sub>a<sub>1</sub>a<sub>2</sub>...a</i><sub><i>m</i>-1</sub>)and<i> B = </i>(<i>b<sub>0</sub>b<sub>1</sub>b<sub>2</sub>...b</i><sub><i>m</i>-1</sub>)are elements represented in a GNB over <i>GF</i>(2<sup><i>m</i></sup>). <a href="#f1">Figure 1</a> shows the digit-level <i>GF</i>(2<sup><i>m</i></sup>) multiplier for <i>T</i> = 4, where <i>A</i>, <i>B</i> and <i>C</i> are registers for storing the input and output elements. </p>     <p>    <center><a name="f1"></a><img src="/img/revistas/iei/v34n2/v34n2a11f1.jpg"></center></p>     <p> The block &rho; is formed by the blocks &rho;<sub>1</sub> and &rho;<sub>2</sub>, and its structure depends on type <i>T </i>of the <i>GBN</i> with <i>T</i> &ge; 2 and the multiplication matrix R. The block<i> J</i> is a set of <i>m</i>, two-input AND gates. The block <i>CS</i> is a <i>d</i>-fold cyclic shift and an adder GF (2<sup>163</sup>), which is a set of two-input XOR gates. </p>     ]]></body>
<body><![CDATA[<p> The block &rho;<sub>1</sub> is an optimal set of XOR gates that are obtained using (27), and &rho;<sub>2</sub> is a set of XOR gates that are obtained from the main matrix &rho;:</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e27.jpg"></center></p>     <p> The time complexity of the digit-level multiplier is <i>TA </i>+ (2 + <img src="/img/revistas/iei/v34n2/v34n2a11ep5.jpg" align="absmiddle">)<i>TX</i>, where <i>TX</i> and <i>TA</i> are the delay time of a two-input XOR gate and a two-input AND gate, respectively. The area complexity of this multiplier is <i>m</i><sup>2</sup> ANDs and &le; 2<i><u>m</u></i><sup>2</sup> - 2<i><u>m</u></i> XORs (Azarderakhsh and Masoleh, 2010).  </p>     <p> To implement the digit-level multiplier with a digit-size <i>d</i> = 55 in hardware, that is <i>M</i> = 3 clock cycles, a Matlab code is written to generate the equations of the blocks &rho;<sub>1</sub> and &rho;<sub>2</sub>, which are synthesized using VHDL. </p>     <p> <b>Hardware architecture using the Lopez-Dahab algorithm</b></p>     <p> The scalar multiplication <i>k</i>P for non-supersingular elliptic curves over binary fields using the Lopez-Dahab algorithm is shown in Algorithm 3, which is a modified version of the Montgomery algorithm, where the same operations are performed during each iteration of the main loop (D. Hankerson <i>et al</i>., 2003).</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11a3.jpg"></center></p>     <p> In this case, the scalar multiplication is performed in three steps: 1) conversion of <i>P</i> from affine to projective coordinates; 2) compute <i>Q</i> = <i>kP</i> by addition and doubling; and 3) conversion of <i>Q</i> from projective to affine coordinates.</p>     ]]></body>
<body><![CDATA[<p> To implement the above algorithm in hardware, we initially define three functions: <i>M<sub>add</sub></i>() performs the point addition, <i>M<sub>double</sub></i>() performs the point doubling and <i>M<sub>xy</sub></i>() performs the conversion from projective to affine coordinates. These functions are defined as follows:</p>     <p>    <center> <img src="/img/revistas/iei/v34n2/v34n2a11ep6.jpg"> </center></p>     <p> where, (<i>x</i>, <i>y</i>) and (<i>x</i><sub>3</sub>, <i>y</i><sub>3</sub>) are the coordinates of points <i>P</i> and <i>Q</i> = <i>kP</i>, respectively.</p>     <p> Point addition and point doubling are implemented in hardware using the data dependence graph shown in <a href="#f2">Figure 2</a>, and the conversion from the projective to affine coordinates is implemented using two digit-level multipliers for the data dependence graph shown in <a href="#f3">Figure 3</a>. The inversion operation is implemented using the Itoh-Tsujii algorithm (Itoh and Tsujii, 1998).</p>     <p>    <center><a name="f2"></a><img src="/img/revistas/iei/v34n2/v34n2a11f2.jpg"></center></p>     <p>    <center><a name="f3"></a><img src="/img/revistas/iei/v34n2/v34n2a11f3.jpg"></center></p>     <p> According to Figures <a href="#f2">2</a> and <a href="#f3">3</a>, the latencies for <i>M<sub>add</sub></i> and <i>M<sub>double</sub></i> and the projective to affine conversion are 3<i><u>M</u></i> and 15<i><u>M</u></i><u> </u>+1, respectively, where <i>M</i> is the latency for a finite field multiplication. </p>     ]]></body>
<body><![CDATA[<p> In step 4 of <a href="#f3">Figure 3</a>, two multipliers are used, and one of them with the block of rotation performs the inversion of an element <i>A</i> &isin; GF(2<sup>163</sup>). In this case, the latency of the inversion is 10<i><u>M</u></i> because it needs 10 finite field multiplications for <i>m</i> = 163. In step 6, a multiplier is only used because the last operation of the coordinate conversion requires a multiplication.</p>     <p> The architecture of the cryptoprocessor over GF(2<sup>163</sup>) using the Lopez-Dahab algorithm is shown in <a href="#f4">Figure 4</a>. It uses two register files, two parallel digit-level multipliers, one inversion block, several squaring and adder blocks, a main control and an FSM to perform the point addition, point double and conversion from the projective to affine coordinates.</p>     <p>    <center><a name="f4"></a><img src="/img/revistas/iei/v34n2/v34n2a11f4.jpg"></center></p>     <p>The functional blocks that perform the finite field arithmetic operations over GF(2<sup>163</sup>) for the Lopez-Dahab cryptoprocessor are shown in <a href="#f5">Figure 5</a>. It is important to mention that the performance of any cryptoprocessor depends on the efficient implementation of the hardware for the finite field arithmetic.</p>     <p>    <center><a name="f5"></a><img src="/img/revistas/iei/v34n2/v34n2a11f5.jpg"></center></p>     <p>The main control is an FSM that generates the control signals to perform the scalar multiplication, process the key, initialize the cryptoprocessor and control the I/O registers. The second FSM performs the point addition, point doubling and conversion from the projective to the affine coordinates.</p>     <p> In <a href="#f6">Figure 6</a>, the ASM chart of the main control is shown, where the variables <i>X</i><sub>1</sub>, <i>Z</i><sub>1</sub>, <i>X</i><sub>2</sub> and <i>Z</i><sub>2</sub> are initialized and stored in the register files. Each bit of the scalar <i>k</i> is evaluated from left to right to perform the operations <i>M<sub>add</sub></i> and <i>M<sub>double</sub></i> using the data dependence graph shown in <a href="#f2">Figure 2</a>. If the bit <i>k<sub>i</sub></i> is '1', then <i>M<sub>add</sub></i>(<i>X</i><sub>1</sub>,<i>Z</i><sub>1</sub>,<i>X</i><sub>2</sub>,<i>Z</i><sub>2</sub>), <i>M<sub>double</sub></i>(<i>X</i><sub>2</sub>,<i>Z</i><sub>2</sub>) are computed. Else, <i>M<sub>add</sub></i>(<i>X</i><sub>2</sub>,<i>Z</i><sub>2</sub>,<i>X</i><sub>1</sub>,<i>Z</i><sub>1</sub>), <i>M<sub>double</sub></i>(<i>X</i><sub>1</sub>,<i>Z</i><sub>1</sub>). When all bits of the scalar <i>k </i>are evaluated, the conversion from the projective to affine coordinates is executed using the data dependence graph shown in <a href="#f3">Figure 3</a>, and <i>kP</i> in the affine coordinates is stored in the output register.</p>     <p>    ]]></body>
<body><![CDATA[<center><a name="f6"></a><img src="/img/revistas/iei/v34n2/v34n2a11f6.jpg"></center></p>     <p> Algorithm 3 is more resistant against simple power analysis and timing attacks. This is because the computation cost does not depend on the specific bit of the scalar <i>k</i>. For each bit of the scalar <i>k</i>, one point addition and one point doubling are performed. The proposed scheme has two different execution paths depending on the current bit of the scalar <i>k</i>. Both execution paths have the same complexity and require the same number of clock cycles.</p>     <p> <b>Hardware architecture using the halve-and-add algorithm</b></p>     <p> Schroeppel (Schroeppel, 2000) and Knudsen (Knudsen, 1999) independently proposed the halve-and-add algorithm to accelerate the scalar multiplication on the elliptic curves defined over the binary extension fields. This algorithm uses an elliptic curve primitive called point halving as shown in algorithm 2.</p>     <p> Because, theoretically, the point halving operation is three times faster than the point doubling operation, it is possible to accelerate the scalar multiplication <i>Q</i> = <i>kP</i> by replacing the double-and-add algorithm with the halve-and-add algorithm, which uses an expansion of the scalar <i>k</i> in terms of negative powers of 2 (Mercurio <i>et al</i>., 2006).</p>     <p> In the halve-and-add algorithm, it is necessary to transform the integer <i>k</i> = (<i>km</i>-1,...,<i>k</i>0)2. If <i>k</i>&acute; is defined by</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e28.jpg"></center></p>     <p> where <i>n</i> represents the order of the base point <i>P</i>, then</p>     <p>    ]]></body>
<body><![CDATA[<center><img src="/img/revistas/iei/v34n2/v34n2a11e29.jpg"></center></p>     <p> Equation (29) can be generalized to a window-NAF. The NAF<i><sub>w</sub></i> of a positive integer <i>k</i> and <i>w</i> &ge; 2 is represented by the expression <img src="/img/revistas/iei/v34n2/v34n2a11ep7.jpg" align="absmiddle">, where each nonzero coefficient <i>k<sub>i</sub></i> is odd and at most, one of any <i>w</i> consecutive digits is nonzero. In this case, the NAF<i><sub>w</sub></i> of <i>k</i> can be computed using algorithm 4.</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11a4.jpg"></center></p>     <p> In this work, a Maple code is written to obtain the expansion coefficients NAF<i><sub>w</sub></i> with<i> w</i> = 2, namely, the coefficients NAF<i><sub>w</sub></i>(2<sup><i>&tau;</i>-1</sup> <i>k</i> mod <i>n</i>), which are represented by 2-bits.</p>     <p> The halve-and-add algorithm is shown in algorithm 5. Step 3 of the algorithm performs the point addition <i>Q<sub>i</sub></i> + <i>P </i>in the Lopez-Dahab mixed coordinates(<i>Q<sub>i</sub></i> and <i>P</i> are represented in LD projective and affine coordinates, respectively) using equation (14) and the halving point <i>P/2 </i>in the affine coordinates or &lambda;-representation, if bit <i>k<sub>i</sub></i>&acute; &ne; 0; else, compute point halving. In this case, it is important to mention that if the results of the first two operations <i>A</i> and <i>B</i> of equation (19) are equal to zero, the point doubling 2<i>P</i> is performed in the LD projective coordinates using equation (18) with <i>X</i><sub>1</sub> = <i>x</i><sub>2</sub>, <i>Y</i><sub>1</sub> = <i>y</i><sub>2</sub> and <i>Z</i><sub>1</sub> = 1.</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11a5.jpg"></center></p>     <p> The point addition in the LD mixed coordinates and the point doubling in the LD projective coordinates are implemented in hardware using the data dependence graphs shown in <a href="#f7">Figure 7</a> and <a href="#f8">Figure 8</a>, respectively. According to Figures <a href="#f7">7</a> and <a href="#f8">8</a>, the latencies for the point addition and point doubling are 5M and M + 3, respectively. </p>     <p>    ]]></body>
<body><![CDATA[<center><a name="f7"></a><img src="/img/revistas/iei/v34n2/v34n2a11f7.jpg"></center></p>     <p>    <center><a name="f8"></a><img src="/img/revistas/iei/v34n2/v34n2a11f8.jpg"></center></p>     <p> The architecture of the cryptoprocessor over GF(2<sup>163</sup>) using the halve-and-add algorithm is shown in <a href="#f9">Figure 9</a>, and it uses two register files, two digit-level finite multipliers, one solving quadratic equation block, one point halving block, several squaring and adder blocks, a main control and an FSM to perform the point addition, point doubling and point halving.</p>     <p>    <center><a name="f9"></a><img src="/img/revistas/iei/v34n2/v34n2a11f9.jpg"></center></p>     <p> The functional blocks that perform the finite field arithmetic operations over GF(2<sup>163</sup>) for the halve-and-add cryptoprocessor are shown in <a href="#f10">Figure 10</a>. In this case, finite field arithmetic operations are the addition, squarer, square root, trace, half trace (quadratic equation solving in a normal basis) and multiplication.</p>     <p>    <center><a name="f10"></a><img src="/img/revistas/iei/v34n2/v34n2a11f10.jpg"></center></p>     <p> The main control is an FSM that generates the control signals to perform the scalar multiplication, process the key, initialize the cryptoprocessor and control the I/O registers. The second FSM performs the point addition, point doubling and point halving. </p>     ]]></body>
<body><![CDATA[<p> In <a href="#f11">Figure 11</a>, the ASM chart of the main control is shown, where the sequence processing is as follows: initialize coordinate<i> Q</i> according to the sign of the bit <i>k'<sub>t-1</sub></i>; perform the point halving operation on <i>P</i>; evaluate the bit <i>k'<sub>i</sub></i> for <i>i</i> &gt; <i>t</i>-1; compute the point addition in the LD mixed coordinates and point halving on P if  <i>k'<sub>i</sub></i> &ne; 0, else compute point halving; and perform the conversion of the point <i>P</i> in the &lambda;-representation to the affine coordinates only when a point addition is required. Finally, <i>Q = kP</i> is obtained in the LD projective coordinates.</p>     <p>    <center><a name="f11"></a><img src="/img/revistas/iei/v34n2/v34n2a11f11.jpg"></center></p>     <p> </p>     <p> Algorithm 7 performs the<b> </b>rounding of a complex number &lambda;<sub>0</sub> + &lambda;<sub>1</sub>&tau; with &lambda;<sub>0</sub> and &lambda;<sub>1</sub> &isin; <img src="/img/revistas/iei/v34n2/v34n2a11ep8.jpg" align="absmiddle"> to obtain an element <img src="/img/revistas/iei/v34n2/v34n2a11ep9.jpg" align="absmiddle">. </p>     <p> <b>Hardware architecture using the w-&tau;NAF algorithm</b></p>     <p> The length of the <i>&tau;</i>-<i>adic</i> representation for <img src="/img/revistas/iei/v34n2/v34n2a11ep10.jpg" align="absmiddle"> is roughly twice <i>log</i><sub>2</sub>(max(<i>d</i><sub>0</sub>, <i>d</i><sub>1</sub>)). Solinas (Solinas, 2000) presents a method that reduces the length of the <i>&tau;</i>-adic representation. The objective is to find <img src="/img/revistas/iei/v34n2/v34n2a11ep11.jpg" align="absmiddle"> of small norm with &rho; &equiv; <i>k</i> (mod &delta;), where &delta; = (&tau;<i><sup>m</sup></i> - 1)/(&tau; - 1), and use &tau;NAF(&rho;) to calculate &rho;P. </p>     <p> Algorithm 6 calculates an element &rho;' &equiv; <i>k</i> (mod &delta;), which is also written as &rho;' &equiv; <i>k</i> partmod &delta;. Solinas proved that <i>l</i>(&rho;) &le; <i>m</i> + <i>a</i> and if C &ge; 2, then <i>l</i>(&rho;&acute;) &le; <i>m</i> + <i>a</i> + 3.</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11a6y7.jpg"></center></p>     ]]></body>
<body><![CDATA[<p>Let <i>w</i> &ge; 2 be a positive integer, and &alpha;<sub>i</sub> = <i>i</i> mod &tau;<i><sup>w</sup></i> for <i>i</i> &isin; {1, 3, 5,..., 2<sup><i>w</i>-1</sup>-1}. A <i>w</i>-&tau;NAF expansion of an nonzero element &kappa; &isin; Z&#91;t&#93; is an expression:</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11e30.jpg"></center></p>     <p> where <i>u</i><sub>i</sub> &isin; {0, &plusmn;&alpha;<sub>1</sub>, &plusmn;&alpha;<sub>3</sub>,..., &plusmn;&alpha;2<sup><i>w</i>-1</sup>-1}, <i>u</i><sup><i>l</i>-1</sup> &ne; 0 and at most, one of any <i>w</i> consecutive digits is nonzero. Then, <i>kP</i> = &alpha;<sub>u0</sub><i>P</i> + &tau;&alpha;<sub>u1</sub><i>P</i> + ... + &tau;<sup>l-1</sup>&alpha;<sub><i>l</i>-1</sub><i>P</i>, when the scalar <i>k</i> is represented in <i>w</i>-&tau;NAF.</p>     <p> The <i>w</i>-&tau;NAF expansion can be efficiently computed using algorithm 8, which can be viewed as an approach similar to the general NAF algorithm. In this work, a Maple code is written to obtain the expansion <i>w</i>-&tau;NAF of the scalar <i>k</i> with <i>w</i> = 2, 4 and 8, generating 8-bit expansion coefficients and <i>w</i> = 16, generating 16-bit expansion coefficients.</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11a8.jpg"></center></p>     <p> Solinas proposed algorithms to compute kP using the window &tau;NAF method for the scalar k, namely, kP is calculated using the w-&tau;NAF method and Horner's rule (Solinas, 2000). An efficient scalar multiplication algorithm that uses the w-&tau;NAF method is presented in algorithm 9, where step 1 calculates the w-&tau;NAF of the scalar k with the partial reduction modulo &delta; = (&tau;<i><sup>m</sup></i> - 1)/(&tau; - 1), namely, w-&tau;NAF(&rho; &equiv; <i>k</i> mod (&delta;)), where &rho; &equiv; <i>k</i> mod (&delta;) is obtained from algorithms 6 and 7; step 2 generates the multiples of the point <i>P</i> and step 4.2 performs the point addition <i>Q</i> + <i>P<sub>u</sub></i>, when the bit <i>u<sub>i</sub></i> &ne; 0, and point doubling 2<i>Q</i>, when the results of the two first operations <i>A</i> and <i>B</i> of equation (19) are equal to zero.</p>     <p>    <center><img src="/img/revistas/iei/v34n2/v34n2a11a9.jpg"></center></p>     ]]></body>
<body><![CDATA[<p> The point addition in the LD mixed coordinates and the point doubling in the LD projective coordinates with <i>b</i> = 1 are implemented in hardware using the data dependence graphs shown in <a href="#f7">Figure 7</a> and <a href="#f8">Figure 8</a>, respectively.</p>     <p> The architecture of the cryptoprocessor over GF(2<sup>163</sup>) using the <i>w</i>-&tau;NAF algorithm for Koblitz curves is shown in <a href="#f12">Figure 12</a>, and it uses two register files, two digit-level finite multipliers, one Frobenius map block, one RAM that stores the expansion coefficients <i>w</i>-&tau;NAF of the scalar <i>k</i>, two ROMs that store the pre-computed points <i>Pu</i> in the affine coordinates, which were obtained from Matlab for <i>w</i> = 2, 4, 8 and 16, several squaring and adder blocks, a main control and an FSM to perform the point addition, point doubling and t<i>Q</i>.</p>     <p>    <center><a name="f12"></a><img src="/img/revistas/iei/v34n2/v34n2a11f12.jpg"></center></p>     <p> The functional blocks that perform the finite field arithmetic operations over GF(2<sup>163</sup>) for the w-&tau;NAF cryptoprocessor for Koblitz curves are shown in <a href="#f13">Figure 13</a>.</p>     <p>    <center><a name="f13"></a><img src="/img/revistas/iei/v34n2/v34n2a11f13.jpg"></center></p>     <p> The main control is an FSM that generates the control signals to perform the scalar multiplication, process the key, initialize the cryptoprocessor and control the I/O registers. The second FSM performs the point addition, point doubling and t<i>Q</i>.</p>     <p> In <a href="#f14">Figure 14</a>, the ASM chart of the main control is shown, where the sequence processing is as follows: initialize the <i>Q</i> coordinate according to the sign of the bit <i>u<sub>i</sub></i> of the <i>w</i>-&tau;NAF expansion; evaluate the bits <i>u<sub>i</sub></i> for <i>i</i> &gt; <i>&tau;</i>-1; and compute the point addition in the LD mixed coordinates and the Frobenius map &tau; on <i>Q</i>, if <i>u<sub>i</sub></i> &ne; 0. Else, compute t<i>Q</i>. Finally, <i>Q = kP</i> is obtained in the LD projective coordinates. In <a href="#f14">Figure 14</a>, the ASM of the FSM is shown. One important remark is that the Koblitz curves are resistant to simple power analysis and to all the known special attacks (T. Juhas, 2007).</p>     <p>    ]]></body>
<body><![CDATA[<center><a name="f14"></a><img src="/img/revistas/iei/v34n2/v34n2a11f14.jpg"></center></p>     <p> <font size="3"><b>Hardware verification and synthesis  results</b></font></p>     <p> The L&oacute;pez-Dahab, halve-and-add and <i>w</i>-&tau;NAF cryptoprocessors are described using generic structural VHDL, are synthesized for a digit-size of <i>d</i> = 55 on the Stratix-IV FPGA (EP4SGX180HF35C2) using the Altera Quartus II version 12 design software for the implementation and are verified using SignalTap II and Matlab.</p>     <p> <b>Hardware verification of the cryptoprocessors</b></p>     <p> To verify the synthesis and simulation results of the cryptoprocessors, the following parameters for a pseudo-random elliptic curve are used according to the National Institute of Standards and Technology (NIST, 2000):</p>     <p> 1. Random elliptic curves B-163:     <br>  The form of the curve is: <i>y</i>2 + <i>xy</i> = <i>x</i>3 + <i>x</i> + b     <br>  Gx = 3F0EBA16286A2D57EA0991168D4994637E8343E36    <br>  Gy = 0D51FBC6C71A0094FA2CDD545B11C5C0C7973244F1      <br>  b = 20A601907B8C953CA1481EB10512F78744A3205FD</p>     ]]></body>
<body><![CDATA[<p>2. Koblitz elliptic curves K-163    <br>  The form of the curve is: <i>y</i>2 + <i>xy</i> = <i>x</i>3 + <i>x</i> + 1    <br>  Gx = 2FE13C0537BBC11ACAA07D793DE4E6D5E5C94EEE8    <br>  Gy = 289070FB05D38FF58321F2E800536D538CCDAA3D9      <br>  n = 4000000000000000000020108A2E0CC0D99F8A5EF    <br>        <br>  In Figures <a href="#f15">15</a> through <a href="#f17">17</a>, the simulation results for the cryptoprocessors over GF(2<sup>163</sup>) in a GNB using SignalTAP II and Matlab are shown.</p>     <p>    <center><a name="f15"></a><img src="/img/revistas/iei/v34n2/v34n2a11f15.jpg"></center></p>     <p>    ]]></body>
<body><![CDATA[<center><a name="f16"></a><img src="/img/revistas/iei/v34n2/v34n2a11f16.jpg"></center></p>     <p>    <center><a name="f17"></a><img src="/img/revistas/iei/v34n2/v34n2a11f17.jpg"></center></p>     <p> From Figures <a href="#f15">15</a> through <a href="#f17">17</a>, we can see that the results obtained from Matlab are the same as the results from SignalTAP II. Then, the hardware results verify the correct functionality of the designed cryptoprocessors.</p>     <p> <b>Synthesis results for the cryptoprocessors</b></p>     <p> The synthesis results of the cryptoprocessors over GF(2<sup>163</sup>) are shown in <a href="#t1">Table 1</a>. Additionally, some of the data presented in Table I are plotted in <a href="#f18">Figure 18</a>.</p>     <p>    <center><a name="t1"></a><img src="/img/revistas/iei/v34n2/v34n2a11t1.jpg"></center></p>     <p>    <center><a name="f18"></a><img src="/img/revistas/iei/v34n2/v34n2a11f18.jpg"></center></p>     ]]></body>
<body><![CDATA[<p>From <a href="#f18">Figure 18</a>, we can see that the <i>w</i>-&tau;NAF cryptoprocessor with <i>w</i> = 16 performs the scalar multiplication at a faster time (5.05   ms), and the halve-and-add processor with <i>w</i> = 2 uses fewer area resources than the other processors.</p>     <p> <b>Comparison of the results with other works</b></p>     <p> To compare the performance of the designed cryptoprocessors with respect to the cryptoprocessors presented in the literature, <a href="#t2">Table 2</a> shows several design parameters and processing times, such as area resources, frequency, kP time and time-area product. However, it is important to mention that performing a fair comparison in hardware design is very difficult because there are other technical considerations, including the technologies, hardware platforms, software tools, scalar multiplication algorithms, finite field representations, and size of the fields.</p>     <p>    <center><a name="t2"></a><img src="/img/revistas/iei/v34n2/v34n2a11t2.jpg"></center></p>     <p> From <a href="#t2">Table 2</a>, it is possible to observe that the GF(2<sup>163</sup>) cryptoprocessor presented in Mahadizadeh et al (2013) requires less time to perform the scalar multiplication than our processor based on the Lopez-Dahab algorithm because the first processor uses three digit-level multipliers, and our design uses two digit-level multipliers, and the latency to compute Madd and Mdouble is 3<u>M</u>. However, the first processor requires more area than our processor. Mercurio et al (2006) computes kP by using the half-and-add algorithm, m=163, polynomial bases representation and one parallel multiplier. Our processor requires more area than the mentioned processor because it uses two digit-level multipliers, but our design requires less time to perform the scalar multiplication, and the latency to compute the point addition is 5<u>M</u>. Finally, our processor is based on the Koblitz curves and has a higher performance (area and time) than the processor presented in Azarderakhsh (2013) because our design has a latency of 5<u>M</u> to compute the point addition, and it uses two digit-level multipliers and a window method that allows us to reduce the amount of point addition operations.</p>     <p> From <a href="#t2">Table 2</a>, it is possible to observe that the GF(2<sup>163</sup>) cryptoprocessor presented in Mahadizadeh et al (2013) requires less time to perform the scalar multiplication than our processor based on the Lopez-Dahab algorithm because the first processor uses three digit-level multipliers, and our design uses two digit-level multipliers, and the latency to compute Madd and Mdouble is 3<u>M</u>. However, the first processor requires more area than our processor. Mercurio et al (2006) computes kP by using the half-and-add algorithm, m=163, polynomial bases representation and one parallel multiplier. Our processor requires more area than the mentioned processor because it uses two digit-level multipliers, but our design requires less time to perform the scalar multiplication, and the latency to compute the point addition is 5<u>M</u>. Finally,  our processor is based on the Koblitz curves and has a higher performance (area and time) than the processor presented in Azarderakhsh (2013) because our design has a latency of 5<u>M</u> to compute the point addition, and it uses two digit-level multipliers and a window method that allows us to reduce the amount of point addition operations. </p>     <p> <font size="3"><b>Conclusions</b></font></p>     <p> This work presents the design of elliptic curve cryptoprocessors to compute the scalar multiplication over GF(2<sup>163</sup>) using the GNB. The Lopez-Dahab, halve-and-add and <i>w</i>?&tau;NAF algorithms are used to design the cryptoprocessors, which are described using generic structural VHDL, synthesized on the Stratix IV FPGA (EP4SGX180HF35C2).</p>     <p> Considering the hardware verification results, the 16-&tau;NAF cryptoprocessor performs the scalar multiplication in less time (5.05 ms), and the 2-NAF halve-and-add cryptoprocessor uses fewer area resources than the other processors, in this case, 22670 ALUTs. All the cryptoprocessors use roughly 17% of the ALUTs of the FPGA.</p>     ]]></body>
<body><![CDATA[<p> Additionally, it is important to mention that the algorithms are synthetized on the same hardware platform using Quartus II, are simulated in Modelsim, and are verified using SignalTAP and Matlab; the cryptoprocessors use two digit-level finite field multipliers over GF(2<sup>163</sup>) in the GNB; the expansion coefficients for the private key <i>k</i> are obtained using the software Maple; and the FSMs use a data dependence graph to perform <i>k</i>P to achieve the minimal states.</p>     <p> Future work will be oriented to increase the performance of the designed cryptoprocessors and the hardware implementation of the GF(2233) processors. Additionally, new cryptoprocessors will be designed based on elliptic curves that are not included in the National Institute of Standards and Technology (NIST), such as the Hessian and Edwards curves that perform the scalar multiplication kP. </p> <hr>     <p><font size="3"><b>References</b></font> </p>     <!-- ref --><p>Amara, M., &amp; Siad, A. (2011). Hardware implementation of arithmetic for elliptic curve cryptosystems over GF(2&#094;m). In <i>World Congress on Internet Security (WorldCIS)</i> (pp. 73-78). London: IEEE.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000266&pid=S0120-5609201400020001100001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Azarderakhsh, R., &amp; Masoleh, R. (2010). <i>A Modified Low Complexity Digit-Level Gaussian Normal Basis Multiplier. Arithmetic of Finite Fields</i> (pp. 25-40). Turkey: Springer.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000268&pid=S0120-5609201400020001100002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Azarderakhsh, R., &amp; Masoleh, R. (2013). High-performance implementation of point multiplication on Koblitz Curves. <i>IEEE Transactions on Circuits and Systems</i>, <i>60</i>(1), 41 - 45.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000270&pid=S0120-5609201400020001100003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Chester, R., &amp; Mukhopadhyay, D. (2008). <i>Progress in Cryptology - INDOCRYPT 2008</i>. Kharagpur: Springer.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000272&pid=S0120-5609201400020001100004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Cui, X.-N., &amp; Yang, J. (2012). An FPGA based processor for Elliptic Curve Cryptography. In <i>International Conference on Computer Science and Information Processing (CSIP)</i> (pp. 343-349). Shaanxi: IEEE.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000274&pid=S0120-5609201400020001100005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Ghanmy, N., Khlif, N., Fourati, L., &amp; Kamoun, L. (2012). Hardware implementation of elliptic curve digital signature algorithm ECDSA on Koblitz curves. In <i>International Symposium on Communication Systems, Networks &amp; Digital Signal Processing (CSNDSP)</i> (pp. 1 - 6). Poznan: IEEE.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000276&pid=S0120-5609201400020001100006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Hankerson, D., Menezes, A., &amp; Vanstone, S. (2004). <i>Guide to Elliptic Curve Cryptography</i>. Springer.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000278&pid=S0120-5609201400020001100007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Huang, T., Chang, C., Chiou, C., &amp; Tan, S. (2011). Non-XOR approach for low-cost bit-parallel polynomial basis multiplier over   GF(2&#094;m). <i>Information Security, IET</i>, <i>5</i>(3) 152-162.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000280&pid=S0120-5609201400020001100008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> IEEE std 1363. (2000). <i>1363-2000 IEEE Standard Specifications for Public-Key Cryptography</i>. IEEE Computer Society.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000282&pid=S0120-5609201400020001100009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Itoh, T., &amp; Tsujii, S. (1988). A fast algorithm for computing multiplicative inverses in GF(2&#094;m) using normal bases. <i>Information and Computation</i>, <i>78</i>(3), 171-177.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000284&pid=S0120-5609201400020001100010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Jeevananthan, S., &amp; Muthukumar, B. (2010). High speed hardware implementation of an elliptic curve cryptography (ECC) co-processor. In Trendz in Information Sciences &amp; Computing (TISC) (pp. 176-180). Chennai: IEEE.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000286&pid=S0120-5609201400020001100011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Johnson, D., Menezes, A., &amp; Vastone, S. (2001). The Elliptic Curve Digital Signature Algorithm (ECDSA). <i>International Journal of Information Security</i>, <i>1</i>(1), 36-63.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000288&pid=S0120-5609201400020001100012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Juhas, T. (2007). <i>The Use of Elliptic Curves in Cryptography</i>. Retrieved from: <a href="http://munin.uit.no/bitstream/handle/10037/1091/thesis.pdf?sequence=5" target="_blank">http://munin.uit.no/bitstream/handle/10037/1091/thesis.pdf?sequence=5</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000290&pid=S0120-5609201400020001100013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> Knudsen, W. (1999). <i>Elliptic Scalar Multiplication Using Point Halving. Advances in Cryptology - ASIACRYPT</i> (pp. 135-149). Berlin: Springer.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000291&pid=S0120-5609201400020001100014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     ]]></body>
<body><![CDATA[<!-- ref --><p> Koblitz, N. (1987). Elliptic curve cryptosystems. <i>Mathematics of computation</i>, <i>48</i>(1987), 203-209.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000293&pid=S0120-5609201400020001100015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Lai, J.-Y., Hung, T.-Y., Yang, K.-H., &amp; Huang, C.-T. (2010). <i>Proceedings of IEEE International Symposium on Circuits and Systems (ISCAS)</i> (pp. 3933 - 3936). Paris: IEEE.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000295&pid=S0120-5609201400020001100016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Lee, C., &amp; Chiou, C. (2012). Scalable Gaussian Normal Basis Multipliers over GF(2&#094;m) Using Hankel Matrix-Vector Representation. <i>Journal of Signal Processing Systems</i>, <i>69</i>(2), 197-211.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000297&pid=S0120-5609201400020001100017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Lopez, J., &amp; Dahab, R. (1999). Fast Multiplication on Elliptic Curves Over GF(2&#094;m) without precomputation. <i>Cryptographic Hardware and Embedded Systems</i>, <i>1717</i>, 316-327.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000299&pid=S0120-5609201400020001100018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Mahdizadeh, H., &amp; Masoumi, M. (2013). Novel Architecture for efficient FPGA implementation of elliptic curve cryptographic processor over GF(2&#094;163). <i>IEEE transactions on very large scale integration (VLSI) systems</i>, <i>21</i>(12), 1-4.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000301&pid=S0120-5609201400020001100019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     ]]></body>
<body><![CDATA[<!-- ref --><p> Malik, M. (2010). Efficient implementation of Elliptic Curve Cryptography using low-power Digital Signal Processor. In International Conference on Advanced Communication Technology (ICACT) (pp. 1464-1468). Phoenix Park: IEEE.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000303&pid=S0120-5609201400020001100020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Masoleh, R. (2006). Efficient algorithms and architectures for field multiplication using Gaussian normal basis. <i>IEEE Transactions on Computers</i>, <i>55</i>(1), 34-47.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000305&pid=S0120-5609201400020001100021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Mercurio, S., &amp; Rodriguez, F. (2006). <i>Elliptic Curve Scalar Multiplication using Point Halving on Reconfigurable Hardware Platforms</i> (pp. 1-5). Mexico: CiteSeerX.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000307&pid=S0120-5609201400020001100022&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Miller, V. (1986). Advances in Cryptology. In <i>CRYPTO '85 Proceedings</i>. Santa Barbara: Springer.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000309&pid=S0120-5609201400020001100023&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Morales, S., Uribe, F., &amp; Badillo, A. (2011). A reconfigurable GF(2&#094;m) elliptic curve cryptographic coprocessor. In <i>Southern Conference on Programmable Logic (SPL)</i> (pp. 209 - 214). Cordoba: IEEE.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000311&pid=S0120-5609201400020001100024&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     ]]></body>
<body><![CDATA[<!-- ref --><p> NIST. (2013). <i>Digital Signature Standard</i>. Gaithersburg: Federal Information Processing Standards.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000313&pid=S0120-5609201400020001100025&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Rahuman, A., &amp; Athisha, G. (2010). Reconfigurable architecture for elliptic curve cryptography. In <i>International Conference on Communication and Computational Intelligence (INCOCCI)</i> (pp. 461-466). Erode: IEEE.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000315&pid=S0120-5609201400020001100026&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Schroeppel, R. (2000). United States Patent No. EP1232602.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000317&pid=S0120-5609201400020001100027&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>     <!-- ref --><p> Solinas, J. (2000). Efficient Arithmetic on Koblitz Curves. <i>Designs, Codes and Cryptography</i>, <i>19</i>(2-3), 195-249.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000319&pid=S0120-5609201400020001100028&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     <!-- ref --><p> Trujillo, V., &amp; Velasco, J. (2010). Hardware Architectures for Elliptic Curve Cryptoprocessors Using Polynomial and Gaussian Normal Basis over GF(2&#094;233). <i>Lecture Notes in Computer Science</i>, <i>6480</i>, 79-103.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000321&pid=S0120-5609201400020001100029&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>     ]]></body>
<body><![CDATA[<!-- ref --><p> Wang, Z., &amp; Fan, S. (2012). Efficient Montgomery-Based Semi-Systolic Multiplier for Even-Type GNB of GF(2&#094;m). <i>IEEE Transactions on Computers</i>, <i>61</i>(3), 415-419.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000323&pid=S0120-5609201400020001100030&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p> </font>      ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Amara]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Siad]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Hardware implementation of arithmetic for elliptic curve cryptosystems over GF(2&#094;m)]]></article-title>
<source><![CDATA[World Congress on Internet Security (WorldCIS)]]></source>
<year>2011</year>
<page-range>73-78</page-range><publisher-loc><![CDATA[London ]]></publisher-loc>
<publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Azarderakhsh]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Masoleh]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[A Modified Low Complexity Digit-Level Gaussian Normal Basis Multiplier: Arithmetic of Finite Fields]]></source>
<year>2010</year>
<page-range>25-40</page-range><publisher-loc><![CDATA[Turkey ]]></publisher-loc>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Azarderakhsh]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Masoleh]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[High-performance implementation of point multiplication on Koblitz Curves]]></article-title>
<source><![CDATA[IEEE Transactions on Circuits and Systems]]></source>
<year>2013</year>
<volume>60</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>41 - 45</page-range></nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chester]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Mukhopadhyay]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Progress in Cryptology: INDOCRYPT 2008]]></source>
<year>2008</year>
<publisher-loc><![CDATA[Kharagpur ]]></publisher-loc>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cui]]></surname>
<given-names><![CDATA[X.-N]]></given-names>
</name>
<name>
<surname><![CDATA[Yang]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An FPGA based processor for Elliptic Curve Cryptography]]></article-title>
<source><![CDATA[]]></source>
<year>2012</year>
<conf-name><![CDATA[ International Conference on Computer Science and Information Processing (CSIP)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>343-349</page-range><publisher-loc><![CDATA[Shaanxi ]]></publisher-loc>
<publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ghanmy]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[Khlif]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[Fourati]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Kamoun]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Hardware implementation of elliptic curve digital signature algorithm ECDSA on Koblitz curves]]></article-title>
<source><![CDATA[]]></source>
<year>2012</year>
<conf-name><![CDATA[ International Symposium on Communication Systems, Networks & Digital Signal Processing (CSNDSP)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>1 - 6</page-range><publisher-loc><![CDATA[Poznan ]]></publisher-loc>
<publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hankerson]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Menezes]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Vanstone]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Guide to Elliptic Curve Cryptography]]></source>
<year>2004</year>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Huang]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Chang]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Chiou]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Tan]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Non-XOR approach for low-cost bit-parallel polynomial basis multiplier over GF(2&#094;m)]]></article-title>
<source><![CDATA[Information Security, IET]]></source>
<year>2011</year>
<volume>5</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>152-162</page-range></nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="book">
<article-title xml:lang="en"><![CDATA[IEEE std 1363]]></article-title>
<source><![CDATA[1363-2000 IEEE Standard Specifications for Public-Key Cryptography]]></source>
<year>2000</year>
<publisher-name><![CDATA[IEEE Computer Society]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Itoh]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Tsujii]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A fast algorithm for computing multiplicative inverses in GF(2&#094;m) using normal bases]]></article-title>
<source><![CDATA[Information and Computation]]></source>
<year>1988</year>
<volume>78</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>171-177</page-range></nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jeevananthan]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Muthukumar]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[High speed hardware implementation of an elliptic curve cryptography (ECC) co-processor]]></article-title>
<source><![CDATA[Trendz in Information Sciences & Computing (TISC)]]></source>
<year>2010</year>
<page-range>176-180</page-range><publisher-loc><![CDATA[Chennai ]]></publisher-loc>
<publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Johnson]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Menezes]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Vastone]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The Elliptic Curve Digital Signature Algorithm (ECDSA)]]></article-title>
<source><![CDATA[International Journal of Information Security]]></source>
<year>2001</year>
<volume>1</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>36-63</page-range></nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Juhas]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[The Use of Elliptic Curves in Cryptography]]></source>
<year>2007</year>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Knudsen]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Elliptic Scalar Multiplication Using Point Halving]]></article-title>
<source><![CDATA[]]></source>
<year>1999</year>
<conf-name><![CDATA[ Advances in Cryptology - ASIACRYPT]]></conf-name>
<conf-loc> </conf-loc>
<page-range>135-149</page-range><publisher-loc><![CDATA[Berlin ]]></publisher-loc>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Koblitz]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Elliptic curve cryptosystems]]></article-title>
<source><![CDATA[Mathematics of computation]]></source>
<year>1987</year>
<volume>48</volume>
<numero>1987</numero>
<issue>1987</issue>
<page-range>203-209</page-range></nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lai]]></surname>
<given-names><![CDATA[J.-Y]]></given-names>
</name>
<name>
<surname><![CDATA[Hung]]></surname>
<given-names><![CDATA[T.-Y]]></given-names>
</name>
<name>
<surname><![CDATA[Yang]]></surname>
<given-names><![CDATA[K.-H]]></given-names>
</name>
<name>
<surname><![CDATA[Huang]]></surname>
<given-names><![CDATA[C.-T]]></given-names>
</name>
</person-group>
<source><![CDATA[Proceedings of IEEE International Symposium on Circuits and Systems (ISCAS)]]></source>
<year>2010</year>
<page-range>3933 - 3936</page-range><publisher-loc><![CDATA[Paris ]]></publisher-loc>
<publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lee]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Chiou]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Scalable Gaussian Normal Basis Multipliers over GF(2&#094;m) Using Hankel Matrix-Vector Representation]]></article-title>
<source><![CDATA[Journal of Signal Processing Systems]]></source>
<year>2012</year>
<volume>69</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>197-211</page-range></nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lopez]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Dahab]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Fast Multiplication on Elliptic Curves Over GF(2&#094;m) without precomputation]]></article-title>
<source><![CDATA[Cryptographic Hardware and Embedded Systems]]></source>
<year>1999</year>
<volume>1717</volume>
<page-range>316-327</page-range></nlm-citation>
</ref>
<ref id="B19">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Mahdizadeh]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[Masoumi]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Novel Architecture for efficient FPGA implementation of elliptic curve cryptographic processor over GF(2&#094;163)]]></article-title>
<source><![CDATA[IEEE transactions on very large scale integration (VLSI) systems]]></source>
<year>2013</year>
<volume>21</volume>
<numero>12</numero>
<issue>12</issue>
<page-range>1-4</page-range></nlm-citation>
</ref>
<ref id="B20">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Malik]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Efficient implementation of Elliptic Curve Cryptography using low-power Digital Signal Processor]]></article-title>
<source><![CDATA[]]></source>
<year>2010</year>
<conf-name><![CDATA[ International Conference on Advanced Communication Technology (ICACT)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>1464-1468</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B21">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Masoleh]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Efficient algorithms and architectures for field multiplication using Gaussian normal basis]]></article-title>
<source><![CDATA[IEEE Transactions on Computers]]></source>
<year>2006</year>
<volume>55</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>34-47</page-range></nlm-citation>
</ref>
<ref id="B22">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Mercurio]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Rodriguez]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[Elliptic Curve Scalar Multiplication using Point Halving on Reconfigurable Hardware Platforms]]></source>
<year>2006</year>
<page-range>1-5</page-range><publisher-name><![CDATA[CiteSeerX]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B23">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Miller]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Advances in Cryptology]]></article-title>
<source><![CDATA[Proceedings]]></source>
<year>1986</year>
<conf-name><![CDATA[ CRYPTO '85]]></conf-name>
<conf-loc> </conf-loc>
<publisher-loc><![CDATA[Santa Barbara ]]></publisher-loc>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B24">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Morales]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Uribe]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Badillo]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A reconfigurable GF(2&#094;m) elliptic curve cryptographic coprocessor]]></article-title>
<source><![CDATA[]]></source>
<year>2011</year>
<conf-name><![CDATA[ Southern Conference on Programmable Logic (SPL)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>209 - 214</page-range><publisher-loc><![CDATA[Cordoba ]]></publisher-loc>
<publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B25">
<nlm-citation citation-type="book">
<collab>NIST</collab>
<source><![CDATA[Digital Signature Standard]]></source>
<year>2013</year>
<publisher-loc><![CDATA[Gaithersburg ]]></publisher-loc>
<publisher-name><![CDATA[Federal Information Processing Standards]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B26">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rahuman]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Athisha]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Reconfigurable architecture for elliptic curve cryptography]]></article-title>
<source><![CDATA[]]></source>
<year>2010</year>
<conf-name><![CDATA[ International Conference on Communication and Computational Intelligence (INCOCCI)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>461-466</page-range><publisher-loc><![CDATA[Erode ]]></publisher-loc>
<publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B27">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Schroeppel]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[United States Patent No. EP1232602]]></source>
<year>2000</year>
</nlm-citation>
</ref>
<ref id="B28">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Solinas]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Efficient Arithmetic on Koblitz Curves]]></article-title>
<source><![CDATA[Designs, Codes and Cryptography]]></source>
<year>2000</year>
<volume>19</volume>
<numero>2-3</numero>
<issue>2-3</issue>
<page-range>195-249</page-range></nlm-citation>
</ref>
<ref id="B29">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Trujillo]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
<name>
<surname><![CDATA[Velasco]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Hardware Architectures for Elliptic Curve Cryptoprocessors Using Polynomial and Gaussian Normal Basis over GF(2&#094;233)]]></article-title>
<source><![CDATA[Lecture Notes in Computer Science]]></source>
<year>2010</year>
<volume>6480</volume>
<page-range>79-103</page-range></nlm-citation>
</ref>
<ref id="B30">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
<name>
<surname><![CDATA[Fan]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Efficient Montgomery-Based Semi-Systolic Multiplier for Even-Type GNB of GF(2&#094;m)]]></article-title>
<source><![CDATA[IEEE Transactions on Computers]]></source>
<year>2012</year>
<volume>61</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>415-419</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
