Description
HFE (Hidden Fields Equations) est un cryptosystème à clef publique n'utilisant pas la théorie des nombres (comme RSA) mais des opérations sur les polynômes à coefficient dans un corps fini. Ce cryptosystème a été proposé par Jacques Patarin à Eurocrypt 96 en améliorant les idées de Matsumoto et Imai. Ce cryptosystème semblait très prometteur car il peut servir à générer des signatures très courtes: 128, 100 ou même 80 bits.<br/> L'idée de HFE est de prendre un polynôme univarié secret à coefficient dans GF(2^n) puis d'exprimer ce polynôme sur GF(2). On obtient ainsi un système algébrique en n variables (la clef publique).<br/> Retrouver le message original connaissant la clef secrète est «facile» puisque cela revient à résoudre un problème univarié. En revanche avec seulement la clef publique cela devient un problème très difficile puisqu'il s'agit de résoudre un système algébrique.<br/> Plusieurs cryptographes ont proposé des méthodes «nouvelles» pour résoudre ou étudier la complexité des systèmes algébriques sur les corps finis (Patarin, Shamir, Courtois, ...).<br/> Nous montrons dans cet exposé comment les nouveaux algorithmes (F5) de base de Gröbner permettent de:<br/> 1) dériver très facilement un algorithme spécialisé très efficace pour les corps finis.<br/> 2) casser assez facilement le Challenge proposé par J. Patarin (le challenge est un exemple réaliste en taille 80 bits).<br/> 3) mener une étude de complexité expérimentale pour les systèmes HFE. Par exemple si le degré du polynôme secret est < 129 la complexité du calcul est seulement $n^8$.<br/> 4) établir des bornes de complexité théorique très précises pour les systèmes algébriques dans un corps fini et en particulier l'équivalent de la borne de Macaulay $1 + \sum_i (d_i -1)$. (travail en collaboration avec B. Salvy et M. Bardet).<br/> Ces bornes théoriques sont particulièrement utiles pour comprendre la distinction entre un système aléatoire (difficile) et un système provenant de HFE (plus facile).