Lecture 8 Public Key Cryptography (Diffie-Hellman and RSA) 1 - - PowerPoint PPT Presentation

lecture 8
SMART_READER_LITE
LIVE PREVIEW

Lecture 8 Public Key Cryptography (Diffie-Hellman and RSA) 1 - - PowerPoint PPT Presentation

Lecture 8 Public Key Cryptography (Diffie-Hellman and RSA) 1 Public Key Cryptography Asymmetric cryptography Invented in 1974-1978 (Diffie-Hellman and Rivest-Shamir- Adleman) Two keys: private (SK), public (PK) Encryption: with


slide-1
SLIDE 1

1

Lecture 8

Public Key Cryptography (Diffie-Hellman and RSA)

slide-2
SLIDE 2
  • Asymmetric cryptography
  • Invented in 1974-1978 (Diffie-Hellman and Rivest-Shamir-

Adleman)

  • Two keys: private (SK), public (PK)

– Encryption: with public key; – Decryption: with private key – Digital Signatures: Signing by private key; Verification by public key. i.e., “encrypt” message digest/hash -- h(m) -- with private key

  • Authorship (authentication)
  • Integrity: Similar to MAC
  • Non-repudiation: can’t do with secret key cryptography
  • Much slower than conventional cryptography
  • Often used together with conventional cryptography, e.g., to encrypt session keys

2

Public Key Cryptography

slide-3
SLIDE 3

Public Key Cryptography

3

plaintext message, m ciphertext encryption algorithm decryption algorithm

Bob’s public key

plaintext message PK (m)

B

PK

B

Bob’s private key

SK

B

m = SK (PK (m))

B B

slide-4
SLIDE 4

4

Key Pre-distribution: Diffie-Hellman

“New Directions in Cryptography” 1976 * p

System wide parameters : p large prime, a generator in Z − − − Alice's secret: v, public: mod Bob's secret: w, public: mod

v a w b

y a p y a p = =

Alice has: mod Bob has: mod ( ) mod ( ) mod

w b v a v ab b w ba a

y a p y a p K y p K y p = = = = =

slide-5
SLIDE 5

5

Public Key Pre-distribution: Diffie-Hellman

Secure communication with Kab

Alice computes Kab Bob computes Kab = Kba Eve knows: p, a, ya and yb

slide-6
SLIDE 6

6

Public Key Pre-distribution: Diffie-Hellman

*

Diffie Hellman Problem: : mod mod : mod Discrete Log Problem: : mod :

p v w a b vw v a

p large prime, a generator in Z Given y a p and y a p FIND a p Given y a p FIND v − − − = = =

slide-7
SLIDE 7

7

Public Key Pre-distribution: Diffie-Hellman

Decision DH Problem: mod , mod : mod

v w a b vw ab

p large prime, a generator Given : y a p y a p Distinguish K a p from a random number! − − = = =

  • DH Assumption: DH problem is HARD (not P)
  • DL Assumption: DL problem is HARD (not P)
  • DDH Assumption: solving DDH problem is HARD (not P)
slide-8
SLIDE 8

8

Interactive (Public) Key Exchange: Diffie-Hellman

Eve is passive …

p a y

v a

mod =

Secure communication with Kab Choose random v

p a y

w b

mod =

Choose random w, Compute

p y K

w a ba

mod ) ( =

Compute

( ) mod

v ab b

K y p =

slide-9
SLIDE 9

9

The Man-in-the-Middle (MitM) Attack

(assume Eve is an active adversary!)

p a y

v a

mod =

Secure communication with Kab Choose random v

p a y

w b

mod =

Choose random w, Compute

p y K

w a ba

mod ) ( =

Compute

( ) mod

v ab b

K y p =

slide-10
SLIDE 10

10

RSA (1976-8)

Let n = pq where p,q − large primes e,d ∈R Zn and ed ≡ 1 mod Φ(n) where : Φ(n) = (p −1)(q −1) = pq − p − q −1 Secrets : p,q,d Publics : n,e Encryption : message = m < n E(x) = y = me mod n Decryption : ciphertext = y D( y) = x' = yd mod n

slide-11
SLIDE 11

11

Why does it all work?

x ∈ Zn

*

xed = x1modΦ(n) mod n = xc*Φ(n)+1 mod n = x But, recall that: gΦ(n) =1 mod n (Lagrange)

slide-12
SLIDE 12

12

How does it all work?

Example: p=17 q=13 n=221 (p-1)(q-1)=192=34*2 pick e=5, d=77 Can we pick 16? 9? 27? 185? x=5, E(x)=3125 mod 221 = 31 D(y)=3177= 6.83676142775442000196395599558e+114 mod 221 = 5 Example: p=5 q=7 n=35 (p-1)(q-1)=24=3*23 pick e=11, d=11 x=2, E(x)=2048 mod 35 =18=y y=18, D(y)=6.426841007923e+13 mod 35 = 2

slide-13
SLIDE 13

13

Why is it Secure?

Why: n has unique factors p, q Given p and q, computing (p-1)(q-1) is easy: Use extended Euclidian! Conjecture: breaking RSA is polynomially equivalent to factoring n Recall that n is very, very large!

) ( 1 n mod ed Φ ≡

slide-14
SLIDE 14

14

Exponentiation Costs

  • Integer multiplication -- O(b2) where b is bit-size of the base
  • Modular reduction -- O(b2)
  • Thus, modular multiplication -- O(b2)
  • Modular exponentiation (as in RSA) -- me mod n
  • Naïve method: e-1 modular products -- O(b2*e)
  • BUT what if e is large, (almost) as large as n?
  • Let L= |e| (e.g., l=1024 for 1024-bit RSA exponent)
  • We can assume b and l are very close, almost the same
  • Square-and-multiply method works in O(b3) time … O(b2*2l)
slide-15
SLIDE 15

15

Square-and-Multiply

} } n; temp% m temp { e[i] if n % temp temp temp* { i i 1 l i for 1 temp n sizeof l = = = = − − >= − = = = − − − − − − − − − − − − ; * ) ( ; ; ) ; ; ( ; ); ( n mod m compute : goal

e

  • Example 1: e=100
  • Example 2: e=10000000
  • Example 3: e=11111111

From left to right in e

slide-16
SLIDE 16

16

Speeding up RSA Decryption

: C - RSA ciphertext mod( 1) mod( 1) compute: mod mod and solve: mod mod

p q

p q d p d q p q

Let d d p d d q M C p M C q M M p M M q = − = − = = = = ) mod( )] mod ( ) mod ( [

1 1

pq q p p M p q q M M

q p − −

+ =

slide-17
SLIDE 17

17

More on RSA

  • Modulus n is unique per user à

– 2 or more parties cannot share the same n

  • What happens if Alice and Bob share the same modulus?

– Alice has (e’,d’,n) and Bob – (e”,d”,n) – Alice wants to compute d” (Bob’s private key) – She knows that: e’ * d’= 1 mod phi(n) – So: e’ * d’ = k * phi(n) + 1 and: e’ * d’ - 1 = k * phi(n) – Alice just needs to compute inverse of e” mod X

  • where X = e’ * d’ – 1 = k * phi(n)
  • let’s call this inverse d’”
  • and remember that: d”’ * e” = k’ * k * phi(n) + 1
  • can we be sure that: d”’ = d” ?

– Is it possible that e” has no inverse mod X?

  • Yes, if e”=phi(n) or gcd(e”,k)>1 but this is very, very UNLIKELY!

– For all decryption purposes, d”’ is EQUIVALENT to d” – Suppose Eve encrypted for Bob: C = (m)e” mod n – Alice computes: Cd”’ mod n = me”d”’ mod n = (m) k’ * k * phi(n) + 1 mod n = m