1 / 15

RSA Cryptography

RSA Cryptography. Public Key Encryption Algorithm. What is it?. RSA – Rivest , Shamir, Adleman

Download Presentation

RSA Cryptography

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RSA Cryptography Public Key Encryption Algorithm

  2. What is it? RSA – Rivest, Shamir, Adleman 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. Wildly used in e-commerce Involves 3 steps – key generation, encryption and decryption

  3. 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:

  4. Key Generation • Two large distinct prime numbers p and q, chosen at random • 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) • Compute the Euler phi function. φ(n) = (p – 1)(q – 1) because n is the product of 2 primes. • Choose an integer e such that 1 < e < φ(n) and gcd(e,φ(n)) = 1 (e andφ(n) are co-prime) • 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) ) • Public key is pair of values (e,n). • Private key is pair values (d,n)

  5. Example 1 • Select 2 prime numbers p=17, q=13 • Calculate n = pq = 17x13 = 221 • Calculate φ(n) = (p – 1)(q – 1) = 16x12 = 192 • Select e such that e is relatively prime to φ(n) = 160 and less than φ(n) ; we choose e = 11

  6. Example 1 cont’d • So n = 221, φ(n) = 192, e = 11 • 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) + 0from which 1 = 11 – 2 * 5= 11 – 2[192 – 17 * 11]= 35 * 11 – 2 * 192Therefore, d = 35

  7. Encryption Plaintext : T < n Cipher Text: C = T e(mod n) Decryption Cipher Text : C Plaintext : T = C d (mod n)

  8. Example 1 Cont’d Encrypt: Plaintext : Let T = 8< n Cipher 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

  9. Computational Aspects • Exponentiation in Modular Arithmetic: [(a mod n) x (b mod n)]mod n = ( a x b ) mod nX16 = X1x X2x X3 x … x X15x11 = x1+2+8 = (x)(x2)(x8)

  10. Example 1 Cont’d Decrypt: Cipher Text : C = 70 Plaintext : 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

  11. Example 2 • In a public key system using RSA, you interpret the ciphertextC=10 sent to a use whose public key is e = 5, n = 35. What is the plaintext M?

  12. The Security of RSA Four approaches to attacking the RSA Algorithm are: • Brute Force – trying all possible keys (small value of d is vulnerable to this) • Mathematical Attacks – factoring the product of 2 primes (p and q should only differ in length by a few digits) • Timing Attacks – Depend on running time of algorithms • Chosen Ciphertext attacks – exploits properties of RSA system

  13. Home Work Section 4.5 #20 and #21

More Related