A scalable hardware architecture for prime number validation

This work presents a scalable architecture for prime number validation which targets reconfigurable hardware. The primality test is crucial for security systems, especially for most public-key schemes. The Rabin-Miller Strong Pseudoprime Test has been mapped into hardware, which makes use of a circuit for computing Montgomery modular exponentiation to further speed up the validation and to reduce the hardware cost. A design generator has been developed to generate a variety of scalable and non-scalable Montgomery multipliers based on user-defined parameters. The performance and resource usage of our designs, implemented in Xilinx reconfigurable devices, have been explored using very large prime numbers. Our work demonstrates the flexibility and trade-offs in using reconfigurable platform for prototyping cryptographic hardware in embedded systems. It is shown that, for instance, a 1024-bit primality test can be completed in less than a second, and a low cost XC3S2000 FPGA chip can accommodate a 32k-bit scalable primality test with 64 parallel processing elements.

[1]  Gary L. Miller Riemann's Hypothesis and Tests for Primality , 1976, J. Comput. Syst. Sci..

[2]  M. Rabin Probabilistic algorithm for testing primality , 1980 .

[3]  H. Riesel Prime numbers and computer methods for factorization , 1985 .

[4]  P. L. Montgomery Modular multiplication without trial division , 1985 .

[5]  Colin D. Walter,et al.  Hardware Implementation of Montgomery's Modular Multiplication Algorithm , 1993, IEEE Trans. Computers.

[6]  F. Arnault Rabin-Miller primality test: composite numbers which pass it , 1995 .

[7]  Tolga Acar,et al.  Analyzing and comparing Montgomery multiplication algorithms , 1996, IEEE Micro.

[8]  염흥렬,et al.  [서평]「Applied Cryptography」 , 1997 .

[9]  Gage Js,et al.  The great Internet Mersenne prime search. , 1998 .

[10]  Wai Keung Wong,et al.  FPGA implementation of a microcoded elliptic curve cryptographic processor , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[11]  Marc Joye,et al.  Efficient Generation of Prime Numbers , 2000, CHES.

[12]  W. Glauert,et al.  Embedded systems verification with FGPA-enhanced in-circuit emulator , 2000, ISSS '00.

[13]  Çetin Kaya Koç,et al.  High-Radix Design of a Scalable Modular Multiplier , 2001, CHES.

[14]  Christof Paar,et al.  High-Radix Montgomery Modular Exponentiation on Reconfigurable Hardware , 2001, IEEE Trans. Computers.

[15]  V. Fischer,et al.  Scalable RSA Processor in Reconfigurable Hardware-a SoC Building Block , 2001 .

[16]  André L. M. dos Santos,et al.  Implementation of fast RSA key generation on smart cards , 2002, SAC '02.

[17]  C. Pomerance,et al.  Prime Numbers: A Computational Perspective , 2002 .

[18]  William P. Marnane,et al.  Efficient architectures for implementing montgomery modular multiplication and RSA modular exponentiation on reconfigurable logic , 2002, FPGA '02.

[19]  Wayne Luk,et al.  Compiling policy descriptions into reconfigurable firewall processors , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

[20]  Çetin Kaya Koç,et al.  A Scalable Architecture for Modular Multiplication Based on Montgomery's Algorithm , 2003, IEEE Trans. Computers.

[21]  Manindra Agrawal,et al.  PRIMES is in P , 2004 .