An Implementation of the AES Cipher Using HLS - Meurer, Rodrigo Schmitt; Mück, Tiago Rogério; Fröhlich, Antônio Augusto (Anais do Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC); 2013: Anais do III Simpósio Brasileiro de Engenharia de Sistemas Computacionais, 2013)
The Advanced Encryption Standard (AES) is the main algorithm used to ensure security and privacy in several different applications ranging from massive data servers to small low-power embedded systems. Such embedded systems often rely on dedicated hardware implementations of AES in order to meet tight power budgets. In this scenario, C/C++ High-Level Synthesis (HLS) solutions are gaining acceptance as traditional hardware design methodologies can no longer match the strict time-to-market requirements of current applications. In this paper, we describe a C++ implementation of the AES algorithms and explore different hardware micro-architectures by using HLS solutions. We focus on describing the process of obtaining an efficient synthesizable C++ description form plain software code.