Fast Generation of Prime Numbers on Portable Devices: An Update

  • Marc Joye
  • Pascal Paillier
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4249)


The generation of prime numbers underlies the use of most public-key cryptosystems, essentially as a primitive needed for the creation of RSA key pairs. Surprisingly enough, despite decades of intense mathematical studies on primality testing and an observed progressive intensification of cryptography, prime number generation algorithms remain scarcely investigated and most real-life implementations are of dramatically poor performance.

We show simple techniques that substantially improve all algorithms previously suggested or extend their capabilities. We derive fast implementations on appropriately equipped portable devices like smart-cards embedding a cryptographic coprocessor. This allows onboard generation of RSA keys featuring a very attractive (average) processing time.

Our motivation here is to help transferring this task from terminals where this operation usually took place so far, to portable devices themselves in near future for more confidence, security, and compliance with network-scaled distributed protocols such as electronic cash or mobile commerce.


Public-key cryptography RSA primality testing prime number generation embedded software efficient implementations cryptoprocessors smart cards PDAs 


  1. 1.
    ANSI X9.31. Public-key cryptography using RSA for the financial services industry. American National Standard for Financial Services, draft (1995)Google Scholar
  2. 2.
    Atkin, A.O.L., Morain, F.: Elliptic curves and primality proving. Mathematics of Computation 61, 29–68 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Boneh, D., Franklin, M.: Efficient generation of shared RSA keys. In: Kaliski Jr., B.S. (ed.) CRYPTO 1997. LNCS, vol. 1294, pp. 425–439. Springer, Heidelberg (1997)Google Scholar
  4. 4.
    Bosma, W., van der Hulst, M.-P.: Faster primality testing. In: Brassard, G. (ed.) CRYPTO 1989. LNCS, vol. 435, pp. 652–656. Springer, Heidelberg (1990)Google Scholar
  5. 5.
    Brandt, J., Damgård, I.: On generation of probable primes by incremental search. In: Brickell, E.F. (ed.) CRYPTO 1992. LNCS, vol. 740, pp. 358–370. Springer, Heidelberg (1993)Google Scholar
  6. 6.
    Brandt, J., Damgård, I., Landrock, P.: Speeding up prime number generation. In: Matsumoto, T., Imai, H., Rivest, R.L. (eds.) ASIACRYPT 1991. LNCS, vol. 739, pp. 440–449. Springer, Heidelberg (1993)Google Scholar
  7. 7.
    Carmichael, R.D.: Introduction to the Theory of Groups of Finite Order. Dover, Mineola (1956)zbMATHGoogle Scholar
  8. 8.
    Couvreur, C., Quisquater, J.-J.: An introduction to fast generation of large prime numbers. Philips Journal of Research 37, 231–264 (1982)MathSciNetGoogle Scholar
  9. 9.
    Ding, C., Pei, D., Salomaa, A.: Chinese Remainder Theorem. Word Scientific, Singapore (1996)zbMATHCrossRefGoogle Scholar
  10. 10.
    Gallagher, P.X.: On the distribution of primes in short intervals. Mathematica 23, 4–9 (1976)zbMATHMathSciNetGoogle Scholar
  11. 11.
    Hardy, G.H., Littlewood, J.E.: Some problems of ‘Partitio Numerorum’ III: On the expression of a number as a sum of primes. Acta Mathematica 44, 1–70 (1922)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Joye, M., Paillier, P.: Fast generation of prime numbers on portable devices: An update. Extended version of this work, Available on:
  13. 13.
    Joye, M., Paillier, P., Vaudenay, S.: Efficient generation of prime numbers. In: Paar, C., Koç, Ç.K. (eds.) CHES 2000. LNCS, vol. 1965, pp. 340–354. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  14. 14.
    Knuth, D.E.: The Art of Computer Programming - Seminumerical Algorithms, 2nd edn., vol. 2. Addison-Wesley, Reading (1981)Google Scholar
  15. 15.
    Lu, C., Dos Santos, A.L.M.: A note on efficient implementation of prime generation in small portable devices. Computer Networks 49, 476–491 (2005)CrossRefGoogle Scholar
  16. 16.
    Lu, C., Dos Santos, A.L.M., Pimentel, F.R.: Implementation of fast RSA key generation on smart cards. In: 17th ACM Symposium on Applied Computing, pp. 214–221. ACM Press, New York (2002)Google Scholar
  17. 17.
    Maurer, U.: Fast generation of prime numbers and secure public-key cryptographic parameters. Journal of Cryptology 8, 123–155 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Menezes, A.J., van Oorschot, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1997)zbMATHGoogle Scholar
  19. 19.
    Monier, L.: Evaluation and comparison of two efficient probabilistic primality testing algorithms. Theoretical Computer Science 12, 97–108 (1980)zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Pocklington, C.: The determination of the prime or composite nature of large numbers by Fermat’s theorem. In: Proc. of the Cambridge Philosophical Society, vol. 18, pp. 29–30 (1914)Google Scholar
  21. 21.
    Quisquater, J.-J., Couvreur, C.: Fast decipherment algorithm for RSA public-key cryptosystem. Electronics Letters 18, 905–907 (1982)CrossRefGoogle Scholar
  22. 22.
    Riesel, H.: Prime Numbers and Computer Methods for Factorization, Birkhäuser (1985)Google Scholar
  23. 23.
    Rivest, R.L., Shamir, A., Adleman, L.M.: A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM 21, 120–126 (1978)zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Silverman, R.D.: Fast generation of random, strong RSA primes. Cryptobytes 3, 9–13 (1997)Google Scholar
  25. 25.
    Solovay, R., Strassen, V.: A fast Monte-Carlo test for primality. SIAM Journal on Computing 6, 84–85 (1977)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Marc Joye
    • 1
  • Pascal Paillier
    • 2
  1. 1.Technology Group, Corporate Research, Security LaboratoryThomson R&D FranceCesson-SévignéFrance
  2. 2.Gemalto, Security LabsIssy-les-MoulineauxFrance

Personalised recommendations