gECC: A GPU-based high-throughput framework for Elliptic Curve Cryptography

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Xiong, Qian, Ma, Weiliang, Shi, Xuanhua, Zhou, Yongluan, Jin, Hai, Huang, Kaiyi, Wang, Haozhou, Wang, Zhengru
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910773956050944
author Xiong, Qian
Ma, Weiliang
Shi, Xuanhua
Zhou, Yongluan
Jin, Hai
Huang, Kaiyi
Wang, Haozhou
Wang, Zhengru
author_facet Xiong, Qian
Ma, Weiliang
Shi, Xuanhua
Zhou, Yongluan
Jin, Hai
Huang, Kaiyi
Wang, Haozhou
Wang, Zhengru
contents Elliptic Curve Cryptography (ECC) is an encryption method that provides security comparable to traditional techniques like Rivest-Shamir-Adleman (RSA) but with lower computational complexity and smaller key sizes, making it a competitive option for applications such as blockchain, secure multi-party computation, and database security. However, the throughput of ECC is still hindered by the significant performance overhead associated with elliptic curve (EC) operations. This paper presents gECC, a versatile framework for ECC optimized for GPU architectures, specifically engineered to achieve high-throughput performance in EC operations. gECC incorporates batch-based execution of EC operations and microarchitecture-level optimization of modular arithmetic. It employs Montgomery's trick to enable batch EC computation and incorporates novel computation parallelization and memory management techniques to maximize the computation parallelism and minimize the access overhead of GPU global memory. Also, we analyze the primary bottleneck in modular multiplication by investigating how the user codes of modular multiplication are compiled into hardware instructions and what these instructions' issuance rates are. We identify that the efficiency of modular multiplication is highly dependent on the number of Integer Multiply-Add (IMAD) instructions. To eliminate this bottleneck, we propose techniques to minimize the number of IMAD instructions by leveraging predicate registers to pass the carry information and using addition and subtraction instructions (IADD3) to replace IMAD instructions. Our results show that, for ECDSA and ECDH, gECC can achieve performance improvements of 5.56x and 4.94x, respectively, compared to the state-of-the-art GPU-based system. In a real-world blockchain application, we can achieve performance improvements of 1.56x, compared to the state-of-the-art CPU-based system.
format Preprint
id arxiv_https___arxiv_org_abs_2501_03245
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle gECC: A GPU-based high-throughput framework for Elliptic Curve Cryptography
Xiong, Qian
Ma, Weiliang
Shi, Xuanhua
Zhou, Yongluan
Jin, Hai
Huang, Kaiyi
Wang, Haozhou
Wang, Zhengru
Cryptography and Security
Hardware Architecture
Distributed, Parallel, and Cluster Computing
Elliptic Curve Cryptography (ECC) is an encryption method that provides security comparable to traditional techniques like Rivest-Shamir-Adleman (RSA) but with lower computational complexity and smaller key sizes, making it a competitive option for applications such as blockchain, secure multi-party computation, and database security. However, the throughput of ECC is still hindered by the significant performance overhead associated with elliptic curve (EC) operations. This paper presents gECC, a versatile framework for ECC optimized for GPU architectures, specifically engineered to achieve high-throughput performance in EC operations. gECC incorporates batch-based execution of EC operations and microarchitecture-level optimization of modular arithmetic. It employs Montgomery's trick to enable batch EC computation and incorporates novel computation parallelization and memory management techniques to maximize the computation parallelism and minimize the access overhead of GPU global memory. Also, we analyze the primary bottleneck in modular multiplication by investigating how the user codes of modular multiplication are compiled into hardware instructions and what these instructions' issuance rates are. We identify that the efficiency of modular multiplication is highly dependent on the number of Integer Multiply-Add (IMAD) instructions. To eliminate this bottleneck, we propose techniques to minimize the number of IMAD instructions by leveraging predicate registers to pass the carry information and using addition and subtraction instructions (IADD3) to replace IMAD instructions. Our results show that, for ECDSA and ECDH, gECC can achieve performance improvements of 5.56x and 4.94x, respectively, compared to the state-of-the-art GPU-based system. In a real-world blockchain application, we can achieve performance improvements of 1.56x, compared to the state-of-the-art CPU-based system.
title gECC: A GPU-based high-throughput framework for Elliptic Curve Cryptography
topic Cryptography and Security
Hardware Architecture
Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2501.03245