Groupe de tresses et Cryptographie

publicité
Rapport de Stage de Magistère
sous la direction de
Patrick Dehornoy
Laboratoire de Mathématiques
Nicolas Oresme
Université de Caen
Groupe de tresses et Cryptographie
Juillet 2003
Cédric Milliet
Table des matières
Introduction
1
1 Le groupe de tresses
1.1 Tresses géométriques . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Présentation du groupe de tresses . . . . . . . . . . . . . . . . . .
1.3 Le monoı̈de des tresses positives Bn+ . . . . . . . . . . . . . . . .
3
3
4
6
2 Le problème de mot
2.1 Forme normale . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Une forme réduite : la réduction des poignées . . . . . . . . . . .
8
8
10
3 Un problème difficile du groupe de tresse
11
3.1 Construction d’un élément ã de SSS(a) . . . . . . . . . . . . . . 11
3.2 Construction de SSS(a) . . . . . . . . . . . . . . . . . . . . . . . 12
4 Application à la cryptographie
4.1 Cryptographie à clef secrète . . . . . . . . . . . . . .
4.2 Cryptographie à clef publique . . . . . . . . . . . . .
4.3 Pertinence du groupe de tresse . . . . . . . . . . . .
4.4 Cryptosystème à clef publique utilisant le groupe Bn
Références
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
14
15
15
17
1
Introduction
Ceci est le rapport d’un stage de première année de magistère, effectué
à Caen au Laboratoire de Mathématiques Nicolas Oresme, sous la direction
de Patrick Dehornoy. Outre le stage en lui-même, j’ai assisté au laboratoire
de Caen à plusieurs conférences sur le paradoxe de Banach-Tarski et sur la
cryptographie. J’ai également passé une semaine à Marseille au centre de
Luminy à l’occasion des Journées tresses.
Ce rapport a pour but d’introduire le groupe de tresses, d’expliquer en quoi
il est un cadre priviligié à la cryptographie, et de présenter un cryptosystème à
clef publique basé sur ce groupe.
Le premier chapitre détaille la construction du groupe de tresses en partant
de la notion géométrique de tresse, et en exhibe quelques propriétés, notamment
la présentation du groupe en terme de générateurs et de relations.
La présentation du groupe en terme de générateurs et de relations amène
naturellement la question du problème de mots que l’on résout au chapitre 2.
Le chapitre 3 expose un problème difficile du groupe de tresse, c’est-à-dire
un problème dont il n’existe pas encore de solution efficace.
C’est cette combinaison de la facilité du problème de mot et de la difficulté
d’un autre problème, qui fait du groupe de tresses un cadre propice à la cryptographie. Tel est l’objet du dernier chapitre, où l’on présente un cryptosystème
basé sur le groupe de tresses, après avoir expliqué le principe des cryptographies
à clefs secrètes et publiques.
2
1
1.1
Le groupe de tresses
Tresses géométriques
Définition — Soit f une permutation de Sn . Une tresse géométrique à n
brins associée à f est l’union de n arcs continus disjoints de R2 × [0, 1] joignant
chaque point (i, 0) au point (f (i), 1), et telle que chaque plan horizontal
R2 × {z} coupe chaque arc exactement une fois.
Figure 1 — Une tresse géométrique à quatre brins
On choisit pour l’axe des z la verticale orientée vers le bas. Chaque arc est
appelé brin. On munit l’ensemble des tresses géométriques d’un produit : le
produit de deux tresses géométriques a × b est obtenu en contractant a et b
dans R2 × [0, 21 ] et R2 × [ 12 , 1] respectivement, puis en concaténant le tout.
Figure 2 — Produit de deux tresses géométriques
Le produit ainsi obtenu n’est en général pas associatif, puisque dans le
produit (ab)c, la tresse c est contractée dans R2 × [ 12 , 1] au lieu de R2 × [ 43 , 1]
dans le produit a(bc). Mais ce produit serait associatif si on permettait aux
tresses d’être contractées ou dilatées. Ce qui nous suggère d’introduire la
relation d’équivalence suivante sur les tresses géométriques à n brins :
Définition — Deux tresses géométriques α et β sont dites isotopes s’il existe
une application g de [0, 1] dans l’ensemble des tresses géométriques, continue
pour la topologie usuelle sur R3 , et vérifiant g(0) = α et g(1) = β.
— On appelle tresse à n brins une classe d’équivalence de tresses
géométriques à n brins pour la relation d’isotopie. On note Bn l’ensemble
3
quotient correspondant.
Géométriquement, la notion d’isotopie s’exprime comme suit : deux tresses
sont isotopes si l’une peut être déformée continuement en l’autre, en laissant
les extrémités {1, .., n} × {0, 1} fixes.
Figure 3 — Deux tresses géométriques à 4 brins isotopes
Le produit passe au quotient et confère à Bn une structure de groupe :
l’inverse d’une tresse est la classe d’isotopie de image d’un de ses représentants
dans le miroir de cote 12 , l’élément neutre est la classe de la tresse triviale,
définie comme la tresse géométrique dont les brins ne se croisent pas.
Remarque — On a défini une tresse géométrique comme étant une union d’arcs
continus. Mais on aurait tout aussi bien pu considérer des arcs polygonaux, C 1
ou C ∞ . On obtiendrait alors le même groupe, toute tresse géométrique étant
isotope à une tresse C ∞ , C 1 , ou polygonale.
Remarque — On a un homomorphisme canonique de Bn sur Sn qui à une tresse
associe la permutation f −1 .
1.2
Présentation du groupe de tresses
On voudrait à présent trouver un alphabet pour coder les tresses. Pour ce
faire, on considère les tresses géométriques projetées sur le plan y = 0. L’idée
est que les projections de tresses isotopes sont entièrement caractérisées par les
croisements de leurs brins (qui forment un alphabet fini).
Définition — Une tresse géométrique est dit régulière si sa projection sur le
plan y = 0 n’a aucun point triple et un nombre fini de points doubles, de cotes
dans ]0, 1[ deux à deux distinctes.
Lemme — Toute tresse géométrique α est isotope à une tresse régulière.
4
Démonstration — On peut supposer que α a deux brins. Soit p la projection
de α selon l’axe y. On peut toujours supposer les brins de α rectifiables (car
on peut les supposer C 1 ). Si p a un nombre dénombrable de points doubles
(dn ), montrons que l’un des deux brins passe toujours devant l’autre pour n
assez grand. Sinon, l’un des deux brins ferait une infinité de fois le demi tour de
l’autre, parcourant à chaque demi-tour une longueur supérieure à πr (où r est la
distance strictement positive entre les deux brins, compacts). Ceci contredirait
le caractère rectifiable des brins. Il est alors facile de trouver une tresse α0 isotope
à α dont la projection suivant y n’ait qu’un nombre fini de points doubles. Définition — On appelle diagramme de la tresse régulière α sa projection
suivant l’axe y, avec la spécification du brin supérieur pour chaque point double.
Figure 4 — Diagramme d’une tresse
Lemme — Deux tresses géométriques régulières qui ont le même diagramme
sont isotopes.
En d’autres termes, on peut établir une bijection entre tresses à n brins
et classes de diagrammes, et résonner à partir de maintenant en terme de
diagrammes.
Proposition — Le groupe de tresses à n brins admet la présentation suivante :
hσ1 , ..., σn−1 ; σi σj = σj σi pour | i−j |≥ 2, σi σj σi = σj σi σj pour | i−j |= 1i (1)
On définit σi comme étant le croisement des brins i et i + 1 dans le sens
des aiguilles d’une montre, comme sur la figure 5. On peut alors décomposer
un diagramme en un produit de σi±1 .
Lemme — Des tresses géométriques α et β régulières dont les diagrammes
ont le même code sont isotopes.
Démonstration — On procède par récurrence sur le nombre de croisements n :
Pour n = 1, c’est-à dire pour des tresses géométriques à deux
S brins codées
par σ1 , on prend pour g(t) la tresse géométrique tα1 +(1−t)β1 tα2 +(1−t)β2
où les indices 1 et 2 désignent respectivement les brins supérieurs et inférieurs.
Pour n ≥ 1, on décompose α et β en produit de deux tresses dont les
croisements sont strictement inférieurs à n et on applique la récurrence.
5
Figure 5 — Générateurs σi , σi−1 et relations
Les relations de la présentation correspondent géométriquement au fait que
σi σj et σj σi pour | i − j |≥ 2 codent des diagrammes de tresses isotopes, de
même que σi σi+1 σi et σi+1 σi σi+1 , comme le montre la figure 5.
Esquissons une démontration de la proposition 1. Soit Bn0 le groupe définit
par la relation (1). Les relations d’isotopies illustrées par la figure 5 et le lemme
précédent entraı̂nent l’existence d’un homomorphisme de Bn0 sur Bn . Le fait que
cet homomorphisme soit injectif, c’est-à-dire le fait que les seules relations du
groupe Bn soient les relations (1) et leurs conséquences, a été montré par Artin.
1.3
Le monoı̈de des tresses positives Bn+
Considérons la présentation de Bn , non pas comme celle d’un groupe,
mais en tant que monoı̈de, c’est-à-dire que les mots ne comportent que les
générateurs positifs.
Définition — On note Bn+ le monoı̈de défini par la présentation
hσ1 , ..., σn−1 ; σi σj = σj σi pour | i−j |≥ 2, σi σj σi = σj σi σj pour | i−j |= 1i
On dit d’une tresse qu’elle est positive si elle appartient au monoı̈de Bn+ .
Garside a montré que ce point de vue est fructueux pour deux raisons :
Lemme — [Garside] L’application canonique de Bn+ dans Bn est injective.
D’autre part, on peut remonter de Bn+ dans Bn :
6
Proposition 1 — Pour toute tresse β de Bn , il existe des tresses positives β1
et β2 dans Bn+ vérifiant β = β1−1 β2
Démonstration — On définit la tresse positive demi tour
∆n = (σ1 ...σn−1 )(σ1 ...σn−2 )...(σ1 σ2 )(σ1 )
Figure 6 — Le demi tour ∆4
Il est trivial que le tour complet ∆2n appartient au centre de Bn , lorsqu’on
remarque l’égalité x∆n = ∆n φ(x) pour toute tresse x, où φ est le morphisme
involutif défini par φ(σi ) = σn−i (on peut en fait montrer que ∆2n engendre
le centre). On observe ensuite que, pour tout i, la tresse σi−1 ∆2n possède un
représentant positif à n(n − 1) − 1 croisements. Il est alors facile, étant donné
un mot w de trouver un mot équivalent du type w1−1 w2 en remplaçant chaque
σi−1 par σi−1 ∆2n ∆−2
n et en décalant tous les tours complets inversés à gauche par
exemple.
Il n’y a pas unicité de cette décomposition (considérer par exemple
σ1−1 σ2−1 σ2 σ3 et σ1−1 σ3 ). On remarque que, les relations de tresse ne changeant
pas le nombre de lettres d’un mot positif, le monoı̈de est muni d’une longueur
additive, que l’on notera `.
7
2
Le problème de mot
On vient de voir que les tresses peuvent être codées par des mots en les σi±1 .
Le codage n’est pas unique : plusieurs mots peuvent représenter la même tresse.
Se pose donc la question : comment reconnaı̂tre si deux mots codent une seule
et même tresse ?
Pour résoudre ce problème, il suffit de trouver une manière de distinguer,
parmi tous les mots représentant la même tresse, un mot unique.
Une solution plus générale consiste à trouver une application red que l’on
appellera réduction qui prenne comme entrée un mot de tresse w et en retourne
un autre, sa f orme réduite, et qui satisfasse la propriété suivante : w représente
la tressse triviale si et seulement si red(w) est le mot vide. D’où le résultat que
w et w0 sont deux mots équivalents si est seulement si le mot red(ww0 ) est vide.
2.1
Forme normale
Nous allons voir comment choisir un unique représentant pour chaque
tresse. Restreignons-nous tout d’abord au monoı̈de Bn+ .
Définition — Soient x et y dans Bn+ . On dit que x divise y à gauche s’il
existe z dans Bn+ vérifiant y = xz. On dit également que y est un multiple à
droite de x, et on note x y. La relation est une relation d’ordre sur Bn+ .
Proposition — Dans Bn+ , deux éléments x et y admettent, pour la relation
d’ordre , un pgcd, c’est-à-dire un diviseur à gauche commun qui soit un multiple à droite de tout diviseur à gauche commun, ainsi qu’un ppcm, c’est-à-dire
un multiple à droite commun qui divise à gauche tout multiple à droite commun.
Définition — On notera respectivement x ∧ y et x ∨ y le pgcd et le ppcm de
x et y.
Nous aurons besoin du lemme suivant, analogue au lemme de Gauss et que
nous admettrons.
Lemme — Soit a élément de Bn+ et i, j deux entiers distincts compris entre 1
et n − 1. Si σi et σj divisent a, alors σi σj également.
Démonstration —
pgcd. Notons D l’ensemble des diviseurs à gauche de x et y. D est non vide
puisqu’il contient la tresse triviale. On prend δ un élément de D de longeur
maximale. Montrons par l’absurde que tout élément de D divise δ. Sinon, il
existerait d divisant δ et un σi vérifiant dσi ∈ D (∗) et dσi δ (∗∗). On peut
toujours supposer que d est de longueur maximale. Construisons un d0 plus
grand. Comme d divise δ et puique `(d) est strictement plus petit que `(δ), on
peut trouver un j tel que dσj divise δ (avec i 6= j). Alors, dσi et dσj sont dans
8
D, et, d’après le Lemme, dσj σi aussi. d0 = dσj et σi vérifient (∗) et (∗∗) (grâce
aux relations de tresse), ce qui contredit la maximalité de d. L’unicité du pgcd
est évidente car il est nécessairement de longueur maximale parmi les diviseurs
communs.
ppcm. Considérons x−1 y. On peut l’écrire sous la forme uv −1 avec u et v dans
Bn+ , d’après un équivalent à droite de la proposition 1. Alors xu est un multiple
commun de x et y. L’ensemble M des multiples communs est donc non vide.
Soit µ de longeur minimale et m dans M . L’élément µ ∧ m est un multiple de x
et de y donc est dans M . Comme `(µ ∧ m) ≤ `(µ), on a nécessairement égalité
des longueurs, et donc µ ∧ m = µ. D’où l’existence. L’unicité est immédiate, le
ppcm étant de longeur minimale dans M .
Notons la place de l’élément de Garside ∆n (le ”demi tour”), centrale à
plus d’un titre puisque d’une part, ∆2n engendre le centre de Bn , et que d’autre
part, l’ensemble des diviseurs de ∆n , est en bijection avec Sn .
Définition — Les diviseurs de ∆n sont appelés les tresses simples. On note
Sn l’ensemble des tresses simples.
On aimerait représenter une tresse positive β par un suite de permutations,
ce qui est possible puisque tous les générateurs d’Artin sont simples. Mais on
voudrait choisir une suite unique pour chaque tresse. Il suffit pour cela de définir
s1 le pgcd de ∆n et de la tresse β et d’itérer le procédé aux restes successifs.
Ce processus est fini puisque la longueur du reste diminue strictement à chaque
itération (tous les générateurs d’Artin divisent ∆n ). On obtient donc une suite
finie d’éléments simples (si )i , unique par unicité du pgcd, en posant
β = s1 ...sp
avec
∀i ≤ p
si = ∆n ∧ si ...sp (2).
On obtient ainsi un unique représentant pour chaque tresse positive sous forme
d’une suite de tresses simples, donc, de façon équivalente, de permutations
(π1 , ..., πp ).
Remarque — On a défini les tresses simples comme étant les diviseurs de ∆n ,
mais il existe d’autres définitions équivalentes : ce sont les tresses positives les
plus courtes associées à une permutation, ou les classes des tresses géométriques
dont deux brins se croisent au plus une fois (positivement).
Revenons au groupe Bn . Pour y étendre la forme normale précédente, on ne
peut utiliser la proposition 1 car il n’y a pas unicité de la décomposition comme
fraction. On peut cependant s’inspirer de la démonstration de la proposition
pour étendre la forme normale de Bn+ à Bn :
Lemme — Pour β élément de Bn , il existe un unique entier r et une unique
tresse positive α vérifiant β = ∆−r
n α et ∆n α.
Toute tresse β s’écrit donc de façon unique sous la forme β = ∆−r
n s1 ...sp ,
où les si sont des tresses simples vérifiant (2), ce qui permet de représenter une
tresse par sa forme dite normale, à savoir une suite finie formée d’un entier et
de permutations (r, π1 , ..., πp ).
9
2.2
Une forme réduite : la réduction des poignées
La réduction des poignées est une méthode permettant d’exhiber un
représentant σ-positif ou σ-négatif, d’un mot de tresse w non équivalent au
mot vide. Elle est donc une solution efficace au problème de mot. L’idée en
est simple : si w n’est ni σ-positif ni σ-négatif et si i est le plus petit indice
apparaissant dans w, alors σi et σi−1 apparaissent tous deux. w contient donc
nécessairement des éléments du type σi±1 uσi∓1 où u ne contient aucun indice
inférieur ou égal à i.
Définition — On appelle σi -poignée tout mot de tresse du type σi±1 uσi∓1 où
−1
u ne contient aucun indice inférieur ou égal à i, et telle que soit σi+1 soit σi+1
n’apparaisse pas dans u.
fig
Définition — Soit v = σie uσi−e une σi -poignée. Soit red(v) le mot obtenu à
±1
−e ±1 e
partir de u en remplaçant chaque σi+1
par σi+1
σi σi+1 . On dit d’un mot de
tresse w0 qu’il est obtenu par réduction des poignées à partir de w s’il on peut
transfromer w en w0 en remplaçant itérativement des poignées du type v par
red(v).
fig
La poignée σi σi−1 est un cas particulier de poignée : la réduction des
poignées est une généralisation de la réduction libre (qui suffit à résoudre le
problème de mot dans les groupes libres). Cependant, il n’est pas clair que
la réductin des poignées soit un processus fini. On admettra la proposition
suivante [...] :
Proposition — Soit w un mot de tresse de longuer l. Alors w est équivalent
au mot vide si et seulement si toute suite de réduction de w se termine au mot
vide. De plus, toute suite de réduction de w se termine en un temps au plus
exponentiel en l.
10
3
Un problème difficile du groupe de tresse
Le groupe de tresse possède plusieurs problèmes réputés difficiles, c’està-dire n’ayant pas à ce jour de solutions efficaces. Nous nous intéressons à
certains problèmes de conjugaison. Deux éléments x et y d’un groupes sont dits
conjugués s’il existe un g dans le groupe vérifiant x = gyg −1 . La relation de
conjugaison est une relation d’équivalence.
Problème de conjugaison — Etant donnés deux éléments de Bn , déterminer
s’ils sont conjugués.
Problème de recherche du conjugant — Etant données deux tresses x et
y conjugués dans Bn , trouver un élément a de Bn vérifiant x = aya−1 .
Les deux problèmes ci-dessus sont réputés difficiles, non pas qu’ils soient
insolubles, mais car il est n’existe pas à l’heure actuelle d’algorithme en temps
polynomial permettant de les résoudre.
On présente ici l’algorithme de Elrifai et Morton (1994) permettant
de résoudre le problème de conjugaison. Le principe est le suivant : étant
donnée une tresse a, on construit un sous-ensemble fini SSS(a) de la
classe de conjugaison de a. L’ensemble SSS(a) ne dépendant que de la classe
de conjugaison de a, a et b sont conjugués si et seuleument si SSS(a) = SSS(b).
Définition — Soit a dans Bn et ∆−r
n a1 ...ap la forme normale de a. On définit
l’infimum, le supremum et la longueur canonique de a respectivement par
inf (a) = −r, sup(a) = −r + l et k a k= p.
Définition — On note C(a) la classe de conjugaison de a. On définit le grand
infimum, le grand supremum et la grande longueur de a respectivement par
max{inf (x) : x ∈ C(a)}, min{sup(x) : x ∈ C(a)} et min{k x k: x ∈ C(a)}.
Définition — On définit le Super Summit Set SSS(a) de a comme l’ensemble
des éléments C(a) de grande longueur minimale.
On admet que SSS(a) est un ensemble fini.
3.1
Construction d’un élément ã de SSS(a)
Définition — Soit a dans Bn et ∆−r
n a1 ...ap la forme normale de a. On appelle
cylage et décyclage les fonctions c et d définie par
r
c(a) = ∆−r
n a2 ...ap τ (a1 )
−r
d(a) = ∆−r
(ap )a1 ...ap−1
n τ
11
où τ est l’automorphisme de Bn dans Bn définit par τ (a) = ∆−1
n a∆n .
Proposition — Les tresses c(a) et d(a) sont conjugués à a. On a les inégalités
suivantes : inf (a) ≤ inf (c(a)) et sup(a) ≥ sup(d(a)).
Démonstration — On a l’égalité τ r (a1 )c(a) = ∆−r a1 a2 ...ap τ r (a1 ) = aτ r (a1 )
montrant que a et c(a) sont conjugués. Il en va de même pour d(a).
— De plus, c(a) s’écrit sous la forme ∆−r y avec y dans Bn ,
d’où l’inégalité inf (a) ≤ inf (c(a)).
— Enfin d(a) s’écrit sous la forme ∆−r z avec z dans Bn . Puisque
p
z divise ∆n , on a k z k≤ p. D’où l’inégalité sup(a) ≥ sup(d(a)).
Pour trouver un élément ã de grande longeur minimale, on cherche un
élément d’infimum maximal dont on va, par décyclage, diminuer le supremum
jusqu’à atteindre le grand supremum (tout en conservant l’infimum maximal).
Soit a dans Bn tel que inf (a) ne soit pas égal au grand infimum de a. On peut
essayer d’augmenter l’infimum en répétant l’opération de cyclage à a. On admet
qu’il existe k, entier positif borné par `(∆n ) vérifiant inf (ck (a)) > inf (a). En
itérant le cyclage de a, on trouve donc un élément â conjugué à a, d’infimum
maximal.
Après avoir calculé â, on essaie de diminuer le supremum en itérant le
décyclage de â. L’opération aboutit nécessairement, en admettant le résultat
suivant : si le supremum de a n’est pas le grand supremum, il existe un entier
positif k borné par `(∆n ) vérifiant sup(dk (a)) < sup(a).
En appliquant un nombre fini de fois à a les opérations de cyclage et de
décyclage, on obtient donc un élément ã d’infimum maximal et de supremum
minimale : ã est donc de longeur canonique minimale, c’est-à-dire qu’il appartient au Super Summit Set de a.
3.2
Construction de SSS(a)
A partir d’un élément ã, on construit tout le SSS(a) grâce à la proposition
suivante :
Lemme — Pour toute paire de tresse x et y, on a
xy ∧ ∆n = (x(y ∧ ∆n )) ∧ ∆n
Démonstration — Il suffit de montrer que pour toute tresse simple s, s 4 xy
équivaut à s 4 x(y ∧ ∆n ). Puisque s est simple, s divise ∆n . L’égalité s∆n =
∆n φ(x) entraı̂ne que s divise x∆n . De s 4 xy, on déduit donc la relation
s 4 x(y ∧ ∆n ). L’autre implication est claire.
Proposition — Soit u et v deux éléments conjugués de Bn . Il existe une suite
u1 , u2 , ..., uk vérifiant u1 = u et uk = v, telle que pour tout i entre 1 et k − 1,
12
ui et ui+1 soient conjugués par un simple.
Démonstration — Posons u = cvc−1 et soit s1 ...sp la forme normale de c. On
−1
+
va montrer par récurrence sur k que s−1
k ...s1 us1 ...sk est dans le monoı̈de Bn
pour tout entier k compris entre 1 et p.
Pour k = 1, on a, d’après le corollaire
s1 ...sp v ∧ ∆n = us1 ...sp ∧ ∆n = (u(s1 ...sp ∧ ∆n )) ∧ ∆n = us1 ∧ ∆n
Puisque s1 est simple, s1 divise s1 ...sp v ∧ ∆n , donc us1 ∧ ∆n , et également us1 .
s−1 us1 est donc dans le monoı̈de Bn+ .
−1
+
Pour k > 1, supposons que s−1
k−1 ...s1 us1 ...sk−1 soit dans Bn . Toujours
d’après le corollaire, on a
−1
−1
−1
sk ...sp v ∧ ∆n = s−1
k−1 ...s1 us1 ...sk−1 sk ...sp ∧ ∆n = sk−1 ...s1 us1 ...sk−1 sk ∧ ∆n .
−1
−1
−1
sk divise donc s−1
k−1 ...s1 us1 ...sk−1 sk , donc sk ...s1 us1 ...sk est dans le monoı̈de
+
Bn .
On construit alors tout le SSS(a) en définissant V1 = {ã} et en calculant
par récurrence
Vi = {s−1 vs : s ∈ S, v ∈ Vi−1 } ∩ SSS(a)
Comme la tresse triviale est simple, la suite Vi est croissante. D’après la
proposition précédente, la suite Vi stationne à partir d’un certain rang k, et on
a SSS(a) = Vk . Alors, a et b sont conjugués si et seulement si b̃ appratient à
SSS(a).
La difficulté du problème vient entre autre du cardinal de l’ensemble des
éléments simples S, qui est n!.
13
4
Application à la cryptographie
Nous nous intéressons dorénavant à la confidentialité des transmissions entre
deux individus que l’on nommera Bob et Alice.
4.1
Cryptographie à clef secrète
Une manière naı̈ve de crypter un message consiste à en échanger les lettres,
ou à les permuter. C’est l’un des premiers exemples de cryptographie à clef
secrète : la clef est la technique utilisée par l’expéditeur pour crypter le message
et nécessaire au récipiendaire pour le décrypter. Mais on peut casser les codes
fondés sur une combinaison de permutations et de substitutions par une analyse
statistique, les lettres de l’alphabet ne se rencontrant pas toutes avec la même
fréquence dans une langue donnée. En français par exemple, les lettres les plus
utilisées sont le e, suivi du s, du a, puis du n...
En 1917, Gilbert Vernam élabore un chiffre dit à usage unique, qui, correctement utilisé, est incassable : le message de Bob est tout d’abord converti
en une suite M de 0 et de 1 (grâce au code ASII par exemple). Bob choisit
ensuite une clef K, suite aléatoire de 0 et de 1 qui constitue la clef secrète, de
même taille que le message à crypter. Bob calcule le message crypté C défini
par l’égalité C = M ⊕ K où ⊕ est l’addition dans Z/2Z. Bob transmet enfin à
Alice le message crypté C, par une voix non nécessairement sécurisée, et Alice
calcule le message M qui n’est autre que C ⊕ K (car K ⊕ K est nul). On utilise
généralement l’opération ⊕ par tradition et simplicité, mais tout autre loi de
groupe conviendrait. Problème majeur posé par un tel chiffre : la transmission
de la clef secrète K, secret commun entre l’expéditeur et le récipiendaire.
4.2
Cryptographie à clef publique
En 1976, Whitfield Diffie et Martin Helman proposent une solution au
problème des clefs secrètes, en montrant qu’il est possible d’acheminer un message secret sans avoir à échanger de clefs : Bob et Alice disposent chacun d’une
clef secrète. Bob crypte le message avec sa clef, l’envoie à Alice qui le recrypte
avec la sienne, avant de le renvoyer à Bob. Bob recoit un message doublement
crypté, supprime son cryptage et le renvoie à Alice. Alice n’a plus qu’à le
décrypter avec sa clef pour retrouver le message initial, pourvu que les deux
opérations de cryptage commutent.
La cryptographie à clef publique s’inspire de cette idée : Alice et Bob
possèdent chacun une clef secrète a et b, et publient tout deux une clef publique pa et pb , dont la connaissance leur permet de calculer une clef secrète K
partagée, qui permet de chiffrer le messsage suivant la cryptologie à clef secrète.
14
La contrainte principale est que la connaissance des clefs publiques ne doit pas
permettre de retrouver les clefs secrètes : on doit pouvoir calculer aisément
K à partir de a et pb , mais retrouver K, c’est-à-dire a ou b à partir de pa et pb
doit être impossible. En d’autres termes, on cherche à construire une fonction
f dite à sens unique, c’est-à-dire dont les images soient simples à calculer, mais
impossible à inverser.
4.3
Pertinence du groupe de tresse
Le groupe de tresse Bn fournit un cadre adapté à la cryptographie à clef
publique pour plusieurs raisons :
(o) Une tresse est facilement manipulée par un ordinateur en terme de mot,
sans aucune ambiguité puisque le problème de mot est résolu par un algorithme
efficace. On suppose désormais toutes les tresses sous formes normales.
(i) Bien que non commutatif, le groupe de tresses Bn possède des sous-groupes
commutant entre eux : notons DB r le sous groupe de Bl+r engendré par
σl+1 ,...,σl+r−1 . C’est le sous-groupe de Bl+r où sont tressés les r brins de droite.
Bl et DB r commutent entre eux.
(ii) Le produit de deux tresses se calcule de manière facile et efficace, puisqu’il
correspond à la concaténation de deux mots. Le produit ab de deux tresses a
et b est en fait la forme normale du produit, de sorte qu’il est impossible de
reconnaı̂tre a ou b connaissant leur produit.
(iii) Le groupe de tresses possède des problèmes difficiles, propices à la construction d’une fonction à sens unique, comme le problème de conjugaison.
4.4
Cryptosystème à clef publique utilisant le groupe Bn
Bob a un message M , élément de {0, 1}k , à envoyer à Alice. Alice et Bob
choisissent publiquement une tresse x à l + r brins, puis suivent le protocole :
1. Génération des clefs
a) Bob choisit une tresse b dans Bl et envoie à Alice la tresse bxb−1 notée pb .
b) Alice choisit une tresse a dans RBr et envoie à Bob la tresse axa−1 notée pa .
c) Alice recoit pb et calule la clef secrète K définie par apb a−1 .
d) Bob recoit pa et calule la clef secrète K définie par bpa b−1 .
a et b sont les clefs secrètes, (x, pa ) et (x, pb ) les clefs publiques. Puisque a et b
commutent, on a bien l’égalité apb a−1 = bpa b−1 .
2. Cryptage du message M
a) Bob calcule le message crypté C défini par H(K) ⊕ M , H étant une fonction
de hachage, de Bl+r dans {0, 1}k .
15
b) Bob envoie le message C à Alice.
3. Déryptage du message C
Alice calcule M qui n’est autre que H(K) ⊕ C.
La sécurité du cryptosystème présenté repose sur la difficulté du problème
de recherche du conjugant, puisque casser le cryptosystème revient à résoudre
ce problème.
16
Références
[1] P. Dehornoy., I. Dynnikov, D. Rolfsen, B. Wiest, Why are braids orderable ?,
Panoramas et synthèse, Société Mathématique de France, 2003 .
[2] P. Dehornoy, Braids and self-distributivity, Progress in Math. vol. 192,
Birkhäuser 2000.
[3] P. Dehornoy, L’art de tresser, Pour la Science.
[4] N. Franco, J. Gonzales-Meneses, Conjugacy problem for braid groups and
Garside groups, arXiv : math.GT\0112310 v2 28 Aug 2002.
[5] K. H. Ko, S. J. Lee, J. H. Cheon, J. W. Han, J. S. Kang, C. Park, New
public-key cryptosystem using braid groups, Crypto 2000, 166-184.
[6] J. Michel, A note on words in braid groups, Journal of Algebra 215, 366-377,
1999.
[7] Pour la Science, L’art du secret, Dossier hors-série juillet/octobre 2002.
[8] H. Sibert, Algorithmique des tresses, Thèse de Doctorat, Université de Caen,
2003.
17
Téléchargement