• Aucun résultat trouvé

Une extension des nombres de Mersenne G´ en´ eralis´ es

2.4 La famille des nombres de Mersenne

2.4.4 Une extension des nombres de Mersenne G´ en´ eralis´ es

En 2003, Chung et Hasan [18] proposent de fusionner les deux classes concurrentes, les nombres Pseudo Mersenne et les nombres de Mersenne G´en´eralis´es. Puisque les nombres Pseudo Mersenne semblent plus adapt´es pour un travail sur les mots et que les nombres de Mersenne G´en´eralis´es semblent plus adapt´es au travail sur les grands nombres, Chung et Hasan d´ecident d’utiliser les deux types de propri´et´es pour proposer une classe encore plus ´etendue : les nombres de Mersenne Plus G´en´eralis´es.

D´efinition 8 Un nombre de Mersenne Plus G´en´eralis´e est un entier p de la forme p = P (2k− c) avec c < 2k2 o`u P est un polynˆome unitaire de degr´e n tel que ces coefficients Pi appartiennent `a

{−1, 0, 1} et que son second terme de plus au degr´e soit de degr´e ≤ n2.

La d´efinition 8 correspond `a la d´efinition des nombres de Mersenne G´en´eralis´es mais o`u le polynˆome est ´evalu´e en un nombre Pseudo Mersenne.

Exemple 11 Le polynˆome P (X) = X4− X3− 1 ´evalu´e en β = 24− 2 donne p = P (β) = 35671,

qui est un nombre premier.

2.4.5 Etude comparative´

L’utilisation des classes de moduli particuliers est int´eressante si l’on a la possibilit´e de choisir le modulo sur lequel on d´esire op´erer. C’est la cas pour l’utilisation des protocole d’ECC.

Les nombres Pseudo Mersenne et les nombres de Mersenne G´en´eralis´es sont tous les deux pertinents mais dans des situations diff´erentes. Les nombres de Mersenne G´en´eralis´es paraissent plus adapt´es avec leurs forme polynomiale au calcul sur les grands nombres qui sont souvent repr´esent´es sous forme polynomiale. Les nombres Pseudo Mersenne sont plutˆot conseill´es pour op´erer sur des chiffres, c’est `a dire sur de petits moduli.

Les algorithmes des classes de moduli particuliers sont hi´erarchis´es en coˆut mais aussi en densit´e de la classe concern´ee. Plus la classe est petite plus elle est rapide. Sur la figure 2.3, nous voyons que moins l’on a de contraintes, plus on monte dans la hi´erarchie et plus l’on acc´el`ere l’arithm´etique modulaire utilisable sur la classe concern´ee.

2n− 1

Plus G´en´eralis´ees

G´en´eralis´ees 2n− c Hiasat Taylor Takagi Blakley Table m´emoire repr´esentation Montgomery Barrett Algorithmes de r´eduction

Algorithmes g´en´eralistes

Algorithmes pour grands moduli Algorithmes

pour petits moduli

Algorithmes int´egr´es

P (2k), kP k ∞= 1 P (2k− c), kP k ∞= 1 Mersenne Mersenne Pseudo Mersenne Mersenne

Syst`emes de repr´esentation adapt´es `a

l’arithm´etique modulaire

Sommaire

3.1 D´efinition et propri´et´es des syst`emes de repr´esentation adapt´es . . . . 48 3.1.1 Les syst`emes de num´eration simple de position . . . 48 3.1.2 Les syst`emes de repr´esentation modulaire . . . 49 3.1.3 Les syst`emes de repr´esentation adapt´es . . . 52 3.2 Algorithmique sur les syst`emes de repr´esentation adapt´es . . . 53 3.2.1 La multiplication . . . 53 3.2.2 L’addition . . . 55 3.2.3 Les conversions . . . 56 3.2.4 Principe de r´eduction des coefficients . . . 57 3.3 Une classe de moduli optimis´ee . . . 59 3.3.1 Principe de r´eduction interne . . . 59 3.3.2 Minimisation de la matrice de r´eduction . . . 63 3.3.3 Cr´eation d’un syst`eme de repr´esentation adapt´e optimis´e . . . 64 3.3.4 Densit´e de la classe de moduli . . . 65 3.3.5 Exemple dans le syst`eme de repr´esentation adapt´e B256 . . . 67

3.4 G´en´eralisation des syst`emes de repr´esentation adapt´es . . . 73 3.4.1 Les r´eseaux euclidiens . . . 73 3.4.2 Th´eor`eme fondamental des syst`emes de repr´esentation adapt´es . . . 76 3.4.3 Utilisation de tables m´emoire . . . 82 3.4.4 Transcription d’algorithmes connus dans les syst`emes de repr´esentation

adapt´es . . . 85 Les repr´esentations des nombres utilis´ees jusqu’`a pr´esent en arithm´etique modulaire sont des syst`emes classiques de repr´esentation des nombres. Les algorithmes de calculs modulaires sur ces syst`emes utilisent diff´erentes m´ethodes classiques d’arithm´etique en calcul modulaire (Voir Sec- tion 2.3). L’autre solution utilis´ee est de trouver des moduli adapt´es `a la repr´esentation de position : c’est la “famille des Mersenne” (Voir Section 2.4). Nous proposons non plus de chercher des mo- duli adapt´es au syst`eme de repr´esentation utilis´e mais de chercher des syst`emes de repr´esentation adapt´es au modulo choisi. Ces syst`emes permettent de cr´eer au choix une classe de moduli pour ECC ou une arithm´etique g´en´eraliste pour RSA.

Dans ce chapitre, nous commen¸cons par d´efinir le syst`eme de repr´esentation que nous allons utiliser ainsi que tous les syst`emes de repr´esentation qui sont n´ecessaires `a sa compr´ehension. Nous pr´esentons aussi les premi`eres propri´et´es fondamentales que nous avons sur ce nouveau syst`eme de repr´esentation.

Cette repr´esentation introduite, nous proposons les algorithmes n´ecessaires pour calculer : nous montrons comment additionner ou multiplier dans ce syst`eme mais aussi comment passer d’une repr´esentation classique de position `a cette repr´esentation et inversement. Les algorithmes que nous proposons font appel `a une op´eration primordiale des syst`emes de repr´esentation adapt´es : la r´eduction des coefficients. Les deux parties qui terminent ce chapitre proposent diff´erentes solutions pour effectuer cette op´eration de r´eduction des coefficients.

Pour r´eduire le surcoˆut dˆu `a la r´eduction des coefficients, une premi`ere id´ee inspir´ee des be- soins r´eels de la cryptographie `a cl´e publique est de proposer une classe de moduli pour laquelle nous pouvons le borner. Cette classe est compos´ee de moduli sur lesquels l’arithm´etique propos´ee concurrence la “famille des Mersenne” : Mersenne, Pseudo Mersenne, Mersenne G´en´eralis´es, . . . (Voir Section 2.4). Ce travail a ´et´e publi´e dans [10].

Il existe des protocoles (RSA par exemple) pour lesquels le modulo sur lequel ils op`erent ne peut ˆetre choisi librement. Dans une derni`ere partie, nous proposons une arithm´etique g´en´eraliste sur les syst`emes de repr´esentation adapt´es ; celle ci est efficace pour tous les moduli. La solution propos´ee utilise la th´eorie des r´eseaux Euclidiens. Celle ci permet dans un premier temps de borner notre repr´esentation `a des tailles raisonnables. Nous terminons par une proposition de plusieurs types d’algorithmes g´en´eralistes de r´eduction des coefficients. Ce travail a ´et´e publi´e dans [11].

3.1

D´efinition et propri´et´es des syst`emes de repr´esentation

adapt´es

Avant de d´efinir les syst`emes de repr´esentation adapt´es, nous rappelons ce qu’est la repr´esentation par syst`eme de num´eration simple de position. Ensuite, nous introduisons les syst`emes de repr´esentation modulaires ainsi que diff´erents crit`eres permettant de les analyser. Ce nouveau syst`eme modulaire sert de base pour pouvoir cr´eer un syst`eme de repr´esentation adapt´e. Nous terminons par la d´efinition du syst`eme de repr´esentation adapt´e.