Télécharger le fichier pdf d’un mémoire de fin d’études
Courbes Elliptiques
Representation des elements d’un corps ni GF(2m)
En base polynomiale, A est represent comme Pm 1 a0i xi ou les coe cients a0i appar- i=0 tiennent a GF(2). Les additions et multiplications sont des operations polynomiales le tout modulo un polyn^ome irreductible f 2 GF(2)[x].
Il existe d’autres bases speci ques pour les corps nis binaires comme les bases de Dick-sons [47] ou bien encore, les bases duales [48].
Algorithmes d’Inversion dans GF(2m)
Autrement dit, nous pouvons atteindre Un par un enchainement de calculs de type Uk+Uj . L’algorithme d’Itoh-Tsujii est decrit dans Algo. 12. Plus la cha^ne d’additions (U) est courte, moins il y aura de multiplications dans l’exponentiation d’Itoh-Tsujii. Trouver une cha^ne courte dont le dernier terme Un vaut m 1 est un probleme reput di cile (voir par exemple [58, Section 4.6.3]).
Le multiplieur de Massey-Omura est un operateur sequentiel qui produit a chaque cycle d’horloge un bit du produit. Nous utilisons un petit registre de w bits a n de stocker les w bits consecutifs ([pi; pi+1; : : : ; pi+w 1]). Le contenu de ce registre est envoy au bloc-memoire a chaque cycle d’horloge (il y a donc une latence de w cycles, le temps que ce registre tampon se remplisse). En consequence, le nombre de cycles d’horloge necessaires pour calculer chaque produit de la sequence d’exponentiation est de fait m + w.
Les mises au carre sont realisees en lisant les mots composants l’element permut a l’adresse (i + w) mod m pour 2 f0; 1; 2; : : : ; bm=wc]g, ou i est la valeur du decalage. Cette methode semble equivalente a une strategie plus na ve, qui consisterait a decaler de 1 bit autant de fois que necessaire (et en autant de cycles d’horloge) le registre en question. Cette strategie nous permettra cependant d’avoir un contr^ole plus aise a im-planter et une plus grande exibilit . Cette methode rentre aussi dans la philosophie selon laquelle le transfert de donnees entre unites fonctionnelles doit se faire sur des bus de tailles moderees.
avec Q = (u; v). Nous voulons maintenant trouver le point P tel que Q = 2 P . Nous nous assurons, tout d’abord, de son unicite et de son existence dans E(GF(2m)) en remarquant que, si un tel P existe, alors Q=2 = Q (2 1 mod NP ) ou NP est l’ordre de P dans le groupe E(GF(2m)). L’existence de (2 1 mod NP ) est reli au fait que 2 doit ^etre premier avec NP , c’est a dire que NP se doit d’^etre impair. Dans ce cas, le doublement du point P et la division de P est un automorphisme du groupe gener par ce m^eme point [20]. La premiere chose a faire pour trouver P est de resoudre, pour , l’equation : u = 2 + + a (4.2).
|
Table des matières
1 Introduction
2 Quelques mots sur la cryptographie
2.1 La probl´ematique
Algorithme de Diffie-Hellman
Le probl`eme du Logarithme Discret
Algorithme RSA
Algorithme Elgamal
2.2 Courbes Elliptiques
D´efinitions
Types de Coordonn´ees
Multiplication Scalaire
2.3 Et les FPGAs ?
2.4 Chiffres d’impl´ementations de multiplieurs sur divers FPGAs.
3 ≪ Petit ≫ multiplieur/inverseur (PISO) y en base normale dans GF(2m)
3.1 Introduction
3.2 Etat de l’art ´
3.2.1 Le corps fini GF(2m)
3.2.2 Repr´esentation des ´el´ements d’un corps fini GF(2m)
3.2.3 Additions, Traces et Multiplications en base normale GF(2m)
3.2.4 Algorithmes d’Inversion dans GF(2m)
3.3 Solution propos´ee
3.3.1 D´ecaler avec des blocs-m´emoires
3.3.2 Exploitation des formes A2k × A
3.3.3 Multiplication et inversion en base normale permut´ee
3.3.4 Estimation du co^ut
3.4 D´etails de l’impl´ementation sur FPGA et r´esultats
3.5 Conclusion
4 Crypto-processeur int´egrant une unit´e de Halving
4.1 Op´eration de Halving
4.2 Op´erateur de r´esolution de λ2 + λ = c
4.3 Additionneur en base normale dans GF(2m)
4.4 Racine carr´ee
4.5 Parall´elisme halve-and-add et double-and-addy. Parallel-In Serial-Out.
4.6 Architecture propos´ee
4.7 Performances
4.8 Evaluation de la s´ecurit´e physique de notre crypto-processeur. ´
4.8.1 La g´en´eration des templates
4.8.2 Exploitation des templates
4.8.3 Des id´ees pour r´eduire la vuln´erabilit´e du crypto-processeur
4.8.4 G´en´eration de l’al´ea
4.8.5 R´esultats des attaques par Templates
4.9 Conclusion
5 RNS dans GF(2m)
5.1 R´eduction modulaire en RNS
5.1.1 Algorithme de Montgomery
5.1.2 Multiplication de Mastrovito
5.1.3 Th´eor`eme chinois des restes
5.2 Φ-RNS
5.2.1 Quelques notions math´ematiques
5.2.2 Architecture propos´ee
5.2.3 R´esultats d’impl´ementation et comparaisons
5.2.4 Racine carr´ee en RNS
5.2.5 Inversion en RNS
5.3 Conclusion
6 Conclusion
A Multiplications en Base Normale sur CPU
A.1 Etat de l’art ´
A.2 Parall´elisme de la Multiplication en Base Normale
A.3 Parall´elisme dans l’Inversion en Base Normale
A.4 Conclusion
Bibliographie
Télécharger le rapport complet
