En cryptologie, l'obfuscation indistinguable ou iO[Note 1] est un modèle de sécurité dans lequel on peut espérer prouver certaines propriétés cryptologiques. Ce modèle postule l'existence d'un algorithme efficace dont l'effet approximatif est de réécrire un programme informatique, de sorte qu'un adversaire ne parvienne pas à distinguer de manière fiable deux programmes ainsi réécrits, lorsque ces derniers sont assez similaires. L'existence postulée d'un tel algorithme, pour lequel plusieurs candidats sont aujourd'hui proposés, a des conséquences importantes en cryptologie et en sécurité informatique.
Histoire et motivation
L'obfuscation indistinguable a été introduite en 2001 par les cryptologues Boaz Barak, Oded Goldreich, Russell Impagliazzo, Steven Rudich, Amit Sahai, Salil Vadhan et Ke Yang[1],[2],[3] après que ceux-ci ont montré qu'il n'existe pas d'algorithme d'obfuscation « en boîte noire », c'est-à-dire capable de masquer le fonctionnement de tout programme à un adversaire[Note 2]. Le modèle de l'obfuscation indistinguable est conçu pour échapper à ce résultat d'impossibilité tout en restant assez fort[4] :
il permet la construction de nouvelles primitives cryptographiques, comme le chiffrement répudiable[5] (proposé en 2006 comme un problème ouvert[6]), le chiffrement fonctionnel[7] (proposé en 2005 comme un problème ouvert[8],[9]), des protocoles d'échange de clé multipartite[10], ou de signatures propositionnelles[11] (proposé en 2010 comme un problème ouvert[12]) ;
Pour toutes ces raisons, l'obfuscation indistinguable est devenue un des concepts théoriques centraux en cryptologie[5],[15]. La question s'est donc rapidement posée de construire des algorithmes compatibles avec ce modèle : il s'agit à l'heure actuelle (2018) d'un problème encore largement ouvert. Plusieurs candidats ont été proposés, initialement à partir d'applications mulilinéaires cryptographiques[16], dont la sécurité est encore mal comprise[17]. On sait aujourd'hui qu'une application trilinéaire suffit[18], et il existe même un candidat d'obfuscation indistinguable construit à partir d'accouplements et d'apprentissage avec erreurs[19].
Pour tout paramètre de sécurité, tout circuit de la forme où dépend de , et toute entrée , la fonctionnalité du circuit est préservée par obfuscation, c'est-à-dire :
Pour tout algorithme (modélisé comme une machine de Turing probabiliste également) il existe une fonction négligeable telle que ce qui suit est vrai : pour tout paramètre de sécurité, toute paire de circuits tels que pour toute entrée , l'algorithme ne peut distinguer une obfuscation de d'une obfuscation de ; mathématiquement :
Pour tout circuit , la taille du circuit après obfuscation est bornée par un polynôme en et en .
Notes et références
Notes
↑Pour l'anglais indistinguishability obfuscation. Il ne semble pas s'être imposé de traduction francophone de l'expression, qui pourrait également être rendue par « obfuscation d'indistinction ». Dans tous les cas l'expression « obfuscation indistinguable » semble aujourd'hui l'expression francophone majoritaire (voir par exemple Tancrède Lepoint, Design and Implementation of Lattice-Based Cryptography, Ecole Normale Supérieure de Paris - ENS Paris, (lire en ligne).
↑Précisément, ils ont montré l'existence de fonctions impossibles à obfusquer telles que pour toute implémentation de il existe une procédure efficace d'extraction de (le « secret » de ). De plus, de telles fonctions existent avec une complexité de circuit faible.
Références
↑(en) Boaz Barak, Oded Goldreich, Rusell Impagliazzo et Steven Rudich, « On the (Im)possibility of Obfuscating Programs », dans Advances in Cryptology — CRYPTO 2001, Springer Berlin Heidelberg, (ISBN9783540424567, DOI10.1007/3-540-44647-8_1, lire en ligne), p. 1–18
↑ a et b(en) Boaz Barak, Oded Goldreich, Russell Impagliazzo et Steven Rudich, « On the (im)possibility of obfuscating programs », Journal of the ACM (JACM), vol. 59, no 2, , p. 6 (ISSN0004-5411, DOI10.1145/2160158.2160159, lire en ligne, consulté le )
↑(en) Mohammad Mahmoody, Ameer Mohammed et Soheil Nematihaji, « On the Impossibility of Virtual Black-Box Obfuscation in Idealized Models », dans Theory of Cryptography, Springer Berlin Heidelberg, (ISBN9783662490952, DOI10.1007/978-3-662-49096-9_2, lire en ligne), p. 18–48
↑ ab et c(en) Amit Sahai et Brent Waters, « How to use indistinguishability obfuscation: deniable encryption, and more », STOC '14 Proceedings of the forty-sixth annual ACM symposium on Theory of computing, ACM, , p. 475–484 (ISBN9781450327107, DOI10.1145/2591796.2591825, lire en ligne, consulté le )
↑(en) Rein Canetti, Cynthia Dwork, Moni Naor et Rafail Ostrovsky, « Deniable Encryption », dans Advances in Cryptology — CRYPTO '97, Springer Berlin Heidelberg, (ISBN9783540633846, DOI10.1007/bfb0052229, lire en ligne), p. 90–104
↑(en) Sanjam Garg, Craig Gentry, Shai Halevi et Mariana Raykova, « Candidate Indistinguishability Obfuscation and Functional Encryption for All Circuits », SIAM Journal on Computing, vol. 45, no 3, , p. 882–929 (ISSN0097-5397 et 1095-7111, DOI10.1137/14095772x, lire en ligne, consulté le )
↑(en) Dan Boneh et Mark Zhandry, « Multiparty Key Exchange, Efficient Traitor Tracing, and More from Indistinguishability Obfuscation », Algorithmica, vol. 79, no 4, , p. 1233–1285 (ISSN0178-4617 et 1432-0541, DOI10.1007/s00453-016-0242-8, lire en ligne, consulté le )
↑(en) Chen Qian, Mehdi Tibouchi et Rémi Géraud, « Universal Witness Signatures », dans Advances in Information and Computer Security, Springer International Publishing, (ISBN9783319979151, DOI10.1007/978-3-319-97916-8_20, lire en ligne), p. 313–329
↑David Naccache, Is theoretical cryptography any good in practice? CRYPTO & CHES 2010 invited talk (2010)
↑(en) Susan Hohenberger, Amit Sahai et Brent Waters, « Replacing a Random Oracle: Full Domain Hash from Indistinguishability Obfuscation », dans Advances in Cryptology – EUROCRYPT 2014, Springer Berlin Heidelberg, (ISBN9783642552199, DOI10.1007/978-3-642-55220-5_12, lire en ligne), p. 201–220
↑(en) Christina Brzuska, Pooya Farshim et Arno Mittelbach, « Random-Oracle Uninstantiability from Indistinguishability Obfuscation », dans Theory of Cryptography, Springer Berlin Heidelberg, (ISBN9783662464960, DOI10.1007/978-3-662-46497-7_17, lire en ligne), p. 428–455
↑(en) Sanjam Garg, Craig Gentry et Shai Halevi, « Candidate Multilinear Maps from Ideal Lattices », dans Advances in Cryptology – EUROCRYPT 2013, Springer Berlin Heidelberg, (ISBN9783642383472, DOI10.1007/978-3-642-38348-9_1, lire en ligne), p. 1–17
↑(en) Eric Miles, Amit Sahai et Mark Zhandry, « Annihilation Attacks for Multilinear Maps: Cryptanalysis of Indistinguishability Obfuscation over GGH13 », dans Advances in Cryptology – CRYPTO 2016, Springer Berlin Heidelberg, (ISBN9783662530078, DOI10.1007/978-3-662-53008-5_22, lire en ligne), p. 629–658
↑(en) Huijia Lin et Stefano Tessaro, « Indistinguishability Obfuscation from Trilinear Maps and Block-Wise Local PRGs », dans Advances in Cryptology – CRYPTO 2017, Springer International Publishing, (ISBN9783319636870, DOI10.1007/978-3-319-63688-7_21, lire en ligne), p. 630–660
↑ a et b(en) Prabhanjan Ananth, Aayush Jain, Dakshita Khurana et Amit Sahai, « Indistinguishability Obfuscation Without Multilinear Maps: iO from LWE, Bilinear Maps, and Weak Pseudorandomness », IACR ePrint Archive, (lire en ligne)