Algorithme de Diffie - Hellman
L. Sierra
Messages postés
11
Statut
Membre
-
georges897 Messages postés 4 Statut Membre -
georges897 Messages postés 4 Statut Membre -
Salut à tous,
Je reviens avec mes problèmes d'encryption à clef publique :-(
Comme le RSA est très gourmand en ressources je viens d'essayer l'algorithme de Diffie-Hellman, beaucoup plus facile à mettre en oeuvre. Seul problème: les résultats ne coincident pas !
Sur base de la doc suivante:
http://www.apocalypse.org/pub/u/seven/diffie.html
J'ai fait les calculs suivants:
p=418
//Arbitraire
g=7
//Arbitraire
Host1 exécute:
X=5
//Arbitraire
y = g^x % p
y = 16807 % 418
y = 87
-> envoie ce y à host 2
Host2 exécute:
X=6
//Arbitraire
y = g^x % p
Y = 117649 & 418
Y = 384
-> envoie ce y à host 1
Host1 exécute (sur base du Y envoyé par host 2):
z = y^x % p
z = 384^5 % 418
z = 8349416423424 % 418
Z = 340
Host 2 exécute (sur base du y envoyé par host 1):
z = y^x % p
z = 87^6 % 418
z = 433626201009 % 418
z = 1
Ici les deux valeurs Z obtenues par host1 et host 2 devraient être identiques... Alors comment se fait-il que j'obtienne respectivement 340 et 1 ?
Je crois que mes calculs sont justes, comme je les ai faits à l'ordi. Il doit donc s'agir des valeurs de base (les 2 X arbitraires , P et G tirés au hasard) qui ne respectent pas les restrictions ? J'ai pourtant bien suivi les instructions du site, ainsi que celles de
http://mantis.free.fr/articles/diffie.htm
S'il y a parmis vous des connaisseurs en sécurité (ou des experts en Math) ce serait sympa de m'aider...
a+
Lionel
Je reviens avec mes problèmes d'encryption à clef publique :-(
Comme le RSA est très gourmand en ressources je viens d'essayer l'algorithme de Diffie-Hellman, beaucoup plus facile à mettre en oeuvre. Seul problème: les résultats ne coincident pas !
Sur base de la doc suivante:
http://www.apocalypse.org/pub/u/seven/diffie.html
J'ai fait les calculs suivants:
p=418
//Arbitraire
g=7
//Arbitraire
Host1 exécute:
X=5
//Arbitraire
y = g^x % p
y = 16807 % 418
y = 87
-> envoie ce y à host 2
Host2 exécute:
X=6
//Arbitraire
y = g^x % p
Y = 117649 & 418
Y = 384
-> envoie ce y à host 1
Host1 exécute (sur base du Y envoyé par host 2):
z = y^x % p
z = 384^5 % 418
z = 8349416423424 % 418
Z = 340
Host 2 exécute (sur base du y envoyé par host 1):
z = y^x % p
z = 87^6 % 418
z = 433626201009 % 418
z = 1
Ici les deux valeurs Z obtenues par host1 et host 2 devraient être identiques... Alors comment se fait-il que j'obtienne respectivement 340 et 1 ?
Je crois que mes calculs sont justes, comme je les ai faits à l'ordi. Il doit donc s'agir des valeurs de base (les 2 X arbitraires , P et G tirés au hasard) qui ne respectent pas les restrictions ? J'ai pourtant bien suivi les instructions du site, ainsi que celles de
http://mantis.free.fr/articles/diffie.htm
S'il y a parmis vous des connaisseurs en sécurité (ou des experts en Math) ce serait sympa de m'aider...
a+
Lionel
A voir également:
- Algorithme de Diffie - Hellman
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Algorithme ajout rapide snapchat - Forum Snapchat
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 pdf - Forum Algorithmes / Méthodes
- Ajout rapide snap - Forum Snapchat
- Algorithme application pc - Télécharger - Édition & Programmation
4 réponses
Je l'ai fait en Python, ça marche !
Et on obtient:
p = 419 # Nombre premier arbitraire (public) g = 7 # entier inférieur à p (public) hostA_x = 178 # nombre arbitraire inférieur à p-1 hostB_x = 344 # nombre arbitraire inférieur à p-1 hostA_y = g ^ hostA_x % p # Clé publique de A hostB_y = g ^ hostB_x % p # Clé publique de B hostA_z = hostB_y ^ hostA_x % p # calcul de la clé commune z hostB_z = hostA_y ^ hostB_x % p # calcul de la clé commune z print hostA_z print hostB_z
Et on obtient:
493 493
Ceci dit, Diffie-Hellman peut être utilisé pour créer un secret commun (et donc chiffrer des communications), mais ne peut en aucun cas être utilisé pour signer cryptogrphiquement des messages (contrairement à RSA qui peut faire les 2).
C'est pour cela que Diffie-Hellman est souvent associé à DSS (Digital Signature Standard).
On voit donc souvent 'DH/DSS'.
C'est pour cela que Diffie-Hellman est souvent associé à DSS (Digital Signature Standard).
On voit donc souvent 'DH/DSS'.
stp peux tu m'envoiyés le code source de diffie hellman en python ou en java j travaille sur le reseau et j aimerai voire un peu l architecture et à quoi ressemble le code source car j n sui pas calé en programmation...mon mail est ndongojulia@yahoo.fr