Thèse soutenue

Unités arithmétiques et cryptoprocesseurs matériels pour la cryptographie sur courbe hyperelliptique

FR  |  
EN
Auteur / Autrice : Gabriel Gallin
Direction : Arnaud Tisserand
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 29/11/2018
Etablissement(s) : Rennes 1
Ecole(s) doctorale(s) : École doctorale Mathématiques et sciences et technologies de l'information et de la communication (Rennes)
Partenaire(s) de recherche : ComuE : Université Bretagne Loire (2016-2019)
Laboratoire : Institut de recherche en informatique et systèmes aléatoires (Rennes) - CAIRN

Résumé

FR  |  
EN

De nombreux systèmes numériques nécessitent des primitives de cryptographie asymétrique de plus en plus performantes mais aussi robustes aux attaques et peu coûteuses pour les applications embarquées. Dans cette optique, la cryptographie sur courbe hyperelliptique (HECC) a été proposée comme une alternative intéressante aux techniques actuelles du fait de corps finis plus petits. Nous avons étudié des cryptoprocesseurs HECC matériels performants, flexibles et robustes contre certaines attaques physiques. Tout d’abord, nous avons proposé une nouvelle architecture d’opérateurs exécutant, en parallèle, plusieurs multiplications modulaires (A × B) mod P, où P est un premier générique de quelques centaines de bits et configurable dynamiquement. Elle permet le calcul de la grande majorité des opérations nécessaires pour HECC. Nous avons développé un générateur d’opérateurs, distribué en logiciel libre, pour l'exploration de nombreuses variantes de notre architecture. Nos meilleurs opérateurs sont jusqu'à 2 fois plus petits et 2 fois plus rapids que les meilleures solutions de l'état de l'art. Ils sont aussi flexibles quant au choix de P et atteignent les fréquences maximales du FPGA. Dans un second temps, nous avons développé des outils de modélisation et de simulation pour explorer, évaluer et valider différentes architectures matérielles pour la multiplication scalaire dans HECC sur les surfaces de Kummer. Nous avons implanté, validé et évalué les meilleures architectures sur différents FPGA. Elles atteignent des vitesses similaires aux meilleures solutions comparables de l’état de l’art, mais pour des surfaces réduites de moitié. La flexibilité obtenue permet de modifier lors de l'exécution les paramètres des courbes utilisées.