<?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>0012-7353</journal-id>
<journal-title><![CDATA[DYNA]]></journal-title>
<abbrev-journal-title><![CDATA[Dyna rev.fac.nac.minas]]></abbrev-journal-title>
<issn>0012-7353</issn>
<publisher>
<publisher-name><![CDATA[Universidad Nacional de Colombia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0012-73532016000400004</article-id>
<article-id pub-id-type="doi">10.15446/dyna.v83n198.55251</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[FPGA implementation of the AES-128 algorithm in non-feedback modes of operation]]></article-title>
<article-title xml:lang="es"><![CDATA[Implementación en FPGA del algoritmo AES-128 en modos de operación no realimentados]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Guzmán]]></surname>
<given-names><![CDATA[Ian Carlo]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Nieto]]></surname>
<given-names><![CDATA[Rubén Darío]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Bernal]]></surname>
<given-names><![CDATA[Álvaro]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad del Valle Escuela de Ingeniería Eléctrica y Electrónica ]]></institution>
<addr-line><![CDATA[Cali ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A">
<institution><![CDATA[,ruben.nieto@correounivalle.edu.co  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A">
<institution><![CDATA[,alvaro.bernal@correounivalle.edu.co  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>09</month>
<year>2016</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>09</month>
<year>2016</year>
</pub-date>
<volume>83</volume>
<numero>198</numero>
<fpage>37</fpage>
<lpage>43</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0012-73532016000400004&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0012-73532016000400004&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0012-73532016000400004&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[In this paper, we present a hardware implementation of the pipelined AES-128 algorithm that works on non-feedback modes of operation (ECB and CTR). The architecture was implemented using the Xilinx Virtex 5 FPGA platform. We compared two modes of operation (ECB, CTR) for encryption and decryption according to device utilization, throughput, and security. A clock frequency of 272.59Mhz for the ECB encryption process was obtained, which is equivalent to a throughput of 34.89 Gb/s. Also, we obtained a clock frequency of 199.48Mhz for the decryption process, which is equivalent to a throughput of 25.5Gb/s. In CTR mode, we obtained a clock frequency of 272.59Mhz, which is equivalent to a throughput of 34.89Gb/s.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este artículo, presentamos una implementación hardware segmentada del algoritmo AES-128 en modos de operación no realimentados (ECB, CTR). La arquitectura fue implementada en la FPGA Virtex 5 de Xilinx. Dos modos de operación (ECB,CTR) para encriptación y desencriptación de acuerdo a uso de recursos, rendimiento y seguridad fueron comparados. Una frecuencia de reloj de 272.59Mhz para el proceso de encriptación ECB fue obtenida, la cual es equivalente a un rendimiento de 34.89 Gb/s. Además, una frecuencia de reloj de 199.48Mhz para el proceso de desencriptación, equivalente a un rendimiento de 25.5Gb/s fue obtenido. En el modo CTR, una frecuencia de reloj de 272.59Mhz. equivalente a un rendimiento de 34.89Gb/s fue obtenido.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[AES]]></kwd>
<kwd lng="en"><![CDATA[G<img src="/img/revistas/dyna/v83n198/v83n198a04eq002.gif"><img src="/img/revistas/dyna/v83n198/v83n198a04eq004.gif">]]></kwd>
<kwd lng="en"><![CDATA[ECB]]></kwd>
<kwd lng="en"><![CDATA[CTR]]></kwd>
<kwd lng="en"><![CDATA[Pipelined]]></kwd>
<kwd lng="en"><![CDATA[Throughput]]></kwd>
<kwd lng="es"><![CDATA[AES]]></kwd>
<kwd lng="es"><![CDATA[G<img src="/img/revistas/dyna/v83n198/v83n198a04eq004.gif"><img src="/img/revistas/dyna/v83n198/v83n198a04eq004.gif">]]></kwd>
<kwd lng="es"><![CDATA[ECB]]></kwd>
<kwd lng="es"><![CDATA[CTR]]></kwd>
<kwd lng="es"><![CDATA[Segmentado]]></kwd>
<kwd lng="es"><![CDATA[Rendimiento]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>DOI:</b> <a href="http://dx.doi.org/10.15446/dyna.v83n198.55251" target="_blank">http://dx.doi.org/10.15446/dyna.v83n198.55251</a></font></p>     <p align="center"><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><b>FPGA implementation of the AES-128 algorithm   in non-feedback modes of operation</b></font></p>     <p align="center"><i><font size="4"><b><font size="3" face="Verdana, Arial, Helvetica, sans-serif">Implementaci&oacute;n   en FPGA del algoritmo AES-128 en modos de operaci&oacute;n no realimentados</font></b></font></i></p>     <p align="center">&nbsp;</p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Ian Carlo Guzm&aacute;n<i>, </i>Rub&eacute;n Dar&iacute;o Nieto &amp; &Aacute;lvaro Berna</b>l</font></p>     <p align=center>&nbsp;</p>     <p align=center><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Escuela de Ingenier&iacute;a El&eacute;ctrica y Electr&oacute;nica, Universidad del Valle,   Cali, Colombia. <a href="mailto:ian.guzman@correounivalle.edu.co">ian.guzman@correounivalle.edu.co</a>, <a href="mailto:ruben.nieto@correounivalle.edu.co">ruben.nieto@correounivalle.edu.co</a>, <a href="mailto:alvaro.bernal@correounivalle.edu.co">alvaro.bernal@correounivalle.edu.co</a></i></font></p>     <p align=center>&nbsp;</p>     <p align=center><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Received:   January 19<sup>th</sup>, 2016. Received in revised form: March 18<sup>th</sup>,   2016. Accepted: April 8<sup>th</sup>, 2016.</b></font></p>     <p align=center>&nbsp;</p>     ]]></body>
<body><![CDATA[<p align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-seriff"><b>This work is licensed under a</b> <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License</a>.</font><br />   <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" /></a></p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Abstract    <br>   </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In this paper, we present a hardware implementation of the pipelined   AES-128 algorithm that works on non-feedback modes of operation (ECB and CTR).   The architecture was implemented using the Xilinx Virtex 5 FPGA platform. We   compared two modes of operation (ECB, CTR) for encryption and decryption   according to device utilization, throughput, and security. A clock frequency of   272.59Mhz for the ECB encryption process was obtained, which is equivalent to a   throughput of 34.89 Gb/s. Also, we obtained a clock frequency of 199.48Mhz for   the decryption process, which is equivalent to a throughput of 25.5Gb/s. In CTR   mode, we obtained a clock frequency of 272.59Mhz, which is equivalent to a   throughput of 34.89Gb/s.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Keywords</i>: AES; G<img src="/img/revistas/dyna/v83n198/v83n198a04eq002.gif"><img src="/img/revistas/dyna/v83n198/v83n198a04eq004.gif">; ECB; CTR; Pipelined; Throughput.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Resumen    <br>   </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este   art&iacute;culo, presentamos una implementaci&oacute;n hardware segmentada del algoritmo   AES-128 en modos de operaci&oacute;n no realimentados (ECB, CTR). La arquitectura fue   implementada en la FPGA Virtex 5 de Xilinx. Dos modos de operaci&oacute;n (ECB,CTR)   para encriptaci&oacute;n y desencriptaci&oacute;n de acuerdo a uso de recursos, rendimiento y   seguridad fueron comparados. Una frecuencia de reloj de 272.59Mhz para el   proceso de encriptaci&oacute;n ECB fue obtenida, la cual es equivalente a un   rendimiento de 34.89 Gb/s. Adem&aacute;s, una frecuencia de reloj de 199.48Mhz para el proceso   de desencriptaci&oacute;n, equivalente a un rendimiento de 25.5Gb/s fue obtenido. En   el modo CTR, una frecuencia de reloj de 272.59Mhz. equivalente a un rendimiento   de 34.89Gb/s fue obtenido.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Palabras clave</i>: AES; G<img src="/img/revistas/dyna/v83n198/v83n198a04eq004.gif"><img src="/img/revistas/dyna/v83n198/v83n198a04eq004.gif">; ECB; CTR;   Segmentado; Rendimiento.</font></p> <hr>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>1. Introduction</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In 1997,   the National Institute of Standards and Technology (NIST) initiated a public   request for researchers to develop a new cryptographic algorithm that would be called   the Advanced Encryption Standard (AES) and would replace its predecessor, the   Data Encryption Standard (DES) &#91;1&#93;. Fifteen proposals were made. In October   2000, NIST announced that Rijndael, the algorithm proposed by the two Belgian   cryptographers, Joan Daemen and Vincent Rijmen, had been selected as the   Advanced Encryption Standard (AES) and was published as FIPS 197 &#91;2&#93; in 2001. Rinjdael can be implemented in both hardware and software, but hardware implementations are faster. Reprogrammable devices such as FPGA's are widely usedfor cryptographic algorithms' hardwareimplementations &#91;3-4&#93;. ASIC implementations offer optimized structure, a smaller   area, and ahigher operation speed. However, ASIC implementations cannot be   modified once they have been implemented, and the cost is higher than for that   of reconfigurable devices.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This paper presents a   pipelined architecture for the AES (Advanced Encryption Standard) in non-feedback modes of operation (ECB, CTR). The   non-feedback modes of operation allow data to be processed in parallel whereas   the feedback modes of operation (CBC, CFB, OFB) do not. &#91;5&#93;</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Therefore, ECB and CTR   modes can be implemented in pipelining architectures, which are faster than   iterative architectures &#91;6&#93;. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The purpose of this paper   is to show the hardware implementation results of the AES algorithm in   nonfeedback modes of operation (ECB and CTR). There is an emphasis on   explaining and describing our architecture for the AES-CTR as there are very   few reports that explain in detail hardware architectures for the AES-CTR. Fu, Hao designed and explained in   detail an architecture for the AES-CTR &#91;6&#93;.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This paper   is organized as follows: in section 2, we discuss the components of the AES   algorithm and explain how it works. The design and implementation of the   proposed hardware architectures are presented in section 3. Results such as,   device utilization, throughput, and comparison with others pipelined implementations   are presented in section 4. Finally, conclusions are stated in section 5.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>2. Aes algorithm and modes of operation</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>2.1. Encryption and decryption process</i></b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The AES algorithm is a symmetric block   cipher that can process data blocks of 128 bits, using cipher keys with lengths   of 128, 192 and 256 bits. The encryption process consists of <img src="/img/revistas/dyna/v83n198/v83n198a04eq006.gif"> rounds, where <img src="/img/revistas/dyna/v83n198/v83n198a04eq008.gif"> depends on the key length and <img src="/img/revistas/dyna/v83n198/v83n198a04eq008.gif">= 10 on a 128 key-length. A round is made up of four basic   operations: <i>SubBytes, ShiftRows, MixColumns   and AddRoundKey</i>; the last round of the algorithm omits the <i>MixColumns</i> operation. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>SubBytes </i>transformation is a non-linear   byte substitution that operates independently on each state byte using a   substitution table (<i>S-Box</i>). The <i>S-Box</i> is constructed by performing two   transformations, the first one calculates the multiplicative inverse of the   input bytes in the finite field <img src="/img/revistas/dyna/v83n198/v83n198a04eq010.gif">, the second one applies an affine   transformation over <img src="/img/revistas/dyna/v83n198/v83n198a04eq012.gif">. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>ShiftRows</i> transformation is a cyclic shift operation in each row of the state. The bytes   in the last three rows of the state are cyclically shifted over a different   number of bytes (offsets). The first row is not shifted.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>MixColumns</i> transformation involves addition and multiplication over <img src="/img/revistas/dyna/v83n198/v83n198a04eq010.gif"> and can be expressed as a   matrix multiplication for each column of the state. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>AddRoundKey</i> transformation adds a round key to the state. Each round key is generated in   the Key expansion process.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The decryption process consists of <img src="/img/revistas/dyna/v83n198/v83n198a04eq014.gif">rounds. A round is made up of four inverse operations: <i>InvSubBytes,   InvShitRows, InvMixColumns and AddRoundKey</i>. The last round of the algorithm   omits the <i>InvMixColumns </i>operation. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>InvSubBytes</i> transformation is the inverse of the <i>SubBytes</i> transformation in which the inverse <i>S-box</i> is applied to each byte of the state. This is obtained by applying the inverse   of the affine transformation and is followed by taking the multiplicative inverse in <img src="/img/revistas/dyna/v83n198/v83n198a04eq010.gif">.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>InvShiftRows</i> transformation is the inverse of the <i>ShiftRows</i> transformation. The bytes in the last three rows of the state are cyclically   shifted over a different number of bytes. The first row is not shifted.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>InvMixColumns</i> transformation is the inverse of the <i>MixColumns</i> transformation. <i>InvMixColumns</i> operates on the state column-by-column and treats each column as a four-</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">term polynomial.   It can be expressed as a matrix multiplication for each column of the state.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>AddRoundKey</i> transformation is its own inverse due to the fact it only involves a XOR   operation. &#91;2&#93;</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Encryption and Decryption algorithms are   shown in <a href="#fig01">Fig. 1(a)</a> and <a href="#fig01">1(b)</a>, respectively.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig01"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig01.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>2.2. Key expansion process</i></b></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The AES   algorithm takes the cipher Key, <b><i>K</i></b>, as four 32-bit words and performs   a key expansion. The key expansion generates a total of <img src="/img/revistas/dyna/v83n198/v83n198a04eq020.gif"> words. A word, <img src="/img/revistas/dyna/v83n198/v83n198a04eq022.gif"> is equal to the XOR between the previous word, <img src="/img/revistas/dyna/v83n198/v83n198a04eq024.gif">, and the word <img src="/img/revistas/dyna/v83n198/v83n198a04eq026.gif"> is located <img src="/img/revistas/dyna/v83n198/v83n198a04eq028.gif"> in earlier positions,. For words in positions   that are a multiple of <img src="/img/revistas/dyna/v83n198/v83n198a04eq028.gif">, a transformation is applied to <img src="/img/revistas/dyna/v83n198/v83n198a04eq024.gif"> prior to the XOR and followed by an XOR by a   round constant, <img src="/img/revistas/dyna/v83n198/v83n198a04eq030.gif">. This transformation consists of a   cyclic shift, followed by the application of the <i>SubBytes</i> transformation to all four bytes. The key expansion   algorithm is shown in <a href="#fig02">Fig. 2</a>. &#91;2&#93;</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig02"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig02.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>2.3. Modes of operation</i></b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The Electronic Codebook (ECB) mode   processes each block of the plaintext directly and independently and encrypts   the same plain text block into the same ciphered text block. In ECB encryption   and decryption, multiple cipher functions and inverse cipher functions can be   computed in parallel.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The feedback modes of operation: Cipher   block chaining mode (CBC), Output feedback mode (OFB), and Cipher feedback mode   (CFB) offer better security properties than ECB. However, encryption of the   blocks depends on the previous encrypted blocks, so the encryption cannot be   performed in parallel; therefore, the speed of CBC, OFB, and CFB has a lower   performance than the ECB. The counter mode (CTR) eliminates the security   problem of ECB and it allows for encryption and decryption to be performed in   parallel using only the cipher forward function. As shown in <a href="#fig03">Fig. 3</a>, the modes   of operation can be classified as feedback and non-feedback. &#91;5&#93;</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig03"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig03.gif"></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>3. Hardware implementation</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The AES algorithm may be implemented in hardware using different architectures such as iterative, inner round pipelining, loop unrolled, pipelining, and subpipelining or Mixed inner and outer   round pipelining &#91;7-8&#93;. In this work we used a pipelined architecture in order   to achieve a high speed to encrypt and decrypt the data.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i><b>3.1. Pipelined architecture</b></i></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The pipelined architecture shown in <a href="#fig04">Fig.   4</a> allows the speed of the encryption and decryption process to be increased by   processing blocks of data in parallel. Pipelining is introduced by inserting   registers between the rounds. This   architecture allows a encrypted block every clock cycle to be obtained after   the first block has been encrypted.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig04"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig04.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The Round   module is shown in <a href="#fig05">Fig. 5(a)</a>, this module is composed of four circuits, which   are <i>SubBytes, ShiftRows, MixColumns, </i>and<i> AddRoundKey</i>. Therefore, ten of these modules are needed to meet the rounds   of the algorithm. The last module is slightly different due to the fact   that the <i>MixColumns</i> transformation is   not included. The round module for the decryption process is very similar but   it uses the inverses of the transformations, as shown in <a href="#fig05">Fig. 5(b)</a>. The last   module is slightly different due to the fact that the <i>InvMixColumns</i> transformation is not included.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig05"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig05.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>3.1.1. SubBytes/InvSubBytes</i></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Two designs were made for this transformation,   the first one consists of the mathematical operation, and the second </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">one is based on look-up tables. The   design based on look-up tables was faster and required less hardware resources. The <i>S-Box</i> was stored in a 256x8   ROM memory. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In   order to achieve parallelism and finish one round in less than one clock cycle,   the same <i>S-box</i> was duplicated 16   times, as in <a href="#fig06">Fig. 6</a>.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig06"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig06.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>3.1.2. ShiftRows/InvShiftRows</i></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>ShiftRows</i> and <i>InvShiftRows</i>transformation only changes the positions of the bytes; therefore, this transformation can be implemented by changing the order of the interconnection lines without using additional hardware components.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>3.1.3. MixColums/InvMixColums</i></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This transformation is based on the <i>Xtime </i>function &#91;9&#93;, which performs a   multiplication by 2 over the Galois domain <img src="/img/revistas/dyna/v83n198/v83n198a04eq010.gif"> Based on the <i>Xtime </i>function, it is possible to design   a circuit that multiplies four bytes by a matrix over <img src="/img/revistas/dyna/v83n198/v83n198a04eq010.gif">, as is shown in <a href="#fig07">Fig. 7</a>. To   achieve parallelism and finish one round in less than one clock cycle, the same circuit   is duplicated 4 times in order to process each column of the state array in   parallel.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig07"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig07.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>3.2. Key expansion module</i></b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This module is based on a round key   expansion circuit, as is shown in <a href="#fig08">Fig. 8</a>. This circuit expands a round key;   therefore, it performs the <i>subword,   rotword</i> and <i>Rcon</i> transformations   for the least significant input bytes <img src="/img/revistas/dyna/v83n198/v83n198a04eq046.gif"> (words in positions that are   a multiple of 4), and then it starts to perform the XOR operations with the   words that are four positions earlier.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig08"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig08.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>SubWord</i> transformation was designed similarly to the <i>SubBytes </i>transformation. It required 4 256x8 ROM memories; each   memory stores the S-Box.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>RotWord</i> transformation was designed in the same way as the <i>ShiftRows</i> transformation since it only involves the order of the interconnection lines to be changed.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <i>Rcon </i>transformation was designed using a combinational circuit   based on NOT gates which is   different depending on the number of the round, since each round has a   different <i>Rcon</i> value. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The pipelined architecture of the key   expansion module required ten round key expansion circuits, as shown in <a href="#fig09">Fig. 9</a>,   in which each round key expansion circuit calculates a round key. In this   architecture, all round keys are available at the same time for each one of the   ten rounds. Moreover, a clock signal is not necessary due to the fact that   there is no need for synchronization; therefore, all round   keys expand very quickly.</font></p>     ]]></body>
<body><![CDATA[<p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig09"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig09.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>3.3. AES in CTR mode</i></b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This mode encrypts   counter values to produce a sequence of output blocks that are exclusive-ORed   with plaintext to produce the ciphertext, and vice versa. For this mode to be properly operated, all counter values must be different for each   plaintext block that is encrypted. Otherwise, if a counter is used more   than once, then the confidentiality of all of the plaintext blocks   corresponding to that counter value may be compromised &#91;5&#93;. To fulfill this condition, we designed a   counter block module, as shown in <a href="#fig10">Fig. 10</a>, which provides a 128-bit word, and   is, in turn, divided into two 64-bit values. The 64 most significant bits correspond to a message   nonce, and the remaining 64 bits correspond to the count   of the counter, which can start counting from any value. It increases by one for each clock cycle. According to &#91;5&#93;, the number of plaintext blocks to   be encrypted must satisfy <img src="/img/revistas/dyna/v83n198/v83n198a04eq052.gif"> in order to   counter values do not repeat. If this   condition is not met, counter values can repeat themselves. However, using the   maximum frequency of <img src="/img/revistas/dyna/v83n198/v83n198a04eq054.gif">, it would take around 2145.86 years for a counter to repeat.   Therefore, the condition <img src="/img/revistas/dyna/v83n198/v83n198a04eq052.gif"> is   satisfied.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig10"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig10.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The counter mode provides better security properties than the ECB mode since the encrypted blocks are always   different due to all the counter values are distinct. Only the cipher forward   function is needed for the encryption and decryption process, as is shown in <a href="#fig11">Fig.   11</a>. However, the counter values must be the same for both encryption and   decryption.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig11"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04fig11.gif"></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>4. Comparison and performance results</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">All   the modules described above were designed using VHDL and implemented using the   Xilinx Virtex-5 XC5VLX110T FPGA &#91;10&#93;, which is integrated into the XUPV5-LX110T   Development System &#91;11&#93;. The proposed pipelined AES architecture provides a   throughput of 34.89 Gbps and a clock frequency of 272.59 Mhz. Both features are   higher than other AES designs on FPGA reports. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="#tab01">Table   1</a> shows the resources used in this implementation. From <a href="#tab01">Table 1</a>, we can see that for both designs the throughput is the same for both encryption on ECB and CTR mode. Although, on the CTR mode, a little more hardware resources are used. However, the   throughput of the decryption process on ECB mode is less than it is on the CTR mode, and it uses more   hardware resources.</font></p>     ]]></body>
<body><![CDATA[<p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="tab01"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04tab01.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The structure of slices between Virtex 5   and other series of Virtex before Virtex 5 are very different. Therefore, we   cannot compare the amount of hardware resources used for other designs. However,   we can compare the throughput to other AES pipelined approaches and we can see   from <a href="#tab02">Table 2</a> that our design has a high throughput and good resource   efficiency.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="tab02"></a></font><img src="/img/revistas/dyna/v83n198/v83n198a04tab02.gif"></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>5. Conclusions</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The hardware implementation of the   advanced encryption standard (AES) in non-feedback modes of operation as well   as design details for the counter mode have been presented in this paper. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Our design achieves a high throughput of   34.9 Gbit/s and a good resource efficiency when compared to other AES pipelined   designs.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Comparisons related to the implementation   of the modes of operation have revealed that the CTR mode is an option that has   considerable advantages over the ECB mode, such as the level of security. This   is because the encrypted blocks on CTR mode are always different.   Also, the ECB mode requires more hardware resources utilization than the   CTR mode as the encryption and decryption hardware are different on ECB mode.   Conversely, the hardware for encryption and decryption on CTR mode are the same.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Future research will consider carrying   out ASIC implementations since these can offer higher speeds for data   processing and an optimized structure.</font></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>References</b></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;1&#93;</b> National   Institute of Standard and Technology, Data   Encryption Standard, Federal Information Processing Standards 46,   November 1977.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142655&pid=S0012-7353201600040000400001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;2&#93;</b> National Institute of Standards   and Technology (NIST), Federal Information Processing Standards Publication   197. Advanced Encryption Standard (AES), &#91;Online&#93;. 2001. Available at: <a href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf" target="_blank">http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf</a> </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142657&pid=S0012-7353201600040000400002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;3&#93;</b> Bola&ntilde;os,   F. y Bernal, A., Una implementaci&oacute;n hardware optimizada para el operador   exponenciaci&oacute;n modular, DYNA, 75(156), pp. 55-63, 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142658&pid=S0012-7353201600040000400003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;4&#93;</b> Naidu,   A.P.A. and Joshi, P.K., FPGA implementation of fully   pipelined advanced encryption standard. International   Conference on Communications and Signal Processing (ICCSP), pp. 0649-0653, 2015. DOI: 10.1109/ICCSP.2015.7322568 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142660&pid=S0012-7353201600040000400004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;5&#93;</b> Dworkin, M., Recommendation for   block cipher modes of operation, methods and Techniques, NIST special publication   800-38A. &#91;Online&#93;. 2001. Available at: <a href="http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf" target="_blank">http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf</a> </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142661&pid=S0012-7353201600040000400005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;6&#93;</b> Fu,   Y.F.Y., Hao, L.H.L., Zhang, X.Z.X. and Yang, R.Y.R. Design   of an extremely high performance counter mode AES reconfigurable processor. Second International Conference on Embedded   Software and Systems (ICESS'05). 2005.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142662&pid=S0012-7353201600040000400006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;7&#93;</b> Nalini, C., Anandmohan, P.,   Poornaiah, D. and Kulkarni, V.D., An FPGA Based performance analysis of   pipelining and unrolling of AES Algorithm. International Conference on Advanced   Computing and Communications. 2006.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142664&pid=S0012-7353201600040000400007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;8&#93;</b> Nieto, R.,   Dise&ntilde;o e implementaci&oacute;n de un cripto procesador asincrono de bajo consumo   basado en el algoritmo de Rinjdael, PhD Thesis, Escuela de Ingenier&iacute;a Electrica   y Electr&oacute;nica, Universidad del Valle, Cali, Colombia, 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142666&pid=S0012-7353201600040000400008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;9&#93;</b> Shao, F., Chang, Z., Zhang, Yi.,   AES encryption algorithm based on the high performance computing of GPU, Second   International Conference on Communication and Networks, IEEExplore, pp 598-590,   2010.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142668&pid=S0012-7353201600040000400009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;10&#93;</b> XILINX, Virtex 5 FPGA User   Guide, UG190(v5.4), &#91;Online&#93;. 2012. Available at: <a href="http://www.xilinx.com/support/documentation/user_guides/ug190.pdf" target="_blank">http://www.xilinx.com/support/documentation/user_guides/ug190.pdf</a> </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142670&pid=S0012-7353201600040000400010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;11&#93;</b> XILINX, ML505/ML506/ML507 User Guide, UG347(V 3.1.2), &#91;Online&#93;.   2011. Available at: <a href="http://www.xilinx.com/support/documentation/boards_and_kits/ug347.pdf" target="_blank">http://www.xilinx.com/support/documentation/boards_and_kits/ug347.pdf</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142671&pid=S0012-7353201600040000400011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;12&#93;</b> Qu, S., Shou, G., Hu, Y., Guo,   Z. and Qian, Z., High throughput, pipelined implementation of AES on FPGA. 2009 International Symposium on Information   Engineering and Electronic Commerce, (x), pp. 542-545. 2009. DOI: 10.1109/IEEC.2009.120 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142672&pid=S0012-7353201600040000400012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;13&#93;</b> Fan, C. and Hwang, J.,   Implementations of high throughput sequential and fully pipelined AES   processors on FPGA. 2007 International   Symposium on Intelligent Signal Processing and Communication Systems, pp.   353-356. 2007. DOI: 10.1109/ISPACS.2007.4445896</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142673&pid=S0012-7353201600040000400013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;14&#93;</b> Rizk, M.R.M., Member, S. and   Morsy, M., Optimized area and optimized speed hardware implementations of AES   on FPGA. 2007.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142674&pid=S0012-7353201600040000400014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;15&#93;</b> Hesham, S., Abd-El Ghany, M.A.   and Hofmann, K., High throughput architecture for the advanced encryption standard   algorithm. 17th International   Symposium on Design and Diagnostics of Electronic Circuits &amp; Systems,   pp. 167-170. 2014. DOI: 10.1109/DDECS.2014.6868783 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142676&pid=S0012-7353201600040000400015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;16&#93;</b> Granado-Criado, J.M.,   Vega-Rodriguez, M.A., Sanchez-Perez, J.M. and G&oacute;mez-Pulido, J.A., A new methodology   to implement the AES algorithm using partial and dynamic reconfiguration,   Integr. VLSI J., 43, pp. 72-80, 2010.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142677&pid=S0012-7353201600040000400016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;17&#93;</b> Liu, Q., Xu, Z. and Yuan, Y., A   66.1 Gbps single-pipeline AES on FPGA. 2013   International Conference on Field-Programmable Technology (FPT), pp.   378-381, 2013. DOI: 10.1109/FPT.2013.6718392</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=1142679&pid=S0012-7353201600040000400017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><p>&nbsp;</p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>I.C. Guzm&aacute;n-Vel&aacute;squez,</b> received his BSc.   in Electronic Engineering from the Universidad del Valle, Cali, Colombia in 2013. Currently,   he is pursuing a MSc. degree in electrical engineering at the Universidad del   Valle, Cali, Colombia. His research interests include: digital circuit design,   computer architecture and signal processing. ORCID: 0000-0002-4532-8814</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>R.D. Nieto-Londo&ntilde;o,</b> received his BSc. in   Electrical Engineering from the Universidad del Valle, Cali, Colombia in 1995. He received   his MSc.   degree with an emphasis in Automatic Engineering from the Universidad del   Valle, Cali, Colombia in 2001 and his PhD. from the Universidad del Valle,   Cali, Colombia in 2009. Currently, he is a professor at the Universidad del   Valle in the School of Electronic and Electrical Engineering. His research   interests include: digital circuits design, low-power digital design and   computer architecture. ORCID: 0000-0002-1113-3269</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>A. Bernal-Nore&ntilde;a,</b> received his BSc.   in Electrical Engineering from the Universidad del Valle, Colombia, and his   MSc. in Electrical Engineering, majoring in VLSI circuit design, from Sao Paulo   University, Brazil in 1992. In 1999 he received his PhD. with emphasis in   microelectronic engineering from the Institute National Polytechnique,   Grenoble, France. In 1993, he joined the School of Electronic and Electrical   Engineering at the Universidad del Valle where he teaches CMOS VLSI Design,   Physics of Semiconductor and Electronic Devices. His research interests   include: digital circuits design, low-power digital CMOS and embedded systems.   Currently, he is the director of the Digital Architectures and Microelectronic   research Group. ORCID: 0000-0003-4766-8086</font></p>     ]]></body>
<body><![CDATA[ ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="">
<collab>National Institute of Standard and Technology</collab>
<source><![CDATA[Data Encryption Standard: Federal Information Processing Standards 46]]></source>
<year>Nove</year>
<month>mb</month>
<day>er</day>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="">
<collab>National Institute of Standards and Technology</collab>
<source><![CDATA[Federal Information Processing Standards Publication 197: Advanced Encryption Standard (AES)]]></source>
<year>2001</year>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bolaños]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Bernal]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Una implementación hardware optimizada para el operador exponenciación modular]]></article-title>
<source><![CDATA[DYNA]]></source>
<year>2008</year>
<volume>75</volume>
<numero>156</numero>
<issue>156</issue>
<page-range>55-63</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Naidu]]></surname>
<given-names><![CDATA[A.P.A.]]></given-names>
</name>
<name>
<surname><![CDATA[Joshi]]></surname>
<given-names><![CDATA[P.K.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[FPGA implementation of fully pipelined advanced encryption standard]]></article-title>
<source><![CDATA[]]></source>
<year>2015</year>
<conf-name><![CDATA[ International Conference on Communications and Signal Processing]]></conf-name>
<conf-loc> </conf-loc>
<page-range>0649-0653</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dworkin]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[Recommendation for block cipher modes of operation, methods and Techniques]]></source>
<year>2001</year>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fu]]></surname>
<given-names><![CDATA[Y.F.Y.]]></given-names>
</name>
<name>
<surname><![CDATA[Hao]]></surname>
<given-names><![CDATA[L.H.L.]]></given-names>
</name>
<name>
<surname><![CDATA[Zhang]]></surname>
<given-names><![CDATA[X.Z.X.]]></given-names>
</name>
<name>
<surname><![CDATA[Yang]]></surname>
<given-names><![CDATA[R.Y.R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Design of an extremely high performance counter mode AES reconfigurable processor]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[Second International Conference on Embedded Software and Systems (ICESS'05)]]></conf-name>
<conf-date>2005</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nalini]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Anandmohan]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Poornaiah]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Kulkarni]]></surname>
<given-names><![CDATA[V.D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An FPGA Based performance analysis of pipelining and unrolling of AES Algorithm]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ International Conference on Advanced Computing and Communications]]></conf-name>
<conf-date>2006</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nieto]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<source><![CDATA[Diseño e implementación de un cripto procesador asincrono de bajo consumo basado en el algoritmo de Rinjdael]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Shao]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Chang]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Zhang]]></surname>
<given-names><![CDATA[Yi.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[AES encryption algorithm based on the high performance computing of GPU]]></article-title>
<source><![CDATA[]]></source>
<year>2010</year>
<conf-name><![CDATA[Second International Conference on Communication and Networks]]></conf-name>
<conf-loc> </conf-loc>
<page-range>598-590</page-range><publisher-name><![CDATA[IEEExplore]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="">
<collab>XILINX</collab>
<source><![CDATA[Virtex 5 FPGA User Guide: UG190(v5.4)]]></source>
<year>2012</year>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="">
<collab>XILINX</collab>
<source><![CDATA[ML505/ML506/ML507 User Guide: UG347(V 3.1.2)]]></source>
<year>2011</year>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Qu]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Shou]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Hu]]></surname>
<given-names><![CDATA[Y.]]></given-names>
</name>
<name>
<surname><![CDATA[Guo]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Qian]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[High throughput, pipelined implementation of AES on FPGA]]></article-title>
<source><![CDATA[]]></source>
<year>2009</year>
<conf-name><![CDATA[ International Symposium on Information Engineering and Electronic Commerce]]></conf-name>
<conf-date>2009</conf-date>
<conf-loc> </conf-loc>
<page-range>542-545</page-range></nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fan]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Hwang]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Implementations of high throughput sequential and fully pipelined AES processors on FPGA]]></article-title>
<source><![CDATA[]]></source>
<year>2007</year>
<conf-name><![CDATA[ International Symposium on Intelligent Signal Processing and Communication Systems]]></conf-name>
<conf-date>2007</conf-date>
<conf-loc> </conf-loc>
<page-range>353-356</page-range></nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rizk]]></surname>
<given-names><![CDATA[M.R.M.]]></given-names>
</name>
<name>
<surname><![CDATA[Member]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Morsy]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[Optimized area and optimized speed hardware implementations of AES on FPGA.]]></source>
<year>2007</year>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hesham]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Abd-El Ghany]]></surname>
<given-names><![CDATA[M.A.]]></given-names>
</name>
<name>
<surname><![CDATA[Hofmann]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[High throughput architecture for the advanced encryption standard algorithm]]></article-title>
<source><![CDATA[]]></source>
<year>2014</year>
<conf-name><![CDATA[17th International Symposium on Design and Diagnostics of Electronic Circuits & Systems]]></conf-name>
<conf-loc> </conf-loc>
<page-range>167-170</page-range></nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Granado-Criado]]></surname>
<given-names><![CDATA[J.M.]]></given-names>
</name>
<name>
<surname><![CDATA[Vega-Rodriguez]]></surname>
<given-names><![CDATA[M.A.]]></given-names>
</name>
<name>
<surname><![CDATA[Sanchez-Perez]]></surname>
<given-names><![CDATA[J.M.]]></given-names>
</name>
<name>
<surname><![CDATA[Gómez-Pulido]]></surname>
<given-names><![CDATA[J.A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A new methodology to implement the AES algorithm using partial and dynamic reconfiguration]]></article-title>
<source><![CDATA[Integr. VLSI J.]]></source>
<year>2010</year>
<numero>43</numero>
<issue>43</issue>
<page-range>72-80</page-range></nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Liu]]></surname>
<given-names><![CDATA[Q.]]></given-names>
</name>
<name>
<surname><![CDATA[Xu]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Yuan]]></surname>
<given-names><![CDATA[Y.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A 66.1 Gbps single-pipeline AES on FPGA]]></article-title>
<source><![CDATA[]]></source>
<year>2013</year>
<conf-name><![CDATA[ International Conference on Field-Programmable Technology (FPT)]]></conf-name>
<conf-date>2013</conf-date>
<conf-loc> </conf-loc>
<page-range>378-381</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
