Acceleration of RSA Cryptographic Operations Using FPGA Technology

In Embedded Systems, the calculation of RSA cryptographic operations is sometimes hard to achieve if time constraints must be observed. In the following, we present an approach to increase processing power regarding cryptographic operations using FPGA (Field Programmable GateArray) technology. The FPGA, which is present in many designs anyway, computes parts of the operations, allowing the embedded processor to do concurrent calculations. We will have a closer look at RSA, which is an example of a time-consuming asymmetric cryptographic algorithm. We will see that multiplication and squaring are basic operations of a modern RSA implementation and thus have to be computed in an efficient way. We implement those basic operations on an FPGA, which computes them faster than the processor.

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

[2]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

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

[4]  Jun Rim Choi,et al.  Asynchronous implementation of 1024-bit modular processor for RSA cryptosystem , 2000, Proceedings of Second IEEE Asia Pacific Conference on ASICs. AP-ASIC 2000 (Cat. No.00EX434).

[5]  Michael Welschenbach Kryptographie in C und C , 2001 .

[6]  Marc Joye,et al.  The Montgomery Powering Ladder , 2002, CHES.

[7]  Christof Paar,et al.  Efficient hardware architectures for modular multiplication on FPGAs , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[8]  Tom St Denis,et al.  Cryptography for developers , 2006 .