A GPU Implementation of PRINCE Block Cipher
Owing to the drastic demand of cryptographic primitives for resource-constrained environments, lots of lightweight cipher designs sprout up in the last twenty years. PRINCE is a hardware-oriented block cipher which meets the low-latency encryption demand and has a compact design fashion. Many hardware implementations were proposed, however, there are few software implementations optimized for PRINCE. In this paper, we show that how to accelerate the software performance of the PRINCE block cipher using GPU programming. Our implementation involves the process of transferring the data between CPU and GPU, and the parallel executions of PRINCE kernel on GPU. Some optimizing techniques are adopted in our implementation, such as combining multiple looking-up-tables, function simplification, allocating suitable memories for different components and speeding up the memory access, using unified memory management to speed up the data transfer, and optimizing the size of the thread block. With a GTX 1070 GPU card on a common laptop, the throughput of the whole data processing reaches to about 64 Gbps, which speeds up about 4000 times compared to the original CPU implementation.
Authors
- Jingchun Yang
- Ran Tao (ORCID: https://orcid.org/0000-0003-1734-3336)
- Shutao Xu (ORCID: https://orcid.org/0000-0003-4722-8371)
- Xin Jiang (ORCID: https://orcid.org/0000-0003-4141-1538)
Institutions
- Southeast University (CN)
Publication Details
- Published
- 2024-08-16
- DOI
- https://doi.org/10.1109/ccet62233.2024.10837968
- Citations
- 1
- Primary Topic
- Embedded Systems Design Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.49