A Fast Parallel Cryptography Algorithm Based on AES-NI
Xiongwei Fei,Kenli Li,Wangdong Yang
DOI: https://doi.org/10.3233/jifs-169039
2016-01-01
Journal of Intelligent & Fuzzy Systems
Abstract:In the open environment of cloud computing, a large amount of user data needs to be encrypted/decrypted fast to maintain confidentiality and provide high quality of service. Advanced Encryption Standard (AES), the standard encryption algorithm, has better security and efficiency compared to its competitive algorithms, so it is widely used in cloud computing and other fields. However, the implementation of AES based on software still has the problem of low efficiency; whereas the implementation of AES based on hardware needs to purchase special purpose devices. Adopting the method of special instruction sets can resolve the above two drawbacks. Therefore, we propose a fast parallel cryptographic algorithm, NIPAES, which is based on the AES-NI (New Instructions) instruction set and CPU multiple cores. NIPAES makes use of the block property of AES and the parallel property of Counter (CTR) model, adopts OpenMP to evenly distribute workloads to each thread, which performs AES-NI instructions to complete encryption/decryption. Compared to CPU serial AES based on lookup tables, CPU parallel AES, and serial AES based on AES-NI, NIPAES has significant improvement on performance. The experimental results show that NIPAES achieves the average speedups of 3197.78x, 196.12x, and 7.71x, compared to the other aforementioned algorithms, respectively.