Implémentation matérielle de coprocesseurs haute performance pour la cryptographie asymétrique - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2012

Coprocessors architectures for high performance computations of asymmetric cryptography

Implémentation matérielle de coprocesseurs haute performance pour la cryptographie asymétrique

Résumé

In this PhD thesis I propose coprocessors architectures for high performance computations of asymmetric primitives like RSA, Elliptic Curves and Pairing. Coprocessors have been implemented in FPGA, and propose the lowest latency ever showed in public litterature on such targets. The novelty of these architectures is the usage of the Residue Number System (RNS), an alternate way to represent big numbers. The work presented here confirms with experimentation the theoretical advantages of this system previously emphasized by [14, 13, 43]. Together with this theoretical advantage RNS computation can be efficiently parallelized, and getting highly regular and parallelized architectures to reach high frequency while computing modular operations in few cycles is possible, whatever is the size of the numbers. For example, a scalar multiplication on a generic 160 elliptic curve can be executed in 0.57 ms on an Altera Stratix, and in 4 ms on a 512 bits curve, compared with classical representations which hardly do the same in twice this time with comparable technologies (except for particular curves). For Pairing the results are even more interesting, since a 4 times division of the latency had been reached by the time [35] was published, and the first time a Pairing over large characteristic fields was executed in less than 1 ms on a FPGA. Eventually, I demonstrate the ability RNS to provide original solutions to protect computations against side channel and perturbation threats. I propose 2 countermeasures to thwart faults and power analysis which can be used on every primitives relying on big number modular arithmetic. These countermeasures are designed to be efficiently adapted on the RNS coprocessors.
Dans cette thèse, je propose des architectures de coprocesseurs haute performance pour implémenter les primitives de cryptographie asymétrique, comme le RSA, les courbes elliptiques ou le couplage. Les coprocesseurs décrits dans cette thèse ont été implémentés dans des FPGA, et présentent des performances jamais égalées auparavant dans la littérature publique sur ce type de technologie. La particularité de ces architectures est l'utilisation du Residue Number System, un mode de représentation alternatif qui utilise les restes chinois pour calculer efficacement les opérations arithmétiques sur les grands nombres. Ces travaux permettent de confirmer expérimentalement les avantages théoriques de ce mode de représentation pour l'arithmétique modulaire, issus de [14, 13, 43]. Au bénéfice théorique que le RNS apporte s'ajoute une forte capacité de parallélisation qui permet d'obtenir des designs réguliers et pipelinés, proposant une fréquence maximale importante tout en réalisant les opérations modulaires dans un nombre très faible de cycles, et ce quelle que soit la taille des nombres. A titre d'exemple, une multiplication scalaire sur une courbe de 160 bits s'effectue en 0.57 ms sur un Altera Stratix, et en 4 ms pour une courbe de 512 bits, là ou les techniques de représentation classiques réalisent la même opération en le double de temps, à technologie équivalente (excepté pour des courbes particulières). Dans le cas du couplage, le gain est encore plus intéressant, puisqu'il a permis une division par 4 de latence de la meilleure implémentation sur corps de grande caractéristique au moment de la publication de [35], et la première implémentation d'un couplage à 128 bits de sécurité sur corps de grande caractéristique à descendre en dessous de la milliseconde. Enfin, je démontre la capacité du RNS à sécuriser une implémentation haute performance, en proposant 2 contre-mesures contre les canaux auxiliaires et les fautes s'adaptant efficacement sur les coprocesseurs et pouvant être utilisées pour toutes les primitives cryptographiques basées sur l'arithmétique modulaire de grands nombres.
Fichier principal
Vignette du fichier
these_finale.pdf (869 Ko) Télécharger le fichier
Loading...

Dates et versions

tel-00674975 , version 1 (28-02-2012)

Identifiants

  • HAL Id : tel-00674975 , version 1

Citer

Nicolas Guillermin. Implémentation matérielle de coprocesseurs haute performance pour la cryptographie asymétrique. Cryptographie et sécurité [cs.CR]. Université Rennes 1, 2012. Français. ⟨NNT : ⟩. ⟨tel-00674975⟩
575 Consultations
1188 Téléchargements

Partager

Gmail Facebook X LinkedIn More