Improving the computational efficiency of modular operations for embedded systems

Abstract Security protocols such as IPSec, SSL and VPNs used in many communication systems employ various cryptographic algorithms in order to protect the data from malicious attacks. Thanks to public-key cryptography, a public channel which is exposed to security risks can be used for secure communication in such protocols without needing to agree on a shared key at the beginning of the communication. Public-key cryptosystems such as RSA, Rabin and ElGamal cryptosystems are used for various security services such as key exchange and key distribution between communicating nodes and many authentication protocols. Such public-key cryptosystems usually depend on modular arithmetic operations including modular multiplication and exponentiation. These mathematical operations are computationally intensive and fundamental arithmetic operations which are intensively used in many fields including cryptography, number theory, finite field arithmetic, and so on. This paper is devoted to the analysis of modular arithmetic operations and the improvement of the computation of modular multiplication and exponentiation from hardware design perspective based on FPGA. Two of the well-known algorithms namely Montgomery modular multiplication and Karatsuba algorithms are exploited together within our high-speed pipelined hardware architecture. Our proposed design presents an efficient solution for a range of applications where area and performance are both important. The proposed coprocessor offers scalability which means that it supports different security levels with a cost of performance. We also build a system-on-chip design using Xilinx’s latest Zynq-7000 family extensible processing platform to show how our proposed design improve the processing time of modular arithmetic operations for embedded systems.

[1]  Koji Nakano,et al.  RSA encryption and decryption using the redundant number system on the FPGA , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[2]  Dhamin Al-Khalili,et al.  Efficient Scheme for Implementing Large Size Signed Multipliers Using Multigranular Embedded DSP Blocks in FPGAs , 2009, Int. J. Reconfigurable Comput..

[3]  Christof Paar,et al.  Generalizations of the Karatsuba Algorithm for Efficient Implementations , 2006, IACR Cryptol. ePrint Arch..

[4]  B. Belgacem,et al.  Efficient hardware architecture of recursive Karatsuba-Ofman multiplier , 2008, 2008 3rd International Conference on Design and Technology of Integrated Systems in Nanoscale Era.

[5]  Joos Vandewalle,et al.  Hardware architectures for public key cryptography , 2003, Integr..

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

[7]  Ismail San,et al.  On Increasing the Computational Efficiency of Long Integer Multiplication on FPGA , 2012, 2012 IEEE 11th International Conference on Trust, Security and Privacy in Computing and Communications.

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

[9]  Nadia Nedjah,et al.  A Review of Modular Multiplication Methods ands Respective Hardware Implementation , 2006, Informatica.

[10]  Anatolij A. Karatsuba,et al.  Multiplication of Multidigit Numbers on Automata , 1963 .

[11]  Joachim von zur Gathen,et al.  Efficient FPGA-Based Karatsuba Multipliers for Polynomials over F2 , 2005, Selected Areas in Cryptography.

[12]  Philip Heng Wai Leong,et al.  Modular exponentiation using parallel multipliers , 2003, Proceedings. 2003 IEEE International Conference on Field-Programmable Technology (FPT) (IEEE Cat. No.03EX798).

[13]  Bo Song,et al.  CRT-Based DSP Decryption Using Montgomery Modular Multiplication on the FPGA , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[14]  Bo Song,et al.  An RSA Encryption Hardware Algorithm Using a Single DSP Block and a Single Block RAM on the FPGA , 2010, 2010 First International Conference on Networking and Computing.

[15]  J. N. Bautista,et al.  A mathematical co-processor of modular arithmetic based on a FPGA , 2012, 2012 Technologies Applied to Electronics Teaching (TAEE).

[16]  Tim Güneysu,et al.  Utilizing hard cores of modern FPGA devices for high-performance cryptography , 2011, Journal of Cryptographic Engineering.

[17]  Holger Orup,et al.  Simplifying quotient determination in high-radix modular multiplication , 1995, Proceedings of the 12th Symposium on Computer Arithmetic.

[18]  Jean-Michel Muller,et al.  Automatic Generation of Modular Multipliers for FPGA Applications , 2008, IEEE Transactions on Computers.

[19]  Colin D. Walter Space/Time Trade-Offs for Higher Radix Modular Multiplication Using Repeated Addition , 1997, IEEE Trans. Computers.

[20]  Çetin Kaya Koç,et al.  A Scalable Architecture for Montgomery Multiplication , 1999, CHES.

[21]  Florent de Dinechin,et al.  Large multipliers with fewer DSP blocks , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[22]  Wayne Luk,et al.  A Karatsuba-Based Montgomery Multiplier , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[23]  Daisuke Suzuki,et al.  How to Maximize the Potential of FPGA-Based DSPs for Modular Exponentiation , 2011, IEICE Trans. Fundam. Electron. Commun. Comput. Sci..

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