the computational and decisional diffie hellman
play

The computational and decisional Diffie-Hellman assumptions in - PowerPoint PPT Presentation

Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion The computational and decisional Diffie-Hellman assumptions in CryptoVerif Bruno Blanchet and David Pointcheval CNRS, Ecole Normale Sup erieure, INRIA, Paris


  1. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion The computational and decisional Diffie-Hellman assumptions in CryptoVerif Bruno Blanchet and David Pointcheval CNRS, ´ Ecole Normale Sup´ erieure, INRIA, Paris July 2010 Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 1 / 18

  2. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Motivation CryptoVerif is a prover for security protocols that is sound in the computational model produces proofs by sequences of games can give asymptotic or exact security results provides a generic method for specifying assumptions on cryptographic primitives Our goal: extend CryptoVerif to Diffie-Hellman key agreements. an important primitive; difficult for handle in formal protocol provers. Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 2 / 18

  3. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Outline 1 Decisional Diffie-Hellman (DDH) assumption, basic model. 2 Computational Diffie-Hellman (CDH) assumption, basic model. 3 Why this is not enough for protocols relying on Diffie-Hellman key agreements. 4 Computational Diffie-Hellman (CDH) assumption, extended model. 5 Decisional Diffie-Hellman (DDH) assumption, extended model. Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 3 / 18

  4. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Decisional Diffie-Hellman assumption Consider a multiplicative cyclic group G of order q , with generator g . A probabilistic polynomial-time adversary has a negligible probability of distinguishing ( g a , g b , g ab ) for random a , b ∈ Z ∗ q and ( g a , g b , g c ) for random a , b , c ∈ Z ∗ q Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 4 / 18

  5. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Decisional Diffie-Hellman assumption in CryptoVerif Consider a multiplicative cyclic group G of order q , with generator g . A probabilistic polynomial-time adversary has a negligible probability of distinguishing ( g a , g b , g ab ) for random a , b ∈ Z ∗ q and ( g a , g b , g c ) for random a , b , c ∈ Z ∗ q In CryptoVerif, ! i ≤ N new a : Z ; new b : Z ; ( OA () := exp ( g , a ) , OB () := exp ( g , b ) , ODH () := exp ( g , mult ( a , b ))) ≈ ! i ≤ N new a : Z ; new b : Z ; new c : Z ; ( OA () := exp ( g , a ) , OB () := exp ( g , b ) , ODH () := exp ( g , c )) Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 4 / 18

  6. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Decisional Diffie-Hellman assumption in CryptoVerif ! i ≤ N new a : Z ; new b : Z ; ( OA () := exp ( g , a ) , OB () := exp ( g , b ) , ODH () := exp ( g , mult ( a , b ))) ≈ ! i ≤ N new a : Z ; new b : Z ; new c : Z ; ( OA () := exp ( g , a ) , OB () := exp ( g , b ) , ODH () := exp ( g , c )) We replace g ab with g c for some fresh random number c , provided a and b are random numbers used only in g a , g b , and g ab . Application: semantic security of El Gamal (A. Chaudhuri). Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 5 / 18

  7. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Computational Diffie-Hellman assumption Consider a multiplicative cyclic group G of order q , with generator g . A probabilistic polynomial-time adversary has a negligible probability of computing g ab from g , g a , g b , for random a , b ∈ Z ∗ q . Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 6 / 18

  8. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Computational Diffie-Hellman assumption in CryptoVerif Consider a multiplicative cyclic group G of order q , with generator g . A probabilistic polynomial-time adversary has a negligible probability of computing g ab from g , g a , g b , for random a , b ∈ Z ∗ q . In CryptoVerif, this can be written ! i ≤ N new a : Z ; new b : Z ; ( OA () := exp ( g , a ) , OB () := exp ( g , b ) , ! i ′ ≤ N ′ OCDH ( z : G ) := z = exp ( g , mult ( a , b ))) ≈ ! i ≤ N new a : Z ; new b : Z ; ( OA () := exp ( g , a ) , OB () := exp ( g , b ) , ! i ′ ≤ N ′ OCDH ( z : G ) := false ) Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 6 / 18

  9. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Computational Diffie-Hellman assumption in CryptoVerif Consider a multiplicative cyclic group G of order q , with generator g . A probabilistic polynomial-time adversary has a negligible probability of computing g ab from g , g a , g b , for random a , b ∈ Z ∗ q . In CryptoVerif, this can be written ! i ≤ N new a : Z ; new b : Z ; ( OA () := exp ( g , a ) , OB () := exp ( g , b ) , ! i ′ ≤ N ′ OCDH ( z : G ) := z = exp ( g , mult ( a , b ))) ≈ ! i ≤ N new a : Z ; new b : Z ; ( OA () := exp ( g , a ) , OB () := exp ( g , b ) , ! i ′ ≤ N ′ OCDH ( z : G ) := false ) Application: semantic security of hashed El Gamal in the random oracle model (A. Chaudhuri). Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 6 / 18

  10. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Typical protocol using the Diffie-Hellman key agreement Assumptions on primitives: CDH + h is a hash function in the random oracle model or DDH + h is an entropy extractor A simplified form of a Diffie-Hellman key agreement protocol: g a Message 1. A → B : for random a g b Message 2. B → A : for random b The shared key is h ( g ab ) = h (( g a ) b ) = h (( g b ) a ) (Signatures omitted for simplicity.) Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 7 / 18

  11. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Typical protocol using the Diffie-Hellman key agreement in CryptoVerif ! iA ≤ N cA (); new a : Z ; cA � exp ( g , a ) � ; cA ( gb ) . let k = h ( exp ( gb , a )) in . . . | ! iB ≤ N cB (); new b : Z ; cB � exp ( g , b ) � ; cA ( ga ) . let k = h ( exp ( ga , b )) in . . . | ! iH ≤ nH cH ( x ); cH � h ( x ) � Cannot be transformed by the previous CDH/DDH equivalences, because a and b are chosen in parallel processes, not one after the other under the same replication. Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 8 / 18

  12. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Extending the formalization of CDH in CryptoVerif After applying the security assumption on the hash function h , h ( x ) returns a fresh random number if h ( x ) has not already been called, and the same result as the previous call otherwise. Hence h ( x ) is replaced with lookups that compare x with the other arguments of h . ! iA ≤ N cA (); new a : Z ; cA � exp ( g , a ) � ; cA ( gb ) . . . exp ( gb [ u ] , a [ u ]) = exp ( gb , a ) . . . exp ( ga [ u ′ ] , b [ u ′ ]) = exp ( gb , a ) . . . x [ u ′′ ] = exp ( gb , a ) . . . | ! iB ≤ N cB (); new b : Z ; cB � exp ( g , b ) � ; cA ( ga ) . . . exp ( gb [ u ] , a [ u ]) = exp ( ga , b ) . . . exp ( ga [ u ′ ] , b [ u ′ ]) = exp ( ga , b ) . . . x [ u ′′ ] = exp ( ga , b ) . . . | ! iH ≤ nH cH ( x ); . . . exp ( gb [ u ] , a [ u ]) = x . . . exp ( ga [ u ′ ] , b [ u ′ ]) = x . . . x [ u ′′ ] = x . . Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 9 / 18

  13. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Extending the formalization of CDH in CryptoVerif ! ia ≤ na new a : Z ; ( OA () := exp ( g , a ) , Oa () := a , ! iaCDH ≤ naCDH OCDHa ( m : G , j ≤ nb ) := m = exp ( g , mult ( b [ j ] , a ))) , ! ib ≤ nb new b : Z ; ( OB () := exp ( g , b ) , Ob () := b , ! ibCDH ≤ nbCDH OCDHb ( m : G , j ≤ na ) := m = exp ( g , mult ( a [ j ] , b ))) ≈ ! ia ≤ na new a : Z ; ( OA () := exp ( g , a ) , Oa () := a , ! iaCDH ≤ naCDH OCDHa ( m : G , j ≤ nb ) := if Ob [ j ] or Oa has been called then m = exp ( g , mult ( b [ j ] , a )) else false ) , ! ib ≤ nb new b : Z ; ( OB () := exp ( g , b ) , Ob () := b , ! ibCDH ≤ nbCDH OCDHb ( m : G , j ≤ na ) := (symmetric of OCDHa )) Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 10 / 18

  14. Basic DDH Basic CDH Need for extension Extended CDH Extended DDH Conclusion Extending the formalization of CDH in CryptoVerif ! ia ≤ na new a : Z ; ( OA () := exp ( g , a ) , Oa () := a , ! iaCDH ≤ naCDH OCDHa ( m : G , j ≤ nb ) := m = exp ( g , mult ( b [ j ] , a ))) , ! ib ≤ nb new b : Z ; ( OB () := exp ( g , b ) , Ob () := b , ! ibCDH ≤ nbCDH OCDHb ( m : G , j ≤ na ) := m = exp ( g , mult ( a [ j ] , b ))) ≈ ! ia ≤ na new a : Z ; ( OA () := exp ( g , a ) , Oa () := let ka = mark in a , ! iaCDH ≤ naCDH OCDHa ( m : G , j ≤ nb ) := find u ≤ nb suchthat defined ( kb [ u ] , b [ u ]) ∧ b [ j ] = b [ u ] then m = exp ( g , mult ( b [ j ] , a )) else if defined ( ka ) then m = exp ( g , mult ( b [ j ] , a )) else false ) , ! ib ≤ nb new b : Z ; ( OB () := exp ( g , b ) , Ob () := let kb = mark in b , ! ibCDH ≤ nbCDH OCDHb ( m : G , j ≤ na ) := (symmetric of OCDHa )) Bruno Blanchet and David Pointcheval Diffie-Hellman in CryptoVerif July 2010 11 / 18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend