As more embedded systems are designed to transfer data digitally nowadays, the security of transmission become increasingly important. A reliable algorithm to encrypt and to decrypt data is necessary to fulfill such need and also to keep up with the fast data rates required by modern communication standards. One of the widely used cryptography algorithms, the Rivest-Shamir-Adleman (RSA) is computationally complex because of the very-long integer modular and multiplication operations; these two issues make difficult to implement RSA in embedded software. This paper analyses an RSA implementation on a reconfigurable platform consisting of a NIOS processor augmented with Stratix FPGA. Specifically, we consider Montgomery modular multiplication (MMM) to replace the expensive multiplication and modular operations, and provide reconfigurable hardware support for the MMM and Montgomery modular exponentiation (MME) that internally calls MMM. To incorporate the MME unit into the NIOS processor, a new custom instruction is defined. Preliminary results indicate that since the speed-up of the reconfigurable solution versus pure-software solution is at least 5x, the approach that is being proposed is promising
[1]
Thomas Blum,et al.
Montgomery modular exponentiation on reconfigurable hardware
,
1999,
Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).
[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]
William P. Marnane,et al.
Efficient architectures for implementing montgomery modular multiplication and RSA modular exponentiation on reconfigurable logic
,
2002,
FPGA '02.
[5]
Sanu Mathew,et al.
An improved unified scalable radix-2 Montgomery multiplier
,
2005,
17th IEEE Symposium on Computer Arithmetic (ARITH'05).