Beim Diffie-Hellman-Schlüsselaustausch

Das Buch, das ich lese, erklärt den Algorithmus wie folgt:

2 Leute denken an 2 öffentliche "n" - und "g" -Nummern, die beiden bekannt sind.2 Leute denken an 2 private "x und" y "Zahlen, die sie geheim halten.

Der Austausch erfolgt wie abgebildet

Ich habe den folgenden Python-Code zusammengestellt, um zu sehen, wie das funktioniert und ... es funktioniert nicht. Bitte helfen Sie mir zu verstehen, was ich vermisse:

 #!/usr/bin/python

 n=22 # publicly known 
 g=42 # publicly known

 x=13 # only Alice knows this 
 y=53 # only Bob knows this

 aliceSends = (g**x)%n 
 bobComputes = aliceSends**y 
 bobSends = (g**y)%n
 aliceComputes = bobSends**x


 print "Alice sends    ", aliceSends 
 print "Bob computes   ", bobComputes 
 print "Bob sends      ", bobSends 
 print "Alice computes ", aliceComputes

 print "In theory both should have ", (g**(x*y))%n

 ---

 Alice sends     14  
 Bob computes    5556302616191343498765890791686005349041729624255239232159744 
 Bob sends       14 
 Alice computes  793714773254144 

 In theory both should have  16

Antworten auf die Frage(3)

Ihre Antwort auf die Frage