Universiti Teknologi Malaysia Institutional Repository

A hardware implementation of Rivest-Shamir-Adleman co-processor for resource constrained embedded systems

Paniandi, Arul (2006) A hardware implementation of Rivest-Shamir-Adleman co-processor for resource constrained embedded systems. Masters thesis, Universiti Teknologi Malaysia, Faculty of Electrical Engineering.

[img] PDF
Restricted to Repository staff only

2984Kb
[img] PDF
100Kb
[img] PDF
74Kb
[img] PDF
128Kb

Abstract

The concern with security problems has been rapidly increasing as computers and Internet services become a more pervasive part of our daily life. This need is further fueled by the advent of mobile electronic devices like smart cards, mobile phones and hardware tokens. Public key cryptographic systems such as RSA (Rivest- Shamir-Adleman) are vital in providing this security in terms of authentication, private key exchange, and digital signatures. Unfortunately, current RSA implementations are either resource exhaustive or too slow. In this thesis, a fast and configurable hardware implementation of the RSA algorithm for public key cryptography is presented that addresses the issues above. The designed RSA coprocessor core is actually a modular exponentiation hardware engine, which is the basic arithmetic operation in implementing a RSA public key encryption and decryption algorithm. The computation intensive modular multiplication operation is based on the Montgomery’s algorithm and implemented using systolic array architecture. The modules in the RSA co-processor are modeled using VHDL hardware description language before being integrated with Altera’s softcore general-purpose processor, Nios II, and standard peripherals to form a complete cryptosystem in SoPC environment. Embedded C language codes are then written to test the functionality of the RSA co-processor on hardware. Upon verification, a demonstration application prototype that performs RSA encryption and decryption is developed using Visual Basic 6.0. This RSA co-processor core is able to encrypt and decrypt data with variable key lengths up to 4096 bits. The 1024 bit implementation uses 7000 Logic Elements (LE) on the Altera Stratix EP1S40-F780C5 FPGA development board which roughly translates to 49,000 gates. Encryption takes 2 ms while decryption takes 79 ms with the clock frequency of 40MHz. The speed and area constraint achieved is comparable and even better than several other research and commercial implementations.

Item Type:Thesis (Masters)
Additional Information:Master of Engineering (Electrical) - Universiti Teknologi Malaysia, 2006; Supervisor : Prof. Dr. Mohamed Khalil Mohd. Hani
Uncontrolled Keywords:public key cryptography, RSA co-processor, RSA algorithm, security, RSA (Rivest- Shamir-Adleman)
Subjects:T Technology > TK Electrical engineering. Electronics Nuclear engineering
Divisions:Electrical Engineering
ID Code:5286
Deposited By: Ms Zalinda Shuratman
Deposited On:01 Apr 2008 05:18
Last Modified:04 Jul 2012 04:08

Repository Staff Only: item control page