Analyse Des Algorithmes Finalistes Concourant Pour Le Futur Standard
Total Page:16
File Type:pdf, Size:1020Kb
Analyse des algorithmes ¯nalistes concourant pour le futur standard AES Par Jean-Philippe Gaulier [email protected] Conservatoire National des Arts et M¶etiers Centre R¶egional Associ¶e de Limoges M¶emoire de synthese soumis dans le cadre d'un probatoire en vue de l'acquisition d'un dipl^ome en Ing¶enierie et Int¶egration Informatique Systemes d'Information Jury compos¶e de Madame M.-C. Costa, Pr¶esidente Monsieur M. Giry Monsieur P. Jeulin Monsieur M.Rybowicz < Cryptographie n.f. Proc¶ed¶e (signes conventionnels, modi¯ca- tion de l'ordre, de la disposition des signes, remplacement des signes...) permettant de rendre un message inintelligible, de pro- t¶eger des donn¶ees. > Le Petit Robert, ¶ed. 1993 < Vous rigolez ? Qu'est ce qui vous fait penser qu'un utilisateur dont la vie priv¶ee est concern¶ee voudra bien croire que les com- munications sont s¶ecuris¶ees ? Aucun organisme gouvernemental ne peut faire foi lorsque l'on parle de ces choses. > David Zimmerman, commentaire sur AES adress¶e au NIST < L'organisme de s¶ecurit¶e des systemes d'information de l'Agence Nationale de S¶ecurit¶e encourage fortement votre proposition de d¶eveloppement d'un FIPS pour un algorithme de chi®rement a- vanc¶e utilisant un processus public et accueille la possibilit¶e d'ap- porter son avis. > NSA, commentaire sur AES adress¶e au NIST < Ce sont des choses s¶erieuses dont nous parlons. Tout algorithme propos¶e en 1997 ne sera pas approuv¶e avant l'an 2000. Ce stan- dard devra ^etre maintenu pendant une p¶eriode de vingt a trente ans, ce a quoi il faut ajouter au moins dix ann¶ees suppl¶ementaires pour les administrations et vingt de mieux pour les donn¶ees de- vant ^etre s¶ecuris¶ees. Ces faits ¶etablis, nous sommes donc en train d'essayer d'¶etablir quelle sera la s¶ecurit¶e en 2060. Je ne suis pas capable d'estimer la s¶ecurit¶e pour les dix ann¶ees a venir, alors que puis-je dire pour 60 ans ? La seule option satisfaisante consiste a rester prudent. > Bruce Schneier, session de travail de l'appel a candidature pour l'AES du 15/04/1997 R¶esum¶e La Cryptographie, tout comme le savoir, a commenc¶e avec l'¶ecriture. En 1998, le National Institute of Standards and Technology (NIST) des Etats-¶ Unis d'Am¶erique a lanc¶e un appel pour la mise en place d'un nouveau modele de chi®rement, a¯n de remplacer le Data Encryption Standard, qui se faisait vieillissant et moins sur.^ Pendant des mois, la communaut¶e cryptographique mondiale a partag¶e ses exp¶eriences et son savoir a ce sujet. De cet e®ort r¶esulte le Advanced Encryption Standard, issu du projet belge nomm¶e Ri- jndael. Ce travail vous invite dans une courte histoire de la cryptographie a travers les ages,^ avant de d¶ecrire les cinq algorithmes ¯nalistes de cette comp¶etition du NIST qui a ¯nalement s¶electionn¶e Rijndael. Nous terminerons par un court ¶etat des lieux sur la s¶ecurit¶e d'AES dans son impl¶ementation actuelle. i Abstract Cryptography, just like knowledge, began with writing. In 1998, the U.S. National Institute of Standards and Technology called for a new encryption method, the Data Encryption Algorithm, then in use, being deemed too weak. For months, members of the cryptography community all around the world shared their experience and thoughts on the subject. This e®ort resulted in the Advanced Encryption Standard, based on a Belgian project named Rijndael. This work invites you to a brief history of cryptography throughout the ages, before describing the ¯ve algorithms selected for the ¯nal stage of the NIST competition that lead to AES. Finally, more details on the security of AES in its current implementation are provided. ii Remerciements Je tiens avant tout a remercier ma compagne pour sa formidable patience durant les innombrables heures que j'ai pass¶e a la recherche et la lecture d'articles, l'¶echange de courriers ¶electroniques, ainsi que la r¶edaction de ce document. Un merci tout particulier a St¶ephane Dodeller, pour son soutien constant et sans condition, pour comprendre ce que seuls des gens qui passent plus de douze heures par jour derriere un micro peuvent comprendre, ainsi que pour A son aide a mon d¶emarrage dans LTEX. Un grand merci ¶a tous mes relecteurs, je pense entre autre ici a R¶egis Foinet et Muriel Baluteau. Un chaleureux merci ¶a Eric¶ Filiol, Chef du Laboratoire de virologie et de cryptologie de l'Ecole¶ Sup¶erieure et d'Application des Transmissions, pour sa consid¶eration et son ¶ecoute. En¯n, un merci aux contributeurs anonymes qui archivent et classent les documents sur Internet, que ce soit sur les r¶epertoires o±ciels comme au NIST, ou sur des sites plus anonymes, car sans tout cela, ce travail n'aurait pu aboutir. iii Table des matieres Introduction 1 1 Petite histoire de la cryptographie 3 2 Origine d'AES 12 3 D¶e¯nition et concepts 18 3.1 Le chi®rement par bloc . 18 3.1.1 Mode dictionnaire . 18 3.1.2 Mode Cha^³nage de Blocs Chi®r¶es . 18 3.1.3 Mode de rebouclage chi®r¶e . 20 3.1.4 Mode rebouclage sur la sortie . 21 3.2 Les S-boxes . 21 3.3 Les r¶eseaux de Feistel . 22 4 Revue des ¯nalistes 23 4.1 Mars . 23 4.1.1 Pr¶esentation de l'algorithme . 23 4.1.2 S¶ecurit¶e g¶en¶erale . 24 4.1.3 Impl¶ementations logicielle . 24 4.1.4 Systemes embarqu¶es . 25 4.1.5 Impl¶ementations mat¶erielle . 25 4.1.6 Attaques sur les impl¶ementations . 26 4.1.7 Chi®rement et d¶echi®rement . 26 4.1.8 Manipulation de clef . 26 4.1.9 Souplesse et exibilit¶e . 26 4.1.10 Potentiel de parall¶elisation . 26 4.2 RC6 . 27 iv TABLE DES MATIERES v 4.2.1 Pr¶esentation de l'algorithme . 27 4.2.2 S¶ecurit¶e g¶en¶erale . 27 4.2.3 Impl¶ementations logicielle . 27 4.2.4 Systemes embarqu¶es . 28 4.2.5 Impl¶ementations mat¶erielle . 29 4.2.6 Attaques sur les impl¶ementations . 29 4.2.7 Chi®rement et d¶echi®rement . 29 4.2.8 Manipulation de clef . 29 4.2.9 Souplesse et exibilit¶e . 29 4.2.10 Potentiel de parall¶elisation . 29 4.3 Rijndael . 30 4.3.1 Pr¶esentation de l'algorithme . 30 4.3.2 S¶ecurit¶e g¶en¶erale . 32 4.3.3 Impl¶ementations logicielle . 32 4.3.4 Systemes embarqu¶es . 32 4.3.5 Impl¶ementations mat¶erielle . 32 4.3.6 Attaques sur les impl¶ementations . 33 4.3.7 Chi®rement et d¶echi®rement . 33 4.3.8 Manipulation de clef . 33 4.3.9 Souplesse et exibilit¶e . 33 4.3.10 Potentiel de parall¶elisation . 34 4.4 Serpent . 35 4.4.1 Pr¶esentation de l'algorithme . 35 4.4.2 S¶ecurit¶e g¶en¶erale . 35 4.4.3 Impl¶ementations logicielle . 36 4.4.4 Systemes embarqu¶es . 37 4.4.5 Impl¶ementations mat¶erielle . 37 4.4.6 Attaques sur les impl¶ementations . 37 4.4.7 Chi®rement et d¶echi®rement . 37 4.4.8 Manipulation de clef . 37 4.4.9 Souplesse et exibilit¶e . 38 4.4.10 Potentiel de parall¶elisation . 38 4.5 Two¯sh . 39 4.5.1 Pr¶esentation de l'algorithme . 39 4.5.2 S¶ecurit¶e g¶en¶erale . 41 4.5.3 Impl¶ementations logicielle . 41 4.5.4 Systemes embarqu¶es . 41 4.5.5 Impl¶ementations mat¶erielle . 41 TABLE DES MATIERES vi 4.5.6 Attaques sur les impl¶ementations . 41 4.5.7 Chi®rement et d¶echi®rement . 41 4.5.8 Manipulation de clef . 42 4.5.9 Souplesse et exibilit¶e . 42 4.5.10 Potentiel de parall¶elisation . 42 4.6 Quel choix pour AES ? . 43 4.7 La s¶ecurit¶e d'AES en question . 44 Conclusion 45 Glossaire 47 Bibliographie 52 A Quelques codes sources des ¯nalistes 53 A.1 RC6 . 53 A.2 Rijndael . 57 Table des ¯gures 3.1 mode dictionnaire. 19 3.2 Cipher Block Chaining mode . 19 3.3 mode de rebouclage chi®r¶e. 20 3.4 Mode rebouclage sur la sortie. 21 3.5 Transformation par s-box . 21 4.1 Sch¶ema op¶eratoire du noyau de MARS . 24 4.2 Descriptif de la Efunction . 25 4.3 Algorithme de chi®rement RC6 . 28 4.4 Sch¶ema op¶eratoire de Rijndael . 31 4.5 Sch¶ema op¶eratoire de Serpent . 36 4.6 Sch¶ema op¶eratoire de Two¯sh . 40 vii Liste des tableaux 2.1 Pr¶esentation des candidats par r¶ef¶erent et pays d'origine . 15 2.2 Candidats non retenus . 15 2.3 Voeux de pr¶esence des algorithmes au second tour . 16 viii Introduction Si, tout comme le pr¶ecise ce m¶emoire, la cryptographie concerne l'huma- nit¶e depuis longtemps, elle reste une technique d'initi¶e et l'on pourrait la res- treindre a une certaine caste. En e®et, si l'on s'attarde a faire un parallele, par exemple, avec l'automobile, beaucoup de personnes emploient aujour- d'hui une voiture, sans avoir la moindre id¶ee du fonctionnement interne du moteur, de ce qu'il y a sous le capot.