Bit-level Parallelization of 3DES Encryption on GPU
This work addresses performance bottlenecks in encryption for applications like electronic payments and web browsers, but it is incremental as it applies an existing method to a new hardware platform.
The paper tackled the problem of accelerating Triple DES (3DES) encryption by proposing a parallel implementation on GPU, achieving an average 10.70x speed-up compared to a multi-threaded CPU baseline.
Triple DES (3DES) is a standard fundamental encryption algorithm, used in several electronic payment applications and web browsers. In this paper, we propose a parallel implementation of 3DES on GPU. Since 3DES encrypts data with 64-bit blocks, our approach considers each 64-bit block a kernel block and assign a separate thread to process each bit. Algorithm's permutation operations, XOR operations, and S-box operations are done in parallel within these kernel blocks. The implementation benefits from the use of constant and shared memory types to optimize memory access. The results show an average 10.70x speed-up against the baseline multi-threaded CPU implementation. The implementation is publicly available at https://github.com/kaanfurkan35/3DES_GPU