Secrets from the GPU

Jean-Marie Chauvet,Eric Mahé
DOI: https://doi.org/10.48550/arXiv.1305.3699
2013-05-16
Abstract:Acceleration of cryptographic applications on massively parallel computing platforms, such as Graphics Processing Units (GPUs), becomes a real challenge as their decreasing cost and mass production makes practical implementations attractive. We propose a layered trusted architecture integrating random bits generation and parallelized RSA cryptographic computations on such platforms. The GPU-resident, three-tier, MR architecture consists of a RBG, using the GPU as a deep entropy pool; a bignum modular arithmetic library using the Residue Number System; and GPU APIs for RSA key generation, encryption and decryption. Evaluation results of an experimental OpenCL implementation show a 32-40 GB/s throughput of random integers, and encryptions with up to 16,128-bit long exponents on a commercial mid-range GPUs. This suggests an ubiquitous solution for autonomous trusted architectures combining low cost and high throughput.
Cryptography and Security
What problem does this paper attempt to address?
The main problems that this paper attempts to solve are improving the efficiency and security of executing cryptographic applications on Graphics Processing Units (GPUs). Specifically, the paper focuses on how to utilize the parallel computing capabilities of GPUs to accelerate computationally - intensive operations in asymmetric encryption systems, especially random number generation and RSA encryption operations. The paper proposes a three - layer trust architecture (MR architecture), aiming to solve these problems in the following ways: 1. **Random Number Generation**: Use the GPU as a deep entropy pool to achieve efficient and high - quality random bit generation. This solves the problem of insufficient entropy that may exist in existing random number generators, thereby improving the quality of the generated keys. 2. **Modular Arithmetic Library**: Use the Residue Number System (RNS) to parallelize large - integer modular arithmetic operations to improve computational efficiency. This method can significantly reduce the time complexity of large - integer multiplication and exponentiation operations. 3. **RSA Encryption Operations**: Provide a simple API for RSA key generation, encryption, and decryption. The entire process is completed on the GPU, ensuring high throughput and low latency. Through these improvements, the method proposed in the paper can achieve efficient encryption operations on low - cost commercial GPUs, which is suitable for a wide range of application scenarios, such as the autonomous trust architecture on personal devices. Experimental results show that this method has achieved significant performance improvements in both random number generation and RSA encryption operations.