FPGA Implementation of RSA algorithm
Call for Price
FPGA Implementation of RSA algorithm
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
Additional information
Weight | 1.000000 kg |
---|
Reviews
There are no reviews yet.