并行加密算法系列(三)之AES on Intel CPU

来源:互联网 发布:银行笔试通过率 知乎 编辑:程序博客网 时间:2024/05/21 22:32

1. Intel之AES NI 指令集性能测试
Intel AES New Instructions (AES NI) is a new encryption instruction set, which can improve the AES algorithm, accelerate the encryption of data and strengthen related AES applications. Specifically, the performance improvement expected with the use of AES-NI would depend on the applications. For example, for non-parallel modes of AES operation such as CBC-encrypt AES-NI can provide a 2-3 fold gain in performance over a completely software approach. For parallelizable modes such as CBC-decrypt and CTR, AES-NI can provide a 10x improvement over software solutions. For more details, readers can refer to Intel homepage.

2. 测试结果
The experimental platform, involving software and hardware, is introduced as follows. OPENSSL, an existing crypto library providing a standard version of AES implementation, is employed in this paper. The C source codes are complied with GCC 4.8 and ran on an Intel Core I5 CPU and an 8G Memory.

这里写图片描述

Fig 1 shows the performance of AES with ECB on CPU. The results show that the traditional AES algorithm on CPU is maybe not really good enough, especially in terms of the processing time. Another point should be noticed is that the traditional AES consumes more resources and needs more time when the data block size is relatively big.

It is hard to deny that Intel hardware-based CPU provides a pretty good method like hardware-based AES implementation to improve the AES performance, achieving a 10x improvement over software solutions. However, comparing to implement parallel AES on Intel CPUs, a more promising choice for parallel computing must be GPUs, which will be further discussed in the following section.

原创粉丝点击