An exploit involving the greatest common divisor (GCD) of RSA moduli was recently discovered [1]. This paper presents a tool that can efficiently and completely compare a large number of 1024-bit RSA public keys, and identify any keys that are susceptible to this weakness. NVIDIA's graphics processing units (GPU) and the CUDA massively-parallel programming model are powerful tools that can be used to accelerate this tool. Our method using CUDA has a measured performance speedup of 27.5 compared to a sequential CPU implementation, making it a more practical method to compare large sets of keys. A computation for finding GCDs between 200,000 keys, i.e., approximately 20 billion comparisons, was completed in 113 minutes, the equivalent of approximately 2.9 million 1024-bit GCD comparisons per second.
[1]
Adi Shamir,et al.
A method for obtaining digital signatures and public-key cryptosystems
,
1978,
CACM.
[2]
Brigitte Vallée,et al.
The Complete Analysis of the Binary Euclidean Algorithm
,
1998,
ANTS.
[3]
Noriyuki Fujimoto.
High throughput multiple-precision GCD on the CUDA architecture
,
2009,
2009 IEEE International Symposium on Signal Processing and Information Technology (ISSPIT).
[4]
Arjen K. Lenstra,et al.
Ron was wrong, Whit is right
,
2012,
IACR Cryptol. ePrint Arch..
[5]
Ian Goldberg,et al.
Solving Discrete Logarithms in Smooth-Order Groups with CUDA 1
,
2012
.
[6]
J. Stein.
Computational problems associated with Racah algebra
,
1967
.