FPGA Implementation of RSA Cryptosystem

In this paper, the hardware implementation of the RSA public-key cryptographic algorithm is presented. The RSA cryptographic algorithm is depends on the computation of repeated modular exponentials. The Montgomery algorithm is used and modified to reduce hardware resources and to achieve reasonable operating speed for FPGA. An efficient architecture for modular multiplications based on the array multiplier is proposed. We have implemented a RSA cryptosystem based on Montgomery algorithm. As a result, it is shown that proposed architecture contributes to small area and reasonable speed.




References:
[1] R. L. Rivest, A. Shamir, and L. Adleman. "A Method for obtaining
digital signatures and public-Key cryptosystems". Comm. ACM, 21:120
126,1978.
[2] Schneier Bruce, Cryptographie appliquée - Algorithmes, protocoles et
codes source en C - 2ème édition, International Thomson Publishing
France, 1997-Applied Cryptography - Protocols, Algorithms, and Source
Code in C - 2nd Edition.
[3] Bouallegue Ridha, Hamdi Omessaad « Sécurité des Crypto Systèmes ».
ENIT; SUPCOM, Tunis, Tunisie.2003.
[4] Alan Daly and William Marnane "Efficient Architectures for
implementing Montgomery Modular Multiplication and RSA Modular
Exponentiation on Reconfigurable Logic". -University College Cork
Ireland 2001.
[5] Young Sae Kim, Woo Seok Kang, Jun Rim Choi "Implementation of
1024-bit modular processor for RSA cryptosystem" School of Electronic
and Electrical Engineering, Kyungpook National University,
Korea.2001.
[6] John Fry - Martin Langhammer. "RSA & Public Key Cryptography in
FPGA"2000.
[7] A.Mazzero, L.Romano "FPGA-based Implementation of a serial
RSA" processor, G.P.Saggese-UniversitaÔÇÿdegli Studi Napoli "Federico
II" 2002.
[8] Tom Kean "Cryptography Rights Management of FPGA Intellectual
Property Cores" Edinburgh EH8 8YB United Kingdom.1999.
[9] S.H. Tang, K.S. Tsui and P.H.W. Leong "Modular Exponentiation
using Parallel Multipliers" The Chinese University of Hong Kong
Shatin, NT, Hong Kong 2001.