Aller au contenu

« Argument hybride » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Anaël76 (discuter | contributions)
Suppression d'un paragraphe faux, correction avec le véritable énoncé.
Balises : Éditeur visuel : basculé Liens d’homonymie
Ligne 1 : Ligne 1 :
Un '''argument hybride''' est une méthode de [[preuve de sécurité|preuve]] en [[cryptographie]] permettant de montrer l'[[indistinguabilité calculatoire]] de deux [[distribution de probabilité|distributions de probabilité]].
Un '''argument hybride''' est une méthode de [[preuve de sécurité|preuve]] en [[cryptographie]] permettant de montrer l'[[indistinguabilité calculatoire]] de deux [[distribution de probabilité|distributions de probabilité]].


== Description ==
== Motivation ==
Pour montrer que deux distributions <math>D_0</math> et <math>D_1</math> sont calculatoirement indistinguables, il est parfois possible 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 suite polynomialement bornée de distributions (dites ''hybrides'') telles que <math>D_0 = H_0, H_1, \ldots, H_n = D_1</math> et telles que pour tout <math>0 \leq i < n</math>, on ait <math>H_i</math> qui soit calculatoirement indistinguable de <math>H_{i+1}</math> (une preuve qui a pu être faite par le biais d'une réduction par exemple).
Pour montrer que deux distributions <math>D_0</math> et <math>D_1</math> 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 <math>H_0,\ldots,H_n</math> telle que <math>D_0 = H_0</math> et </math>H_n = D_1</math>. Ainsi, en montrant que, pour tout <math>0 \leq i < n</math>, <math>H_i</math> est calculatoirement indistinguable de <math>H_{i+1}</math> (une preuve qui a pu être faite par le biais d'une réduction par exemple), on obtient que <math>D_0</math> et <math>D_1</math> sont calculatoirement indistinguables: c'est une conséquence de l'[[inégalité triangulaire]].


L'argument hybride est alors la conséquence de l'[[inégalité triangulaire]], puisque pour n'importe quel adversaire efficace (qui fonctionne en [[PP (complexité)|temps polynomial probabiliste]]) <math>\mathcal A</math>, l'[[preuve de sécurité|avantage]] de <math>\mathcal A</math> pour distinguer deux distributions <math>D</math> et <math>D'</math> est défini par:
En effet, pour tout adversaire efficace (qui fonctionne en [[PP (complexité)|temps polynomial probabiliste]]) <math>\mathcal A</math>, l'[[preuve de sécurité|avantage]] de <math>\mathcal A</math> pour distinguer deux distributions <math>D</math> et <math>D'</math> peut être défini par :
: <math>\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| </math>
: <math>\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|.</math>


Ainsi dans notre cas, l'application de l'inégalité triangulaire nous donne que :
Ainsi, dans notre cas, l'application de l'inégalité triangulaire nous donne :
: <math> \displaystyle \mathrm{Advt}^{D_0, D_1}(\mathcal A) \leq \sum_{i=0}^{n-1} \mathrm{Advt}^{H_{i}, H_{i+1}}(\mathcal A) </math>
: <math> \displaystyle \mathrm{Advt}^{D_0, D_1}(\mathcal A) \leq \sum_{i=0}^{n-1} \mathrm{Advt}^{H_{i}, H_{i+1}}(\mathcal A). </math>


Comme <math>H_i</math> et <math>H_{i+1}</math> sont calculatoirement indistinguables pour tout <math>i</math>, <math>\mathrm{Advt}^{H_{i}, H_{i+1}}(\mathcal A)</math> est négligeable pour tout <math>i</math> et donc <math>\mathrm{Advt}^{D_0, D_1}(\mathcal A)</math> est négligeable. Cependant, cet argument n'est valable que lorsque <math>n</math> 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 <math>\mu_i(\lambda)=2^{i-\lambda}</math> pour tout <math>i</math>, alors
Ainsi il existe nécessairement un indice <math>k</math> tel que :
chaque <math>\mu_i</math> est négligeable en <math>\lambda</math> et pourtant <math>\sum_{i=1}^\lambda\mu_i</math> n'est pas négligeable. Pour cette raison, on utilise à la place un ''argument hybride''.
: <math> \displaystyle \mathrm{Advt}^{H_k, H_{k+1}}(\mathcal A) \geq \frac{\mathrm{Advt}^{D_0, D_1}(\mathcal A)}{n} </math>


== Énoncé ==
Comme <math>n</math> est polynomialement borné (par hypothèse), alors si on peut montrer que l'avantage de n'importe quel adversaire fonctionnant en temps polynomial pour distinguer deux distributions hybrides successives est [[fonction négligeable (informatique)|négligeable]], alors l'avantage de n'importe quel adversaire pour distinguer les deux distributions initiales <math>D_0</math> et <math>D_1</math> est lui-même négligeable {{sfn|Dodis|2008}}.
Soient deux distributions <math>X</math> et <math>Y</math> qui sont calculatoirement indistinguables,
et soient deux distributions <math>D_0</math> et <math>D_1</math>. Pour fixer les idées, <math>D_0</math> peut être une distribution sur des suites arbitrairement longues de la forme <math>(X,X,X,\ldots)</math> tandis que <math>D_1</math> serait une distribution sur des suites de la forme <math>(Y,Y,Y,\ldots)</math>. Pour montrer que les deux distributions sont calculatoirement indistinguables, l'idée est d'introduire une suite de distributions ''hybrides'' <math>(H_i)_{i\in\mathbb{N}}</math> telle que <math>H_0=D_1</math> (dans notre exemple, <math>H_i</math> serait une distribution sur des suites obtenue en faisant <math>i</math> copies de <math>X</math> puis des copies de <math>Y</math>), qui permet de transformer petit à petit la distribution <math>D_1</math> en la distribution <math>D_0</math>. Ainsi, pour tout adversaire polynomial <math>\mathcal A</math>, on demande à ce qu'il existe un entier <math>n_{\mathcal A}</math> au plus polynomial tel que <math>\mathrm{Advt}^{H_{n_{\mathcal{A}}}, D_0}(\mathcal A)=0</math>. Dans notre exemple, cela vient du fait que <math>\mathcal A</math> ne peut lire que les <math>n_{\mathcal A}</math> premiers éléments de la suite. Dans ce contexte, l'argument hybride permet de conclure. Il s'énonce comme suit {{sfn|MF21}}:

{|
|{{Théorème|Argument hybride|Soient deux distributions calculatoirement indistinguables <math>X</math> et <math>Y</math> et soit <math>(H_i)_{i\in\mathbb{N}}</math> une suite de distributions. Supposons qu'il existe un algorithme probabilistique polynomial <math>\mathcal{T}</math> tel que, pour tout <math>i</math>, les distributions <math>\mathcal{T}(i,X)</math> et <math>H_i</math> (respectivement, <math>\mathcal{T}(i,Y)</math> et <math>H_{i+1}</math>) sont identiquement distribuées. Alors, pour tout adversaire efficace <math>\mathcal{A}</math>, pour tout polynôme <math>p</math>, il existe un adversaire probabilistique polynomial <math>\mathcal{B}</math> tel que
<math>\displaystyle \mathrm{Advt}^{H_0, H_{p(\lambda)}}(\mathcal A)\leq p(\lambda)\mathrm{Advt}^{X, Y}(\mathcal{B}).</math>}}
|}


== Utilisations ==
== Utilisations ==
Ligne 93 : Ligne 100 :
* {{Article|auteur=[[Victor Shoup]]|titre= Sequences of games: a tool for taming complexity in security proofs|périodique=ePrint Reports|langue=en|lire en ligne=http://eprint.iacr.org/2004/332|libellé=Shoup 2004|année=2004}}.
* {{Article|auteur=[[Victor Shoup]]|titre= Sequences of games: a tool for taming complexity in security proofs|périodique=ePrint Reports|langue=en|lire en ligne=http://eprint.iacr.org/2004/332|libellé=Shoup 2004|année=2004}}.
* {{Article|auteur=Andrew Yao|titre= Theory and application of trapdoor functions|doi=10.1109/SFCS.1982.45|périodique=[[Symposium on Foundations of Computer Science|FOCS]]|langue=en|année=1982|lire en ligne=http://www.di.ens.fr/users/phan/secuproofs/yao82.pdf|consulté le=24 février 2017|format=pdf|libellé=Yao 1982}}.
* {{Article|auteur=Andrew Yao|titre= Theory and application of trapdoor functions|doi=10.1109/SFCS.1982.45|périodique=[[Symposium on Foundations of Computer Science|FOCS]]|langue=en|année=1982|lire en ligne=http://www.di.ens.fr/users/phan/secuproofs/yao82.pdf|consulté le=24 février 2017|format=pdf|libellé=Yao 1982}}.
* {{Ouvrage
| langue=en
| auteur1=Arno Mittelbach
| auteur2=Marc Fischlin
| titre=The Theory of Hash Functions and Random Oracles, An Approach to Modern Cryptography
| éditeur=[[Springer]]
| année=2021
| pages totales=798
| isbn=978-3-0306-3287-8
| titre chapitre=Pseudorandomness and Computational Indistinguishability
| libellé=MF21
}}.


=== Articles connexes ===
=== Articles connexes ===

Version du 10 février 2023 à 16:35

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 et 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 telle que et </math>H_n = D_1</math>. Ainsi, en montrant que, pour tout , est calculatoirement indistinguable de (une preuve qui a pu être faite par le biais d'une réduction par exemple), on obtient que et 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) , l'avantage de pour distinguer deux distributions et peut être défini par :

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

Comme et sont calculatoirement indistinguables pour tout , est négligeable pour tout et donc est négligeable. Cependant, cet argument n'est valable que lorsque 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 pour tout , alors chaque est négligeable en et pourtant n'est pas négligeable. Pour cette raison, on utilise à la place un argument hybride.

Énoncé

Soient deux distributions et qui sont calculatoirement indistinguables, et soient deux distributions et . Pour fixer les idées, peut être une distribution sur des suites arbitrairement longues de la forme tandis que serait une distribution sur des suites de la forme . Pour montrer que les deux distributions sont calculatoirement indistinguables, l'idée est d'introduire une suite de distributions hybrides telle que (dans notre exemple, serait une distribution sur des suites obtenue en faisant copies de puis des copies de ), qui permet de transformer petit à petit la distribution en la distribution . Ainsi, pour tout adversaire polynomial , on demande à ce qu'il existe un entier au plus polynomial tel que . Dans notre exemple, cela vient du fait que ne peut lire que les 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 et et soit une suite de distributions. Supposons qu'il existe un algorithme probabilistique polynomial tel que, pour tout , les distributions et (respectivement, et ) sont identiquement distribuées. Alors, pour tout adversaire efficace , pour tout polynôme , il existe un adversaire probabilistique polynomial tel que

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 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 «  » de la distribution uniforme sur les chaînes de longueur [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 sachant [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.

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

Articles connexes

Liens externes

  • [Dodis 2008] (en) Yevgeniy Dodis, « Introduction to Cryptography » [« Cours d'introduction à la cryptographie »] [PDF], .