## FPGA Implementation of RSA algorithm

Call for Price

FPGA Implementation of RSA algorithm

SKU: FPGA Implementation of RSA algorithm Categories: ,

## Description

ABSTRACT:

Internet and Network applications have seen a tremendous growth in the last decade. As a result incidents of cyber attacks and compromised security are increasing. This requires more focus on strengthening and securing our communication. One way to achieve this is cryptography. Although a lot of work has been done in this area but this problem still has scope of improvement. In this paper we have focused on asymmetric cryptography and proposed a novel method by combining the two most popular algorithms RSA and Diffie-Hellman in order to achieve more security.

Keywords- RSA, Diffie-Hellman, Encryption, Public Key, Data Encryption

Basics of RSA algorithm

RSA algorithm is a cryptographic algorithm introduced in the year 1978 by Ron Rivest, Adi

Shamir and Leonard Adleman. RSA implemented following two important ideas:

1. Public-key encryption. In RSA, encryption keys are made public while the decryption keys are kept private, so only the person with the correct decryption key can decipher an encrypted message. Everyone has their own encryption and corresponding decryption keys. The keys are made in such a way that the decryption key cannot be easily deduced from the public encryption key.

2. Digital signatures. The receiver may need to verify that a transmitted message is actually originated from the sender, and didn’t just come from authentication. This is done with the help of the sender’s decryption key, and later the signature can be verified by anyone, using the corresponding public encryption key. Signatures therefore cannot be copied. Also, no signer can later deny having signed the message.

The various steps involved in RSA algorithm are :

Finding large prime numbers

Finding ‘n’ is the first step of the algorithm, where ‘n’ is the product of two prime

numbers    ‘p’ & ‘q’. The number ‘n’ will be revealed in the encryption and decryption keys, but

the      numbers ‘p’ and ‘q’ will not be explicitly shown. The prime numbers ‘p’ and ‘q’ should be large such that it will be very difficult to derive from ‘n’.

n=p*q….1

Finding the public key (e)

Choose a number ‘e’ such that ‘e’ is co-prime to φ (n), where φ (n) is the Euler’s

totient function that counts the number of positive integers less than or equal to ‘n’ that are relatively prime to ‘n’  i.e.

Determine the private key (d)

Determine the private key ‘d’ such that‘d’ is the multiplicative inverse of the public key ‘e’ i.e.

Encryption

Let ‘m’ be the message (integer type) that is to be encrypted using public key ‘e’ to give the encrypted message as ‘c’ where ‘c’ is calculted as

Decryption

The decrypted message ‘m’ is found out using the private key ‘d’  and is calculated    as:

Software required

Xilinx ISE 14.7

Language

Verilog