Frage zum RSA-Algorithmus

Neue Frage »

S-A-R-A-H Auf diesen Beitrag antworten »
Frage zum RSA-Algorithmus
Meine Frage:
Hey, ich habe mal ein paar Fragen zum RSA-Algorithmus.

Meine Ideen:
Also zuerst eine Frage zum Vorgehen.

1. Der RSA-Algorithmus ist ein asymmetrischer Verschlüsselungsalgorithmus.
Der Vorteil hier ist, im Gegensatz zum symmetrischen Verschlüsselungsalgorithmus, dass wir keinen private Key austauschen müssen.
Es kann also kein Privater Schlüssel abgefangen werden, mit dessen hilfe man die verschlüsselte Nachricht brechen könnte.
Beim RSA handelt es sich um ein Public Key verfahren:

Der Empfänger stellt einen Public Key zur Verfügung. Mit diesem Schlüssel verschlüsselt der Absender seine Nachricht. Der Empfänger kann sie mit seinem privaten Schlüssel brechen und weiß nun was die Nachricht ist.
Den Private Key zu brechen ist sehr schwierig und eigentlich je nach gewählten p und q nahezu unmöglich.

So das wäre meine grundlegende Erklärung über das Verfahren.
Ist das so richtig? Also habe ich das richtig verstanden?



Nun zum genauen Vorgehen:

2. zunächst wählen wir zwei primzahlen p und q und erstellen daraus unser n:

n = p*q // Beispiel wäre 77 = 11 * 7

nun berechnen wir phi(n)= (p-1)*(q-1) = 60




danach ermitteln wir unser e.
Dabei hab ich nun das Problem. Auf manchen Seiten heißt es e muss die kleinstmögliche Zahl sein, damit ggt(e,phi(n)))=1.
Auf anderen wird einfach irgendeins genommen, aber nicht das kleinste.

Wie ist da denn ein gutes Vorgehen?
Ich habe das so gemacht:

beispiel die Zahl 60:
begonnen habe ich mit
2 -> 60:2 = 30 <- gerade Zahl also ggt nicht 1.
3 -> 60:3 = 20 <- ggt nicht 1.
4 -> 60:4 = 15 <- ggt nicht 1.
5 -> 60:5 = 12 <- ggt nicht 1.
6 -> 60:6 = 10 <- ggt nicht 1.
7 -> 60:7 = 8,5... <- Ergebnis eine Kommazahl, daher ggt = 1.

Nur weiß ich nicht ob das immer der Fall ist. Wenn ich von 2 Anfange hochzugehen ja eigentlich schon oder?
Damit wäre e in diesem Fall die kleinstmögliche Zahl 7.

Im Beispiel hat man 17 genommen. Wieso? Ist das egal? Dachte mir vielleicht wollte er nicht p oder q wählen. Aber selbst dann wäre ja die nächste Zahl ach 7 und 11 die 13.



Danach muss ich noch das d ermitteln damit das gilt: ed ? 1 (mod phi(n))

Was ist dafür das beste Vorgehen? In allen Beispielen wird einfach ein d angegeben.



Der öffentliche Schlüssel ist dann n und e und der private Schlüssel d.
Dopap Auf diesen Beitrag antworten »
RE: Frage zum RSA-Algorithmus
Zitat:
Original von S-A-R-A-H
danach ermitteln wir unser e.
Dabei hab ich nun das Problem. Auf manchen Seiten heißt es e muss die kleinstmögliche Zahl sein, damit ggt(e,phi(n)))=1.
Auf anderen wird einfach irgendeins genommen, aber nicht das kleinste.


nach wikipedia sollte e < phi nicht zu klein gewählt werden, da sonst der Broadcast Angriff erleichtert wird.
S-A-R-A-H-1 Auf diesen Beitrag antworten »

Ok danke schonmal.

Was kann man denn zum Rest sagen? Ist das soweit richtig?

Ich denke in einer Klausur könnte man das e doch so ermitteln oder?
Oder gibt es eine andere Möglichkeit außer lange Rechnen oder Testen ein geeignetes e zu finden?
Captain Kirk Auf diesen Beitrag antworten »
RE: Frage zum RSA-Algorithmus
Hallo,
Zitat:
Original von S-A-R-A-H
Meine Frage:
Hey, ich habe mal ein paar Fragen zum RSA-Algorithmus.

Meine Ideen:
Also zuerst eine Frage zum Vorgehen.

1. Der RSA-Algorithmus ist ein asymmetrischer Verschlüsselungsalgorithmus.
Der Vorteil hier ist, im Gegensatz zum symmetrischen Verschlüsselungsalgorithmus, dass wir keinen private Key austauschen müssen.
Es kann also kein Privater Schlüssel abgefangen werden, mit dessen hilfe man die verschlüsselte Nachricht brechen könnte.
Beim RSA handelt es sich um ein Public Key verfahren:

Der Empfänger stellt einen Public Key zur Verfügung. Mit diesem Schlüssel verschlüsselt der Absender seine Nachricht. Der Empfänger kann sie mit seinem privaten Schlüssel brechen und weiß nun was die Nachricht ist.
Den Private Key zu brechen ist sehr schwierig und eigentlich je nach gewählten p und q nahezu unmöglich.

So das wäre meine grundlegende Erklärung über das Verfahren.
Ist das so richtig? Also habe ich das richtig verstanden?

Du hast RSA überhaupt nicht beschrieben, du hast asymmetrische Verschlüssungverfahren beschrieben. Eine Beschreibung von RSA sollte z.b. eine Erklärung der Schlüsselerstellung und insbesondere eine Beschreibung, wie ein Text verschlüsselt wird enthalten . Dann einige sprachliche Anmerkungen: Man bricht keine Schlüssel (das Bild macht auch keinerlei Sinn), man bricht einen geheimtext oder ein Verschlüsselungsverfahren. Symmetrische verfahren haben keinen private key. Und bitte entscheide dich für eine Sprache: entweder private Key oder privater Schlüssel. Und eine Beschreibung von etwas beginnt nicht mit dem/den Vorteil/en von diesem (der Leser kennt es ja noch nicht)


Zitat:

Nun zum genauen Vorgehen:

2. zunächst wählen wir zwei primzahlen p und q und erstellen daraus unser n:

n = p*q // Beispiel wäre 77 = 11 * 7

nun berechnen wir phi(n)= (p-1)*(q-1) = 60




danach ermitteln wir unser e.
Dabei hab ich nun das Problem. Auf manchen Seiten heißt es e muss die kleinstmögliche Zahl sein, damit ggt(e,phi(n)))=1.

Das so machen zu "müssen" ist absoluter Unfug und sogar kontraproduktiv, da es Hinweise auf die Faktorisierung von n leifern kann.
e sollte möglichst klein sein, wobei auch das nicht den wirklichen Kern trifft. e sollte in der Binärdarstellung möglichst wenig 1en haben um die Berechnungen zu erleichtern. Auch nicht zu klein, da dies gewisse Angriffe ermöglichen würde.
Zitat:

Auf anderen wird einfach irgendeins genommen, aber nicht das kleinste.

Was spricht eigentlich dagegen ein gutes, altes Lehrbuch zu verwenden? Die sind in aller Regel sehr gut recherchiert und von Experten geschrieben und nicht von irgendwem, dessen Qualifikation unklar ist - insbesondere wen sich wiedersprochen wird.

Zitat:

Wie ist da denn ein gutes Vorgehen?
Ich habe das so gemacht:

beispiel die Zahl 60:
begonnen habe ich mit
2 -> 60:2 = 30 <- gerade Zahl also ggt nicht 1.
3 -> 60:3 = 20 <- ggt nicht 1.
4 -> 60:4 = 15 <- ggt nicht 1.
5 -> 60:5 = 12 <- ggt nicht 1.
6 -> 60:6 = 10 <- ggt nicht 1.
7 -> 60:7 = 8,5... <- Ergebnis eine Kommazahl, daher ggt = 1.

Nur weiß ich nicht ob das immer der Fall ist. Wenn ich von 2 Anfange hochzugehen ja eigentlich schon oder?
Damit wäre e in diesem Fall die kleinstmögliche Zahl 7.

In Realtität nimmt man meist . Für Übungsaufgaben wird e meist vorgegeben, oder man irgendein geeignetes e, also einen nicht-teiler von phi(n), denn man im Kopf viel schneller bestimmen kann mittels der Primfaktorzerlegung von phi(n).
Das Vorgehen von dir hier ist extrem umständlich, z.B. ist mit 2 auch jedes Vielfache von 2 zu phi(n) teilerfremd. Es ist also vollkommen unnötig die fälle 4 und 6 überhaupt noch zu betrachten.

Zitat:

Im Beispiel hat man 17 genommen. Wieso? Ist das egal? Dachte mir vielleicht wollte er nicht p oder q wählen. Aber selbst dann wäre ja die nächste Zahl ach 7 und 11 die 13.

Nochmal: Man nimmt irgendeines.

Zitat:

Danach muss ich noch das d ermitteln damit das gilt: ed ? 1 (mod phi(n))

Was ist dafür das beste Vorgehen? In allen Beispielen wird einfach ein d angegeben.

Hier beginnt der mathematisch interessante Teil.
Invertieren in Restklassenringen erledigt man im Allgmeinen mit den erweiterten euklidischen Algorithmus.


Zitat:
Oder gibt es eine andere Möglichkeit außer lange Rechnen oder Testen ein geeignetes e zu finden?

e wird nicht berechnet, insbesondere nicht lange. e wird gewählt. Man nimmt also irgendeine, die die Bedingung erfüllt. In realen Verschlüsselungen achtet man noch, wie berits erwähnt, auf ein paar Nebenbedingungen.
S-A-R-A-H-2 Auf diesen Beitrag antworten »

Ok danke für die Hife.

Im Nachhinein muss ich dir in den meisten Punkten zustimmen. Das war nicht gut geschrieben.
Nur ein paar Anmerkungen meinerseits:

Ich wollte in der Einleitung einfach nur allgemein was zum Verfahren eklären und wissen ob das Stimmt, was ich geschrieben habe.
Nicht direkt nur zum RSA, der ja insofern beschrieben wurde mit Absender und Empfänger. Und das ist hoffentlich (bis auf die Formulierung) korrekt.

Und die Kritik zum brechen der Nachricht kann ich leider nicht nachvollziehen, da ich ja schrieb dass der Emfänger dann die Nachricht die er erhalten hat (mithilfe seines Pirvaten Schlüssels) brechen kann.
Und das denke ich sollte doch korrekt sein oder?

Gut das du das mit dem Privaten Schlüssel bei der symmetischen Verschlüsselung erwähnt hast. Ich habe mich da nicht gut ausgedrückt.
Wollte mit dem privaten Schlüssel hier ausdrücken, dass beide im Besitz des Schlüssels sein müssen, dieser aber geheimgehalten werden sollte.


Ok dass man einfach nur ein e wählen muss, damit die Eigenschaft erfüllt ist, hat meine Frage komplett beantwortet. smile

Danke für die Mühe, auch wenn der Text etwas hart geschrieben war von dir.
So hart geschrieben hört es sich immer an als wäre alles geschriebene kompletter Unsinn.
Dennoch hat er mir weitergeholfen. smile
Captain Kirk Auf diesen Beitrag antworten »

Zitat:
Original von S-A-R-A-H-2
Ok danke für die Hife.

Im Nachhinein muss ich dir in den meisten Punkten zustimmen. Das war nicht gut geschrieben.
Nur ein paar Anmerkungen meinerseits:

Ich wollte in der Einleitung einfach nur allgemein was zum Verfahren eklären und wissen ob das Stimmt, was ich geschrieben habe.
Nicht direkt nur zum RSA, der ja insofern beschrieben wurde mit Absender und Empfänger. Und das ist hoffentlich (bis auf die Formulierung) korrekt.

Das mit Sender und Empfänger ist keine Beschreibung von RSA speziell, sondern die charaktische Eigenschaft von asymmetrischen Verschlüsselungsverfahren. Es gibt aber auch noch einige andere asymm. Verschlüsselungsverfahren.
Das entscheidende am RSA-Verfahren ist eigentlich das "wie?" der Verschlüsselung. Wie funktioniert also die Verschlüsselung. Darauf bist du noch überhaupt nicht eingegangen.
Und bei einer Beschreibung ist gerade die Formulierung entscheidend.

Zitat:

Und die Kritik zum brechen der Nachricht kann ich leider nicht nachvollziehen, da ich ja schrieb dass der Emfänger dann die Nachricht die er erhalten hat (mithilfe seines Pirvaten Schlüssels) brechen kann.

Die Kritik richtet sich an die Formulierung: "Einen Schlüssel brechen". Dieses Idiom gibt es im Deutschen nicht, es gibt nur: Einen Geheimtext brechen (besser wäre: dekodieren oder entziffern)oder ein Verschlüsselungsverfahren brechen.
Zitat:

Und das denke ich sollte doch korrekt sein oder?

Gut das du das mit dem Privaten Schlüssel bei der symmetischen Verschlüsselung erwähnt hast. Ich habe mich da nicht gut ausgedrückt.
Wollte mit dem privaten Schlüssel hier ausdrücken, dass beide im Besitz des Schlüssels sein müssen, dieser aber geheimgehalten werden sollte.

So ist es auch richtig.

Zitat:

Ok dass man einfach nur ein e wählen muss, damit die Eigenschaft erfüllt ist, hat meine Frage komplett beantwortet. smile

Danke für die Mühe, auch wenn der Text etwas hart geschrieben war von dir.
So hart geschrieben hört es sich immer an als wäre alles geschriebene kompletter Unsinn.
Dennoch hat er mir weitergeholfen. smile

Du wolltest Kritik zu deinem Text und hast sie auch bekommen. Es ist nachvollziehbarerweise hart wenn man kritisiert wird, aber nur so kann man sich auch verbessern.
Und ich warne vor, ich setz gleich noch einen drauf:
Was du raushörst ist nicht weit von meiner Einschätzung entfernt.
 
 
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »