Abstract
The generation of prime numbers underlies the use of most public-key schemes, essentially as a major primitive needed for the creation of key pairs or as a computation stage appearing during various cryptographic setups. Surprisingly, despite decades of intense mathematical studies on primality testing and an observed progressive intensification of cryptographic usages, prime number generation algorithms remain scarcely investigated and most real-life implementations are of rather poor performance. Common generators typically output a n-bit prime in heuristic average complexity O(n4) or O(n4/ log n) and these figures, according to experience, seem impossible to improve significantly: this paper rather shows a simple way to substantially reduce the value of hidden constants to provide much more efficient prime generation algorithms. We apply our techniques to various contexts (DSA primes, safe primes, ANSI X9.31-compliant primes, strong primes, etc.) and show how to build fast implementations on appropriately equipped smart-cards, thus allowing on-board key generation.
Some parts presented in this paper are patent pending.
assuming that multiplications modulo q are in O(❘q❘2). Theoretically, one could decrease this complexity by using multiplication algorithms such as Karatsuba in O(❘q❘log2 3) or Schönhage-Strassen in O(❘q❘log❘q❘loglog❘q❘).
Chapter PDF
Similar content being viewed by others
Keywords
References
ANSI X9.31. Public-key cryptography using RSA for the financial services industry. American National Standard for Financial Services, draft, 1995.
A.O.L. Atkin and F. Morain. Elliptic curves and primality proving. Mathematics of Computation, vol. 61, pp. 29–68, 1993.
D. Boneh and M. Franklin. Efficient generation of shared RSA keys. In Advances in Cryptology-CRYPTO’97, vol. 1294 of Lecture Notes in Computer Science, pp. 425–439, Springer-Verlag, 1997.
W. Bosma and M.-P. van der Hulst. Faster primality testing. In Advances in Cryptology-CRYPTO’89, vol. 435 of Lecture Notes in Computer Science, pp. 652–656, Springer-Verlag, 1990.
J. Brandt and I. Damg∢rd. On generation of probable primes by incremental search. In Advances in Cryptology-CRYPTO’ 92, vol. 740 of Lecture Notes in Computer Science, pp. 358–370, Springer-Verlag, 1993.
J. Brandt, I. Damg∢rd, and P. Landrock. Speeding up prime number generation. In Advances in Cryptology-ASIACRYPT’91, vol. 739 of Lecture Notes in Computer Science, pp. 440–449, Springer-Verlag, 1991.
C. Couvreur and J.-J. Quisquater. An introduction to fast generation of large prime numbers. Philips Journal of Research, vol. 37, pp. 231–264, 1982.
C. Ding, D. Pei, and A. Salomaa. Chinese Remainder Theorem, Word Scientific, 1996.
FIPS 186. Digital signature standard. Federal Information Processing Standards Publication 186, US Department of Commerce/N.I.S.T., 1994.
D.E. Knuth. The Art of Computer Programming-Seminumerical Algorithms, vol. 2, Addison-Wesley, 2nd ed., 1981.
A.J. Menezes, P.C. van Oorschot, and S.A. Vanstone. Handbook of Applied Cryptography, CRC Press, 1997.
H.C. Pocklington. The determination of the prime or composite nature of large numbers by Fermat’s theorem. Proc. of the Cambridge Philosophical Society, vol. 18, pp. 29–30, 1914.
H. Riesel. Prime Numbers and Computer Methods for Factorization, Birkhäuser, 1985.
R.L. Rivest. Remarks on a proposed cryptanalytic attack on the M.I.T. public-key cryptosystem. Cryptologia, vol. 2, pp. 62–65, 1978.
R.L. Rivest, A. Shamir, and L.M. Adleman. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, vol. 21, pp. 120–126, 1978.
R. Solovay and V. Strassen. A fast Monte-Carlo test for primality. SIAM Journal on Computing, vol. 6, pp. 84–85, 1977.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Joye, M., Paillier, P., Vaudenay, S. (2000). Efficient Generation of Prime Numbers. In: Koç, Ç.K., Paar, C. (eds) Cryptographic Hardware and Embedded Systems — CHES 2000. CHES 2000. Lecture Notes in Computer Science, vol 1965. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44499-8_27
Download citation
DOI: https://doi.org/10.1007/3-540-44499-8_27
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41455-1
Online ISBN: 978-3-540-44499-2
eBook Packages: Springer Book Archive