Paper 2024/699

An Efficient All-to-All GCD Algorithm for Low Entropy RSA Key Factorization

Elijah Pelofske, Independent Researcher
Abstract

RSA is an incredibly successful and useful asymmetric encryption algorithm. One of the types of implementation flaws in RSA is low entropy of the key generation, specifically the prime number creation stage. This can occur due to flawed usage of random prime number generator libraries, or on computers where there is a lack of a source of external entropy. These implementation flaws result in some RSA keys sharing prime factors, which means that the full factorization of the public modulus can be recovered incredibly efficiently by performing a computation GCD between the two public key moduli that share the prime factor. However, since one does not know which of the composite moduli share a prime factor a-priori, to determine if any such shared prime factors exist, an all-to-all GCD attack (also known as a batch GCD attack, or a bulk GCD attack) can be performed on the available public keys so as to recover any shared prime factors. This study describes a novel all-to-all batch GCD algorithm, which will be referred to as the binary tree batch GCD algorithm, that is more efficient than the current best batch GCD algorithm (the remainder tree batch GCD algorithm). A comparison against the best existing batch GCD method (which is a product tree followed by a remainder tree computation) is given using a dataset of random RSA moduli that are constructed such that some of the moduli share prime factors. This proposed binary tree batch GCD algorithm has better runtime than the existing remainder tree batch GCD algorithm, although asymptotically it has nearly identical scaling and its complexity is dependent on how many shared prime factors exist in the set of RSA keys. In practice, the implementation of the proposed binary tree batch GCD algorithm has a roughly 6x speedup compared to the standard remainder tree batch GCD approach.

Metadata
Available format(s)
PDF
Category
Attacks and cryptanalysis
Publication info
Preprint.
Keywords
RSABatch GCDBulk GCDall-to-all GCDLow Entropy RSA keysGCDGreatest Common DivisorRSA key factorization
Contact author(s)
elijah pelofske @ protonmail com
History
2024-05-10: approved
2024-05-06: received
See all versions
Short URL
https://ia.cr/2024/699
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2024/699,
      author = {Elijah Pelofske},
      title = {An Efficient All-to-All {GCD} Algorithm for Low Entropy {RSA} Key Factorization},
      howpublished = {Cryptology {ePrint} Archive, Paper 2024/699},
      year = {2024},
      url = {https://eprint.iacr.org/2024/699}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.