Zitat von
Klaus01:
Die Funktion extEuclidian berechnet d und gcd (den größten gemeinsamen Teiler) und sie arbeitet mit int64, d.h. sie ist nur bedingt für große Zahlen geeignet.
Mit den Beispieldaten aus Beitrag #5 funktioniert sie.
Also berechnet extEuclidian(e,phi,gcd) doch das modulare Inverse e^-1 mod phi!? Das ist dann doch wohl kein intuitiver Name. (Es war mir noch nie einsichtig, wie jemand viel Zeit mit der Entwicklung von Funktionen verbringen kann, ohne sich die paar Sekunden zu nehmen und hinzuschreiben, was eigentlich gemacht wird).
Mit den Beispieldaten aus Beitrag #5 hast Du einfach nur Glück gehabt. Hier ein ganzes Rudel von falschen Berechnungen, wobei ich ausdrücklich nur immer einen Wert aus #5 geändert habe und nur kleine Werte benutze:
Code:
Richtig (#5)
p=31, q=97, e=23 -> d=1127
Falsch mit Deinem extEuclidian
p=31, q=97, e=17 -> d=5
p=31, q=29, e=23 -> d=2
p=83, q=97, e=23 -> d=4
p=31, q=97, e=3 -> d=1
...
Richtig mit meinem modinverse
p=31, q=97, e=17 -> d=2033
p=31, q=29, e=23 -> d=767
p=83, q=97, e=23 -> d=6503
p=31, q=97, e=3 -> Result=false
Gruß Gammatester