GPU accelerated 3DES encryption

Altınok K. F. , Peker A., Tezcan C. , Temizel A.

Concurrency and Computation: Practice and Experience, vol.34, no.9, 2022 (Journal Indexed in SCI Expanded) identifier identifier

  • Publication Type: Article / Abstract
  • Volume: 34 Issue: 9
  • Publication Date: 2022
  • Doi Number: 10.1002/cpe.6507
  • Title of Journal : Concurrency and Computation: Practice and Experience
  • Keywords: 3DES, CUDA, DES, encryption, GPU, parallelization, STANDARD


© 2021 John Wiley & Sons, Ltd.Triple DES (3DES) is a NIST and ISO/IEC standard block cipher that is also used in some web browsers and several electronic payment applications. We propose an optimized bit-level parallelization of 3DES for GPU accelerated encryption to allow processing high volumes of data. Since the block size of 3DES is 64 bits, our approach considers a kernel block as a 64-bit 3DES block. Each kernel block performs XOR, permutation, and S-box operations of this cipher in parallel and memory accesses are optimized by the use of constant and shared memory. Although table based and bitsliced implementations of block ciphers on GPUs outperform naive implementations, their performance vary significantly on different GPU models and architectures. Lack of publicly available source codes prohibit a fair comparison of the performance results for different implementations. In this work, we provide performance results on various GPU models and make our implementation publicly available for reproducibility and further comparisons. When compared against the baseline multi-threaded CPU implementation, our optimization achieves an average of 15.95x speed-up when encrypting large files using an RTX 2070 Super GPU. Moreover, when modified into a key search attack, more than 94.4 million 3DES key searches per second can be conducted on an RTX 2070 Super GPU.