Argument hybride

Un argument hybride est une méthode de preuve en cryptographie permettant de montrer l'indistinguabilité calculatoire de deux distributions de probabilité.

Motivation

Pour montrer que deux distributions D 0 {\displaystyle D_{0}} et D 1 {\displaystyle D_{1}} sont calculatoirement indistinguables, la stratégie habituelle est d'exhiber une réduction d'un problème difficile à la sécurité du cryptosystème. Néanmoins, cette méthode n'est pas toujours facilement utilisable, et il existe des cas où il est plus facile d'exhiber une succession de distributions H 0 , , H n {\displaystyle H_{0},\ldots ,H_{n}} telle que D 0 = H 0 {\displaystyle D_{0}=H_{0}} et H n = D 1 {\displaystyle H_{n}=D_{1}} . Ainsi, en montrant que, pour tout 0 i < n {\displaystyle 0\leq i<n} , H i {\displaystyle H_{i}} est calculatoirement indistinguable de H i + 1 {\displaystyle H_{i+1}} (une preuve qui a pu être faite par le biais d'une réduction par exemple), on obtient que D 0 {\displaystyle D_{0}} et D 1 {\displaystyle D_{1}} sont calculatoirement indistinguables: c'est une conséquence de l'inégalité triangulaire.

En effet, pour tout adversaire efficace (qui fonctionne en temps polynomial probabiliste) A {\displaystyle {\mathcal {A}}} , l'avantage de A {\displaystyle {\mathcal {A}}} pour distinguer deux distributions D {\displaystyle D} et D {\displaystyle D'} peut être défini par :

A d v t D , D ( A ) = | Pr x D [ A ( x ) = 1 ] Pr x D [ A ( x ) = 1 ] | . {\displaystyle \displaystyle \mathrm {Advt} ^{D,D'}({\mathcal {A}})=\left|\Pr _{x\hookleftarrow D}[{\mathcal {A}}(x)=1]-\Pr _{x\hookleftarrow D'}[{\mathcal {A}}(x)=1]\right|.}

Ainsi, dans notre cas, l'application de l'inégalité triangulaire nous donne :

A d v t D 0 , D 1 ( A ) i = 0 n 1 A d v t H i , H i + 1 ( A ) . {\displaystyle \displaystyle \mathrm {Advt} ^{D_{0},D_{1}}({\mathcal {A}})\leq \sum _{i=0}^{n-1}\mathrm {Advt} ^{H_{i},H_{i+1}}({\mathcal {A}}).}

Comme H i {\displaystyle H_{i}} et H i + 1 {\displaystyle H_{i+1}} sont calculatoirement indistinguables pour tout i {\displaystyle i} , A d v t H i , H i + 1 ( A ) {\displaystyle \mathrm {Advt} ^{H_{i},H_{i+1}}({\mathcal {A}})} est négligeable pour tout i {\displaystyle i} et donc A d v t D 0 , D 1 ( A ) {\displaystyle \mathrm {Advt} ^{D_{0},D_{1}}({\mathcal {A}})} est négligeable. Cependant, cet argument n'est valable que lorsque n {\displaystyle n} est fixé et borné : si un nombre polynomial de distributions intermédiaires est nécessaire, l'inégalité triangulaire ne permet plus de conclure. En effet, une somme polynomiale de fonctions négligeables n'est pas nécessairement négligeable. Par exemple, si on prend μ i ( λ ) = 2 i λ {\displaystyle \mu _{i}(\lambda )=2^{i-\lambda }} pour tout i {\displaystyle i} , alors chaque μ i {\displaystyle \mu _{i}} est négligeable en λ {\displaystyle \lambda } et pourtant i = 1 λ μ i {\displaystyle \sum _{i=1}^{\lambda }\mu _{i}} n'est pas négligeable. Pour cette raison, on utilise à la place un argument hybride.

Énoncé

Soient deux distributions X {\displaystyle X} et Y {\displaystyle Y} qui sont calculatoirement indistinguables, et soient deux distributions D 0 {\displaystyle D_{0}} et D 1 {\displaystyle D_{1}} . Pour fixer les idées, D 0 {\displaystyle D_{0}} peut être une distribution sur des suites arbitrairement longues de la forme ( X , X , X , ) {\displaystyle (X,X,X,\ldots )} tandis que D 1 {\displaystyle D_{1}} serait une distribution sur des suites de la forme ( Y , Y , Y , ) {\displaystyle (Y,Y,Y,\ldots )} . Pour montrer que les deux distributions sont calculatoirement indistinguables, l'idée est d'introduire une suite de distributions hybrides ( H i ) i N {\displaystyle (H_{i})_{i\in \mathbb {N} }} telle que H 0 = D 1 {\displaystyle H_{0}=D_{1}} (dans notre exemple, H i {\displaystyle H_{i}} serait une distribution sur des suites obtenue en faisant i {\displaystyle i} copies de X {\displaystyle X} puis des copies de Y {\displaystyle Y} ), qui permet de transformer petit à petit la distribution D 1 {\displaystyle D_{1}} en la distribution D 0 {\displaystyle D_{0}} . Ainsi, pour tout adversaire polynomial A {\displaystyle {\mathcal {A}}} , on demande à ce qu'il existe un entier n A {\displaystyle n_{\mathcal {A}}} au plus polynomial tel que A d v t H n A , D 0 ( A ) = 0 {\displaystyle \mathrm {Advt} ^{H_{n_{\mathcal {A}}},D_{0}}({\mathcal {A}})=0} . Dans notre exemple, cela vient du fait que A {\displaystyle {\mathcal {A}}} ne peut lire que les n A {\displaystyle n_{\mathcal {A}}} premiers éléments de la suite. Dans ce contexte, l'argument hybride permet de conclure. Il s'énonce comme suit [1]:

Argument hybride — Soient deux distributions calculatoirement indistinguables X {\displaystyle X} et Y {\displaystyle Y} et soit ( H i ) i N {\displaystyle (H_{i})_{i\in \mathbb {N} }} une suite de distributions. Supposons qu'il existe un algorithme probabilistique polynomial T {\displaystyle {\mathcal {T}}} tel que, pour tout i {\displaystyle i} , les distributions T ( i , X ) {\displaystyle {\mathcal {T}}(i,X)} et H i {\displaystyle H_{i}} (respectivement, T ( i , Y ) {\displaystyle {\mathcal {T}}(i,Y)} et H i + 1 {\displaystyle H_{i+1}} ) sont identiquement distribuées. Alors, pour tout adversaire efficace A {\displaystyle {\mathcal {A}}} , pour tout polynôme p {\displaystyle p} , il existe un adversaire probabilistique polynomial B {\displaystyle {\mathcal {B}}} tel que A d v t H 0 , H p ( λ ) ( A ) p ( λ ) A d v t X , Y ( B ) . {\displaystyle \displaystyle \mathrm {Advt} ^{H_{0},H_{p(\lambda )}}({\mathcal {A}})\leq p(\lambda )\mathrm {Advt} ^{X,Y}({\mathcal {B}}).}

Utilisations

Il existe des exemples de l'utilisation de l'argument hybride en cryptographie [2], généralement présenté sous forme de preuves par jeux. On peut citer parmi celles-ci les preuves simples suivantes :

  • Si un générateur de bits est imprédictible, alors il s'agit d'un générateur pseudo-aléatoire [3].
  • On peut étendre un générateur pseudo-aléatoire G : { 0 , 1 } s { 0 , 1 } s + 1 {\displaystyle G:\{0,1\}^{s}\to \{0,1\}^{s+1}} pour construire un générateur pseudo-aléatoire dont la sortie est polynomialement plus grande que l'entrée [4].

Prédicteur à partir d'un distingueur pour un générateur pseudo-aléatoire

La sécurité d'un générateur pseudo-aléatoire est donnée par l'indistinguabilité de la distribution «  G G ( x ) { 0 , 1 } n : x U ( { 0 , 1 } s ) {\displaystyle G\triangleq G(x)\in \{0,1\}^{n}:x\hookleftarrow {\mathcal {U}}(\{0,1\}^{s})}  » de la distribution uniforme sur les chaînes de longueur n {\displaystyle n} [5]. Une définition alternative est donnée par l'imprédictabilité du bit suivant, c'est-à-dire qu'il n'existe pas d'algorithme efficace permettant de prédire G ( x ) i {\displaystyle G(x)_{i}} sachant G ( x ) < i {\displaystyle G(x)_{<i}} [note 1] avec une probabilité significativement différente de 1/2.

Andrew Yao a montré en 1982 que ces deux définitions sont équivalentes [3], on donne dans la suite une preuve de l'implication qui fait intervenir l'argument hybride.

Démonstration

Ainsi si les bits de G ( x ) {\displaystyle G(x)} sont indistinguables de l'uniforme, alors il ne peut exister de prédicteur. Cela se fait par la construction de distributions hybrides, en posant les distributions hybrides H i = G ( x ) < n i U ( { 0 , 1 } i ) {\displaystyle H_{i}=G(x)_{<n-i}\|{\mathcal {U}}(\{0,1\}^{i})} , qui est telle que H 0 = G {\displaystyle H_{0}=G} et H n = U ( { 0 , 1 } n ) {\displaystyle H_{n}={\mathcal {U}}(\{0,1\}^{n})} .

L'argument hybride donne donc l'existence d'un indice k {\displaystyle k^{\star }} tel que

A d v t H k , H k + 1 ( A ) A d v t G , U ( { 0 , 1 } n ) ( A ) n {\displaystyle \displaystyle \mathrm {Advt} ^{H_{k^{\star }},H_{k^{\star }+1}}({\mathcal {A}})\geq {\frac {\mathrm {Advt} ^{G,{\mathcal {U}}(\{0,1\}^{n})}({\mathcal {A}})}{n}}}

Par conséquent, un distingueur entre la distribution G {\displaystyle G} et la distribution uniforme sur les chaînes de bits de longueur n est aussi un distingueur entre les distributions H k {\displaystyle H_{k}} et H k + 1 {\displaystyle H_{k+1}} .

On construit ensuite le prédicteur suivant qui utilise de manière boîte noire un distingueur entre les distributions G {\displaystyle G} et la distribution uniforme sur n bits:

Distingueur  ( G , U ) = D Predicteur de bit = P Challenger Tire  k U ( { 0 , 1 , , n 1 } ) Tire  x U ( { 0 , 1 } s ) k G ( x ) < k + 1 Construit  y = G ( x ) < k + 1 U ( { 0 , 1 } n k ) y b Si  b = 1 , alors on a probablement envoye  H k + 1 . On assigne  p = y k + 1 Si  b = 0 , ça signifie qu'on a probablement envoye  H k . On assigne  p = 1 y k + 1 p {\displaystyle {\begin{array}{c c c c c}{\mbox{Distingueur }}(G,U)=D&&{\mbox{Predicteur de bit}}=P&&{\mbox{Challenger}}\\\hline &&{\text{Tire }}k\hookleftarrow {\mathcal {U}}(\{0,1,\ldots ,n-1\})&&{\text{Tire }}x\hookleftarrow {\mathcal {U}}(\{0,1\}^{s})\\&&&{\xrightarrow {k}}&\\&&&{\xleftarrow {G(x)_{<k+1}}}&\\&&{\text{Construit }}y=G(x)_{<k+1}\|{\mathcal {U}}(\{0,1\}^{n-k})&&\\&{\xleftarrow {y}}&&&\\&{\xrightarrow {b}}&&&\\&&{\text{Si }}b=1{\text{, alors on a probablement envoye }}H_{k+1}.&&\\&&{\text{On assigne }}p=y_{k+1}&&\\&&{\text{Si }}b=0{\text{, ça signifie qu'on a probablement envoye }}H_{k}.&&\\&&{\text{On assigne }}p=1-y_{k+1}&&\\&&&{\xrightarrow {p}}&\end{array}}}

Il ne reste plus qu'à calculer la probabilité pour notre prédicteur d'avoir donné le bon bit.

Pr x U ( { 0 , 1 } s ) [ P ( G ( x ) < k + 1 ) = G ( x ) k + 1 ] = Pr [ P ( y ) = y k + 1 G ( x ) k + 1 = y k + 1 ] + Pr [ P ( y ) = 1 y k + 1 G ( x ) k + 1 = 1 y k + 1 ] = Pr [ G ( x ) k + 1 = y k + 1 ] Pr [ P ( y ) = y k + 1 G ( x ) k + 1 = y k + 1 ] + Pr [ G ( x ) k + 1 = 1 y k + 1 ] Pr [ P ( y ) = 1 y k + 1 G ( x ) k + 1 = 1 y k + 1 ] = Pr [ G ( x ) k + 1 = y k + 1 ] Pr [ D ( y ) = 1 G ( x ) k + 1 = y k + 1 ] + Pr [ G ( x ) k + 1 = 1 y k + 1 ] Pr [ D ( y ) = 0 G ( x ) k + 1 = 1 y k + 1 ] = 1 2 ( Pr [ D ( y ) = 1 G ( x ) k + 1 = y k + 1 ] + Pr [ D ( y ) = 0 G ( x ) k + 1 = 1 y k + 1 ] ) = 1 2 ( 1 + Pr [ D ( y ) = 1 G ( x ) k + 1 = y k + 1 ] Pr [ D ( y ) = 1 G ( x ) k + 1 = 1 y k + 1 ] ) 1 2 ± A d v t H k , H k + 1 ( A ) Pr [ k = k ] {\displaystyle \displaystyle {\begin{aligned}\Pr _{x\in {\mathcal {U}}(\{0,1\}^{s})}[P(G(x)_{<k+1})=G(x)_{k+1}]&=\Pr[P(y)=y_{k+1}\land G(x)_{k+1}=y_{k+1}]+\Pr[P(y)=1-y_{k+1}\land G(x)_{k+1}=1-y_{k+1}]\\&=\Pr[G(x)_{k+1}=y_{k+1}]\cdot \Pr[P(y)=y_{k+1}\mid G(x)_{k+1}=y_{k+1}]+\Pr[G(x)_{k+1}=1-y_{k+1}]\cdot \Pr[P(y)=1-y_{k+1}\mid G(x)_{k+1}=1-y_{k+1}]\\&=\Pr[G(x)_{k+1}=y_{k+1}]\cdot \Pr[D(y)=1\mid G(x)_{k+1}=y_{k+1}]+\Pr[G(x)_{k+1}=1-y_{k+1}]\cdot \Pr[D(y)=0\mid G(x)_{k+1}=1-y_{k+1}]\\&={\frac {1}{2}}\cdot \left(\Pr[D(y)=1\mid G(x)_{k+1}=y_{k+1}]+\Pr[D(y)=0\mid G(x)_{k+1}=1-y_{k+1}]\right)\\&={\frac {1}{2}}\cdot \left(1+\Pr[D(y)=1\mid G(x)_{k+1}=y_{k+1}]-\Pr[D(y)=1\mid G(x)_{k+1}=1-y_{k+1}]\right)\\&\geq {\frac {1}{2}}\pm \mathrm {Advt} ^{H_{k^{\star }},H_{k^{\star }+1}}(A)\cdot \Pr[k=k^{\star }]\end{aligned}}}

Ce qui donne une borne inférieure sur la distance de cette probabilité comme 1 2 {\displaystyle {\frac {1}{2}}} par A d v t G , U ( { 0 , 1 } n ) n 2 {\displaystyle {\frac {\mathrm {Advt} ^{G,U(\{0,1\}^{n})}}{n^{2}}}} , qui est non négligeable si le distingueur a un avantage significatif.

Notes et références

Notes

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Hybrid argument » (voir la liste des auteurs).
  1. Les i premiers bits de la chaîne G(x).

Références

Annexes

Bibliographie

  • [Goldreich, Goldwasser et Micali 1984] (en) Oded Goldreich, Shafi Goldwasser et Silvio Micali, « How to Construct Random Functions », FOCS,‎ (DOI 10.1109/SFCS.1984.715949).
  • [Katz et Lindell 2014] (en) Jonathan Katz et Yehuda Lindell, Introduction to Modern Cryptography, 2nd Edition, Boca Raton, Chapman and Hall, , 583 p. (ISBN 978-1-4665-7026-9, BNF 44284474), « Constructions of Pseudorandom Generators ».
  • [Shoup 2004] (en) Victor Shoup, « Sequences of games: a tool for taming complexity in security proofs », ePrint Reports,‎ (lire en ligne).
  • [Yao 1982] (en) Andrew Yao, « Theory and application of trapdoor functions », FOCS,‎ (DOI 10.1109/SFCS.1982.45, lire en ligne [PDF], consulté le ).
  • [MF21] (en) Arno Mittelbach et Marc Fischlin, The Theory of Hash Functions and Random Oracles, An Approach to Modern Cryptography, Springer, , 798 p. (ISBN 978-3-0306-3287-8), « Pseudorandomness and Computational Indistinguishability ».

Articles connexes

Liens externes

  • [Dodis 2008] (en) Yevgeniy Dodis, « Introduction to Cryptography » [« Cours d'introduction à la cryptographie »] [PDF], .
  • icône décorative Portail de la cryptologie
  • icône décorative Portail de l'informatique théorique