n=
p
X
k=1
xk2k
o`u les xkont pour valeur 0 ou 1. Et on utilisera les puissances a2kde aet les valeurs
de xkpour effectuer le calcul.
2. Donner l’ordre de grandeur du nombre de multiplications `a effectuer en fonction de n.
3 Anagrammes
On vous propose maintenant d’´ecrire un algorithme permettant de v´erifier si deux mots
(repr´esent´es sous la forme de tableaux de caract`eres) sont l’anagramme l’un de l’autre.
C’est `a dire contiennent exactement les mˆemes caract`eres mais dans un ordre diff´erent.
Par exemple Marion est anagramme de Romain,arbre est anagramme de barre. Pour sim-
plifier, on supposera que les caract`eres sont des nombres de 0 `a 25 et on notera fet gles
tableaux repr´esentants les deux mots.
Annexe
L’exercice 2 est motiv´e par l’algorithme d’´echange de cl´es Diffie-Hellman, du nom de ses
auteurs Whitfield Diffie et Martin Hellman. Il s’agit d’une m´ethode par laquelle deux per-
sonnes nomm´ees conventionnellement Alice et Bob peuvent se mettre d’accord sur un nom-
bre (qu’elles peuvent utiliser comme cl´e pour chiffrer la conversation suivante) sans qu’une
troisi`eme personne appel´ee Eve puisse d´ecouvrir le nombre en ´ecoutant leur conversation.
Cet algorithme est d´ecrit ci dessous.
•Alice et Bob ont choisi un nombre gconnu de tous,
•Alice choisit un nombre au hasard aqu’elle tient soigneusement cach´e, ´el`eve g`a la
puissance a, et donne `a Bob la valeur de ga,
•Bob fait de mˆeme avec le nombre b, donnant `a Alice la valeur de gb,
•Alice, en ´elevant le nombre re¸cu de Bob `a la puissance a, obtient gba.
•Bob fait le calcul analogue et obtient aussi gab. Eve ne peut pas d´ecouvrir facilement
aet b, donc ne peut pas calculer gab.
En pratique les calculs se font modulo un nombre premier pet Bob envoie donc gbmod p.
Alice l’´el`eve alors `a la puissance aet obtient (gbmod p)amod p =gab mod p. La s´ecurit´e
de ce protocole r´eside dans la difficult´e du probl`eme du logarithme discret : pour que Eve
retrouve gab `a partir de gaet gb, elle doit ´elever l’un ou l’autre `a la puissance bou `a la
puissance arespectivement. Mais d´eduire a(resp. b) grˆace `a ga(resp. gb) est un probl`eme
que l’on ne sait pas r´esoudre efficacement. Eve est donc dans l’impossibilit´e (calculatoire)
de d´eduire gab.
Un algorithme pour calculer une clef secr`ete n´ecessite de pouvoir ´elever `a la puissance de
fa¸con rapide.
2