Séminaire de Cryptographie

Accueil     Présentation     Archives

Luca De Féo


Géométries affines finies et recherche de racines dans GF(q^n)

La recherche de racines dans un corps fini est un problème classique, avec de nombreuses applications en cryptographie et codage. Étant donné un polynôme de degré d à coefficients dans un corps fini GF(q^n), on cherche ses zéros dans GF(q^n).

Cet exposé s'intéresse au cas où q est un petit nombre, et donc notamment au cas de la petite caractéristique. Nous présentons trois algorithmes pour la recherche de racines. Berlekamp's Trace Algorithm (BTA), proposé par Berlekamp en '67, le Affine Refinement Method (ARM), proposé par Menezes, van Oorschot et Vanstone en '89, et le Successive Resultants Algorithm, proposé par Petit en '14.

Nous mettons en évidence le lien entre ces trois algorithmes et la géométrie affine de GF(q^n). Le lien entre BTA et ARM a déjà été mis en évidence par Menezes et ses co-auteurs, qui concluaient en faveur de ARM. Nous montrons que leur analyse est trop pessimiste, et qu'une simple modification de ARM est tout à fait compétitive avec BTA pour tout paramètre. Le lien entre BTA et ARM n'a pas été remarqué auparavant. Nous montrons que ces deux algorithmes sont dans un sens *duaux* l'un de l'autre, et que leurs performances sont très proches.

Nous donnons une analyse détaillée des trois algorithmes, et comparons leurs implantations avec l'état de l'art. Nous proposons aussi des variantes adaptées à certaines classes de corps finis.

Ceci est un travail commun avec Michaël Quisquater et Christophe Petit.