tailieunhanh - Cryptosystem an implementation of RSA using verilog

In this paper, we present a new structure to develop 64-bit RSA encryption engine on FPGA that can be used as a standard device in the secured communication system. The RSA algorithm has three parts . key generation, encryption and decryption. The algorithm also requires random prime numbers so a primality tester is also design to meet the needs of the algorithm. We use right-to-left-binary method for the exponent calculation. | International Journal of Computer Networks and Communications Security C VOL. 1, NO. 3, AUGUST 2013, 102–109 Available online at: ISSN 2308-9830 N C S Cryptosystem an Implementation of RSA Using Verilog Rehan Shams1, Fozia Hanif Khan2 and Mohammad Umair3 123 Sir Syed University of Engineering and Technology, Deparment of Telecommunication 2 Department of Mathematics, Department of Electronics ABSTRACT In this paper, we present a new structure to develop 64-bit RSA encryption engine on FPGA that can be used as a standard device in the secured communication system. The RSA algorithm has three parts . key generation, encryption and decryption. The algorithm also requires random prime numbers so a primality tester is also design to meet the needs of the algorithm. We use right-to-left-binary method for the exponent calculation. This reduces the number of cycles enhancing the performance of the system and reducing the area usage of the FPGA. These blocks are coded in Verilog and are synthesized and simulated in Xilinx design suit. Keywords: RSA, Verilog, Cryptosystem, Decryption, Encryption, Implementation, Key Generation, Modular Exponentiation. 1 INTRODUCTION There has been a lot of work going on in the field of cryptography and in the recent years it has increased exponentially. As the usage of communication system increases so does the need for securing data over those channels. Many algorithms are designed to meet these needs. Cryptographic algorithms have two major types: symmetric and Asymmetric [1]. Symmetric cryptography requires sharing of a single key at both ends. The problem is the selection of the key privately. In asymmetric (Public key) cryptography this problem is overcome by using an algorithm that deals with two keys. One key is for encryption and the other one is to decrypt the same message. The idea of publishing one key (the public key) and keeping the other one secrete (the private key) can surely make the whole .