![]() |
Cette algorithme est très simple pour l'échange des clefs et le voici décrit: Soient 2 personnes A et B désirant communiquer sans utiliser une clef secrète. Pour cela ils se mettent d'accord sur 2 nombres g et n tels que n soit supérieur à g et g supérieur à 1, et cela sur un canal non sécurisé (il faut que n soit grand: de l'ordre de 512 ou 1024 bits pour que l'échange des clefs soit sécurisé). Ils prennent chacun chez eux un nombre aléatoire: - A choisit x ,calcul X=g^x mod n et l'envoie à B. - B choisit y ,calcul Y=g^y mod n et l'envoie à A. Ainsi le pirate peut intercepter X, et Y mais il lui est très très difficile d'en déduire x et y (c'est sur ce principe que repose la sécurité de l'algorithme). Une fois dans son coin, A calcule k=Y^x mod n et B calcule k'=X^y mod n. Si l'on regarde de plus près on voie quelque chose de très intéressant: k=k'=g^xy mod n. Ainsi, A et B ont réussi à créer un clef privée dont ils sont les seuls détenteurs...... et le pirate malgrès la vision qu'il a eut de l'échange ne peut calculer la clef privée.... L'échgange des clefs ayant fonctionné A et B peuvent communiquer par un bête algorithme à clef privée. |