Échange de clés Diffie-Hellman (échange de clés exponentielles)

L’échange de clés Diffie-Hellman, également appelé échange de clés exponentielles, est une méthode de cryptage numérique qui utilise des nombres élevés à des puissances spécifiques pour produire des clés de déchiffrement sur la base de composants qui ne sont jamais directement transmis, ce qui rend la tâche d’un briseur de code potentiel mathématiquement écrasante.

Pour implémenter Diffie-Hellman, les deux utilisateurs finaux Alice et Bob, tout en communiquant sur un canal qu’ils savent privé, s’accordent mutuellement sur des nombres entiers positifs p et q, tels que p est un nombre premier et q est un générateur de p. Le générateur q est un nombre qui, lorsqu’il est élevé à des puissances de nombres entiers positifs inférieures à p, ne produit jamais le même résultat pour deux de ces nombres entiers quelconques. La valeur de p peut être grande mais la valeur de q est généralement petite.

Une fois qu’Alice et Bob se sont mis d’accord sur p et q en privé, ils choisissent des clés personnelles positives à nombres entiers a et b, toutes deux inférieures au module des nombres premiers p. Aucun utilisateur ne divulgue sa clé personnelle à qui que ce soit; idéalement, ils mémorisent ces nombres et ne les écrivent ni ne les stockent nulle part. Ensuite, Alice et Bob calculent les clés publiques a* et b* à partir de leurs clés personnelles selon les formules

a*= qa mod p

et

b*= qb mod p

Les deux utilisateurs peuvent partager leurs clés publiques a* et b* sur un support de communication supposé non sécurisé, tel qu’Internet ou un réseau étendu d’entreprise (WAN). À partir de ces clés publiques, un nombre x peut être généré par l’un ou l’autre utilisateur sur la base de ses propres clés personnelles. Alice calcule x en utilisant la formule

x =(b *) un mod p

Bob calcule x en utilisant la formule

x =(a *) b mod p

La valeur de x s’avère être la même selon l’une des deux formules ci-dessus. Cependant, les clés personnelles a et b, critiques dans le calcul de x, n’ont pas été transmises sur un support public. Parce qu’il s’agit d’un nombre important et apparemment aléatoire, un pirate potentiel n’a presque aucune chance de deviner correctement x, même avec l’aide d’un ordinateur puissant pour effectuer des millions d’essais. Les deux utilisateurs peuvent donc, en théorie, communiquer en privé sur un support public avec une méthode de chiffrement de leur choix à l’aide de la clé de déchiffrement x.

La limitation la plus grave de Diffie-Hellman sous sa forme basique ou ” pure ” est l’absence d’authentification. Les communications utilisant Diffie-Hellman sont toutes vulnérables aux attaques de l’homme du milieu. Idéalement, Diffie-Hellman devrait être utilisé en conjonction avec une méthode d’authentification reconnue telle que les signatures numériques pour vérifier l’identité des utilisateurs sur le support de communication public. Diffie-Hellman est bien adapté pour une utilisation dans la communication de données, mais est moins souvent utilisé pour les données stockées ou archivées sur de longues périodes.

Leave a Reply