Eine überlegung bezüglich einer Modulofunktion, ist das richtig?

Neue Frage »

Löli Auf diesen Beitrag antworten »
Eine überlegung bezüglich einer Modulofunktion, ist das richtig?
Hallo!

Ich habe folgende Ausgangsgleichung:
c = (k*m) mod n
Dabei sind alle Variablen Elemente der natürlichen Zahlen.
Es gilt außerdem:
0 kleiner gleich m kleiner gleich n
1 kleiner gleich k kleiner gleich n
Außerdem muss der größte gemeinsame Teiler aus k und n gleich 1 sein. Das ist deshalb so, weil das ganze eigendlich eine Verschlüsslungsfunktion darstellen soll, wo eine eindeutige Zuordnung erfolgt. Warum der Teiler aus k und n gleich 1 sein muss, hab ich schon bewiesen.

So, jetzt wollte ich eine Weg finden, wie ich aus c wieder m erhalte.
Dazu habe ich folgende Überlegungen geschrieben:

Für eine normale Rechnung gilt:
m * a = c
c * a^(-1) = m
Dabei ist a^(-1) zu a invers. Da die Funktion c = (m * t) mod n gilt, wird nun wie oben ein Inverses x zu k mod n gesucht, mit dem die Rechnung ebenso rückgängig gemacht werden kann:

Weil a * a^(-1) = 1 gilt, soll für k * x auch gelten:
x * k ist kongruent zu 1 mod n ( = 1 )
Für x * k wird also vorausgesetzt, dass es der Form q*n + 1 entspricht, damit die rechte Seite der Gleichung gilt:
x * k = qn + 1
Stellt man nun noch nach x um, erhält man:
x = (qn + 1) / k = (n + 1) / k (Vereinfachung)


Ich weiß, dass die Rechnung so stimmt, aber ist an meinen Überlegungen von euch aus gesehen irgendetwas unklar oder unvollständig?

Vielen Dank für Hilfe.
Löli Auf diesen Beitrag antworten »

Entschuldigt bitte, aber ich habe selbst bemerkt, dass es noch einen kleinen Fehler gibt:

X ergibt nicht zwangsläufig eine ganze Zahl, wie bei dem Beispiel k = 5 und n = 26, obwohl ggT(5, 26) = 1 gilt.
Das heißt, es muss ein entsprechendes q gesucht werden, sodass es irgendein Vielfaches von 26 gibt, was addiert mit 1 durch 5 teilbar ist.
Mit anderen Worten soll gelten:
(qn + 1) = k * p
qn = p*k - 1

Aber wie mach ich nun weiter? Wie finde ich ein Vielfaches von n, was irgendeinem Vielfachen von k, subtrahiert mit 1 entspricht?
AD Auf diesen Beitrag antworten »

Benutze den EEA (erweiterter euklidischer Algorithmus) für und : Der liefert dir ganze Zahlen mit der Eigenschaft



Jetzt nur noch das ganze mit c multiplizieren liefert

,

d.h. ist deine gesuchte Lösung.
Löli Auf diesen Beitrag antworten »

Vielen Dank, Arthur!
Ich glaubte erst auf dem Weg ne genaue allgemeine Lösung zu finden, aber da scheint der EEA wohl das einzige zu sein, was hilft...
Neue Frage »
Antworten »



Verwandte Themen

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