1 Thesis Etude de Primitives Cryptographiques Symetriques Chifferements Par Flot Et Fonctions de...

166
SGDSN/ANSSI Université de Versailles Saint-Quentin Laboratoire de Cryptographie Laboratoire PRi SM ÉCOLE DOCTORALE STV THÈSE présentée pour obtenir le grade de Docteur de l’Université de Versailles Spécialité : Informatique soutenue publiquement par Jean-René Reinhard Étude de Primitives Cryptographiques Symétriques : Chiffrements par Flot et Fonctions de Hachage Le 14 décembre 2011 Jury : Rapporteurs : Anne Canteaut - INRIA Pierre-Alain Fouque - ENS Paris Directeur de thèse : Antoine Joux - DGA et UVSQ Examinateurs : Henri Gilbert - ANSSI Louis Goubin - UVSQ Pascal Paillier - CryptoExperts Serge Vaudenay - EPFL Marion Videau - LORIA Travaux effectués au Laboratoire de Cryptologie de l’ANSSI Agence Nationale de la Sécurité des Systèmes d’Information 51, boulevard de la Tour-Maubourg 75700 PARIS 07 SP

description

Etude de primitives cryptographiques symetriques Chifferements par flot et fonctions de hachage

Transcript of 1 Thesis Etude de Primitives Cryptographiques Symetriques Chifferements Par Flot Et Fonctions de...

  • SGDSN/ANSSI Universit de Versailles Saint-Quentin

    Laboratoire de Cryptographie Laboratoire PRiSM

    COLE DOCTORALESTV

    T H S Eprsente pour obtenir le grade de

    Docteur de lUniversit de Versailles

    Spcialit : Informatique

    soutenue publiquement parJean-Ren Reinhard

    tude de Primitives Cryptographiques Symtriques :Chiffrements par Flot et Fonctions de Hachage

    Le 14 dcembre 2011

    Jury :

    Rapporteurs : Anne Canteaut - INRIAPierre-Alain Fouque - ENS Paris

    Directeur de thse : Antoine Joux - DGA et UVSQExaminateurs : Henri Gilbert - ANSSI

    Louis Goubin - UVSQPascal Paillier - CryptoExpertsSerge Vaudenay - EPFLMarion Videau - LORIA

    Travaux effectus au Laboratoire de Cryptologie de lANSSIAgence Nationale de la Scurit des Systmes dInformation51, boulevard de la Tour-Maubourg 75700 PARIS 07 SP

  • SGDSN/ANSSI Universit de Versailles Saint-Quentin

    Laboratoire de Cryptographie Laboratoire PRiSM

    COLE DOCTORALESTV

    T H S Eprsente pour obtenir le grade de

    Docteur de lUniversit de Versailles

    Spcialit : Informatique

    soutenue publiquement parJean-Ren Reinhard

    tude de Primitives Cryptographiques Symtriques :Chiffrements par Flot et Fonctions de Hachage

    Le 14 dcembre 2011

    Jury :

    Rapporteurs : Anne Canteaut - INRIAPierre-Alain Fouque - ENS Paris

    Directeur de thse : Antoine Joux - DGA et UVSQExaminateurs : Henri Gilbert - ANSSI

    Louis Goubin - UVSQPascal Paillier - CryptoExpertsSerge Vaudenay - EPFLMarion Videau - LORIA

    Travaux effectus au Laboratoire de Cryptologie de lANSSIAgence Nationale de la Scurit des Systmes dInformation51, boulevard de la Tour-Maubourg 75700 PARIS 07 SP

  • Remerciements

    Au moment de remercier tout ceux sans qui ces travaux nauraient pu aboutir, les mots memanquent pour exprimer toute ma gratitude et mon admiration.

    En premier lieu, je tiens remercier Antoine Joux de mavoir fait lhonneur daccepterde mencadrer pendant cette thse. Son talent et son expertise sont bien connus de toute lacommunaut des cryptologues. Cest lenthousiasme avec lequel il mne ses travaux qui ma leplus marqu.

    Je remercie Anne Canteaut et Pierre-Alain Fouque de mavoir fait lhonneur daccepter lalourde tche de rapporteur. Je remercie galement Henri Gilbert, Louis Goubin, Pascal Paillier,Serge Vaudenay et Marion Videau pour avoir accept de prendre part mon jury de thse.

    La qualit de ce mmoire doit beaucoup au travail de ses relecteurs, qui ont traqu sansrelche, jusqu la dernire minute, les nombreuses coquilles et approximations que jy avais glis-ses par mgarde. Mes remerciements vont donc Joana Treger-Marim, Henri Gilbert, ThomasFuhr, ainsi qu Anne Canteaut qui a joint son rapport les fruits dune relecture extensive.

    Ces travaux ont t raliss au sein du laboratoire de cryptologie de lANSSI. Ce laboratoireet de manire plus large la sous-direction ACE constituent un environnement trs panouissantet motivant : panouissant en raison des comptences et des qualits humaines des personnes quiy travaillent, motivant car on sy trouve confront un ventail trs complet de problmatiques.Je remercie plus particulirement mes collgues passs et prsents du laboratoire de cryptogra-phie, Guillaume Poupard, Michel Mitton, liane Jaulmes, Gwenalle Martinet, Frdric Muller,Sbastien Kunz-Jacques, Mathieu Baudet, Emmanuel Bresson, Thomas Fuhr, Marion Videau,Benot Chevallier-Mames, Joana Treger-Marim, Aurlie Bauer, Yannick Seurin, Henri Gilbertet Jean-Pierre Flori, mes collgues du laboratoire composant, Karim Khalfallah, Jean-ClaudeBourre, Victor Lomn, Thomas Roche et Adrian Thillard. Je remercie galement tout ceux qui ACE sintressent de prs ou de loin la cryptologie, ses applications et son dploiement, etavec lesquels se nouent des changes trs fructueux, notamment Pierre-Michel Ricordel, OlivierLevillain, Chaouki Kasmi, Arnaud Ebalard, Guillaume Valadon et ric Jaeger.

    Lexcellence de cet environnement de travail privilgi doit beaucoup Florent Chabaud etLoc Duflot, qui ont toujours considr la recherche comme une activit essentielle des labora-toires de lANSSI, ainsi qu la direction qui donne aux agents la possibilit de se former par larecherche.

    Une partie des travaux de cette thse a t ralise dans le cadre des projets collaborat-ifs SAPHIR et Saphir2. La soumission et la dfense de la fonction de hachage Shabal furentdes expriences enrichissantes, que jai eu lhonneur de partager avec Jean-Franois Misarsky,Thomas Fuhr, Benot Chevallier-Mames, Emmanuel Bresson, Marion Videau, Pascal Paillier,Aline Gouget, Christophe Clavier, Thomas Pornin, Cline Thuillet, Thomas Icart, Mara NayaPlasencia et Anne Canteaut.

    Enfin, je tiens remercier ma famille pour son soutien inconditionnel et Marjorie, avec quije partage tant de choses depuis tant dannes, pour ses encouragements et sa patience pendantla rdaction de ce mmoire de thse.

  • Abstract : The use of symmetric cryptographic primitives is widely spread in many concreteapplications requiring confidentiality and integrity. This work has been undertaken in the contextof two international competitions, eSTREAM and SHA-3, which encouraged and enticed the de-sign and cryptanalysis of many algorithms of two cryptographic algorithms families, respectivelystream ciphers and hash functions.

    In a first part, we study stream ciphers from a cryptanalysis point of view. We first presentattack principles that apply to many stream ciphers. Through two examples, we expose at greaterlength algebraic and differential attacks. We perform an overview of algebraic attacks applied tothe filtered LFSR and present practical time chosen IV attacks against the VEST stream cipherfamily, one of the candidate of the eSTREAM competition selected for phase 2.

    In a second part, we study the conception of cryptographic hash functions. We participatedto the submission of one candidate to the SHA-3 competition : Shabal. We focus in this documenton the security of its domain extender in the indifferentiability framework, when the compressionfunction is idealized. We also present a framework which allows to take into account non idealproperties of compression functions and expand the proof of Shabal domain extender in thismodel.

    Keywords : stream cipher cryptanalysis, filtered LFSR, algebraic attacks, VEST, hash functiondomain extender, indifferentiability, Shabal.

  • Rsum : Lutilisation de primitives cryptographiques symtriques reste incontournable danstout systme mettant en oeuvre des mcanismes cryptographiques. Les travaux de cette thsesinscrivent dans le contexte de deux comptitions internationales, eSTREAM et SHA-3, quiont stimul le dveloppement et la cryptanalyse de deux familles de primitives cryptographiquessymtriques, respectivement les algorithmes de chiffrement par flot et les fonctions de hachage.

    Dans une premire partie, nous traitons dalgorithmes de chiffrement par flot du point devue du cryptanalyste. Nous prsentons des principes dattaque sappliquant de manire gnrale de nombreux algorithmes de chiffrement par flot. travers deux exemples, nous dvelopponsplus particulirement la prsentation des attaques algbriques et des attaques diffrentielles.Nous ralisons un tat de lart des attaques algbriques appliques au registre linaire filtr etprsentons des attaques diffrentielles IV choisis de complexit pratiquable contre la familledalgorithmes VEST, soumise la comptition eSTREAM et accepte en phase 2.

    Dans une deuxime partie, nous tudions la construction de fonctions de hachage cryp-tographiques. Nous avons travaill la conception dun candidat la comptition SHA-3 :Shabal. On se concentre dans ce mmoire sur la scurit de son algorithme dextension de do-maine dans le modle de lindiffrentiabilit dun oracle alatoire, en idalisant la fonction decompression. On prsente galement une modlisation permettant de prendre en compte desproprits non-idales de la fonction de compression utilise et on tend la preuve de lextensionde domaine de Shabal dans ce cadre.

    Mots cls : Cryptanalyse dalgorithme de chiffrement par flot, registre linaire filtr, attaquesalgbriques, VEST, extension de domaine de fonction de hachage, indiffrentiabilit, Shabal.

  • Table des matires

    Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iAbstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iiiRsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vTable des matires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiTable des figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiListe des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    I Chiffrement par Flot 3

    1 Prliminaires 51.1 Dfinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.1.1 Chiffrement symtrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.2 Chiffrement par bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.3 Chiffrement par flot synchrone . . . . . . . . . . . . . . . . . . . . . . . . 61.1.4 Scurit des algorithmes de chiffrement par flot . . . . . . . . . . . . . . . 8

    1.2 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2.1 Constructions base de registres linaires . . . . . . . . . . . . . . . . . . 91.2.2 Algorithme de chiffrement flot prouv sr . . . . . . . . . . . . . . . 111.2.3 Chiffrements par flot industriels . . . . . . . . . . . . . . . . . . . . . . . . 111.2.4 Constructions fondes sur des primitives cryptographiques sous-jacentes . 121.2.5 Chiffrement par flot moderne comptition eSTREAM . . . . . . . . . . 12

    1.3 Principes de cryptanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.3.1 Attaques gnriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3.2 Attaques par corrlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3.3 Attaques algbriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.3.4 Attaques diffrentielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2 Structure Algbrique du Registre Linaire Filtr 252.1 Prliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    2.1.1 Corps finis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.1.2 Algbre linaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.1.3 Suite rcurrente linaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    2.2 Registre dcalage rtroaction linaire . . . . . . . . . . . . . . . . . . . . . . . 312.2.1 Reprsentation matricielle . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2.2 Lien avec les suites rcurrentes linaires . . . . . . . . . . . . . . . . . . . 322.2.3 Reprsentation algbrique . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.2.4 Algorithme de Berlekamp-Massey . . . . . . . . . . . . . . . . . . . . . . . 33

    2.3 Fonction boolennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.3.1 Dfinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.3.2 Reprsentation algbrique . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2.4 Cryptanalyse algbrique du LFSR filtr . . . . . . . . . . . . . . . . . . . . . . . 372.4.1 Attaques algbriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

  • viii Table des matires

    2.4.2 Structure linaire du LFSR filtr. . . . . . . . . . . . . . . . . . . . . . . . 422.4.3 Attaques algbriques rapides. . . . . . . . . . . . . . . . . . . . . . . . . . 46

    3 VEST 493.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2 Description de VEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    3.2.1 Compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.2.2 Diffuseur linaire du compteur . . . . . . . . . . . . . . . . . . . . . . . . 513.2.3 Accumulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.2.4 Filtre de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.2.5 Mode de mise la cl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.2.6 Mode de mise lIV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    3.3 Proprits des composants de VEST . . . . . . . . . . . . . . . . . . . . . . . . . 533.3.1 Caractristiques diffrentielles des registres . . . . . . . . . . . . . . . . . 533.3.2 Collision dans le diffuseur de compteur . . . . . . . . . . . . . . . . . . . . 55

    3.4 Reconstitution partielle de ltat mis la cl . . . . . . . . . . . . . . . . . . . . . 553.4.1 Attaque avec des IV longs . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.4.2 Attaque avec des IV courts . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    3.5 Recouvrement de cl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.5.1 Inversion de la deuxime phase de la mise la cl . . . . . . . . . . . . . . 603.5.2 Attaque par le milieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.5.3 Recouvrement de cl par attaque cls corrles . . . . . . . . . . . . . . 613.5.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    3.6 Forge existentielle pour le mode VEST Hash MAC . . . . . . . . . . . . . . . . . 61

    II Fonctions de Hachage 63

    4 Prliminaires 654.1 Preuves de scurit en cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . 65

    4.1.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.1.2 Adversaire, Objectifs, Moyens et Avantage . . . . . . . . . . . . . . . . . . 674.1.3 Indistinguabilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.1.4 Indiffrentiabilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.1.5 Techniques de preuve : Preuve par squence de jeux . . . . . . . . . . . . 69

    4.2 Fonctions de hachage cryptographiques . . . . . . . . . . . . . . . . . . . . . . . . 704.2.1 Dfinition - Attaques gnriques . . . . . . . . . . . . . . . . . . . . . . . 704.2.2 valuation de la scurit dune fonction de hachage . . . . . . . . . . . . . 724.2.3 Formalisation de la scurit dune fonction de hachage . . . . . . . . . . . 734.2.4 Autres proprits de scurit . . . . . . . . . . . . . . . . . . . . . . . . . 74

    4.3 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.3.1 Avnement des fonctions de hachage . . . . . . . . . . . . . . . . . . . . . 744.3.2 Cryptanalyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.3.3 SHA-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    4.4 Extension de domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.4.1 Extension de domaine de Merkle-Damgrd . . . . . . . . . . . . . . . . . . 774.4.2 Attaque par extension de message . . . . . . . . . . . . . . . . . . . . . . 794.4.3 Multicollisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

  • Table des matires ix

    4.4.4 Scurit dune extension de domaine . . . . . . . . . . . . . . . . . . . . . 80

    5 Preuve dindiffrentiabilit dans le cas idal 835.1 Un mode opratoire gnrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.2 Preuve dindiffrentiabilit dans le cas idal . . . . . . . . . . . . . . . . . . . . . 86

    5.2.1 Concept dindiffrentiabilit . . . . . . . . . . . . . . . . . . . . . . . . . . 865.2.2 Principe de conception du simulateur et notations . . . . . . . . . . . . . 875.2.3 Indiffrentiabilit dans le cas dune fonction idale . . . . . . . . . . . . . 885.2.4 Indiffrentiabilit dans le cas dune permutation paramtre idale . . . . 99

    5.3 Bornes dindiffrentiabilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.3.1 Bornes gnrales dindiffrentiabilit . . . . . . . . . . . . . . . . . . . . . 1065.3.2 Bornes pour un encodage de message arbitraire . . . . . . . . . . . . . . . 1075.3.3 Bornes pour un encodage de message sans prfixe . . . . . . . . . . . . . . 108

    6 Preuve dindiffrentiabilit dans le cas biais 1096.1 Fonctions non idales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

    6.1.1 Attaques en distingueur sur fonction de tour . . . . . . . . . . . . . . . . . 1106.1.2 Modlisation de fonctions biaises . . . . . . . . . . . . . . . . . . . . . . . 111

    6.2 Modle de la fonction biaise idale . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.2.1 Problmatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.2.2 Fonction biaise idale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.2.3 Borne directe dindiffrentiabilit dun oracle alatoire . . . . . . . . . . . 1136.2.4 Reprsentation algorithmique dune fonction biaise idalise . . . . . . . 1146.2.5 Quantification du biais dune fonction idalise biaise . . . . . . . . . . . 1156.2.6 Requtes biaises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

    6.3 Preuve dindiffrentiabilit dans le modle de la fonction biaise idale . . . . . . 1176.3.1 Modifications de la preuve du cas idal . . . . . . . . . . . . . . . . . . . . 1176.3.2 Simulateur et borne dindiffrentiabilit . . . . . . . . . . . . . . . . . . . 1176.3.3 Rsum de la preuve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196.3.4 Squence de jeux de la preuve . . . . . . . . . . . . . . . . . . . . . . . . . 1206.3.5 Borne dindiffrentiabilit . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

    Bibliographie 131

    A Calculs des bornes des preuves dindiffrentiabilit 141A.1 Preuves des bornes dindiffrentiabilit des preuves dans le cas idal . . . . . . . . 141

    A.1.1 Preuve du lemme 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141A.1.2 Preuve du lemme 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142A.1.3 Preuve du lemme 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144A.1.4 Preuve du lemme 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146A.1.5 Preuve du lemme 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

    A.2 Preuves des bornes dindiffrentiabilit des preuves dans le cas biais . . . . . . . 147A.2.1 Preuve du lemme 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147A.2.2 Preuve du lemme 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147A.2.3 Preuve du lemme 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

  • Table des figures

    1.1 Algorithme de chiffrement par flot construit selon le principe de combinaison . . 91.2 Algorithme de chiffrement par flot construit selon le principe de filtrage . . . . . 101.3 Algorithme de chiffrement par flot construit selon le principe davance irrgulire 101.4 Algorithme de chiffrement par flot construit selon le principe de dcimation . . . 111.5 Modlisation du GPA par un LFSR bruit . . . . . . . . . . . . . . . . . . . . . . 18

    2.1 LFSR de type Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2 LFSR de type Galois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.3 Structure linaire quivalente du LFSR filtr . . . . . . . . . . . . . . . . . . . . . 44

    3.1 Mise jour dun registre du compteur . . . . . . . . . . . . . . . . . . . . . . . . 513.2 Motif diffrentiel et tats en collision . . . . . . . . . . . . . . . . . . . . . . . . . 53

    4.1 Construction dune fonction de hachage itre . . . . . . . . . . . . . . . . . . . . 784.2 Construction dune 2k-multicollision . . . . . . . . . . . . . . . . . . . . . . . . . 804.3 Extension de domaine wide-pipe/Chop-MD . . . . . . . . . . . . . . . . . . . . . 814.4 Extension de domaine Haifa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814.5 Extension de domaine EMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.6 Extension de domaine fonction ponge . . . . . . . . . . . . . . . . . . . . . . . . 82

    5.1 Une extension de domaine gnrique. . . . . . . . . . . . . . . . . . . . . . . . . . 845.2 Extension de domaine de Shabal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.3 Reprsentation quivalente de lextension de domaine de Shabal. . . . . . . . . . . 865.4 La construction CF a accs un oracle F . Le simulateur SH a accs loracle

    alatoireH. Le distingueur interagit soit avecQ = (CF ,F), soit avecQ = (H,SH)et doit les distinguer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    5.5 Simulateur S de F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.6 volution des interactions entre oracles et simulateurs au cours de la preuve. . . . 895.7 Simulateur S de F dans le jeu 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.8 Simulateur S de F dans le jeu 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.9 Simulateur S de F dans le jeu 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.10 Simulateur S de F dans le jeu 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.11 Interactions entre les composants du jeux 6. . . . . . . . . . . . . . . . . . . . . . 955.12 Simulateur S de F1 dans le jeu 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 995.13 Simulateur S de F et F1 dans les jeux 2 et 3 . . . . . . . . . . . . . . . . . . . 1005.14 Simulateur S de F dans le jeu 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025.14 Simulateur S de F1 dans le jeu 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 1035.15 Simulateur S de F et F1 dans le jeu final . . . . . . . . . . . . . . . . . . . . . 105

    6.1 Cas biais Simulateur S de F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1186.2 volution des interactions entre oracles et simulateurs au cours de la preuve. . . . 1206.3 Cas biais Simulateur S de F dans le jeu 1. . . . . . . . . . . . . . . . . . . . . 1216.4 Cas biais Simulateur S de F dans le jeu 2. . . . . . . . . . . . . . . . . . . . . 1216.5 Cas biais Simulateur S de F dans le jeu 3. . . . . . . . . . . . . . . . . . . . . 123

  • xii Table des figures

    6.6 Cas biais Simulateur S de F dans le jeu 4. . . . . . . . . . . . . . . . . . . . . 125

  • Liste des tableaux

    1.1 Ordre de grandeur des temps daccs et capacit des technologies courantes demmoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2.1 Rsum de la complexit de lattaque algbrique nave . . . . . . . . . . . . . . . 412.2 Complexit CAnn du calcul dannulateurs de degr minimum e dune fonction

    boolenne n variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.3 Rsum de la complexit de lattaque algbrique avec prise en compte des annu-

    lateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.4 Complexit CAnn du calcul dannulateurs de degr minimum dune fonction

    boolenne n variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.5 Rsum de la complexit de lattaque algbrique rapide . . . . . . . . . . . . . . . 47

    3.1 Taille Ni du plus grand ensemble dtats en collision pour la fonction i de mise jour de registre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    3.2 Taille de familles couvrantes de quelques fonctions non linaires . . . . . . . . . . 59

  • Introduction

    La cryptologie, ou science du secret, trouve ses origines dans lantiquit. Ltude et lemploide mcanismes cryptographiques ont longtemps t rservs des usages militaires ou diplo-matiques. Lhistoire est parseme dexemples de schmas cryptographiques dont la mise en d-faut a eu des rpercussions importantes. Paradoxalement, cest lavnement dune rechercheacadmique en cryptographie, la fin des annes 1970 avec la publication dun standard dechiffrement, le DES, et la dcouverte de la cryptographie cl publique, qui a permis damliorerconsidrablement la qualit des techniques cryptographiques et a permis ce domaine dattein-dre une certaine maturit. De plus, le dveloppement des communications numriques, internet,GSM, etc, a conduit une gnralisation de lemploi de ces techniques. Aujourdhui, la scu-rit de nombreuses applications, comme le commerce lectronique, reposent sur la cryptologiemoderne.

    La cryptologie permet de protger linformation. Elle permet datteindre des objectifs descurit comme : la confidentialit : une information est rendue inintelligible sauf pour les utilisateurs

    lgitimes ; lintgrit : une information ne peut tre modifie sans dtection par les utilisateurs

    lgitimes ; lauthentification : une preuve sur lidentit de lmetteur dun message est apporte.Les mcanismes mis en uvre pour remplir ces objectifs de scurit reposent sur un secret,

    dont la connaissance permet de raliser une opration sensible, lecture dun message protg enconfidentialit, gnration dun message protg en intgrit, etc. Lun des principes fondateursde la cryptologie moderne est la sparation entre la description des mcanismes cryptographiqueset le secret utilis. En dautres termes, les mcanismes cryptographiques emploient un paramtresecret appel gnralement cl, et peuvent tre publis sans compromettre leur scurit tant queles cls utilites restent secrtes.

    On distingue parfois la conception de mcanismes cryptographiques, la cryptographie, et l-analyse et lattaque de ces mcanismes, la cryptanalyse. Ces deux activits sont fortement lis :un cryptographe doit sassurer que lalgorithme quil conoit rsiste (au moins) aux grandestechniques dattaque connues ; le cryptanalyste peut proposer des contre-mesures permettant dersister des attaques quil a identifi. Une bonne partie des travaux de recherche en cryptolo-gie, notamment ceux portant sur les primitives, briques de base sur lesquelles sont construitsles mcanismes cryptographiques, peut tre vue comme une suite d aller-retours entre cryp-tographes et cryptanalystes. Ces quinze dernires annes ont t marques notamment par troiscomptitions internationales, publiques, concentrant lattention de la communaut des crypto-logues sur trois types de primitives : NIST AES. Cette comptition, conduite par le NIST entre 1997 et 2001 a conduit la

    normalisation dun algorithme de chiffrement par bloc, en remplacement du standard DESdevenu obsolte. ECRYPT eSTREAM. Ce projet europen, qui sest droul entre 2004 et 2008, a eu

    pour objet ltude des algorithmes de chiffrement par flot. De nombreuses cryptanalysesdalgorithmes de chiffrement par flot dploys et lmergence de lAES comme standard dechiffrement avait conduit questionner le principe mme des algorithmes de chiffrement parflot. Le projet eSTREAM a eu pour objectif de faire merger des principes de conceptionmodernes pour cette famille de primitives cryptographiques. NIST SHA-3. Cette comptition lance en 2008 par le NIST a pour objectif la normal-

  • isation dun nouveau standard de hachage, qui pourra tre amen remplacer la familleSHA-2 si un dfaut devait lui tre dcouvert.

    Ces trois vnements se sont drouls selon des modalits proches. Dans un premier tempsun appel candidatures est mis et des chercheurs, acadmiques et industriels, soumettent despropositions dalgorithmes. Dans un deuxime temps ces candidats sont tudis : la communautacadmique cherche valuer leur scurit, soit en la mettant en dfaut par une attaque, soit enla garantissant par une preuve. Cette priode danalyse est dcoupe en phases entre lesquelles lenombre de candidats est rduit, afin de focaliser les efforts de la communaut sur les algorithmesles plus prometteurs. Enfin une slection finale est ralise.

    Les travaux de cette thse sinscrivent dans le contexte des comptitions eSTREAM et NISTSHA-3. Dans une premire partie nous prsentons des techniques dattaque contre des algo-rithmes de chiffrement par flot. On expose notamment la cryptanalyse diffrentielles IV choisisde la famille dalgorithmes de chiffrement par flot VEST, candidat retenu pour la deuximephase de la comptition eSTREAM. Dans une deuxime partie, nous prsentons les preuvesdveloppes afin dargumenter la scurit de la construction de la fonction Shabal candidate la comptition NIST SHA-3 laquelle nous avons contribue. Cette fonction a t slectionnepour participer la deuxime phase de la comptition, mais na pas t retenue pour la phasefinale. Les preuves que nous exposons en deuxime partie tudient la scurit du mode sur lequelShabal est construit, dabord en considrant un composant interne de lalgorithme comme idal,puis en intgrant lexistance de distingueurs , identifiant des carts entre les comportementsdu composant interne et dun composant idal.

  • Premire partie

    Chiffrement par Flot

  • Chapitre 1

    Prliminaires

    Sommaire1.1 Dfinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.1.1 Chiffrement symtrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.2 Chiffrement par bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.3 Chiffrement par flot synchrone . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.4 Scurit des algorithmes de chiffrement par flot . . . . . . . . . . . . . . . . 8

    1.2 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2.1 Constructions base de registres linaires . . . . . . . . . . . . . . . . . . . 91.2.2 Algorithme de chiffrement flot prouv sr . . . . . . . . . . . . . . . . 111.2.3 Chiffrements par flot industriels . . . . . . . . . . . . . . . . . . . . . . . . . 111.2.4 Constructions fondes sur des primitives cryptographiques sous-jacentes . . 121.2.5 Chiffrement par flot moderne comptition eSTREAM . . . . . . . . . . . 12

    1.3 Principes de cryptanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.3.1 Attaques gnriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3.2 Attaques par corrlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3.3 Attaques algbriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.3.4 Attaques diffrentielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    1.1 Dfinitions

    1.1.1 Chiffrement symtrique

    La cryptographie symtrique est caractrise par le partage dune mme cl par tous lesutilisateurs lgitimes du cryptosystme. Pour remplir des services de confidentialit, on utilisedeux algorithmes inverses lun de lautre appels algorithmes de chiffrement et de dchiffrement.Ces algorithmes, dont les spcifications peuvent tre rendues publiques, sont fonctions dunparamtre K appel cl. La scurit du schma cryptographique est assure par le maintiendu secret de la cl. Lalgorithme de chiffrement E agit sur un message en clair, ou plaintextP , et produit un message chiffr, ou ciphertext C. Utilis avec la mme cl, lalgorithme dedchiffrement D ralise lopration inverse. On a donc pour tout P,K :

    D(E(P,K),K) = P.

    On distingue deux familles dalgorithmes de chiffrement symtrique : les algorithmes dechiffrement par bloc et les algorithmes de chiffrement par flot.

  • 6 Chapitre 1. Prliminaires

    1.1.2 Chiffrement par bloc

    Un algorithme de chiffrement par bloc est un algorithme de chiffrement traitant des messagesde taille fixe, appels blocs. La taille n des blocs est usuellement de lordre de quelques centainesde bits. Lautre grandeur caractristique de ces algorithmes est la taille k de la cl. Ainsi, pourun algorithme de chiffrement par bloc, on a E : {0, 1}n {0, 1}k {0, 1}n.

    La publication du Data Encryption Standard [108], ou DES, en 1977 par le NBS, organ-isme de standardisation amricain, destination de ladministration amricaine, a contribu audveloppement de la cryptologie comme domaine de recherche acadmique. la fin des annes90, le NIST, successeur du NBS a lanc une comptition destine dfinir un successeur auDES. Cette comptition a abouti la slection de lalgorithme Rijndael et son inclusion dansle Advanced Encryption Standard [103]. Lacronyme AES dsigne la version apparaissant dansce standard.

    Afin de pouvoir chiffrer des messages de taille arbitraire et obtenir des proprits de scuritadditionnelles, comme par exemple le non-dterminisme du chiffrement, lalgorithme de chiffre-ment par bloc est mis en uvre par un mode opratoire. Lors de la publication du DES et delAES des modes opratoires ont t standardiss [109]. Lactivit de recherche acadmique agalement conduit la dfinition de modes ayant de meilleurs proprits de scurit [104] ouadapts de nouveaux contextes, comme le chiffrement de disque [105].

    1.1.3 Chiffrement par flot synchrone

    Les algorithmes de chiffrement par flot sont construits sur le principe de lalgorithme dechiffrement de Vernam. Le message est vu comme une suite de symboles. Chaque symbole formantle message chiffrer est chiffr indpendamment par application dun masque alatoire. Pour unensemble de symboles constitu des 26 lettres de lalphabet, ceci consiste raliser un dcalagedans lalphabet. En modlisant chaque lettre par sa postion dans lalphabet, entre 0 et 25, et ennotant Pi, resp. Ci et Mi, le i-me symbole du clair, resp. du chiffr et du masque, on a

    Ci = Pi +Mi mod 26.

    Pour un ensemble de symboles constitu de valeurs boolennes, i.e. appartenant {0, 1}`, ` 1,lapplication du masque sobtient par ou exclusif

    Ci = Pi Mi.

    La suite de masques alatoires utilise doit : tre de mme longueur que le message chiffrer ; tre tire uniformment ; ne pas tre rutilise pour chiffrer un autre message.Shannon [128] montre que sous ces conditions le chiffrement est inconditionnellement sr :

    les chiffrs napportent aucune information sur le message clair. La premire condition est unecondition ncessaire.

    Si cet algorithme possde une scurit parfaite, il est trs difficile mettre en uvre enpratique, car les correspondants doivent partager pralablement des cls dont la longueur estsuprieure celle des messages et chaque cl ne peut tre utilise quune fois et une seule. Il estais de constater que la rutilisation dune cl a des consquences nfastes sur la confidentialitdes donnes changes. Si C est C sont les chiffrs des messages P et P sous la mme cl

  • 1.1. Dfinitions 7

    K, alors la diffrence des chiffrs est gale la diffrence des clairs, ce qui constitue une fuitedinformation consquente :

    C C = (P +K) (P +K) = P P .

    Afin de faciliter la mise en uvre de cette mthode de chiffrement, on fait appel un algo-rithme appel gnrateur pseudo-alatoire, ou GPA. Il sagit dun algorithme prenant en entreune valeur de taille fixe et gnrant une suite de masques de taille arbitraire. Lalgorithme dechiffrement par flot correspondant consiste fournir en entre du gnrateur pseudo-alatoireune cl et appliquer sur le clair la suite de masques obtenue en sortie du gnrateur. Dans laquasi-totalit des cas, les symboles gnrs par un GPA consistent en un ensemble de bits (bit,octet, mot de 32 ou 64 bits). On se place par la suite dans le cas o la sortie du GPA est unesuite de bits.

    Les algorithmes de chiffrement par flot rendent le principe du chiffrement de Vernam utilisabledans la mesure o la taille de la cl partager est prsent fixe et comme nous le verrons un peuplus loin relativement courte. Si on rgle ainsi le problme de la taille de la cl, on perd cependantla scurit inconditionnelle. De plus une cl reste usage unique, car le GPA est dterministe.Afin de lever cette restriction, les algorithmes de chiffrement par flot rcents acceptent une entreadditionnelle appele vecteur dinitialisation, dnot IV. Un IV, de longueur m bits, permet dediversifier la sortie du GPA pour une cl donne. On peut utiliser une mme cl pour chiffrerplusieurs messages, condition de ne pas employer deux fois la mme paire (cl, IV).

    Afin de gnrer partir de la cl une suite chiffrante de longueur suprieure la taille de lacl, la plupart des GPA sont construits comme une machine ayant une mmoire de taille t bits,appele tat interne, sur laquelle agissent trois fonctions : une fonction dvolution qui mlange les bits de ltat. Cette fonction est usuellement

    inversible pour sassurer que lvolution du GPA ne dgrade pas la variabilit de ltatinterne ;

    une fonction dextraction qui calcule partir des valeurs des bits de ltat interne unsymbole de la suite chiffrante de sortie (bit, octet, mot, ...).

    une fonction dinitialisation qui partir dune cl et ventuellement dun IV produit unevaleur dtat interne.

    Deux limitations demeurent dans les algorithmes de chiffrement par flot de la manire dcriteci-dessus : Afin que le dchiffrement se droule correctement, il est essentiel que le rcepteur reste syn-

    chronis avec le chiffr. La transmission sur un canal de transmission susceptible deffacerou dintercaler des bits dans le chiffr transmis peut introduire des dcalages rendant lemessage reu indchiffrable. La synchronisation devant tre garantie par lenvironnement,les algorithmes de chiffrement par flot dont la dfinition suit la structure dcrite ci-dessussont dsigns sous le terme dalgorithmes synchrones. Des tentatives pour construire desalgorithmes de chiffrement par flot essayant de lever cette limitation ont t ralises[50, 125, 51]. Lide est de faire dpendre le chiffrement, et donc le dchiffrement, dunefentre des derniers bits de chiffr, garantissant ainsi la reprise dun dchiffrement correctds quune fentre suffisamment longue de chiffr est reue. De tels algorithmes sont ditsauto-synchronisants. Ils ne seront pas abords dans la suite de ce mmoire.

    Seule la confidentialit est traite par lalgorithme, et le chiffr est facilement manipulable.Les algorithmes de chiffrement par flot sont par nature trs mallables : lintroductiondune diffrence en une position donne du chiffr conduira un message clair diffrant enla mme position. Afin dajouter un service dintgrit, certains algorithmes prvoient le

  • 8 Chapitre 1. Prliminaires

    calcul dun motif dintgrit, obtenu en introduisant au moyen dune procdure spcifiquele message clair ou chiffr dans ltat interne [139, 115].

    1.1.4 Scurit des algorithmes de chiffrement par flot

    Les algorithmes de chiffrement par flot sont construits sur le principe du chiffrement de Ver-nam, en remplaant la cl alatoire par une suite chiffrante issue dun GPA. Informellement,on sattend donc ce quun adversaire ne puisse pas remettre en cause la confidentialit desmessages si la sortie du GPA lui apparat comme alatoire. A fortiori, lattaquant ne doit paspouvoir reconstituer tout ou partie de ltat interne du GPA, ni la cl utilise pour initialiser leGPA. Pour formaliser cette intuition, on dfinit un jeu de scurit dans lequel on attribue lattaquant des moyens et un objectif. Le jeu de scurit est formalis de la manire suiv-ante : on fournit lattaquant une bote noire contenant soit une source alatoire idale, soitun gnrateur pseudo alatoire. Lattaquant ralise des requtes la bote noire en fonction desmoyens qui lui sont allous. la fin du jeu, il doit remplir son objectif.

    Moyens de lattaquant. Dans toutes les analyses, on considre que lattaquant dispose desspcifications de lalgorithme attaqu. Les moyens de lattaquant modlisent laccs de lat-taquant lalgorithme mis la cl. Dans le cas des GPA synchrones, attaques clairs connus,clairs choisis et chiffrs choisis concident : elles permettent toutes de remonter la suite chiffrantegnre par le GPA. On dsigne ce moyen de lattaquant sous le terme de suite chiffrante con-nue. Pour des algorithmes faisant usage dIV, on donne gnralement lattaquant accs auxIV utiliss. On parle dattaque IV connus. On considre galement le cas o lattaquant peutcontrler les IV. On parle alors dattaques IV choisis. Ces moyens semblent donner ladver-saire un grand accs lalgorithme. Cependant, comme lillustrent les attaques pratiques contreles algorithmes A5/1 et A5/2 dans le cadre du systme GSM [10, 106] et contre lalgorithmeRC4 dans le cadre de sa mise en uvre dans le systme WEP [135], laccs la suite chiffrantepeut tre obtenu au travers du chiffrement de donne de formatage fixe. Pour valuer la scuritintrinsque des algorithmes cryptographiques, il est prfrable de se placer dans le contexte leplus avantageux pour lattaquant.

    Pour les algorithmes incluant des mcanismes dintgrit ou pour des algorithmes de chiffre-ment par flot auto-synchronisants, on peut de plus considrer des attaques clairs/chiffrsconnus ou choisis.

    Objectifs de lattaquant. Lobjectif le plus difficile atteindre pour lattaquant est la re-constitution de la cl de chiffrement. On peut aussi demander lattaquant de reconstituer toutou partie de ltat interne. Lobjectif correspondant lintuition formule ci-dessus est plus ais remplir pour lattaquant. Il sagit pour lui de distinguer les sorties du GPA de donnes ala-toires. On parle dattaques par distingueur. Lattaquant remplit lobjectif sil est en mesure dedistinguer les sorties de lalgorithme de chiffrement par flot de suites parfaitement alatoiresavec une probabilit loigne de manire notable de la valeur 12 , qui correspond sa probabilitde succs quand il rpond de manire alatoire. Outre rvler une caractristique non-alatoiredes sorties du GPA, ce type dattaques est intressant dans la mesure o il peut souvent tretraduit en une attaque permettant de recouvrer une partie de ltat interne du GPA, commenous le verrons au chapitre 3.

    En cryptographie symtrique, il nexiste pas, en rgle gnrale, de preuve de la scurit dun

  • 1.2. Historique 9

    algorithme. La scurit dun algorithme est la conjonction de deux points : Le dimensionnement de lalgorithme est tel que les meilleures attaques gnriques connues

    sur lalgorithme ont des complexits inatteignables en pratique ; Il nexiste pas dattaque plus rapide que ces attaques.Si le premier point peut facilement tre analys, le deuxime point nest jamais compltement

    garanti. La confiance dans un algorithme symtrique est lie la dure consacre son tude et la qualit des arguments de scurit produits au cours de cette tude.

    1.2 Historique

    On donne ici un panorama rapide de lhistoire des algorithmes de chiffrement par flot endcrivant quelques principes de conception.

    1.2.1 Constructions base de registres linaires

    On commence par dcrire les constructions bases sur des registres dcalage rtroactionlinaire, plus communment dsigns sous lacronyme anglais LFSR, pour linear feedback shiftregister. Ces primitives peuvent tre vues comme des GPA lmentaires et sont utilises commebriques de base de nombreux algorithmes de chiffrement par flot du fait de leurs bonnes proprits[99, Section 6.2.1] : distribution statistique des bits de sorties, garantie sur la priode de la suitedes bits de sorties, etc.

    Malgr ces bonnes proprits statistiques, un LFSR ne peut tre utilis comme algorithmede chiffrement par flot. En effet, de par la linarit de la fonction de mise jour, il est aisde reconstituer le polynme de rebouclage du LFSR. Par exemple, lalgorithme de Berlekamp-Massey [93], dont une description est donne en section 2.2.4, permet de reconstruire le polynmede rebouclage du LFSR le plus court gnrant une suite donne. tant donne la taille L duLFSR, il suffit de collecter 2L bits de sortie afin de pouvoir dterminer de manire unique toutesles caractristiques du LFSR.

    On emploie donc les LFSR dans des constructions introduisant de la non-linarit dans la mise jour de ltat interne. Cette non-linarit est introduite soit par lutilisation dune fonction non-linaire, soit en rendant irrgulire lavance des LFSR ou lapplication de la fonction dextraction.On rencontre dans la littrature les constructions classiques donnes ci-dessous. Ces principesde constructions peuvent tre utiliss en parallle dans un mme algorithme.

    Construction par combinaison. Plusieurs LFSR voluent en parallle dans ltat de lal-gorithme. chaque tape, une fonction est applique sur les sorties des LFSR pour former lasortie de lalgorithme, cf Figure 1.1. Parmi les algorithmes de chiffrement par flot construits sur

    LFSR n

    ...

    LFSR 2

    LFSR 1

    F Pseudo-ala

    Figure 1.1 Algorithme de chiffrement par flot construit selon le principe de combinaison

  • 10 Chapitre 1. Prliminaires

    ce principe citons le gnrateur de Geffe [99, Example 6.50], bas sur 3 LFSR et pour lequella fonction de calcul de la sortie est la fonction choix, et Achterbahn [66] o les LFSR sontremplacs par des registres dcalage rebouclage non-linaire.

    Construction par filtrage. Un LFSR constitue lintgralit de ltat du GPA, mais la fonc-tion dextraction classique est remplace par une fonction non-linaire prenant ces entres dansltat du LFSR, cf Figure 1.2.

    LFSR

    F

    Pseudo-ala

    Figure 1.2 Algorithme de chiffrement par flot construit selon le principe de filtrage

    Le principe de construction du LFSR filtr se rencontre dans de nombreux algorithmes(Hitag-2, Crypto-1 [67], Sfinks [33], WG [70], ...).

    Construction par avance irrgulire. La fonction de mise jour dun LFSR classiqueconsiste appliquer de manire dterministe une opration de dcalage et de rebouclage. Afindintroduire de la non-linarit, certains algorithmes font dpendre le comportement de lavancedu LFSR dune entre auxiliaire, cf Figure 1.3.

    LFSR 1

    LFSR 2

    LFSR 3

    &

    &

    Horloge

    Horloge

    NOT

    Pseudo-ala

    Figure 1.3 Algorithme de chiffrement par flot construit selon le principe davance irrgulire

    Suivant les cas, lavance peut tre tout simplement inhibe (A5/1, A5/2...) ou le polynmede rebouclage peut varier (MICKEY [8], K2 [84],...)

    Construction par dcimation. Les constructions bases sur le principe de dcimation sontanalogues aux constructions par avance irrgulire, mais cest prsent sur la fonction dextrac-tion que porte lirrgularit de traitement. Lextraction dlments de la suite chiffrante nestpas ralise chaque tape, mais contrle par une partie de ltat du GPA, cf Figure 1.4.

    De nombreux algorithmes font usage de ce principe (Shrinking Generator [41], Self-ShrinkingGenerator [98], LILI [132], Decim [14], ...).

  • 1.2. Historique 11

    LFSR 1

    LFSR 2 Pseudo-ala

    Figure 1.4 Algorithme de chiffrement par flot construit selon le principe de dcimation

    1.2.2 Algorithme de chiffrement flot prouv sr

    Au milieu des annes 1980, Blum, Blum et Shub proposent un gnrateur pseudo-alatoiredont la scurit peut tre rduite au problme de la factorisation [26]. Bien que la rductionau problme mathmatique sous-jacent reste asymptotique et ne permette pas de dimensionnerlalgorithme pour tirer parti de la rduction (problme qui sera lev plus tard [130]), et malgr undbit mdiocre de lalgorithme comparativement aux algorithmes de chiffrement par flot usuels,BBS traduit une proccupation grandissante dobtenir des algorithmes symtriques disposantdune preuve de scurit. Lalgorithme QUAD [16] propos en 2006 reprend galement cetteide avec une rduction au problme de la rsolution de systmes multivaris quadratiques et demeilleures performances.

    1.2.3 Chiffrements par flot industriels

    Dans la premire moiti des annes 1990, on a assist au dploiement de nombre de technolo-gies de communication sans fil (GSM, Wifi, Bluetooth,...). Ces technologies, faisant usage dondeslectromagntiques pour transmettre des informations, sont bien plus vulnrables aux scnar-ios dcoute passive que les communications utilisant un mdium matriel (ethernet, ...). Afinde compenser cette vulnrabilit accrue, les standards dcrivant ces technologies prvoient desmcanismes pour protger les communications en confidentialit. La premire gnration dal-gorithmes de confidentialit mise en uvre est constitue presque exclusivement dalgorithmesde chiffrement par flot, parfois sous-dimensionns : les algorithmes A5/1 et A5/2 protgent les communications GSM entre terminaux mobiles

    et stations de base ; la scurit duWEP,Wired Equivalent Privacy, qui protge initialement les communications

    802.11, i.e. du WiFi, repose sur lalgorithme RC4, complt pour pouvoir recevoir un IV ; la norme Bluetooth repose sur lalgorithme E0.Ces algorithmes prsentent des dfauts qui ont conduit leur cryptanalyse aprs leur publi-

    cation. A5/1 et A5/2 sont deux algorithmes sous-dimensionns (taille de cl de 64 bits, taille

    dtat interne de 64 bits pour A5/1, 81 bits pour A5/2. La structure de A5/2 permetde plus de raliser une attaque algbrique trs efficace [10]. Le prcalcul dune attaquegnrique de type compromis temps-mmoire, cf section 1.3.1.2, a rcemment t ralispour A5/1 [106], et les tables issues de ce prcalcul ont t rendues publiques. Lutilisationde ces tables permet de retrouver la cl utilise par lalgorithme A5/1 pour chiffrer unecommunication GSM.

    la procdure de mise la cl de RC4 est minimaliste. Par consquent, les premiers octets desuite chiffrante font fuire beaucoup dinformation sur les octets de cls. Une srie dattaques[64, 85, 135, 127] a conduit au dveloppement dun nouveau standard de protection, leWPA, remplaant progressivement le WEP.

  • 12 Chapitre 1. Prliminaires

    1.2.4 Constructions fondes sur des primitives cryptographiques sous-jacentes

    Un autre principe de construction dalgorithmes de chiffrement par flot est lutilisation duneprimitive cryptographique sous-jacente dans un mode adapt. On rencontre notamment les modes de chiffrement de type flot , qui permettent de gnrer une suite chiffrante laidedun algorithme de chiffrement par bloc. Ainsi, le mode OFB itre un algorithme de chiffrementpar bloc utilisant une cl sur un bloc de message initialis avec un IV. Le mode compteur chiffreles valeurs successives dun compteur initialis avec un IV. Dans les deux cas, la concatnationdes blocs de chiffr successifs forme la suite chiffrante.

    Le candidat Salsa [17] la comptition eSTREAM, cf section 1.2.5, peut galement tre vucomme une construction de ce type : les valeurs successives dun compteur, initialis avec la clet lIV, sont haches pour obtenir une suite chiffrante.

    1.2.5 Chiffrement par flot moderne comptition eSTREAM

    Au dbut des annes 2000, de nombreux rsultats de cryptanalyse contre les algorithmesde chiffrement par flot industriels et quelques propositions acadmiques remettent fortement enquestion le principe mme des algorithmes de chiffrement par flot. Ceci conduit le projet europenECRYPT lancer un projet dtude des algorithmes de chiffrement par flot, le projet eSTREAM[60]. Ce projet sest droul sous forme dune comptition. Suite un appel candidatures, 34algorithmes de chiffrement par flot ont t soumis.

    La conception de ces algorithmes vise deux profils, o lon estime que les algorithmes dechiffrement par flot peuvent offrir de meilleures performances que les algorithmes de chiffrementpar bloc. Les algorithmes concourant dans le profil matriel ont pour objectif une implmentationmatrielle (FPGA, ASIC, ...) trs compacte. Les algorithmes concourant dans le profil logicielrecherchent des dbits en ligne, i.e. aprs tablissement de ltat initial, trs levs.

    Lobjectif du projet eSTREAM tait moins la dfinition dun standard que lavancement deltat de lart sur les algorithmes de chiffrement par flot. En consquence, les candidats ont eu lapossibilit, au cours de la comptition, dvoluer et de rparer dventuelles faiblesses dtectessuite leur analyse, afin de permettre la poursuite de ltude de principes de conception inno-vants. La liste des concurrents a t progressivement rduite afin de favoriser la concentrationdes efforts de cryptanalyse sur les candidats les plus prometteurs. La fin du projet a vu la slec-tion de huit algorithmes [7], quatre pour chaque profil. Les algorithmes retenus sont cependantencore considrs comme immatures et lobjectif est plus de fournir un ensemble dalgorithmeset de principes de conception tudier plus avant. Si la cryptanalyse pratique de lun de cesalgorithmes peu aprs la fin de la comptition [73] confirme ce sentiment, il reste indniableque la comptition eSTREAM a permis de faire progresser ltat de lart de la cryptographiedes algorithmes de chiffrement par flot et de restaurer quelque peu la confiance dans ce typedalgorithme comme latteste linclusion de SNOW 3G dans la suite de confidentialit du 3GPP.

    1.3 Principes de cryptanalyse des algorithmes de chiffrement parflot

    On prsente ici dans les grandes lignes les principes de cryptanalyse les plus communs desalgorithmes de chiffrement par flot.

  • 1.3. Principes de cryptanalyse 13

    1.3.1 Attaques gnriques

    Du fait de sa dfinition et de sa construction, un algorithme de chiffrement par flot peuttre attaqu de manire gnrique. Cest le dimensionnement de lalgorithme qui permet de seprmunir contre ces attaques, i.e. il existe des attaques contre lalgorithme de chiffrement par flotmais leur complexit est telle quelles ne peuvent aboutir de manire pratique. On distingue lesattaques directes des compromis temps-mmoire-donne. La complexit des attaques gnriquesdpend de trois paramtres, dont ces attaques fixent donc la taille minimale : la taille de la cl ; la taille de ltat interne ; la taille de lIV.

    1.3.1.1 Attaque directe

    Recherche exhaustive sur la cl. Il sagit l dune attaque lmentaire qui sapplique toutalgorithme cryptographique utilisant des tailles de cls fixes. Lattaque consiste tester toutesles cls possibles. Elle est ralisable lorsque : lattaquant dispose des spcifications de lalgorithme cryptographique ; lattaquant dispose dun test darrt, lui permettant de dtecter la cl utilise avec une

    probabilit de fausse alarme faible. Pour la recherche exhaustive applique aux GPA,lattaquant doit disposer dune quantit de suite chiffrante correspondant la taille de lacl.

    Le nombre de cls dun algorithme cryptographique doit tre grand devant le nombre dopra-tions ralisable en pratique avec les moyens de calculs actuels et envisageables moyen terme.Des calculs requrant de lordre de 264 oprations ont t raliss par le pass par des projetsde calcul distribu [56]. On estime quun calcul ncessitant 2128 oprations nest pas ralisable moyen terme. Une taille de cl de 128 bits permet donc de se prmunir moyen terme contrela recherche exhaustive.

    Il faut noter que dans de nombreux contextes cette attaque reste la meilleure attaque enpratique contre un algorithme, mme quand il existe de meilleures attaques thoriques. Ceci estd trois points : Cette attaque ne requiert que trs peu de donnes. Il est beaucoup plus simple dobtenir

    les informations ncessaires une recherche exhaustive (clair connu), que de raliser desattaques ayant une forte complexit en ligne , cest dire ayant besoin dun nombreimportant dinteractions avec lalgorithme mis la cl, par exemple sous la forme derequtes de chiffrement ou de dchiffrement.

    Cette attaque se paralllise naturellement, ce qui permet de profiter au maximum delaugmentation de la puissance de calcul disponible. Ce nest pas le cas dalgorithmesrequrant laccs une mmoire de taille importante.

    De nombreux cryptosystmes pratiques sont sous-dimensionns ou utilisent des cls defaible entropie.

    Recherche exhaustive sur ltat interne. Dans la majorit des GPA, la cl utilise inter-vient uniquement lors de linitialisation de lalgorithme et permet de calculer un tat initial. Cettat est ensuite soumis aux fonctions dvolution et dextraction. La connaissance de cet tatpermet donc de reconstituer la suite chiffrante correspondant la cl. Dans les cas o la fonctiondavance est inversible, la connaissance dun tat un instant quelconque permet de remonter cet tat initial. Ltat du GPA peut donc galement faire lobjet dune recherche exhaustive et

  • 14 Chapitre 1. Prliminaires

    linformation obtenue permet de driver les bits suivants et prcdents de la suite chiffrante. Onremarque donc que la taille de ltat interne doit donc tre au moins gale la taille de la cl.

    Collision sur lIV. La proprit requise des IV du point de vue de la confidentialit desdonnes protges par un algorithme de chiffrement par flot est la non-rptition dun IV pourune cl donne. Lorsque ces IV sont tirs de manire alatoire, ils doivent tre dimensionns detelle sorte quune collision sur ces IV napparaisse quavec une probabilit ngligeable.

    1.3.1.2 Compromis temps-mmoire-donne

    Les techniques dcrites ci-dessous trouvent leur origine dans lanalyse de fonctions de chiffre-ment par bloc. Lobjectif est de diminuer la complexit temporelle de linversion dune fonctionf difficile inverser, par exemple la fonction qui une cl associe le chiffr dun message fixe, travers lutilisation dun prcalcul dont le rsultat est stock en mmoire [74, 107]. On rappelleci-dessous le principe de ces compromis temps-mmoire ainsi que leurs caractristiques.

    On considre une fonction f : E F , avec |E| |F |. On considre galement des fonctionsde F dans E appeles fonctions de rduction. On noteN le cardinal de E. Lobjectif est dinverserla fonction f . Pour ce faire, on ralise un prcalcul de complexit P et on stocke en mmoirele rsultat de ce prcalcul. On note M la quantit de mmoire requise. Puis pour une instancedonne du problme, on cherche une solution en ralisant un calcul de complexit en temps T .

    Lapplication de compromis temps-mmoire aux algorithmes de chiffrement par flot a deuxspcificits : on dispose de deux cibles, la cl et ltat interne. Bien que par construction ces deux

    donnes soient quivalentes, le dimensionnement de la cl et de ltat interne peut rendreprfrable dattaquer lune des deux valeurs.

    pour une cl, ou pour une paire (cl, IV) donne, on peut disposer dune quantit im-portante de suite chiffrante, quantit que lon notera D. Quand la fonction davance estinversible, recouvrer ltat interne du GPA un instant donn, par exemple linstant ini-tial, est quivalent le recouvrer nimporte quel instant. On peut alors utiliser la suitechiffrante disponible pour rsoudre une inversion parmi D, mettant ainsi profit la quan-tit de donnes disponible pour raliser des compromis temps-mmoire-donne.

    Dans la suite, on sattache donner les ordres de grandeur et relations liant les diffrentsparamtres du problme en supposant P,M, T et D grands devant log2(N). On omet les termesngligeables et les termes logarithmiques.

    Compromis de Babbage-Goli. Le compromis de Babbage-Goli [6, 69] est un compromistemps-mmoire-donne attaquant ltat interne dun algorithme de chiffrement par flot. Plusprcisment, on considre n la taille en bits de ltat interne, lensemble E = {0, 1}n des N = 2nvaleurs dtats internes du GPA, la fonction davance du GPA : E E et la fonctiondextraction du GPA : E {0, 1}. On construit alors la fonction l qui associe un tatinterne la fentre de l bits gnre par le GPA initialis par cet tat interne :

    l : E E,x ( 0(x), 1(x), . . . , l1(x)).

    La fonction = n est une fonction difficile inverser. Lide du compromis de Babbage-Goli est de recouvrer un tat interne correspondant une fentre de n bits parmi les D fentresdisponibles.

  • 1.3. Principes de cryptanalyse 15

    Prcalcul. Le prcalcul consiste calculer et stocker en mmoire un certain nombre depaires formes dun lment de E et de son image par la fonction . Plus prcisment, on tirem lments x E distincts et on stocke en mmoire les paires (x,(x)). la fin du prcalculon trie ces couples selon la valeur de (x). On a P = M = m.

    Rsolution. On suppose disposer dune suite chiffrante de longueur D = Nm . On peutconstruire de lordre de D fentres de n bits de suite chiffrante. Pour chacune de ces fentres, onteste si la table donne un antcdent. Si cest le cas, on retourne cet antcdent. La complexitde cette phase est T = D = Nm . Heuristiquement, on considre MT = N paires de la forme(fentre de suite chiffrante, image de dans la table) chacune ayant probabilit 1/N de rpterla mme valeur. On sattend donc ce que la table donne un antcdent sur lensemble desfentres considres.

    Remarque 1. Quitte abandonner la phase de prcalcul, on peut commencer par collecteret stocker en mmoire m bits de suite chiffrante, puis tester alatoirement Nm valeurs dtatinterne en calculant leur image par et en recherchant le rsultat parmi les fentres de suitechiffrante collecte. On a alors D = M = m et T = Nm . Cet autre point du compromis vrifie lamme relation MT = N . On peut adopter le compromis qui minimise la quantit de donnesutilise D = min(M,T ).

    Remarque 2. La valeur retourne par lalgorithme ne correspond pas forcment la valeurde ltat interne. En effet rien ne garantit linjectivit de . Cependant, la probabilit de trouverle bon rsultat est non ngligeable et la probabilit derreur lie ce phnomne peut tredimininue en augmentant lgrement la taille des fentres considres (f = n+).

    Remarque 3. Un point classique de ce compromis est la valeur T = M = 2n2 . tant donne

    la quantit de mmoire et/ou de donnes ncessaire pour raliser ce compromis, il ne posegnralement pas de problme en pratique. Cependant il indique quil est sain de dimensionnerltat interne du GPA pour que sa taille soit au moins gale deux fois le niveau de scuritvis.

    Compromis de Hellman, tables arc-en-ciel et compromis de Biryukov-Shamir. Lecompromis de Hellman [74] peut-tre utilis pour attaquer aussi bien la cl que ltat interne dunGPA. Il repose sur un prcalcul diffrent. Le compromis dOeschlin [107], plus connu sous le nomde table arc-en-ciel, est apparent au compromis de Hellman. Le compromis de Biryukov-Shamir[25] est une variante du compromis de Hellman spcifique au GPA qui porte spcifiquement surltat interne et reprend lide du compromis de Babbage-Goli de rsoudre une inversion parmiD instances du problme.

    Principe du prcalcul. Le prcalcul dans ces compromis se fonde sur la construction dechanes de valeurs par itration de la fonction f . Considrons une valeur x E, un entier t etune fonction de rduction . On peut construire une chane de t+ 1 valeurs de E commenantpar x en itrant la fonction f :

    x = x0f x1 f x2 . . . f xt = y.

    Lide du prcalcul est de construire un certain nombre de chanes de ce type et, pour chacunede ces chanes, de stocker la valeur initiale et la valeur finale. Ces chanes gnralisent les pairesutilises par le compromis de Babbage-Goli. On remarque quelles peuvent tre utilises pourinverser toute valeur z {xi, 1 i t} : on peut dtecter que z fait partie de la chane en

  • 16 Chapitre 1. Prliminaires

    vrifiant quil existe 0 j < t tel que ( f)j(z) = y. Un antcdent de z est alors donn par( f)tj1(x).

    Construction dune table de prcalcul, collisions. Idalement, le prcalcul doit con-struire des chanes de valeurs de telle sorte que toutes les valeurs de E apparaissent dans leschanes. 1 Une premire ide nave consiste construire une table de m chanes de longueur tde telle sorte que mt = N . On sattend rencontrer N valeurs mais cette intuition est erroneen raison de lapparition de collisions entre les valeurs rencontres. Ces collisions ont un im-pact notable sur le nombre de valeurs distinctes apparaissant au cours du prcalcul car deuxchanes distinctes x1, x2 ayant deux valeurs en collision x1i = x

    2j partagent une mme fin de

    chane x1i+1 = x2j+1, etc. La couverture de lespace E correspondant chaque ligne, gale t en

    labsence de collision, diminue notablement quand des collisions commencent apparatre. Afinde dpasser ce problme, on peut utiliser les deux stratgies suivantes.

    Compromis de Hellman. Dans le compromis de Hellman, lapproche adopte consiste limiter la taille des tables de prcalcul construites. On fixe m pour arrter la constructiondune table partir du moment o des collisions commencent apparatre. Lorsquon ajouteune chane une table comptant m chanes sans collision, la probabilit dapparition dunecollision est de lordre de t mt/N . On fixe donc la taille limite m par la relation mt2 = N .Lespace des valeurs de E couvert par les chanes de cette table est mt = N/t, qui constitueune partie relativement faible de lespace des valeurs dentre. Si on se contente de cette table,la probabilit de succs de lattaque sera de 1/t. Hellman rsout le problme en construisantdiffrentes tables en faisant varier la fonction de rduction . Ceci fait disparaitre le problmede fusion de chanes puisquune collision entre deux chanes de tables diffrentes nentrane plusautomatiquement la fusion des fins des chanes. Comme chaque table couvre une fraction 1/t delespace des valeurs dentre de f , il faut construire t tables. Lorsquon recherche un antcdentil faut reproduire la procdure de recherche pour chacune des t tables. On peut alors estimer lecot du compromis temps-mmoire. On a P = tmt = N ,M = tm, T = t t. Le compromispeut scrire N2 = TM2.

    Compromis de Oechslin. Dans le compromis de Oechslin on construit toujours une seuletable, mais on fait varier en chaque position. Ceci a pour consquence de rduire limpact dunecollision au cours de la construction des chanes. Pour quune collision entrane une fusion delignes, elle doit avoir lieu en la mme position. On peut alors fixer m et t tel que P = mt = N .On a galement M = m. La procdure de recherche dun antcdent doit tre adapte. En effet,le cot de dtection dun lment en position i est t i car la dtection dun lment en positioni 1 dans une chane ne profite plus du test ralis pour dtecter un lment en position i. Parconsquent T =

    ti=1 i t2. On retrouve la mme relation de compromis N2 = T M2. Un

    choix classique pour raliser ce compromis est T = M = 22n3 . Le prcalcul dans les deux cas

    a un cot de lordre dune recherche exhaustive. Ces deux compromis peuvent tre vus commedes mthodes permettant de factoriser leffort fait par une recherche exhaustive pour acclrerles recherches suivantes.

    Compromis de Biryukov-Shamir. Ce compromis est une adaptation du compromis deHellman reprenant lide du compromis de Babbage-Goli, i.e. recouvrer un tat interne parmi

    1. En pratique, on se contente de couvrir une fraction suffisante des valeurs de E, en acceptant une certaineprobabilit dchec linversion de f par le compromis.

  • 1.3. Principes de cryptanalyse 17

    les D parcourus pendant la gnration des donnes disponibles. Disposant de D cibles, il nestplus ncessaire de couvrir lintgralit de E au cours du prcalcul. Si le prcalcul couvre unefraction 1/D de E, lattaque a une bonne probabilit de russite. En adaptant le compromis deHellman, on a toujours la relation N = mt2, mais le nombre de tables ncessaire pour couvrirN/D valeurs est prsent t/D. La mmoire ncessaire est adapte en consquence :M = mt/D.La complexit du prcalcul sen trouve galement rduite : P = N/D. Pour la partie recherchede solution il faut tenir compte de ce quon travaille avec moins de tables, mais que le calculdoit tre ralis pour chacune des D fentres de suites chiffrantes, soit T = t2D/D = t2.Lquation du compromis scrit prsent N2 = TM2D2. Un point classique du compromis estD = M = 2

    n3 , T = 2

    2n3 . On remarque que, contrairement au compromis de Hellman, le prcalcul

    est ici plus rapide que la recherche exhaustive, P = 22n3 , ce qui fournit une attaque globale plus

    rapide que la recherche exhaustive. La taille de ltat interne doit donc tre suprieure au niveaude scurit vis.

    Problmes lis limplmentation pratique dun compromis temps-mmoireLors de limplmentation pratique de compromis temps-mmoire-donne, les diffrentsparamtres ne jouent pas le mme rle. Les paramtres les plus importants et restrictifs enpratique sont la mmoire et la quantit de donnes disponibles.

    Impact du paramtre M . Si on considre les implmentations de grande mmoire dis-posant dun accs alatoire, ncessaire pour raliser la recherche dun lment dans une table,on constate que plus la taille de la mmoire est grande, plus le temps daccs est important. Ondonne en table 1.1 des ordres de grandeur de taille de mmoire et de temps daccs pour destypes de mmoire trs rpandus. Dans le cas du compromis de Hellman, la complexit en tempsest estime en nombre de calculs de la fonction f . Cependant, on fait l lhypothse implicite quele temps de lvaluation de la fonction f , not Tf , est le terme prdominant dans la complexittemporelle. En supposant que la mmoire est une table de hachage dont la cl est la valeur defin de chane, que le test dappartenance dune valeur lensemble des valeurs de fin de chanerequiert C accs mmoire et en notant TM = g(M) le temps dun accs mmoire (qui est fonctionde la taille de la mmoire, de la technologie utilise, etc) on peut crire Thorloge = T (Tf +CTM ).Ceci modifie donc le compromis. Dans le cas gnral, cette description reste encore imparfaite,car elle ne prend pas en compte la possibilit de parallliser certains aspects du calcul, ce quipnalise galement les algorithmes utilisant de grandes mmoires accs alatoire [18]. Tous ceslments concourent choisir en pratique des points du compromis avec M relativement petitet introduire des optimisations permettant de rduire M . La technique des points distingus,mentionne par Rivest dans [53], modifie le compromis de Hellman en rendant t variable. Laconstruction dune chane commence en un point et sarrte en un point dont la reprsenta-tion en mmoire est compacte. Le taux de compression choisi donne la moyenne des longueursde chanes. Un exemple rcent dimplmentation pratique de compromis temps-mmoire est lecalcul de table pour lalgorithme de chiffrement du GSM A5/1 [106].

    Impact du paramtre D. Le paramtre D joue galement un rle important dans limpl-mentation dune attaque dans un scnario pratique. En effet, si dans les modles thoriques util-iss pour raliser lanalyse de scurit de gnrateurs pseudo-alatoires les bits de suite chiffrantesont mis disposition de lattaquant, lobtention de ces donnes dans une attaque pratique estplus difficile et plus contraint. Il nest pas possible dnoncer dordre de grandeur gnriquepuisque tout dpend du contexte dapplication. Par exemple, dans le contexte du WEP, algo-rithme de chiffrement des communications WiFi, lattaquant obtient de lordre dune dizainedoctets de suite chiffrante par paquet en examinant le chiffr des en-ttes des paquets protgs

  • 18 Chapitre 1. Prliminaires

    Type Technologie Taille (bits) Temps daccs (s)Cache L1 SRAM 220 108

    Mmoire principale DRAM 230 107

    Disque dur Stockage Magntique 237 105

    Bande magntique Stockage Magntique 242 10

    Table 1.1 Ordre de grandeur des temps daccs et capacit des technologies courantes demmoire

    (clair connu) [135]. Dans le cas du GSM, un canal de synchronisation mettant des messages enpartie prdictibles est chiffr par la cl de protection des donnes, ce qui fournit une bonne sourcede clairs connus [10]. Lorsque D est limit par le contexte demploi, lavantage du compromis deBiryukov-Shamir sur le compromis de Hellman est faible.

    1.3.2 Attaques par corrlation

    On prsente dans la fin de ce chapitre des classes dattaques exploitant la structure internedes GPA tudis.

    Les attaques par corrlation sappliquent aux algorithmes de chiffrement par flot construitssur des primitives sous-jacentes linaires, comme des LFSR. Elles tirent partie de cette linar-it pour essayer de linariser compltement le comportement de lalgorithme. Lattaquant tentede remplacer les composants non-linaires de lalgorithme par des composants linaires qui ap-proximent leurs comportement. Il compare ensuite les sorties de lalgorithme avec celles dunesimulation linarise en faisant une hypothse sur une partie de son tat interne. La concordanceentre ces sorties valide lhypothse sur ltat interne.

    On dtaille ici titre dexemple lattaque par corrlation [131] contre le gnrateur de Geffe[99, Example 6.50]. Le gnrateur de Geffe est un algorithme de chiffrement par flot bas surla combinaison de trois LFSR dfinis sur F2. La fonction de combinaison utilise est la fonctionchoix, i.e.

    f(x1, x2, x3) = x1x2 (1 x1)x3.Cette fonction prsente des approximations linaires ayant un biais relativement lev, cest dire dont la probabilit est relativement loigne de 12 :

    Prx [f(x) = x2] = Prx [f(x) = x3] =3

    4.

    une probabilit p, on associe le biais dfini par p = 12(1 + ). Le biais du gnrateur de Geffeest 12 . On notera a = b [] une galit entre deux valeurs vrifie avec probabilit

    12(1 + ).

    Ce biais important et le fait que lapproximation linaire de f ne fasse intervenir quune seulevariable permet de mener une attaque par corrlation. En effet, on peut approximer le GPA parle LFSR 2 dont la sortie est bruite avec probabilit 14 , cf Fig 1.5.

    LFSR 2Canalbruit Y

    X2

    Figure 1.5 Modlisation du GPA par un LFSR bruit

  • 1.3. Principes de cryptanalyse 19

    On note ni la taille du LFSR 2. En supposant que lattaquant dispose de D bits (zi)D1i=0 desortie du GPA, il peut excuter lalgorithme 1.

    Algorithme 1 Algorithme de recouvrement de ltat initial du LFSREntre : la dfinition dun LFSR (taille, polynme de rebouclage)D bits de suite chiffrante (zi)D1i=0

    Sortie : ltat initial du LFSRpour tout S initial non nul du LFSR 2 faireGnrer la suite des sorties du LFSR (xi)D1i=0Calculer la concordance entre la suite chiffrante et la sortie du LFSR 2, cest dire ` =#{0 i < D|xi = zi}/M .si ` > `limit alorsretourner S

    fin sifin pour

    Dans le cas o lalgorithme considre une valeur initiale errone du LFSR, les suites (xi)et (zi) sont indpendantes et ` suit la distribution de la moyenne de D bits suivant une loi deBernoulli de paramtre 12 . Dans le cas o lalgorithme considre la bonne valeur initiale du LFSR,` suit une loi similaire, mais le paramtre des lois de Bernoulli est 12(1+). Lorsque D est grand,on peut approximer ces lois par des gaussiennes de moyenne 12 (resp.

    12(1 + )) et dcart type

    14D (resp.,

    (12)

    4D ). On peut sattendre ce que la valeur de ` soit proche de12(1 + ) lorsque

    la bonne hypothse est effectue, et proche de 12 lorsquelle est errone. Lorsque M augmente,lcart type diminue de telle sorte que les valeurs de ` sont de plus en plus concentres autour deleur valeur moyenne. Le critre de slection choisi va conduire raliser deux types derreurs : fausses alarmes : une fausse alarme se produit lorsquune hypothse erronne est con-

    sidre comme la valeur initiale du LFSR. non dtection : une non-dtection se produit lorsque lhypothse correcte nest pas re-

    connue comme la valeur initiale du LFSR.Dans le cas des attaques par corrlation, ces deux causes derreur ne jouent pas le mme

    rle. En effet, au cours de lexploration des valeurs initiales possibles du LFSR, la probabilita priori de considrer une valeur errone est trs grande devant la probabilit de considrer labonne hypothse. Par consquent si on veut mener lattaque, il est ncessaire de choisir la limite`limit et le nombre dchantillons D tels que lesprance du nombre de fausses alarmes sur lensemble des itrations soit proche de 0 ; la probabilit de non-dtection ne soit pas trop importante.Afin davoir un taux de fausses alarmes et un taux de non-dtection plus petits que 12 , on

    fixe la contrainte1

    2 `limit 1

    2(1 + ).

    Pour une hypothse sur ltat initial, on peut exprimer la probabilit de fausse alarme pfaet la probabilit de non-dtection pnd en fonction de M et au moyen de la fonction derreurcomplmentaire :

    erfc(z) =2pi

    +z

    et2dt,

    pfa =12erfc(2

    2(`limit 12)

    D)

    pnd =12erfc(

    2

    212 (

    12(1 + ) `limit)

    D).

  • 20 Chapitre 1. Prliminaires

    Pour une probabilit de fausse alarme et de non dtection maximales, on dduit la quantitdchantillons D ncessaire en fonction de . Par exemple, pour un gnrateur de Geffe avec unLFSR de taille 45 bits, on a = 12 et on souhaite pfa 245 et pnd 0, 1. On en dduit{

    2

    2(`limit 12)M 5.35,

    4

    212 (

    12(1 + ) `limit)

    M 0.91,

    do, en liminant `limit,

    M 4( 5.352

    2+ 0.91(1

    2)

    2

    2))2 1

    2,

    M 73.

    En gnral est petit et le terme en 12

    domine la borne infrieure. On retient que la quantitde donnesD ncessaires pour raliser cette attaque est de lordre de 1

    2. Par ailleurs la complexit

    en temps de cette attaque est de lordre de 12

    2n et elle permet de recouvrer ltat du LFSR. Dansle cas du gnrateur de Geffe, une attaque du mme type peut tre mene pour recouvrer lestats initiaux des LFSR 2 et 3. Une fois les LFSR 2 et 3 connus, on peut recouvrer par rechercheexhaustive ltat initial du LFSR 1. Finalement, lattaque par corrlation du gnrateur de Geffepermet de recouvrer son tat interne avec complexit 2n1 + N2n2 + N2n3 ce qui constitue ungain notable sur la recherche exhaustive, de complexit 2n1+n2+n3 lorsque ltat est scind demanire quilibre entre les 3 LFSR.

    Pour pouvoir mener des attaques par corrlation, il faut pouvoir trouver des relations linairesbiaises entre bits de sortie et une partie de ltat interne dont le biais ne soit pas trop important.Ce type dattaque nest pas applicable directement quand il nest pas possible de scinder ltatinterne du GPA facilement, par exemple dans le cas dun LFSR filtr, mme en prsence dunefonction dextraction ayant une approximation linaire fortement biaise. Pour pouvoir attaquerdans ce cas, on a recours une gnralisation des attaques par corrlation, les attaques parcorrlation rapides [96, 97].

    De la manire la plus gnrale possible, lexistence dapproximations linaires biaises reliantk bits de ltat interne et les bits de sortie permet de construire une instance dun problmede dcodage. On note xti la valeur linstant t du bit i de la partie de ltat interne voluantde manire linaire. On note L la taille de cette partie de ltat. Lvolution de ltat internetant linaire, on peut exprimer facilement ses valeurs en fonction des valeurs initiales des bitsde ltat interne. On note la fonction dvolution linaire de ltat interne.

    Par ailleurs on note zt le bit de suite chiffrante produit linstant t. La possibilit de raliserune attaque par corrlation repose sur lexistence dapproximations de combinaisons linairesdes bits de ltat interne par des bits de sortie.

    titre dexemple, dans le cas du LFSR filtr, toute approximation linaire de la fonction boolenne utilise

    permet de relier la sortie linstant t ltat linstant t et donc ltat initial avec unbiais gal celui de lapproximation linaire de la fonction.

    t(x0) a = zt [].

    dans le cas de GRAINv0 [15], en combinant deux bits de sortie on obtient 16 approxima-tions linaires de mme biais

    t(x0) aj = zt zt+80 [28.67], 1 j 16.

  • 1.3. Principes de cryptanalyse 21

    Supposons que lattaquant dispose de D bits de suite chiffrante z = (z0, . . . , zD1) et quilpeut en driver M approximations de combinaisons linaires de bits de ltat initial x = x0 debiais

    L1i=0

    xiai,j = fi(z) [], 0 j < M.

    Lobjectif de lattaquant est de retrouver x = (x0, . . . , xL1) partir de ces approxi-mations. Considrons le code linaire C de paramtre (M,L), de matrice gnratrice A =(ai,j)0i

  • 22 Chapitre 1. Prliminaires

    Lalgorithme dcrit en [78] ralise un compromis temps-mmoire pour trouver des collisionssur les bits de ltat interne ne faisant pas partie du sous-ensemble de taille B entre deuxcombinaisons dapproximations, chaque collision donnant un test de parit. Une optimisationalgorithmique permet de diminuer la quantit de mmoire ncessaire la ralisation de ce com-promis temps-mmoire [39]. Cette phase de construction de tests de parit ne dpend pas dessorties de lalgorithme de chiffrement par flot et peut tre prcalcule.

    Le mme article donne galement une mthode pour valuer efficacement les tests de paritau moyen de la transorme de Walsh rapide.

    1.3.3 Attaques algbriques

    Une grande partie des algorithmes cryptographiques symtriques peuvent compltement tredcrits par un systme dquations algbriques multivaries dans F2, dont les variables sontdes bits de cl ou dtats internes lalgorithme et les quations sont constitues partir desspcifications de lalgorithme et les donnes publiques (couple clair-chiffr, suites chiffrantes,...).Une voie dattaque envisager est la rsolution directe dun tel systme par un adversaire.Cette approche a fait lobjet dune grande attention [48, 40] dans le domaine de la cryptanalysedes algorithmes de chiffrement par bloc suite la slection par le NIST de Rijndael commestandard de chiffrement [103]. Cet algorithme de chiffrement par bloc possde une structurealgbrique caractristique, qui permet de construire partir dune paire (clair, chiffr) un systmequadratique dont la rsolution permet le recouvrement de la cl. Les attaques algbriques sontparticulirement attirantes du fait du peu de donnes quelles ncessitent en thorie : un systmeconstruit partir de quelques paires (clair, chiffr) dispose en effet a priori dune solution uniquecorrespondant la cl de lalgorithme. Cependant, en dehors de rsultats sur des algorithmesrduits, cette approche na jusqu prsent pas permis de casser dalgorithmes de chiffrement parbloc modernes, en raison de la taille des systmes algbriques produits et de la grande complexitde la rsolution dun systme dquations multivaries [44].

    Dans le cadre du chiffrement par flot, des rsultats plus intressants ont pu tre obtenus. Ilsdcoulent : de la possibilit de construire des systmes algbriques surdtermins. En effet, chaque bit

    de suite chiffrante fournit une nouvelle quation. On peut donc construire des systmescomportant beaucoup plus dquations que dinconnues. Si on peut collecter plus dqua-tions que le nombre de monmes en les inconnues de degr d, degr maximal des fonctionsboolennes rencontres, on peut rsoudre le systme par linarisation, i.e. en considrantchaque monme comme une variable indpendante ;

    de la structure des systmes dquations gnres : on peut parfois retraiter le systmedquations obtenu pour obtenir un systme dquations de degr moindre. On parle dat-taques algbriques rapides [45, 72]. Ces attaques ont conduit dfinir des critres descurit additionnels pour les composants des algorithmes de chiffrement par flot.

    On dcrira plus en dtail au chapitre 2 lapplication de ces attaques au cas du LFSR filtr.

    1.3.4 Attaques diffrentielles

    La notion dattaque diffrentielle merge de la cryptanalyse des algorithmes de chiffrementpar bloc et a notamment permis dobtenir les premiers rsultats contre lalgorithme DES [21].Il sagit dtudier le comportement diffrentiel de lalgorithme, cest dire comment pourdes couples de clairs de diffrence donne et bien choisie, cette diffrence initiale se propage aucours du calcul de la fonction de chiffrement.

  • 1.3. Principes de cryptanalyse 23

    Lapplication dattaques diffrentielles contre les algorithmes de chiffrement par flot est plusrcente et a t formalise par Muller en 2004 [102]. En effet, pour les premiers algorithmes dechiffrement par flot, le seul paramtre du GPA est la cl, paramtre sur lequel lattaquant nexerceaucun contrle dans les scnarios dattaque traditionnels. Linclusion part entire des IV dansles procdures dinitialisation des GPAs et lutilisation de mcanismes introduisant clair (chiffre-ment par flot authentifi) ou chiffr (algorithme de chiffrement par flot auto-synchronisant) dansltat du GPA qui fournit lattaquant un contrle nouveau sur ltat du GPA, contrle quilest susceptible dexploiter en tirant parti du comportement diffrentiel des fonctions davanceet dextraction. De nombreuses attaques de ce type ont t publies au dbut de la comptitioneSTREAM, contre des algorithmes nayant pas suffisamment pris en considration le contrleventuel de lattaquant sur la mise lIV de lalgorithme [77, 71, 141, 80, 142, 76]. On donnedans le chapitre suivant un exemple dattaque diffrentielle sur la mise lIV dun algorithmede chiffrement par flot.

  • Chapitre 2

    Structure Algbrique du RegistreLinaire Filtr

    Sommaire2.1 Prliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    2.1.1 Corps finis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.1.2 Algbre linaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.1.3 Suite rcurrente linaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    2.2 Registre dcalage rtroaction linaire . . . . . . . . . . . . . . . . . . 312.2.1 Reprsentation matricielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2.2 Lien avec les suites rcurrentes linaires . . . . . . . . . . . . . . . . . . . . 322.2.3 Reprsentation algbrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.2.4 Algorithme de Berlekamp-Massey . . . . . . . . . . . . . . . . . . . . . . . . 33

    2.3 Fonction boolennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.3.1 Dfinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.3.2 Reprsentation algbrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2.4 Cryptanalyse algbrique du LFSR filtr . . . . . . . . . . . . . . . . . . . 372.4.1 Attaques algbriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.4.2 Structure linaire du LFSR filtr. . . . . . . . . . . . . . . . . . . . . . . . . 422.4.3 Attaques algbriques rapides. . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    On prsente dans ce chapitre la cryptanalyse algbrique du registre linaire filtr. Cet algo-rithme classique de chiffrement par flot, dune grande simplicit, est dfini par un registre linaireet une fonction boolenne. Ltude des proprits de la fonction boolenne peut conduire desattaques algbriques contre ce GPA. Afin damliorer ces attaques, on peut de plus prendre encompte la riche structure lie lemploi dun registre linaire sous-jacent. Ceci permet dtendreles attaques algbriques en attaques algbriques rapides, mais aussi dtablir des correspondancesentre LFSR filtrs et LFSR combins.

    On commence par rappeler la dfinition et les proprits des LFSR et des suites pseudo-alatoires quils gnrent. Dans un deuxime temps, on introduit les fonctions boolennes. Onprsente alors les attaques algbriques sur le LFSR filtr. On tudie ensuite les proprits dessuites produites par le LFSR filtr. Ces proprits rvlent une structure sous-jacente qui peuttre exploite pour raliser des attaques algbriques rapides.

    2.1 Prliminaires

    On commence par rappeler quelques dfinitions et proprits dobjets mathmatiques utiles la cryptanalyse des LFSR.

  • 26 Chapitre 2. Structure Algbrique du Registre Linaire Filtr

    2.1.1 Corps finis

    Comme nous le verrons dans les sections suivantes, il existe des liens trs forts entre lesLFSR et LFSR filtrs et la thorie des corps finis. On commence par effectuer quelques rappelsde thorie des corps finis. On renvoie [90] pour une description plus exhaustive et les preuvesdes rsultats noncs.

    Thorme 1 (Thorme de Wedderburn) Tout corps fini est commutatif.

    Dfinition 1 Soit K un corps fini. On note 1K llment neutre de la loi multiplicative. Le pluspetit entier non nul p tel que p 1K = 0K est appel caractristique du corps K.

    Proposition 1 La caractristique dun corps fini est un nombre premier.

    Proposition 2 Soit K un corps fini. Si on note p sa caractristique, alors le cardinal de K estde la forme pm avec m N.

    Proposition 3 Soit K un corps fini de cardinal q = pm. Le groupe des lments inversibles Kest cyclique. On dsigne par lments primitifs les gnrateurs de K. Soit un lment primitifde K. Alors lensemble des lments primitifs de K est

    {k : k (pm 1) = 1}.

    Le cardinal de cet ensemble est donn par (pm 1), o est la fonction dEuler.

    Proposition 4 Soit K un corps fini de cardinal q = pm. Tout lment non nul de K vrifieq1 = 1. On en dduit

    Xpm X =

    K

    X .

    Proposition 5 (Construction dun corps fini de caractristique p) Soit P un polynmeirrductible unitaire de Z/pZ[X] de degr m. Lgalit modulo P des polynmes de Z/pZ[X]dfinit une relation dquivalence dont le quotient (Z/pZ[X])/P est un corps de cardinal pm.

    Proposition 6Xp

    m X =

    Q Z/pZ[X]irrductible unitaire

    de degr r|m

    Q(X)

    On en dduit pour tout d lexistence de polynmes unitaires irrductibles de Z/pZ[X] de degr d.

    On en dduit galement une caractrisation des polynmes irrductibles.

    Proposition 7 Soit P un polynme unitaire de Z/pZ[X] de degr m. P est irrductible ssi P divise Xpm X ; P est premier avec Xpr X, r|m.

    Proposition 8 Soit p entier premier et m entier positif. Il existe un corps de cardinal q = pm.De plus deux corps de cardinal pm sont isomorphes. On note Fq le corps q lments.

  • 2.1. Prliminaires 27

    Exemple : Fp = Z/pZ.

    Proposition 9 Les sous-corps de Fq, q = pm, sont les corps Fd avec d|m. En particulier Fp estun sous-corps de Fq.

    Dfinition 2 Soit Fq, q = pm, un corps fini. La fonction

    Fr : Fq Fq p

    est un automorphisme de Fq, appel morphisme de Frob