DOI QR코드

DOI QR Code

Design and Analysis of Efficient Parallel Hardware Prime Generators

  • Kim, Dong Kyue (Dept. of Electronic Engineering, Hanyang University) ;
  • Choi, Piljoo (Dept. of Electronic Engineering, Hanyang University) ;
  • Lee, Mun-Kyu (Dept. of Computer and Information Engineering, Inha University) ;
  • Park, Heejin (Dept. of Computer Science and Engineering, Hanyang University)
  • Received : 2015.10.22
  • Accepted : 2016.05.19
  • Published : 2016.10.30

Abstract

We present an efficient hardware prime generator that generates a prime p by combining trial division and Fermat test in parallel. Since the execution time of this parallel combination is greatly influenced by the number k of the smallest odd primes used in the trial division, it is important to determine the optimal k to create the fastest parallel combination. We present probabilistic analysis to determine the optimal k and to estimate the expected running time for the parallel combination. Our analysis is conducted in two stages. First, we roughly narrow the range of optimal k by using the expected values for the random variables used in the analysis. Second, we precisely determine the optimal k by using the exact probability distribution of the random variables. Our experiments show that the optimal k and the expected running time determined by our analysis are precise and accurate. Furthermore, we generalize our analysis and propose a guideline for a designer of a hardware prime generator to determine the optimal k by simply calculating the ratio of M to D, where M and D are the measured running times of a modular multiplication and an integer division, respectively.

Keywords

References

  1. R. L. Rivest, A. Shamir and L. Adleman, "A method for obtaining digital signatures and publickey cryptosystems," Communications of the ACM, vol. 21, pp. 120-126, 1978. https://doi.org/10.1145/359340.359342
  2. T. ElGamal, "A public key cryptosystem and a signature scheme based on discrete logarithms," in Advances in Cryotology, 1985, pp. 10-18.
  3. FIPS PUB 186-2. "Digital Signature Standard (DSS)," National Institute of Standards and Technology (NIST), 2000.
  4. V. Miller, "Use of elliptic curves in cryptography," in Advances in Cryptology-CRYPTO'85 Proceedings, 1986, pp. 417-426.
  5. N. Koblitz, "Elliptic curve cryptosystems," Mathematics of Computation, vol. 48, pp. 203-209, 1987. https://doi.org/10.1090/S0025-5718-1987-0866109-5
  6. Trusted Platform Module, http://www.trustedcomputinggroup.org/developers/trusted platformmodule.
  7. Trusted Environment Execution, http://www.globalplatform.org/mediaguidetee.asp.
  8. TrustZone, http://www.arm.com/products/processors/technologies/trustzone/index.php.
  9. S. Tueke, V. Welch, D. Engert, L. Pearlman, and M.Thompson, "Internet X.509 public key infrastructure (PKI) proxy certificate profile," RFC 3280 (Proposed Standard), 2004.
  10. T. H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, Introduction to Algorithms, 3rd ed: MIT press Cambridge, 2009.
  11. H. C. Pocklington, "The determination of the prime or composite nature of large numbers by Fermat's theorem," in Proceedings of the Cambridge Philosophical Society, 1914, pp. 29-30.
  12. A. O. L. Atkin and F. Morain, "Elliptic curves and primality proving," Mathematics of Computation, vol. 61, pp. 29-68, 1993. https://doi.org/10.1090/S0025-5718-1993-1199989-X
  13. W. Bosma and M.-P. van der Hulst, "Faster primality testing," in Advances in Cryptology-EUROCRYPT'89, 1990, pp. 652-656.
  14. U. M. Maurer, "Fast Generation of Prime Numbers and Secure Public-Key Cryptographic Parameters," Journal of Cryptology, vol. 8, pp. 123-155, 1995.
  15. J. Shawe-Taylor, "Generating strong primes," Electronics Letters, vol. 22, pp. 875-877, 1986. https://doi.org/10.1049/el:19860598
  16. M. Agrawal, N. Kayal, and N. Saxena, "PRIMES is in P," Annals of mathematics, vol. 160, no. 2, pp. 781-793, 2004. https://doi.org/10.4007/annals.2004.160.781
  17. M. O. Rabin, "Probabilistic Algorithm for Primality Testing," Journal of Number Theory, vol. 12, pp. 128-138, 1980. https://doi.org/10.1016/0022-314X(80)90084-0
  18. R. Solovay and V. Strassen, "A fast Monte-Carlo test for primality," SIAM Journal on Computing, vol. 6, pp. 84-85, 1977. https://doi.org/10.1137/0206006
  19. J. Grantham, "A probable prime test with high confidence," Journal of Number Theory, vol. 72, pp. 32-47, 1998. https://doi.org/10.1006/jnth.1998.2247
  20. D. J. Lehmann, "On primality tests," SIAM Journal on Computing, vol. 11, pp. 374-375, 1982. https://doi.org/10.1137/0211029
  21. OpenSSL, http://www.openssl.org.
  22. H. Park, S. K. Park, K.-R. Kwon, and D. K. Kim, "Probabilistic Analysis on Finding Optimal Combinations of Primality Tests in Real Applications," in Information Security Practice and Experience, ed: Springer, 2005, pp. 74-84.
  23. P. Heejin and D. K. Kim, "Probabilistic Analysis on the Optimal Combination of Trial Division and Probabilistic Primality Tests for Safe Prime Generation," IEICE transactions on information and systems, vol. 94, pp. 1210-1215, 2011.
  24. N. Koblitz, A course in number theory and cryptography, Berlin, Germany: Springer-Verlag, 1994.
  25. I. Damgaard, P. Landrock, and C. Pomerance, "Average case error estimates for the strong probable prime test," Mathematics of Computation, vol. 61, pp. 177-194, 1993. https://doi.org/10.1090/S0025-5718-1993-1189518-9
  26. C. Pomerance, "On the Distribution of Pseudoprimes," Mathematics of Computation, pp. 587-593, 1981.
  27. D. E. Knuth, "The Art of Computer Programming, volume 2: Seminumerical Algorithms," Reading: Addison-Wesley Professional, vol. 192, 1997.
  28. P. L. Montgomery, "Modular Multiplication without Trial Division," Math of Computation, vol. 44, pp. 519-521, 1985. https://doi.org/10.1090/S0025-5718-1985-0777282-X
  29. S. R. Dusse and B.S. Kaliski Jr, "A cryptographic library for the Motorola DSP56000," in Advances in Cryptology-EUROCRYPT'90, 1991, pp. 230-244.
  30. T. Blum and C. Paar, "Montgomery modular exponentiation on reconfigurable hardware," in Computer Arithmetic, 1999. Proceedings. 14th IEEE Symposium on, 1999, pp. 70-77.
  31. D. M. Gordon, "A survey of fast exponentiation methods," Journal of Algorithms, vol. 27, pp. 129-146, 1998. https://doi.org/10.1006/jagm.1997.0913
  32. C. K. Koc, "High-Speed RSA Implementation," Technical Report, RSA Laboratories, 1994.
  33. G. L. Miller, "Riemann's Hypothesis and Tests for Primality," Journal of Computer Systems Science, vol. 13, pp. 300-317, 1976. https://doi.org/10.1016/S0022-0000(76)80043-8