Dyna, Año 77, Nro. 162, pp. 281291 Medellín, Junio de 2010. ISSN 00127353 IMPLEMENTACIÓN ASÍNCRONA DE LAS FUNCIONES MIXCOLUMN E INVMIXCOLUMN DEL ALGORITMO DE RIJNDAEL ASYNCHRONOUS IMPLEMENTATION OF RIJNDAEL ALGORITHM´S MIXCOLUMN AND INVMIXCOLUMN FUNCTIONS RUBÉN DARIO NIETO LONDOÑO Escuela de Ingeniería Eléctrica y Electrónica, Facultad de Ingenierías, Universidad del Valle, rnieto@univalle.edu.co ÁLVARO BERNAL NOREÑA Escuela de Ingeniería Eléctrica y Electrónica, Facultad de Ingenierías, Universidad del Valle alvaro@univalle.edu.co Recibido para revisar Diciembre 9 de 2008, aceptado Julio 17 de 2009, versión final Agosto 26 de 2009 RESUMEN: Este artículo presenta resultados de la implementación asíncrona en FPGA (Field Programmable Gate Array) de las funciones de transformación de columna MixColumn e InvmixColumn, del algoritmo de Rijndael. Se usa la metodología para implementación de circuitos asíncronos de la herramienta conocida como Balsa, la cual permite descripción, síntesis y simulación funcional asíncrona de circuitos digitales. Se presentan resultados comparativos de área y desempeño de dos arquitecturas que realizan procesos de encriptación y desencriptación, la primera hace uso de las funciones sin optimizar y la segunda realiza ambos procesos usando recursos de hardware compartidos por ambas funciones. En la implementación asíncrona de todas las transformaciones se usan los protocolos de codificación dualrail y 1de4. PALABRAS CLAVE: AES, Balsa, circuitos asíncronos, criptografía, FPGAs, protocolo de sincronismo. ABSTRACT: This article presents the results of an asynchronous implementation of Rijndael Algorithm MixColumn and InvMixColumn transformation functions in FPGA (Field Programmable Gate Array). The methodology used for implementing asynchronous circuits is provided by the tool known as Balsa, which allows description, synthesis, and asynchronous functional simulation of digital circuits. Results are presented by comparing area and performance of two different architectures, which execute both encryption and decryption processes. The first architecture deploys the functions without optimization, whereas the second one executes encryption and decryption processes utilizing shared hardware resources for the two functions. The codification protocols, dualrail and 1of4, are implemented in all asynchronous transformations. KEYWORDS: AES, Balsa, asynchronous circuits, cryptography, FPGAs, handshake. 1. INTRODUCCIÓN En enero de 1997, el Instituto Nacional de Estándares y Tecnología de Estados Unidos, NIST (National Institute of Standards and Technology ) [1], realizó una convocatoria con el fin de establecer un nuevo algoritmo para el estándar AES (Advanced Encryption Standard) del FIPS (Federal Information Processing Standard) [2], y reemplazar e l antiguo estándar de encriptación DES (Data Encrytion Standard). En octubre del 2000 el NIST, después de dos rondas de evaluación a 15 algoritmos candidatos, seleccionó el algoritmo de Rijndael como el nuevo estándar AES.