Paper 2020/1265
Revisiting ECM on GPUs
Jonas Wloka, Jan Richter-Brockmann, Colin Stahlke, Thorsten Kleinjung, Christine Priplata, and Tim Güneysu
Abstract
Modern public-key cryptography is a crucial part of our contemporary life where a secure communication channel with another party is needed. With the advance of more powerful computing architectures – especially Graphics Processing Units (GPUs) – traditional approaches like RSA and Diffie-Hellman schemes are more and more in danger of being broken. We present a highly optimized implementation of Lenstra’s ECM algorithm customized for GPUs. Our implementation uses state-of-the-art elliptic curve arithmetic and optimized integer arithmetic while providing the possibility of arbitrarily scaling ECM’s parameters allowing an application even for larger discrete logarithm problems. Furthermore, the proposed software is not limited to any specific GPU generation and is to the best of our knowledge the first implementation supporting multiple device computation. To this end, for a bound of B1=8,192 and a modulus size of 192 bit, we achieve a throughput of 214 thousand ECM trials per second on a modern RTX 2080 Ti GPU considering only the first stage of ECM. To solve the Discrete Logarithm Problem for larger bit sizes, our software can easily support larger parameter sets such that a throughput of 2,781 ECM trials per second is achieved using B1=50,000, B2=5,000,000, and a modulus size of 448 bit.
Metadata
- Available format(s)
- Category
- Public-key cryptography
- Publication info
- Published elsewhere. 19th International Conference on Cryptology and Network Security
- Keywords
- ECMCryptanalysisPrime FactorizationGPU
- Contact author(s)
-
jan richter-brockmann @ rub de
jowlo @ uni-bremen de - History
- 2020-10-14: received
- Short URL
- https://ia.cr/2020/1265
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2020/1265, author = {Jonas Wloka and Jan Richter-Brockmann and Colin Stahlke and Thorsten Kleinjung and Christine Priplata and Tim Güneysu}, title = {Revisiting {ECM} on {GPUs}}, howpublished = {Cryptology {ePrint} Archive, Paper 2020/1265}, year = {2020}, url = {https://eprint.iacr.org/2020/1265} }