public key cryptography public key cryptography
play

Public-Key Cryptography Public-Key Cryptography Lecture 8 - PowerPoint PPT Presentation

Public-Key Cryptography Public-Key Cryptography Lecture 8 Public-Key Encryption Public-Key Cryptography Lecture 8 Public-Key Encryption Diffie-Hellman Key-Exchange PKE scheme PKE scheme SKE: Syntax KeyGen outputs K K Enc: M K R


  1. IND-CPA (PKE version) Experiment picks a random bit b. It also runs KeyGen to get a key (PK,SK). Adv PK Enc given PK PK Enc(m b ,PK) Adv sends two messages m 0 , m 1 to m b the experiment Expt returns Enc(m b ,K) to the adversary m 0 ,m 1 b’ Adversary returns a guess b’ Experiment outputs 1 iff b’=b b ← {0,1} b’=b? IND-CPA secure if for all PPT adversaries Pr[b’=b] - 1/2 ≤ ν (k) Yes/No

  2. IND-CPA + IND-CPA (PKE version) ~correctness equivalent to SIM-CPA Experiment picks a random bit b. It also runs KeyGen to get a key (PK,SK). Adv PK Enc given PK PK Enc(m b ,PK) Adv sends two messages m 0 , m 1 to m b the experiment Expt returns Enc(m b ,K) to the adversary m 0 ,m 1 b’ Adversary returns a guess b’ Experiment outputs 1 iff b’=b b ← {0,1} b’=b? IND-CPA secure if for all PPT adversaries Pr[b’=b] - 1/2 ≤ ν (k) Yes/No

  3. Perfect Secrecy?

  4. Perfect Secrecy? No perfectly secret and correct PKE (even for one-time encryption)

  5. Perfect Secrecy? No perfectly secret and correct PKE (even for one-time encryption) Public-key and ciphertext (the total shared information between Alice and Bob at the end) should together have entire information about the message

  6. Perfect Secrecy? No perfectly secret and correct PKE (even for one-time encryption) Public-key and ciphertext (the total shared information between Alice and Bob at the end) should together have entire information about the message Intuition: If Eve thinks Bob could decrypt it as two messages based on different SKs, Alice should be concerned too

  7. Perfect Secrecy? No perfectly secret and correct PKE (even for one-time encryption) Public-key and ciphertext (the total shared information between Alice and Bob at the end) should together have entire information about the message Intuition: If Eve thinks Bob could decrypt it as two messages based on different SKs, Alice should be concerned too i.e., Alice conveys same information to Bob and Eve

  8. Perfect Secrecy? No perfectly secret and correct PKE (even for one-time encryption) Public-key and ciphertext (the total shared information between Alice and Bob at the end) should together have entire information about the message Intuition: If Eve thinks Bob could decrypt it as two messages based on different SKs, Alice should be concerned too i.e., Alice conveys same information to Bob and Eve [Exercise]

  9. Perfect Secrecy? No perfectly secret and correct PKE (even for one-time encryption) Public-key and ciphertext (the total shared information between Alice and Bob at the end) should together have entire information about the message Intuition: If Eve thinks Bob could decrypt it as two messages based on different SKs, Alice should be concerned too i.e., Alice conveys same information to Bob and Eve [Exercise] PKE only with computational security

  10. Perfect Secrecy? No perfectly secret and correct PKE (even for one-time encryption) Public-key and ciphertext (the total shared information between Alice and Bob at the end) should together have entire information about the message Intuition: If Eve thinks Bob could decrypt it as two messages based on different SKs, Alice should be concerned too i.e., Alice conveys same information to Bob and Eve [Exercise] U n l e a s s s s u m p t i o i n m s PKE only with computational security p e e o a r f v f e e s c d t r o p p i n g

  11. Diffie-Hellman Key-exchange

  12. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve

  13. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve

  14. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve Random x

  15. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve Random x X=g x

  16. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve Random x X X=g x

  17. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve Random x X X=g x Random y

  18. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve Random x X X=g x Random y Y=g y

  19. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve Random x X X=g x Random y Y Y=g y

  20. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve Random x X X=g x Random y Y Y=g y Output Y x

  21. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve Random x X X=g x Random y Y Y=g y Output Y x Output X y

  22. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve Random x X X=g x Random y Y Y=g y Output Y x Output X y g x , g y

  23. Diffie-Hellman Key-exchange A candidate for how Alice and Bob could generate a shared key, which is “hidden” from Eve Random x X X=g x Random y Y Y=g y Output Y x Output X y g x , g y g xy ??

  24. Why DH-Key-exchange could be secure

  25. Why DH-Key-exchange could be secure Given g x , g y for random x, y, g xy should be “hidden”

  26. Why DH-Key-exchange could be secure Given g x , g y for random x, y, g xy should be “hidden” i.e., could still be used as a pseudorandom element

  27. Why DH-Key-exchange could be secure Given g x , g y for random x, y, g xy should be “hidden” i.e., could still be used as a pseudorandom element i.e., (g x , g y , g xy ) ≈ (g x , g y , R)

  28. Why DH-Key-exchange could be secure Given g x , g y for random x, y, g xy should be “hidden” i.e., could still be used as a pseudorandom element i.e., (g x , g y , g xy ) ≈ (g x , g y , R) Is that reasonable to expect?

  29. Why DH-Key-exchange could be secure Given g x , g y for random x, y, g xy should be “hidden” i.e., could still be used as a pseudorandom element i.e., (g x , g y , g xy ) ≈ (g x , g y , R) Is that reasonable to expect? Depends on the “group”

  30. Groups, by examples

  31. Groups, by examples A set G (for us finite, unless otherwise specified) and a “group operation” * that is associative, has an identity, is invertible, and (for us) commutative

  32. Groups, by examples A set G (for us finite, unless otherwise specified) and a “group operation” * that is associative, has an identity, is invertible, and (for us) commutative Examples: Z = (integers, +) (this is an infinite group), 
 Z N = (integers modulo N, + mod N), 
 G n = (Cartesian product of a group G, coordinate-wise operation)

  33. Groups, by examples A set G (for us finite, unless otherwise specified) and a “group operation” * that is associative, has an identity, is invertible, and (for us) commutative Examples: Z = (integers, +) (this is an infinite group), 
 Z N = (integers modulo N, + mod N), 
 G n = (Cartesian product of a group G, coordinate-wise operation) Order of a group G: |G| = number of elements in G

  34. Groups, by examples A set G (for us finite, unless otherwise specified) and a “group operation” * that is associative, has an identity, is invertible, and (for us) commutative Examples: Z = (integers, +) (this is an infinite group), 
 Z N = (integers modulo N, + mod N), 
 G n = (Cartesian product of a group G, coordinate-wise operation) Order of a group G: |G| = number of elements in G For any a ∈ G, a |G| = a * a * ... * a (|G| times) = identity

  35. Groups, by examples A set G (for us finite, unless otherwise specified) and a “group operation” * that is associative, has an identity, is invertible, and (for us) commutative Examples: Z = (integers, +) (this is an infinite group), 
 Z N = (integers modulo N, + mod N), 
 G n = (Cartesian product of a group G, coordinate-wise operation) Order of a group G: |G| = number of elements in G For any a ∈ G, a |G| = a * a * ... * a (|G| times) = identity

  36. Groups, by examples A set G (for us finite, unless otherwise specified) and a “group operation” * that is associative, has an identity, is invertible, and (for us) commutative Examples: Z = (integers, +) (this is an infinite group), 
 Z N = (integers modulo N, + mod N), 
 G n = (Cartesian product of a group G, coordinate-wise operation) Order of a group G: |G| = number of elements in G For any a ∈ G, a |G| = a * a * ... * a (|G| times) = identity Finite Cyclic group (in multiplicative notation): there 
 is one element g such that G = {g 0 , g 1 , g 2 , ... g |G|-1 }

  37. Groups, by examples A set G (for us finite, unless otherwise specified) and a “group operation” * that is associative, has an identity, is invertible, and (for us) commutative Examples: Z = (integers, +) (this is an infinite group), 
 Z N = (integers modulo N, + mod N), 
 G n = (Cartesian product of a group G, coordinate-wise operation) Order of a group G: |G| = number of elements in G For any a ∈ G, a |G| = a * a * ... * a (|G| times) = identity Finite Cyclic group (in multiplicative notation): there 
 g 0 g 1 g N-1 g 2 g N-2 .. is one element g such that G = {g 0 , g 1 , g 2 , ... g |G|-1 } g 3 . . . .

  38. Groups, by examples A set G (for us finite, unless otherwise specified) and a “group operation” * that is associative, has an identity, is invertible, and (for us) commutative Examples: Z = (integers, +) (this is an infinite group), 
 Z N = (integers modulo N, + mod N), 
 G n = (Cartesian product of a group G, coordinate-wise operation) Order of a group G: |G| = number of elements in G For any a ∈ G, a |G| = a * a * ... * a (|G| times) = identity Finite Cyclic group (in multiplicative notation): there 
 g 0 g 1 g N-1 g 2 g N-2 .. is one element g such that G = {g 0 , g 1 , g 2 , ... g |G|-1 } g 3 . . . . Prototype: Z N (additive group), with g=1

  39. Groups, by examples A set G (for us finite, unless otherwise specified) and a “group operation” * that is associative, has an identity, is invertible, and (for us) commutative Examples: Z = (integers, +) (this is an infinite group), 
 Z N = (integers modulo N, + mod N), 
 G n = (Cartesian product of a group G, coordinate-wise operation) Order of a group G: |G| = number of elements in G For any a ∈ G, a |G| = a * a * ... * a (|G| times) = identity Finite Cyclic group (in multiplicative notation): there 
 g 0 g 1 g N-1 g 2 g N-2 .. is one element g such that G = {g 0 , g 1 , g 2 , ... g |G|-1 } g 3 . . . . Prototype: Z N (additive group), with g=1 or any g s.t. gcd(g,N) = 1

  40. Groups, by examples g 0 g 1 g N-2 g N-1 g 2 .. g 3 . . . .

  41. Groups, by examples g 0 g 1 g N-2 g N-1 g 2 .. g 3 . . . . Z N* = (generators of Z N , multiplication mod N)

  42. Groups, by examples g 0 g 1 g N-2 g N-1 g 2 .. g 3 . . . . Z N* = (generators of Z N , multiplication mod N) Numbers in {1,..,N-1} which have a multiplicative inverse mod N

  43. Groups, by examples g 0 g 1 g N-2 g N-1 g 2 .. g 3 . . . . Z N* = (generators of Z N , multiplication mod N) Numbers in {1,..,N-1} which have a multiplicative inverse mod N If N is prime, Z N* is a cyclic group, of order N-1

  44. Groups, by examples g 0 g 1 g N-2 g N-1 g 2 .. g 3 . . . . Z N* = (generators of Z N , multiplication mod N) Numbers in {1,..,N-1} which have a multiplicative inverse mod N If N is prime, Z N* is a cyclic group, of order N-1 e.g. Z 5* = {1,2,3,4} is generated by 2 (as 1,2,4,3), and 
 by 3 (as 1,3,4,2). But 1 and 4 are not generators.

  45. Groups, by examples g 0 g 1 g N-2 g N-1 g 2 .. g 3 . . . . Z N* = (generators of Z N , multiplication mod N) Numbers in {1,..,N-1} which have a multiplicative inverse mod N If N is prime, Z N* is a cyclic group, of order N-1 e.g. Z 5* = {1,2,3,4} is generated by 2 (as 1,2,4,3), and 
 by 3 (as 1,3,4,2). But 1 and 4 are not generators. (Also cyclic for certain other values of N)

  46. Discrete Log Assumption

  47. Discrete Log Assumption Discrete Log (w.r.t g) in a (multiplicative) cyclic group G generated by g: DL g (X) := unique x such that X = g x (x ∈ {0,1,...,|G|-1})

  48. Discrete Log Assumption Discrete Log (w.r.t g) in a (multiplicative) cyclic group G generated by g: DL g (X) := unique x such that X = g x (x ∈ {0,1,...,|G|-1}) In a (computationally efficient) group, given integer x and the standard representation of a group element g, can efficiently find the standard representation of X=g x (How?)

  49. Discrete Log Assumption Repeated squaring Discrete Log (w.r.t g) in a (multiplicative) cyclic group G generated by g: DL g (X) := unique x such that X = g x (x ∈ {0,1,...,|G|-1}) In a (computationally efficient) group, given integer x and the standard representation of a group element g, can efficiently find the standard representation of X=g x (How?)

  50. Discrete Log Assumption Repeated squaring Discrete Log (w.r.t g) in a (multiplicative) cyclic group G generated by g: DL g (X) := unique x such that X = g x (x ∈ {0,1,...,|G|-1}) In a (computationally efficient) group, given integer x and the standard representation of a group element g, can efficiently find the standard representation of X=g x (How?) But given X and g, may not be easy to find x (depending on G)

  51. Discrete Log Assumption Repeated squaring Discrete Log (w.r.t g) in a (multiplicative) cyclic group G generated by g: DL g (X) := unique x such that X = g x (x ∈ {0,1,...,|G|-1}) In a (computationally efficient) group, given integer x and the standard representation of a group element g, can efficiently find the standard representation of X=g x (How?) But given X and g, may not be easy to find x (depending on G) DLA: Every PPT Adv has negligible success probability in the DL Expt: (G,g) ← GroupGen; X ← G; Adv(G,g,X) → z; g z =X?

  52. Discrete Log Assumption Repeated squaring Discrete Log (w.r.t g) in a (multiplicative) cyclic group G generated by g: DL g (X) := unique x such that X = g x (x ∈ {0,1,...,|G|-1}) In a (computationally efficient) group, given integer x and the standard representation of a group element g, can efficiently find the standard representation of X=g x (How?) But given X and g, may not be easy to find x (depending on G) DLA: Every PPT Adv has negligible success probability in the DL Expt: (G,g) ← GroupGen; X ← G; Adv(G,g,X) → z; g z =X? OWF collection: Raise(x;G,g) 
 = (g x ;G,g)

  53. Discrete Log Assumption Repeated squaring Discrete Log (w.r.t g) in a (multiplicative) cyclic group G generated by g: DL g (X) := unique x such that X = g x (x ∈ {0,1,...,|G|-1}) In a (computationally efficient) group, given integer x and the standard representation of a group element g, can efficiently find the standard representation of X=g x (How?) But given X and g, may not be easy to find x (depending on G) DLA: Every PPT Adv has negligible success probability in the DL Expt: (G,g) ← GroupGen; X ← G; Adv(G,g,X) → z; g z =X? OWF collection: Raise(x;G,g) 
 If DLA broken, then Diffie-Hellman key-exchange broken = (g x ;G,g)

  54. Discrete Log Assumption Repeated squaring Discrete Log (w.r.t g) in a (multiplicative) cyclic group G generated by g: DL g (X) := unique x such that X = g x (x ∈ {0,1,...,|G|-1}) In a (computationally efficient) group, given integer x and the standard representation of a group element g, can efficiently find the standard representation of X=g x (How?) But given X and g, may not be easy to find x (depending on G) DLA: Every PPT Adv has negligible success probability in the DL Expt: (G,g) ← GroupGen; X ← G; Adv(G,g,X) → z; g z =X? OWF collection: Raise(x;G,g) 
 If DLA broken, then Diffie-Hellman key-exchange broken = (g x ;G,g) Eve gets x, y from g x , g y (sometimes) and can compute g xy herself

  55. Discrete Log Assumption Repeated squaring Discrete Log (w.r.t g) in a (multiplicative) cyclic group G generated by g: DL g (X) := unique x such that X = g x (x ∈ {0,1,...,|G|-1}) In a (computationally efficient) group, given integer x and the standard representation of a group element g, can efficiently find the standard representation of X=g x (How?) But given X and g, may not be easy to find x (depending on G) DLA: Every PPT Adv has negligible success probability in the DL Expt: (G,g) ← GroupGen; X ← G; Adv(G,g,X) → z; g z =X? OWF collection: Raise(x;G,g) 
 If DLA broken, then Diffie-Hellman key-exchange broken = (g x ;G,g) Eve gets x, y from g x , g y (sometimes) and can compute g xy herself A “key-recovery” attack

  56. Discrete Log Assumption Repeated squaring Discrete Log (w.r.t g) in a (multiplicative) cyclic group G generated by g: DL g (X) := unique x such that X = g x (x ∈ {0,1,...,|G|-1}) In a (computationally efficient) group, given integer x and the standard representation of a group element g, can efficiently find the standard representation of X=g x (How?) But given X and g, may not be easy to find x (depending on G) DLA: Every PPT Adv has negligible success probability in the DL Expt: (G,g) ← GroupGen; X ← G; Adv(G,g,X) → z; g z =X? OWF collection: Raise(x;G,g) 
 If DLA broken, then Diffie-Hellman key-exchange broken = (g x ;G,g) Eve gets x, y from g x , g y (sometimes) and can compute g xy herself A “key-recovery” attack Note: could potentially break pseudorandomness without breaking DLA too

  57. Decisional Diffie-Hellman (DDH) Assumption

  58. Decisional Diffie-Hellman (DDH) Assumption {(g x , g y , g xy )} (G,g) ← GroupGen ; x,y ← [|G|] ≈ {(g x , g y , g r )} (G,g) ← GroupGen ; x,y,r ← [|G|]

  59. Decisional Diffie-Hellman (DDH) Assumption {(g x , g y , g xy )} (G,g) ← GroupGen ; x,y ← [|G|] ≈ {(g x , g y , g r )} (G,g) ← GroupGen ; x,y,r ← [|G|] At least as strong as DLA

  60. Decisional Diffie-Hellman (DDH) Assumption {(g x , g y , g xy )} (G,g) ← GroupGen ; x,y ← [|G|] ≈ {(g x , g y , g r )} (G,g) ← GroupGen ; x,y,r ← [|G|] At least as strong as DLA If DDH assumption holds, then DLA holds [Why?]

  61. Decisional Diffie-Hellman (DDH) Assumption {(g x , g y , g xy )} (G,g) ← GroupGen ; x,y ← [|G|] ≈ {(g x , g y , g r )} (G,g) ← GroupGen ; x,y,r ← [|G|] At least as strong as DLA If DDH assumption holds, then DLA holds [Why?] But possible that DLA holds and DDH assumption doesn’ t

  62. Decisional Diffie-Hellman (DDH) Assumption {(g x , g y , g xy )} (G,g) ← GroupGen ; x,y ← [|G|] ≈ {(g x , g y , g r )} (G,g) ← GroupGen ; x,y,r ← [|G|] At least as strong as DLA If DDH assumption holds, then DLA holds [Why?] But possible that DLA holds and DDH assumption doesn’ t e.g.: DLA is widely assumed to hold in Z p* (p prime), but DDH assumption doesn’ t hold there!

  63. A Candidate DDH Group 1 8 7 9 5 6 2 4 3 10

  64. A Candidate DDH Group 1 Consider QR P* : subgroup of Quadratic Residues 8 7 (“even power” elements) of Z P* 9 5 6 2 4 3 10

  65. A Candidate DDH Group 1 Consider QR P* : subgroup of Quadratic Residues 8 7 (“even power” elements) of Z P* 9 5 6 2 4 3 10

  66. A Candidate DDH Group 1 Consider QR P* : subgroup of Quadratic Residues 8 7 (“even power” elements) of Z P* 9 5 6 2 Easy to check if an element is a QR or not: 4 3 check if raising to |G|/2 gives 1 (identity element) 10

  67. A Candidate DDH Group 1 Consider QR P* : subgroup of Quadratic Residues 8 7 (“even power” elements) of Z P* 9 5 6 2 Easy to check if an element is a QR or not: 4 3 check if raising to |G|/2 gives 1 (identity element) 10 DDH does not hold in Z P* : g xy is a QR w/ prob. 3/ 4; g z is QR only w/ prob. 1/2.

  68. A Candidate DDH Group 1 Consider QR P* : subgroup of Quadratic Residues 8 7 (“even power” elements) of Z P* 9 5 6 2 Easy to check if an element is a QR or not: 4 3 check if raising to |G|/2 gives 1 (identity element) 10 DDH does not hold in Z P* : g xy is a QR w/ prob. 3/ 4; g z is QR only w/ prob. 1/2. How about in QR P* ?

  69. A Candidate DDH Group 1 Consider QR P* : subgroup of Quadratic Residues 8 7 (“even power” elements) of Z P* 9 5 6 2 Easy to check if an element is a QR or not: 4 3 check if raising to |G|/2 gives 1 (identity element) 10 DDH does not hold in Z P* : g xy is a QR w/ prob. 3/ 4; g z is QR only w/ prob. 1/2. How about in QR P* ? Could check if cubic residue in Z P* !

  70. A Candidate DDH Group 1 Consider QR P* : subgroup of Quadratic Residues 8 7 (“even power” elements) of Z P* 9 5 6 2 Easy to check if an element is a QR or not: 4 3 check if raising to |G|/2 gives 1 (identity element) 10 DDH does not hold in Z P* : g xy is a QR w/ prob. 3/ 4; g z is QR only w/ prob. 1/2. How about in QR P* ? Could check if cubic residue in Z P* ! But if (P-1) is not divisible by 3, all elements in Z P* are cubic residues!

  71. A Candidate DDH Group 1 Consider QR P* : subgroup of Quadratic Residues 8 7 (“even power” elements) of Z P* 9 5 6 2 Easy to check if an element is a QR or not: 4 3 check if raising to |G|/2 gives 1 (identity element) 10 DDH does not hold in Z P* : g xy is a QR w/ prob. 3/ 4; g z is QR only w/ prob. 1/2. How about in QR P* ? Could check if cubic residue in Z P* ! But if (P-1) is not divisible by 3, all elements in Z P* are cubic residues! “Safe” if (P-1)/2 is also prime: P called a safe-prime

Recommend


More recommend