Serpent encryption algorithm implementation on Compute Unified Device Architecture (CUDA)
Anas Mohd Nazlee1, Fawnizu Azmadi Hussin2, Noohul Basheer Zain Ali3.
CUDA is a platform developed by Nvidia for general purpose computing on a Graphic Processing Unit to utilize the parallelism capabilities. Serpent encryption is considered to have a high security margin as its advantage; however it lacks in speed as its disadvantage compared to the AES encryption. This paper presents a methodology for the transformation of CPU-based implementation of Serpent encryption algorithm (in C language) on CUDA to take advantage of CUDA’s parallel processing capability. The proposed methodology could be used to quickly port a CPU-based algorithm for a quick gain in performance. Further tweaking, as described in this paper through the use of a profiler, would further increase the performance gain. Results based on the integration of multiple block encryption in parallel shows throughput performance of up to 100 MB/s or more than 7X performance gain.
Affiliation:
- Universiti Teknologi PETRONAS, Malaysia
- Universiti Teknologi PETRONAS, Malaysia
- Universiti Teknologi PETRONAS, Malaysia