the elgamal public key system
play

The ElGamal Public-key System Dan Boneh Recap: - PowerPoint PPT Presentation

Online Cryptography Course


  1. Online ¡Cryptography ¡Course ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Dan ¡Boneh ¡ Public ¡key ¡encryp3on ¡ from ¡Diffie-­‑Hellman ¡ The ¡ElGamal ¡ ¡ Public-­‑key ¡System ¡ Dan ¡Boneh ¡

  2. Recap: ¡ ¡public ¡key ¡encryp3on: ¡ ¡ ¡ (Gen, ¡E, ¡D) ¡ Gen ¡ pk ¡ sk ¡ m c c m E ¡ D ¡ Dan ¡Boneh ¡

  3. Recap: ¡ ¡public-­‑key ¡encryp3on ¡applica3ons ¡ Key ¡exchange ¡ ¡(e.g. ¡ ¡in ¡HTTPS) ¡ Encryp3on ¡in ¡non-­‑interac3ve ¡seKngs: ¡ • Secure ¡Email: ¡ ¡ ¡Bob ¡has ¡Alice’s ¡pub-­‑key ¡and ¡sends ¡her ¡an ¡email ¡ • Encrypted ¡File ¡Systems ¡ sk A ¡ read ¡ write ¡ Alice ¡ E(pk A , ¡ ¡K F ) ¡ File ¡ Bob ¡ E(k F , ¡File) ¡ E(pk B , ¡ ¡K F ) ¡ Dan ¡Boneh ¡

  4. Recap: ¡ ¡public-­‑key ¡encryp3on ¡applica3ons ¡ Key ¡exchange ¡ ¡(e.g. ¡ ¡in ¡HTTPS) ¡ Encryp3on ¡in ¡non-­‑interac3ve ¡seKngs: ¡ • Secure ¡Email: ¡ ¡ ¡Bob ¡has ¡Alice’s ¡pub-­‑key ¡and ¡sends ¡her ¡an ¡email ¡ • Encrypted ¡File ¡Systems ¡ • Key ¡escrow: ¡ ¡data ¡recovery ¡without ¡Bob’s ¡key ¡ Escrow ¡ Service ¡ write ¡ sk escrow ¡ E(pk escrow , ¡ ¡K F ) ¡ Bob ¡ E(k F , ¡File) ¡ E(pk B , ¡ ¡K F ) ¡ Dan ¡Boneh ¡

  5. Construc3ons ¡ This ¡week: ¡ ¡ ¡two ¡families ¡of ¡public-­‑key ¡encryp3on ¡schemes ¡ • Previous ¡lecture: ¡ ¡ ¡based ¡on ¡trapdoor ¡func3ons ¡ ¡(such ¡as ¡RSA) ¡ – Schemes: ¡ ¡ ¡ ¡ISO ¡standard, ¡ ¡ ¡ ¡ ¡OAEP+, ¡ ¡ ¡ ¡… ¡ • This ¡lecture: ¡ ¡ ¡based ¡on ¡the ¡Diffie-­‑Hellman ¡protocol ¡ – Schemes: ¡ ¡ ¡ ¡ElGamal ¡encryp3on ¡and ¡variants ¡ ¡ (e.g. ¡used ¡in ¡GPG) ¡ Security ¡goals: ¡ ¡ ¡ ¡ ¡ ¡chosen ¡ciphertext ¡security ¡ Dan ¡Boneh ¡

  6. Review: ¡ ¡the ¡Diffie-­‑Hellman ¡protocol ¡ ¡ ¡ (1977) ¡ Fix ¡a ¡finite ¡cyclic ¡group ¡ ¡G ¡ ¡ ¡ ¡ ( e.g ¡ ¡ ¡ ¡G ¡= ¡(Z p ) * ¡ ¡ ) ¡ ¡ ¡ ¡of ¡order ¡ ¡n ¡ Fix ¡a ¡generator ¡g ¡ ¡in ¡ ¡G ¡ ¡ ¡ ¡ ¡ ¡ ( i.e. ¡ ¡ ¡G ¡= ¡{1, ¡g, ¡g 2 , ¡g 3 , ¡… ¡, ¡g n-­‑1 ¡ } ¡ ¡ ) ¡ Alice ¡ Bob ¡ choose ¡random ¡ a ¡in ¡{1,…,n} ¡ choose ¡random ¡ b ¡in ¡{1,…,n} ¡ A ¡= ¡g a ¡ B ¡= ¡g b ¡ ¡ ¡ ¡ ¡ ¡= ¡ ¡ ¡ ( g a ) b ¡ ¡ ¡ ¡ ¡ = ¡ ¡ A b ¡ ¡ ¡ ¡ B a ¡ ¡ ¡ ¡ ¡ ¡ = ¡ ¡ ¡ ¡ ¡ ¡ ¡ ( g b ) a ¡ ¡ = ¡ k AB ¡= ¡ g ab ¡ ¡ ¡ Dan ¡Boneh ¡

  7. ElGamal: ¡ ¡ ¡conver3ng ¡to ¡pub-­‑key ¡enc. ¡ ¡ (1984) ¡ Fix ¡a ¡finite ¡cyclic ¡group ¡ ¡G ¡ ¡ ¡ ¡ ( e.g ¡ ¡ ¡ ¡G ¡= ¡(Z p ) * ¡ ¡ ) ¡ ¡ ¡ ¡of ¡order ¡ ¡n ¡ Fix ¡a ¡generator ¡g ¡ ¡in ¡ ¡G ¡ ¡ ¡ ¡ ¡ ¡ ( i.e. ¡ ¡ ¡G ¡= ¡{1, ¡g, ¡g 2 , ¡g 3 , ¡… ¡, ¡g n-­‑1 } ¡ ¡ ) ¡ Alice ¡ Bob ¡ Treat ¡as ¡a ¡ choose ¡random ¡ a ¡in ¡{1,…,n} ¡ choose ¡random ¡ b ¡in ¡{1,…,n} ¡ public ¡key ¡ A ¡= ¡g a ¡ compute ¡ ¡g ab ¡= ¡A b ¡, ¡ derive ¡symmetric ¡key ¡k ¡, ¡ ct ¡= ¡ [ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ] ¡ B ¡= ¡g b ¡ encrypt ¡message ¡m ¡with ¡k ¡ Dan ¡Boneh ¡

  8. ElGamal: ¡ ¡ ¡conver3ng ¡to ¡pub-­‑key ¡enc. ¡ ¡ (1984) ¡ Fix ¡a ¡finite ¡cyclic ¡group ¡ ¡G ¡ ¡ ¡ ¡ ( e.g ¡ ¡ ¡ ¡G ¡= ¡(Z p ) * ¡ ¡ ) ¡ ¡ ¡ ¡of ¡order ¡ ¡n ¡ Fix ¡a ¡generator ¡g ¡ ¡in ¡ ¡G ¡ ¡ ¡ ¡ ¡ ¡ ( i.e. ¡ ¡ ¡G ¡= ¡{1, ¡g, ¡g 2 , ¡g 3 , ¡… ¡, ¡g n-­‑1 } ¡ ¡ ) ¡ Alice ¡ Bob ¡ Treat ¡as ¡a ¡ choose ¡random ¡ a ¡in ¡{1,…,n} ¡ choose ¡random ¡ b ¡in ¡{1,…,n} ¡ public ¡key ¡ A ¡= ¡g a ¡ compute ¡ ¡g ab ¡= ¡A b ¡, ¡ derive ¡symmetric ¡key ¡k ¡, ¡ ct ¡= ¡ [ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ] ¡ To ¡decrypt: ¡ B ¡= ¡g b ¡ encrypt ¡message ¡m ¡with ¡k ¡ compute ¡ ¡g ab ¡= ¡B a ¡, ¡ derive ¡k, ¡ ¡and ¡decrypt ¡ Dan ¡Boneh ¡

  9. The ¡ElGamal ¡system ¡ ¡(a ¡modern ¡view) ¡ • G: ¡ ¡ ¡finite ¡cyclic ¡group ¡of ¡order ¡n ¡ ¡ • (E s , ¡D s ) ¡: ¡ ¡ ¡symmetric ¡auth. ¡encryp3on ¡defined ¡over ¡(K,M,C) ¡ • H: ¡G 2 ¡ ⟶ ¡K ¡ ¡ ¡a ¡hash ¡func3on ¡ We ¡construct ¡a ¡pub-­‑key ¡enc. ¡system ¡(Gen, ¡E, ¡D): ¡ • Key ¡genera3on ¡Gen: ¡ ¡ ¡ ¡ ¡ – choose ¡random ¡generator ¡ ¡g ¡in ¡G ¡ ¡ ¡ ¡ ¡and ¡ ¡ ¡ ¡random ¡ ¡ ¡a ¡in ¡Z n ¡ – output ¡ ¡ ¡ ¡sk ¡= ¡a ¡ ¡ ¡ ¡ ¡, ¡ ¡ ¡ ¡ ¡pk ¡= ¡(g, ¡h=g a ¡ ) ¡ Dan ¡Boneh ¡

  10. The ¡ElGamal ¡system ¡ ¡ (a ¡modern ¡view) ¡ • G: ¡ ¡ ¡finite ¡cyclic ¡group ¡of ¡order ¡n ¡ ¡ • (E s , ¡D s ) ¡: ¡ ¡ ¡symmetric ¡auth. ¡encryp3on ¡defined ¡over ¡(K,M,C) ¡ • H: ¡G 2 ¡ ⟶ ¡K ¡ ¡ ¡a ¡hash ¡func3on ¡ E ( ¡pk=(g,h), ¡ ¡m ) ¡ : ¡ D ( ¡sk=a, ¡(u,c) ¡ ) ¡ : ¡ ¡b ¡ ⟵ ¡Z n ¡ , ¡ ¡u ¡ ⟵ ¡g b ¡, ¡ ¡v ¡ ⟵ ¡h b ¡ ¡ ¡v ¡ ⟵ ¡u a ¡ R ¡ ¡k ¡ ⟵ ¡H(u,v) ¡, ¡ ¡c ¡ ⟵ ¡E s (k, ¡m) ¡ ¡k ¡ ⟵ ¡H(u,v) ¡, ¡ ¡ ¡m ¡ ⟵ ¡D s (k, ¡c) ¡ ¡output ¡ ¡ ¡(u, ¡c) ¡ ¡output ¡ ¡ ¡m ¡ ¡ Dan ¡Boneh ¡

  11. ElGamal ¡performance ¡ E( ¡pk=(g,h), ¡ ¡m) ¡: ¡ D( ¡sk=a, ¡(u,c) ¡) ¡: ¡ ¡b ¡ ⟵ ¡Z n ¡ , ¡ ¡u ¡ ⟵ ¡g b ¡, ¡ ¡v ¡ ⟵ ¡h b ¡ ¡ ¡v ¡ ⟵ ¡u a ¡ Encryp=on : ¡ ¡ ¡ ¡ ¡2 ¡exp. ¡ ¡ ¡ ¡ ¡ ¡ ¡(fixed ¡basis) ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ – Can ¡pre-­‑compute ¡ ¡ ¡ ¡ ¡ [ ¡g (2^i) ¡ ¡ , ¡ ¡h (2^i) ¡ ¡ ¡ ¡ ¡ for ¡ ¡ ¡i=1,…,log 2 ¡n ¡ ] ¡ ¡ – 3x ¡speed-­‑up ¡ ¡ ¡(or ¡more) ¡ Decryp=on : ¡ ¡ ¡ ¡ ¡1 ¡exp. ¡ ¡ ¡ ¡ ¡ ¡ ¡(variable ¡basis) ¡ Dan ¡Boneh ¡

  12. Next ¡step: ¡ ¡why ¡is ¡this ¡system ¡chosen ¡ciphertext ¡secure? ¡ ¡under ¡what ¡assump3ons? ¡ End ¡of ¡Segment ¡ Dan ¡Boneh ¡

  13. Online ¡Cryptography ¡Course ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Dan ¡Boneh ¡ Public ¡key ¡encryp3on ¡ from ¡Diffie-­‑Hellman ¡ ElGamal ¡Security ¡ Dan ¡Boneh ¡

  14. Computa3onal ¡Diffie-­‑Hellman ¡Assump3on ¡ G: ¡ ¡ ¡finite ¡cyclic ¡group ¡of ¡order ¡n ¡ ¡ Comp. ¡DH ¡ ¡(CDH) ¡ ¡assump3on ¡holds ¡in ¡G ¡if: ¡ ¡ ¡ ¡ ¡g, ¡ ¡g a ¡, ¡ ¡g b ¡ ¡ ¡ ¡ ¡ ⇏ ¡ ¡ ¡ ¡g ab ¡ ¡for ¡all ¡efficient ¡algs. ¡ ¡A: ¡ ¡Pr [ ¡ ¡A(g, ¡g a , ¡g b ¡) ¡= ¡g ab ¡ ¡ ] ¡< ¡negligible ¡ ¡ ¡ ¡where ¡ ¡ ¡ ¡g ¡ ⟵ ¡ { generators ¡of ¡G } ¡ , ¡ ¡ ¡ ¡ ¡ ¡a, ¡b ¡ ⟵ ¡Z n ¡ Dan ¡Boneh ¡

Recommend


More recommend