Diseño de una arquitectura de codificación/decodificación de acuerdo al estándar de encriptación AES - Madera Vivar, Carlo Santiago (2020)
El presente trabajo consiste en el diseño de un circuito digital para codificación y decodificación del algoritmo de encriptación AES (Advanced Encryption Standard) 1 para la implementación en FPGA de tecnología 90 nm como el Cyclone II y Virtex IV de las compañías Altera y Xilinx respectivamente. Este algoritmo consta de cuatro bloques, los cuales son AddRoundKey, SubBytes e InvSubBytes, ShiftRows e InvShiftRows y MixColumns e InvMixColumns. El diseño del bloque SubBytes e InvSubBytes fue adaptado del diseño propuesto por Wolkerstorfer [1] usando la descomposición aritmética de GF ((24)2). De igual manera, el diseño del bloque MixColumns e InvMixColumns fue adaptado del diseño propuesto por Satoh [2] usando la técnica de descomposición matricial. Los bloques AddRoundKey, ShiftRows e InvShiftRows y el bloque completo AES fueron diseñados usando diversas técnicas de optimización como paralelismo de operaciones (pipeline), FSMD y ASMD. El presente trabajo compara dos arquitecturas propuestas para algoritmo AES utilizando cero, una y dos etapas de pipeline en el bloque SubBytes e InvSubBytes. Referente a las arquitecturas, la primera se realizó usando la técnica de FSMD, mientras que la segunda se realizó usando la técnica de ASMD. Se realizó la verificación funcional del circuito usando la herramienta de simulación ModelSim de la empresa MentorGraphics. Posteriormente se comparó los resultados con el documento del estándar de encriptación AES del NIST [3] obteniendo resultados exitosos. Los requerimientos más importantes para este diseño son la alta velocidad de transmisión de datos (throughput) y el menor consumo de ´área. En base a esto, se realizó el análisis de síntesis y se obtuvieron los siguientes resultados. Para una arquitectura en ASMD se obtuvo hasta 0.382 Mbits/LUT y 182.538 MHz usando la plataforma Virtex IV; mientras que para una plataforma Cyclone II se obtuvo 0.162 Mbits/LE y 122.9 MHz. Respecto a la arquitectura FSMD se obtuvo hasta 0.305 Mbits/LUT y 185.895 MHz usando la plataforma Virtex IV; mientras que para una plataforma Cyclone II se obtuvo 0.159 Mbits/LE y 122.26 MHz. De acuerdo a estos resultados, se comprueba que la mejor técnica para realizar el diseño del algoritmo AES es la de ASMD.