Abstract
This paper describes a modular exponentiation processing method and circuit architecture that can exhibit the maximum performance of FPGA resources. The modular exponentiation architecture proposed by us comprises three main techniques. The first technique is to improve the Montgomery multiplication algorithm in order to maximize the performance of the multiplication unit in FPGA. The second technique is to improve and balance the circuit delay. The third technique is to ensure and make fast the scalability of the effective FPGA resource. We propose a circuit architecture that can handle multiple data lengths using the same circuits. In addition, our architecture can perform fast operations using small-scale resources; in particular, it can complete 512-bit modular exponentiation in 0.26 ms by means of XC4VF12-10SF363, which is the minimum logic resources in the Virtex-4 Series FPGAs. Also, the number of SLICEs used is approx. 4000 to make a very compact design. Moreover, 1024-, 1536- and 2048-bit modular exponentiations can be processed in the same circuit with the scalability.
Chapter PDF
References
Montgomery, P.L.: Modular Multiplication without Trial Division. Mathematics of Computation 43(170), 519–521 (1985)
Walter, C.D.: Systolic Modular Multiplication. IEEE Transactions on Computers 42(3), 376–378 (1993)
Eldridge, S.E., Walter, C.D.: Hardware Implementation of Montgomery’s Modular Multiplication Algorithm. IEEE Transactions on Computers 42(6), 693–699 (1993)
Orup, H.: Simplifying Quotient Determination in High-Radix Modular Multiplication. In: Proc. of the 12th IEEE Symposium on Computer Arithmetic, pp. 193–199 (1995)
Blum, T., Paar, C.: Montgomery Modular Exponentiation on Reconfigurable Hardware. In: Proc. of the 14th IEEE Symposium on Computer Arithmetic, pp. 70–77 (1999)
Walter, C.D: Montgomery’s Multiplication Technique: How to Make It Smaller and Faster. In: Koç, Ç.K., Paar, C. (eds.) CHES 1999. LNCS, vol. 1717, pp. 80–93. Springer, Heidelberg (1999)
Tenca, A.F., Koç, Ç.K.: A Scalable Architecture for Montgomery Multiplication. In: Koç, Ç.K., Paar, C. (eds.) CHES 1999. LNCS, vol. 1717, pp. 94–108. Springer, Heidelberg (1999)
Blum, T., Paar, C.: High-Radix Montgomery Modular Exponentiation on Reconfigurable Hardware. IEEE Transaction on Computers 50(7), 759–764 (2001)
Tenca, A.F., Todorov, G., Koç, Ç.K.: High-Radix Design of a Scalable Modular Multiplier. In: Koç, Ç.K., Naccache, D., Paar, C. (eds.) CHES 2001. LNCS, vol. 2162, pp. 185–201. Springer, Heidelberg (2001)
Nozaki, H., Motoyama, M., Shimbo, A., Kawamura, S.: Implementation of RSA Algorithm Based on RNS Montgomery Multiplication. In: Koç, Ç.K., Naccache, D., Paar, C. (eds.) CHES 2001. LNCS, vol. 2162, pp. 364–376. Springer, Heidelberg (2001)
Tang, S.H., Tsui, K.S., Leong, P.H.W.: Modular Exponentiation using Parallel Multipliers. In: Proc. of the 2003 IEEE International Conference on Field Programmable Technology (FPT 2003), pp. 52–59 (2003)
Satoh, A., Takano, K.: A Scalable Dual-Field Elliptic Curve Cryptographic Processor. IEEE Transactions on Computers 52(4), 449–460 (2003)
McIvor, C., McLoone, M., McCanny, J.V.: FPGA Montgomery Multiplier Architectures - A Comparsion. In: Proc. of the 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM 2004), pp. 279–282 (2004)
McIvor, C., McLoone, M., McCanny, J.V.: High-Radix Systolic Modular Multiplication on Reconfigurable Hardware. In: Proc. of the 2005 IEEE International Conference on Field Programmable Technology (FPT 2005), pp. 13–18 (2005)
Michalski, E.A., Buell, D.A.: A Scalable Architecture for RSA Cryptography on Large FPGAs. In: Proc. of the 16th IEEE International Conference on Field Programmable Logic and Applications (FPL 2006), pp. 145–152 (2006)
Kamala, R.V., Srinivas, M.B.: High-Throughput Montgomery Modular Multiplication. In: Proc. of the 14th IFIP International Conference on Very Large Scale Integration (VLSI-SoC 2006), pp. 58–62 (2006)
Sakiyama, K., Preneel, B., Verbauwhede, I.: A Fast Dual-Field Modular Arithmetic Logic Unit and Its Hardware Implementation. In: Proc. of the 2006 IEEE International Symposium on Circuits and Systems (ISCAS 2006), pp. 787–790 (2006)
Sakiyama, K., De Mulder, E., Preneel, B., Verbauwhede, I.: A Parallel Processing Hardware Architecture for Elliptic Curve Cryptosystems. In: Proc. of the 2006 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2006), vol. 3, pp. III-904-III-907 (2006)
The OpenCiphers Project (2005), http://openciphers.sourceforge.net/oc/
Knuth, D.E.: The Art of Computer Programming, Seminumerical Algorithms, 3rd edn., vol. 2. Addison-Wesley, Reading (1997)
Koç, Ç.K.: Analysis of Sliding Window Techniques for Exponentiation. Computers and Mathematics with Applications 30(10), 17–24 (1995)
Xilinx: Virtex-4 User Guide UG070 (v1.6)
Xilinx: XtremeDSP for Virtex-4 FPGAs User Guide UG073 (v2.3)
Xilinx: Virtex-4 Data Sheet: DC and Switching Characteristics DS302 (v2.0)
Xilinx: Alpha Blending Two Data Streams Using a DSP48 DDR Technique XAPP706 (v1.0)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Suzuki, D. (2007). How to Maximize the Potential of FPGA Resources for Modular Exponentiation. In: Paillier, P., Verbauwhede, I. (eds) Cryptographic Hardware and Embedded Systems - CHES 2007. CHES 2007. Lecture Notes in Computer Science, vol 4727. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74735-2_19
Download citation
DOI: https://doi.org/10.1007/978-3-540-74735-2_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74734-5
Online ISBN: 978-3-540-74735-2
eBook Packages: Computer ScienceComputer Science (R0)