A Design of a Fast Parallel-Pipelined Implementation of AES: Advanced Encryption Standard

Ghada F. Elkabbany,Heba K. Aslan,Mohamed N. Rasslan
DOI: https://doi.org/10.5121/ijcsit
2015-01-07
Abstract:The Advanced Encryption Standard (AES) algorithm is a symmetric block cipher which operates on a sequence of blocks each consists of 128, 192 or 256 bits. Moreover, the cipher key for the AES algorithm is a sequence of 128, 192 or 256 bits. AES algorithm has many sources of parallelism. In this paper, a design of parallel AES on the multiprocessor platform is presented. While most of the previous designs either use pipelined parallelization or take advantage of the Mix_Column parallelization, our design is based on combining pipelining of rounds and parallelization of Mix_Column and Add_Round_Key transformations. This model is divided into two levels: the first is pipelining different rounds, while the second is through parallelization of both the Add_Round_Key and the Mix_Column transformations. Previous work proposed for pipelining AES algorithm was based on using nine stages, while, we propose the use of eleven stages in order to exploit the sources of parallelism in both initial and final round. This enhances the system performance compared to previous designs. Using two-levels of parallelization benefits from the highly independency of Add_Round_Key and Mix_Column/ Inv_Mix_Colum transformations. The analysis shows that the parallel implementation of the AES achieves a better performance. The analysis shows that using pipeline increases significantly the degree of improvement for both encryption and decryption by approximately 95%. Moreover, parallelizing Add_Round_Key and Mix_Column/ Inv_Mix_Column transformations increases the degree of improvement by approximately 98%. This leads to the conclusion that the proposed design is scalable and is suitable for real-time applications.
Cryptography and Security
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to improve the execution efficiency of the Advanced Encryption Standard (AES) algorithm on multi - processor platforms. Specifically, the paper proposes a design scheme that combines pipelining technology and parallel processing technology, aiming to accelerate the AES encryption and decryption processes through optimizations at the following two levels: 1. **Pipelining design between different rounds**: The paper proposes to use an 11 - stage pipelining structure to fully utilize the sources of parallelism in the initial and final rounds. This design is more in - depth than the previously used 9 - stage pipelining structure and can better improve system performance. 2. **Parallelization of operations within a round**: In addition to the pipelining design between rounds, the paper also parallelizes the two transformations of `Add_Round_Key` and `Mix_Column` (as well as `Inv_Mix_Column` in the decryption process). These transformations account for a relatively high computational proportion in the AES algorithm, so their parallelization is of great significance for the overall performance improvement. Through the above two - aspect optimizations, the paper aims to achieve a more efficient AES parallel processing model that is more suitable for real - time applications. According to the analysis in the paper, this design achieves approximately 95% and 98% performance improvements in the encryption and decryption processes respectively, indicating that it has significant advantages in practical applications.