Optimization of Core Components of Block Ciphers Baptiste Lambin
Total Page:16
File Type:pdf, Size:1020Kb
Optimization of core components of block ciphers Baptiste Lambin To cite this version: Baptiste Lambin. Optimization of core components of block ciphers. Cryptography and Security [cs.CR]. Université Rennes 1, 2019. English. NNT : 2019REN1S036. tel-02380098 HAL Id: tel-02380098 https://tel.archives-ouvertes.fr/tel-02380098 Submitted on 26 Nov 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSE DE DOCTORAT DE L’UNIVERSITE DE RENNES 1 COMUE UNIVERSITE BRETAGNE LOIRE Ecole Doctorale N°601 Mathématique et Sciences et Technologies de l’Information et de la Communication Spécialité : Informatique Par Baptiste LAMBIN Optimization of Core Components of Block Ciphers Thèse présentée et soutenue à RENNES, le 22/10/2019 Unité de recherche : IRISA Rapporteurs avant soutenance : Marine Minier, Professeur, LORIA, Université de Lorraine Jacques Patarin, Professeur, PRiSM, Université de Versailles Composition du jury : Examinateurs : Marine Minier, Professeur, LORIA, Université de Lorraine Jacques Patarin, Professeur, PRiSM, Université de Versailles Jean-Louis Lanet, INRIA Rennes Virginie Lallemand, Chargée de Recherche, LORIA, CNRS Jérémy Jean, ANSSI Dir. de thèse : Pierre-Alain Fouque, IRISA, Université de Rennes 1 Co-dir. de thèse : Patrick Derbez, IRISA, Université de Rennes 1 Remerciements Je tiens à remercier en premier lieu mes directeurs de thèse, Pierre-Alain et Patrick. Merci à Pierre- Alain pour ses conseils avisés, sa patience (presque) à toute épreuve et sa gentillesse. Merci à Patrick pour m’avoir guidé et assisté durant cette thèse, avec ses idées parfois improbables qui surgissent sans prévenir. Merci également à la DGA pour avoir financé ma thèse. Je remercie ensuite Marine et Jacques pour avoir accepté de rapporter ce manuscrit, ainsi que le reste du jury, Jean-Louis, Jérémy et Virginie (merci également à cette dernière pour la relecture complète du manuscrit). Je remercie bien sûr l’ensemble de l’équipe EMSEC qui fût un excellent environnement de travail pendant ces trois ans, toujours avec une bonne ambiance générale. En particulier je remercie Adeline pour ses conseils avisés et sa patience, Mohammed et Clémentine pour leur bonne humeur permanente, sans oublier Stéphanie, Barbara et Gildas. Ces trois ans ne se serait jamais aussi bien passé sans toute l’équipe de thésards et post-docs qui ont défilés dans l’équipe. Merci en particulier à Pauline, cette thèse aurait été très différente si tu n’avais pas été là, merci pour ton soutien, pour m’avoir supporté si longtemps, pour les voyages en voiture (merci Thomas !), les phrases mal tournées, le soutien dans l’humour beauf, la découverte des véritables bonnes bières, et pour tout le reste. Merci aussi à Angèle pour sa bonne humeur et son sourire omniprésent, ses conseils et son soutien, pour avoir rigolé à mes blagues nulles, pour m’avoir fait rigolé à des blagues nulles, pour les références à Brooklyn 99 et bien d’autres choses encore, la suite ne sera également pas pareil sans toi. Merci à Claire pour m’avoir supporté pendant 2 ans dans le bureau, pour les débats et discussions sans queue ni tête, on remet ça pour un an en Allemagne ! Merci à Victor pour avoir pris la relève de la Team Sym’, pour ses explications sur le Brexit et autres problèmes géopolitiques. Je remercie également Chen pour les discussions improbables et les grands moments d’incompréhension et à Alexandre pour son accent et m’avoir montré qu’il existe bien des gens capables de finir un Iron Man (et d’aller continuer à courir deux jours après). Enfin merci à tous les autres, Alban, Thomas, Céline, Katharina, Guillaume, Weiqiang, Solène, Olivier, Gauthier, Joshua, au stagiaire blondinet (Gwendal sur l’état civil), ainsi qu’aux disparus : Florent, Xavier, Brice, Benjamin, Cyrille, Raphaël, Pierre, Pierre et Thomas. Durant ces trois années j’ai également rencontré beaucoup de gens formidables, comme les symétriciens de Paris et notamment Yann, André, Sébastien, Ferdinand, Léo, Anne, Maria et Christina, ainsi que les membres de l’ANR Decrypt que je n’ai pas encore cité comme Paul, Virginie, Pascal, Charles, Christine, Charlotte et François. Je remercie aussi toutes les personnes qui m’ont entouré durant ces dernières années et qui n’ont probablement jamais compris ce que je faisais réellement, Élodie, Émilie, Benben, Lulu, Erwan, Sofia, les détraqués du Pub et en particulier Régis et Aude, le Kenshikaï de Rennes ainsi que ma famille. Bien sûr, je remercie également tous ceux que j’ai oublié et/ou dont le nom m’échappe. Pour finir, je tiens à remercier plusieurs personnes et groupes de personnes qui ne seront prob- ablement jamais au courant de cette thèse, mais qui m’ont tout de même aidé durant ces dernières années. Merci notamment à GGG pour avoir créer Path of Exile et ainsi me permettre d’avoir de quoi me défouler le soir, Valve pour avoir créer Steam et Left 4 Dead 2, donnant lieu à plusieurs soirées mémorables, Capcom pour avoir enfin sorti un Monster Hunter sur PC, Team Cherry et Matt Makes Games pour ces deux magnifiques jeux que sont respectivement Hollow Knight et Celeste, et tous les autres développeurs qui ont sorti des jeux qui m’ont diverti durant ces trois ans. Merci à Flo et toute son équipe pour ces bons moments de détente et ces délicieux breuvages. Merci à tous les groupes dont la musique m’a accompagné tous les jours depuis plusieurs années que ce soit pen- dant les différents trajets ou bien (et surtout) pendant la rédaction, en particulier Tool (merci pour 1 2 avoir enfin sorti un superbe nouvel album depuis 13 ans), Meshuggah, Beyond Creation, Eluveitie, Obscura, Gloryhammer, Opeth, Alestorm, et tant d’autres. Merci aux différents écrivains qui m’ont fait voyagé notamment Robin Hobb, Jean-Christophe Grangé, Franck Thilliez, Maxime Chattam, Pierre Bottero (RIP), James Clemens et d’autres. Merci à tous les auteurs, acteurs, réalisateurs, scénaristes, mangakas, dessinateurs etc. qui ont amené tant de films, séries et anime de qualité durant ces dernières années. Enfin pour finir, merci (ou pas ?) au monstre sanguinaire, la terreur des boulettes d’aluminium, le Némésis du papier-peint, la grosse bête poilue, le chauffe pied en hiver, toujours et malheureuse- ment chauffe pied en été, le chat qui voulait apprendre à voler et qui ne sait pas miauler, Mojito, dit Gromomo, Le Monstre, Monstromomo ou tout simplement Momo. Contents Contents 3 Introduction et Résumé en Français 5 1 Chiffrements par Bloc . 7 2 Modèles de sécurité . 10 3 Résumé en Français . 13 Publications 17 Introduction 19 1 Block ciphers . 21 2 Security Models . 23 3 Distinguishers for Block Ciphers . 25 4 About Affine Equivalent Permutations . 31 5 Overview of this thesis . 32 1 Efficient Search for Optimal Diffusion Layers of Generalized Feistel Networks 37 1.1 Introduction . 38 1.2 Preliminaries . 39 1.3 Characterization of Full Diffusion . 42 1.4 Searching for an Optimal Permutation over 9 Rounds . 46 1.5 Conclusion . 53 2 Linearly Equivalent S-boxes and the Division Property 57 2.1 Introduction . 58 2.2 Background . 60 2.3 Extended Division Property Using Linear Mappings . 64 2.4 Application . 73 2.5 Conclusion . 79 3 Variants of the AES Key Schedule for Better Truncated Differential Bounds 81 3.1 Introduction . 82 3.2 Background . 83 3.3 Generic Bounds . 87 3.4 Searching for a Permutation . 88 3.5 Tweaking Both ShiftRows and the Key Schedule . 93 3.6 Conclusion . 96 3 4 CONTENTS 4 On Recovering Affine Encodings in White-Box Implementations 99 4.1 Introduction . 100 4.2 A Generic Algorithm to Recover Affine Encodings in SPN Ciphers . 104 4.3 Description of the White-Box Scheme by Baek et al. 112 4.4 Cryptanalysis of the Scheme by Baek et al. 114 4.5 Conclusion . 122 Conclusion 125 Bibliography 127 Introduction et Résumé en Français Sécuriser les communications a toujours été un problème majeur dans l’Histoire. Que ce soit l’envoi de messages politiques ou stratégiques par des gouvernements ou des entreprises, la communication d’un particulier avec sa banque ou son assurance, ou bien simplement un étudiant souhaitant envoyer un message à son voisin, nous avons toujours eu le besoin de protéger nos échanges contre les observateurs indiscrets, voir même mal intentionnés. Si les premiers systèmes de chiffrement étaient assez rudimentaires, comme le chiffrement de César, la complexité de tels systèmes a peu à peu évolué durant l’Histoire, arrivant jusqu’à la machine Enigma lors de la Seconde Guerre Mondiale, et explosant complètement avec l’essor des ordinateurs modernes. Malgré la révolution amenée par la création des systèmes de chiffrement à clé publique, ou asymétriques, avec RSA en 1977 [114], la cryptographie à clé secrète, ou symétrique, reste au cœur de la sécurisation des communications modernes. L’essence même de la cryptographie symétrique, ainsi que l’origine du nom, repose sur le fait que les deux partis cherchant à communiquer possèdent une information connue d’eux seuls, la clé, qui est utilisée pour pouvoir chiffrer et déchiffrer les com- munications. Informellement, la conception d’algorithmes de chiffrement symétriques consiste donc à élaborer un processus prenant en entrée cette clé et un message clair, et de produire un message chiffré que seul le ou les possesseurs légitimes de la clé secrète peuvent déchiffrer. Trois notions principales de sécurité sont utilisées en cryptographie symétrique : la confidentialité, l’intégrité et l’authenticité.