Rsa Algorithm
-
Upload
srinivas-naik -
Category
Documents
-
view
36 -
download
3
Transcript of Rsa Algorithm
![Page 1: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/1.jpg)
RSA ALGORITHM(DOUBLE ENCRYPTION)By
B. Srinivas (104219)
![Page 2: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/2.jpg)
Outline
Introduction Modular arithmetic property Modular multiplicative inverse Euclidean algorithm Modular exponentiation RSA Algorithm Double Encryption Security of RSA
![Page 3: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/3.jpg)
INTRODUCTION
RSA is a Public key algorithm invented in 1977 by Rivest , Shamir and Adleman (RSA).
The RSA scheme is a block cipher in which the plaintext and cipher text are integers between 0 and n-1 for some n.
A typical size for n is 1024 bits. Supports Encryption and Digital Signatures.
![Page 4: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/4.jpg)
Modular arithmetic property
let a and b be two integers, let op be one of the two binary operators +, − or · , then the reduction modulo n is an homomorphism of the integers modulo n
(a op b) mod n = [(a mod n) op (b mod n)]modn
![Page 5: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/5.jpg)
Modular multiplicative inverse
The modular multiplicative inverse of an integer a modulo m is an integer x such that
, (i.e. a · x mod n = 1).
The multiplicative inverse of a [0, n − 1] modulo n ∈exists iff a and n are co-prime (i.e., if gcd(a, n) = 1)
nxa mod1
![Page 6: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/6.jpg)
Euclidean algorithm
The Euclidean algorithm computes the greatest common divisor(gcd) of two integers a and n.
gcd(a, b)=d means that d is the largest number that will divide both a & b.
if gcd(a, b)=1 then we say that a & b are co-prime. The Euclidean algorithm makes repeated use of
equation
gcd(a, b)=gcd(b, a mod b)
![Page 7: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/7.jpg)
Euclidean algorithm
The Algorithm has the following progression
3333
2222
1111
*
*
*
rqba
rqba
rqba
![Page 8: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/8.jpg)
Modular exponentiation
Modular exponentiation is a type of exponentiation performed over a modulus.
Doing a "modular exponentiation" means calculating the remainder when dividing by a positive integer m (called the modulus) a positive integer b (called the base) raised to the e-th power (e is called the exponent).
m)(bc e mod
![Page 9: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/9.jpg)
Memory-efficient method:
Method to compute modular exponentiation1. set c=1,i=02. increase i by 13. set c=(c*b)(mod m)4. if i < e, go to step 2.Else, c contains the correct
solution to c=be(mod m)
![Page 10: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/10.jpg)
RSA Algorithm
The RSA algorithm involves three steps:1. key generation2. Encryption3. Decryption.
![Page 11: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/11.jpg)
1.Key Generation
RSA involves a public key and a private key.
The public key can be known to everyone and is used for encrypting messages. Messages encrypted with the public key can only be decrypted using the private key.
The keys for the RSA algorithm are generated the following way:
![Page 12: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/12.jpg)
1.Key Generation
1. Choose two distinct prime numbers p and q. -For security purposes, the integers p and q should be chosen at random, and should be of similar bit-length.
2. Compute n = p*q.-n is used as the modulus for both the public and private keys.
![Page 13: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/13.jpg)
1.Key Generation
3. Compute φ(n) = (p – 1)(q – 1), where φ is Euler's totient function.- Euler's totient function φ(n) defined as the number of positive integers less than n and relatively prime to n. φ(1) = 1
4. Choose an integer e such that 1 < e < φ(n) and gcd(e,φ(n)) = 1, i.e. e and φ(n) are co-prime.-e is released as the public key exponent.
![Page 14: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/14.jpg)
1.Key Generation
5. Determine d = e–1 mod φ(n); i.e. d is the multiplicative inverse of e mod φ(n). -This is more clearly stated as solve for d given (d*e)mod φ(n) = 1.-This is often computed using the extended Euclidean algorithm.
-d is kept as the private key exponent.
![Page 15: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/15.jpg)
1.Key Generation
The public key consists of the modulus n and the public (or encryption) exponent e. -public key: {e , n}.
The private key consists of the modulus n and the private (or decryption) exponent d which must be kept secret.-private key: {d , n}.
![Page 16: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/16.jpg)
2. Encryption
c=Encrypt(m, e, n)
Alice
Public key {e , n}
Encrypted message , c
Bob
m=Decrypt(c, d, n)
Public key={e ,n}Private key={d, n}
![Page 17: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/17.jpg)
2. Encryption
Encryption is done always with public key. Bob transmits her public key (n , e) to Alice and keeps
the private key secret. Alice then wishes to send message to Bob.
The message to be encrypted is represented as number m, 0 < m < n - 1.
compute :
-where the e and n are the public key, and m is the message, c is the encrypted message.
n)(mc e mod
![Page 18: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/18.jpg)
3. Decryption
The private key d is used to decrypt messages. Bob can recover m from c by using her private key
exponent d via computing
-where n is the modulus (from public key) and d is the private key.
n)(cm d mod
![Page 19: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/19.jpg)
Double Encryption
E
1K
E
2K
X
Encryption
mc
2K 1K
cD D
Xm
Decryption
![Page 20: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/20.jpg)
Double Encryption
Double encryption has two encryption stages. Given a plaintext p and two encryption keys k1 and
k2, cipher text c is generated as
Decryption requires that the keys be applied in reverse order.
)),(,( 12 mkEkEc
)),(,( 21 ckDkDm
![Page 21: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/21.jpg)
Advantages of RSA
Simplification of the problem of key management : In symmetric encryption the number of keys required to allow n entities to communicate is proportional to n*n. Whereas in asymmetric encryption each participant needs two keys, therefore, the total number of keys required is simply 2*n.
Enhanced security of the transactions : Not only the number of keys reduced but also the security offered by these keys is highly increased. Every user generates a pair of keys. The secret key must not be shared with anyone, so the problem of transmitting it does not arise.
![Page 22: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/22.jpg)
Combining technique
The disadvantage of using public key encryption is that it is a slow process because key lengths are large (1024 bits to 4094 bits) compared to secret key encryption (40 bits to 256 bits).
Both the symmetric and asymmetric encryption techniques can be used together to provide better encryption.
This combined technique is basically used for Secure Shell(SSH), which is used to secure communication between a client and the server and PGP(Pretty Good Privacy) for sending messages.
![Page 23: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/23.jpg)
Security of RSA
Four possible approaches to attacking the RSA algorithm are as follows
1. Brute force: This involves trying all possible private keys.
2. Mathematical attacks: Effort to factoring the product of two primes.
3. Timing attacks: These depend on the running time of decryption algorithm.
4. Chosen cipher text attacks: This type of attack exploits properties of the RSA algorithm.
![Page 24: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/24.jpg)
RSA Usage
RSA is used in security protocols such as; IP data security Transport data security (web) Email security Terminal connection security Conferencing service security
![Page 25: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/25.jpg)
Conclusion
The encryption and decryption solution can ensure the confidentiality of the information, as well as the integrity of information and certainty, to prevent information from tampering.
Encryption and decryption algorithm's security depends on the key confidentiality.
![Page 26: Rsa Algorithm](https://reader033.fdocuments.us/reader033/viewer/2022061106/54492a6db1af9f46208b459b/html5/thumbnails/26.jpg)
References
Cryptography and network security (4th edition) by William Stallings.
RSA Algorithm-Wikipedia.