Top Banner
RSA ALGORITHM (DOUBLE ENCRYPTION) By B. Srinivas (104219)
26
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rsa Algorithm

RSA ALGORITHM(DOUBLE ENCRYPTION)By

B. Srinivas (104219)

Page 2: Rsa Algorithm

Outline

Introduction Modular arithmetic property Modular multiplicative inverse Euclidean algorithm Modular exponentiation RSA Algorithm Double Encryption Security of RSA

Page 3: Rsa Algorithm

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

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

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

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

Euclidean algorithm

The Algorithm has the following progression

3333

2222

1111

*

*

*

rqba

rqba

rqba

Page 8: Rsa Algorithm

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

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

RSA Algorithm

The RSA algorithm involves three steps:1. key generation2. Encryption3. Decryption.

Page 11: Rsa Algorithm

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

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

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

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

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

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

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

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

Double Encryption

E

1K

E

2K

X

Encryption

mc

2K 1K

cD D

Xm

Decryption

Page 20: Rsa Algorithm

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

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

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

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

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

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

References

Cryptography and network security (4th edition) by William Stallings.

RSA Algorithm-Wikipedia.