Ich bin ein Gymnasiast, der ein Papier über RSA schreibt, und ich mache ein Beispiel mit einigen sehr kleinen Primzahlen. Ich verstehe, wie das System funktioniert, aber ich kann nicht für das Leben von mir den privaten Schlüssel mit dem erweiterten euklidischen Algorithmus berechnen.RSA: Private Schlüsselberechnung mit Extended Euclidean Algorithm
Hier ist, was ich bisher getan haben:
- ich die Primzahlen p gewählt haben = 37 und q = 89 und berechnet N = 3293
- I (p-1) berechnet wurden (q -1) = 3168
- Ich habe eine Zahl e so gewählt, dass e und 3168 relativ prim sind. Ich überprüfe das mit dem euklidischen Standardalgorithmus, und das funktioniert sehr gut. Meine e = 25
Jetzt habe ich nur den privaten Schlüssel d berechnen müssen, die ed = 1 (mod 3168)
Mit dem erweiterten euklidischen Algorithmus erfüllen sollte d, so dass de + tN = 1 finden Ich bekomme -887 • 25 + 7 • 3168 = 1. Ich werfe die 7 weg und bekomme d = -887. Beim Versuch, eine Nachricht zu entschlüsseln, funktioniert dies jedoch nicht.
Ich weiß aus meinem Buch, dass d 2281 sein sollte, und es funktioniert, aber ich kann nicht herausfinden, wie sie bei dieser Nummer ankommen.
Kann jemand helfen? Ich habe versucht, dieses Problem für die letzten 4 Stunden zu lösen, und habe überall nach einer Antwort gesucht. Ich mache den erweiterten euklidischen Algorithmus von Hand, aber da das Ergebnis funktioniert, sollten meine Berechnungen stimmen.
Vielen Dank im Voraus,
Mads
Wie von Ninefingers angemerkt, verwenden Sie einfach den positiven Rest. Äquivalent, um etwas auf eine negative Potenz zu erhöhen, berechnet "x" zuerst seine Inverse und erhöht dann diese auf die ("-x") Potenz ("-x" ist positiv, da "x" negativ ist). –
Ich bin verwirrt, wie Sie bekommen "de + tN = 1" -887 • 25 + 7 • 3168 = 1. Ich verstehe e = 25, aber d, t und N ergeben keinen Sinn. Wofür stehen d, t und N? Und warum darfst du die 7 wegwerfen? Casey –