Top Banner
RSA Cryptography Public Key Encryption Algorithm
15

RSA Cryptography Public Key Encryption Algorithm.

Dec 16, 2015

Download

Documents

Christal Butler
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 Cryptography Public Key Encryption Algorithm.

RSA Cryptography

Public Key Encryption Algorithm

Page 2: RSA Cryptography Public Key Encryption Algorithm.

What is it?1. RSA – Rivest, Shamir,

Adleman

2. Algorithm for public key cryptography. Public-key cryptography refers to a cryptographic system requiring two separate keys, one to lock or encrypt the plaintext and one to unlock or decrypt the cypher text.

3. Wildly used in e-commerce

4. Involves 3 steps – key generation, encryption and decryption

Page 3: RSA Cryptography Public Key Encryption Algorithm.
Page 4: RSA Cryptography Public Key Encryption Algorithm.
Page 5: RSA Cryptography Public Key Encryption Algorithm.

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 6: RSA Cryptography Public Key Encryption Algorithm.

Key Generation0 Two large distinct prime numbers p and q, chosen at random

0 Block B of text has been encoded by some function g into an integer T such that T is an integer and 0 < T < n (Calculate n=pq, where n is the mod of p and q)

0 Compute the Euler phi function. (φ n) = (p – 1)(q – 1) because n is the product of 2 primes.

0 Choose an integer e such that 1 < e < (φ n) and gcd(e, (φ n)) = 1 (e and (φ n) are co-prime)

0 gcd(e, (φ n)) = 1 means that 1 is a linear combination of e and (φ n):Use Euclidean algorithm to find unique value for d and such that 1 < d < (φ n)

d * e = 1 mod (φ n) therefore, d = e -1 (mod (φ n) )

0 Public key is pair of values (e,n).

0 Private key is pair values (d,n)

Page 7: RSA Cryptography Public Key Encryption Algorithm.

Example 10Select 2 prime numbers p=17, q=13

0Calculate n = pq = 17x13 = 221

0Calculate (n) φ = (p – 1)(q – 1) = 16x12 = 192

0Select e such that e is relatively prime to (n) φ = 160 and less than (n) φ ; we choose e = 11

Page 8: RSA Cryptography Public Key Encryption Algorithm.

Example 1 cont’d0 So n = 221, (n)φ = 192, e = 11

0 Determine d such that de = 1(mod 221) and d<221 using extended Euclidean algorithm (pg 273) with 11 and 192 (gcd(192, 11)).

192 = (17 * 11) + 5 or 5 = 192 – (17 * 11)11 = (2 * 5) + 1 or 1 = 11 – (2 * 5)5 = (5 * 1) + 0

from which 1 = 11 – 2 * 5= 11 – 2[192 – 17 * 11]= 35 * 11 – 2 * 192

Therefore, d = 35

Page 9: RSA Cryptography Public Key Encryption Algorithm.

Encryption

Plaintext : T < nCipher Text: C = T e (mod n)

Decryption

Cipher Text : CPlaintext : T = C d (mod n)

Page 10: RSA Cryptography Public Key Encryption Algorithm.

Example 1 Cont’dEncrypt:Plaintext : Let T = 8 < nCipher Text: C = T e (mod n) = 8 11 (mod 221)

= 83 * 83 * 83 * 82 mod 221 = 512 * 512 * 512 * 64 mod 221=70 * 70 * 70 * 64 mod 221= 4900 * 4480 mod 221= 38 * 60 mod 221= 2280 mod 221= 70

Page 11: RSA Cryptography Public Key Encryption Algorithm.

Computational Aspects

0Exponentiation in Modular Arithmetic: [(a mod n) x (b mod n)]mod n = ( a x b ) mod n

X16 = X1 x X2 x X3 x … x X15

x11 = x1+2+8 = (x)(x2)(x8)

Page 12: RSA Cryptography Public Key Encryption Algorithm.

Example 1 Cont’d

Decrypt:Cipher Text : C = 70Plaintext : T = C d (mod n) = 70 35 (mod 221)

= (702)17 * 70 mod 221 = (4900)17 * 70 mod 221= 3817 * 70 mod 221 = (382)8 * 38 * 70 mod 221= (1444)8 * 38 * 70 mod 221 = (118)8 * 38 * 70 mod 221= (1182)4 * 38 * 70 mod 221 = (13924) 4 * 38 * 70 mod 221= 14 * 38 * 70 mod 221 = 2660 mod 221 = 8

Page 13: RSA Cryptography Public Key Encryption Algorithm.

Example 2

0 In a public key system using RSA, you interpret the ciphertext C=10 sent to a use whose public key is e = 5, n = 35. What is the plaintext M?

Page 14: RSA Cryptography Public Key Encryption Algorithm.

The Security of RSA

Four approaches to attacking the RSA Algorithm are:0Brute Force – trying all possible keys (small value of d

is vulnerable to this)0Mathematical Attacks – factoring the product of 2

primes (p and q should only differ in length by a few digits)

0Timing Attacks – Depend on running time of algorithms

0Chosen Ciphertext attacks – exploits properties of RSA system

Page 15: RSA Cryptography Public Key Encryption Algorithm.

Home Work

Section 4.5#20 and #21