e * d ≡ 1 mod φ(N)?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
Wie kann ich aus e × d ≡ 1 mod(φ(N)) d berechnen, wenn e und φ(N) gegeben sind?

Schau dir den erweiterten euklidischen Algorithmus an

Edit:

Ich check nicht wie ich aus dem d bekomme.

Als "Anleitung" kannst du das hier anschauen:

Als Beispiel fändest du es auch auf Wikipedia, siehe hier, aber ich mach es einfach hier:

  • Als Primzahlen wähle ich p = 3 und q = 11
  • 
  • 
  • als e wähle ich 7. e muss teilerfremd zu ϕ(n) sein und es muss 1 < 3 < ϕ(n) gelten

Jetzt habe ich alles, was ich zur Berechnung des privaten Schlüssels d brauche: ϕ(n) und e



Um das ganze übersichtlicher zu machen, setze ich schonmal e und ϕ(n) ein:

 offensichtlich wäre hier d = 3 eine Lösung, aber wir wollen das als ausgerechneten Lösungsweg zeigen. Wir rechnen also erstmal den normalen euklidischen Algorithmus mit 7 und 20 aus - bis zu der Zeile, wo wir als Rest eine 1 stehen haben



Das ganze stellen wir jetzt um (und ich setz die letzte Zeile gleich nach oben):

 Hier jetzt arbeiten wir von oben nach unten und ersetzen die entsprechenden Zahlen mit den folgenden Zeilen

 da wir nur zwei Zeilen haben, ist der Schritt schnell erledigt. Wir rechnen jetzt noch die Klammer aus und addieren alles zusammen - aber behalten die Trennung in 20 und 7 bei



Jetzt kannst du hier sehen, dass das multiplikative Inverse von 7 bezüglich 20 eben die 3 ist, wie oben schon genannt. Das kannst du als d nutzen.

=> öffentlicher Schlüssel (e, n) = (7, 33), privater Schlüssel (d, n) = (3, 33)


SpeedyGo55 
Beitragsersteller
 16.11.2021, 13:42

Ich check nicht wie ich aus dem d bekomme.

0
SpeedyGo55 
Beitragsersteller
 16.11.2021, 18:10
@xxxcyberxxx

Oh je. Mal schauen, ob ich das In Scratch hinbekomme. Falls du Tipps hast. Gerne melden. Weiss nämlich nicht wie das umstellen soll.

0

Das ist der Knackpunkt beim RSA Verfahren. Wenn man das so ohne Weiteres berechnen könnte, wäre das Verfahren wertlos.

Kurzum: Es gibt kein (öffentlich bekanntes) Verfahren, dieses d zu ermitteln, wenn n einigermaßen groß ist.

Ups, war Quatsch. Obiges gilt, wenn e und n gegeben ist. Du hast aber phi(n) also die Zerlegung von n in Primfaktoren.

Also erweiterter Euklid, wie andere bereits schrieben.


xxxcyberxxx  16.11.2021, 13:40

Es ist aber laut der Frage nicht n, sondern φ(n) gegeben. Damit lässt sich das multiplikative Inverse bzgl e und damit der private Schlüssel bestimmen

1