Mathematische Grundlagen 3: Unterschied zwischen den Versionen

Aus RMG-Wiki
Wechseln zu: Navigation, Suche
Zeile 119: Zeile 119:
 
<br>
 
<br>
 
[[Benutzer:Deininger_Matthias/Facharbeit/RSA-Algorithmus| ''' => weiter zum RSA-Algorithmus''']]
 
[[Benutzer:Deininger_Matthias/Facharbeit/RSA-Algorithmus| ''' => weiter zum RSA-Algorithmus''']]
<br>
 
<br>
 
 
<br>
 
<br>
 
<br>
 
<br>

Version vom 12. September 2010, 14:15 Uhr

In der 6. Klasse hast du dich schon einmal mit Kehrwerten beschäftigt. Bei der Zahl 2 ist der Kehrwert bezüglich der Multiplikation 0,5.  2\cdot 0,5 =1, den Kehrwert kann man auch als Inverse bezeichnen. Im Folgenden gilt es zu untersuchen, ob auch modulare Inversen existieren und wenn ja unter welchen Bedingungen, wenn wir nur ganzzahlige Inverse betrachten möchten. Aus den Angaben von Alice folgt: a = 13, n = 24, x \in \Z Wie für den Kehrwert, so gilt auch für die modulare Inverse, dass das Resultat 1 ergeben muss.

Allgemein gilt also: Alternative Schreibweise für die modulare Inverse:
a\cdot x\ mod\ n =1 a^{-1}\equiv x\ mod\ n


Diese Gleichungen sind äquivalent zu :
a\cdot x = r\cdot n +1\ ;\ r\in\Z diese Schreibweise erinnert an Lemma 1.2, wonach man vermuten kann, dass die Gleichung nur für ggT(a,n)=1 gilt.

für die Aufgabe von Alice gilt somit:

13\cdot x\ mod\ 24 =1


Falls eine Lösung existiert, soll nun eine ganze Zahl x gefunden werden, so dass die Gleichung erfüllt ist. Wie du anhand von Alices Beispiel selbst überprüfen kannst, ist dies bereits bei so kleinen Zahlen ziemlich schwierig.
Deshalb betrachten wir nun den Satz von der modularen Inversen und werden darauf einen Algorithmus kennen lernen, mithilfe dessen sich die modulo Inverse, die auch als multiplikative Inverse bezeichnet werden kann, relativ einfach berechnen lässt.

Satz 2.3[1] (Satz von der modularen Inversen) Es sei a,x \in \Z und n \in \N mit ggT(a,n)=1, so ist x die modulare Inverse zu a, wenn gilt:

a\cdot x\ mod\ n =1

Beweis: Da gilt ggT(a,n)=1, gibt es ganze Zahlen x und y mit folgenden Eigenschaften:
1 =a\cdot x + n\cdot y
da ny durch n teilbar ist, ergibt ax bei Division durch n den Rest 1, also ist
a\cdot x\ mod\ n =1

Folglich gibt es immer eine eindeutige modulare Inverse, wenn gilt ggT(a,n)=1 □

Wie du bereits aus Abschnitt 1 weißt, lässt sich der ggT zweier Zahlen mithilfe des Euklidischen Algorithmus bestimmen.

Algorithmus 2.4[1] (Berechnung der modularen Inverse) Es seien a,n \in \Z mit ggT(a,n) = 1. Man berechne zunächst die Vielfachsummendarstellung 1=a\cdot x+y\cdot n. Dann ist x die modulare Inverse von a modulo n.

Bei den, von Alice gewählten, Zahlen gilt ggT(13,24)=1, also existiert eine modulare Inverse, da 13,24 \in\Z , lässt sich obiger Algorithmus hier anwenden, um die modulare Inverse zu 13 mod 24 zu bestimmen.
Gesucht sind x und y, für x,y \in \Z
1 = 13x + 24y Bestimme mithilfe des Euklidischen Algorithmus die Vielfachsummendarstellung von 13 und 24 und ermittle daraus die modulare Inverse zu 13 mod 24.


Alice beschäftigt sich jetzt mit dem Satz von Fermat, sowie dem Satz von Euler, weil sie gelesen hat, dass diese Sätze elementar für das RSA-Kryptosystem sind. Folglich solltest auch du diese beiden Sätze kennen lernen, bevor du dich dem RSA-Kryptosystem zuwendest.

Satz 2.5[2] (Der kleine Satz von Fermat) Es sei p eine Primzahl, so gilt für alle a \in \Z mit ggT(a,p)=1.

a^{p-1}\equiv 1\ (mod\ p)

Beweis: (durch Betrachtung der Äquivalenzklassen/Restklassenrepräsentanten)
Die möglichen Reste ungleich 0 bei Division einer ganzen Zahl durch p sind 1,2,3, ... ,p-1. Die Zahlen 1\cdot a, 2\cdot a, 3\cdot a, ...,(p-1)\cdot a sind ebenfalls (p-1) verschiedene Zahlen; je zwei von ihnen haben verschiedene Reste (ungleich 0) mod p, da wegen ggT(a,p) = 1 gilt: k\cdot a \equiv l\cdot a\ (mod\ p) \Rightarrow k \equiv l\ (mod p), Was wegen der Größe dieser Zahlen nur für k = l möglich ist. Also ist jede der Zahlen i\cdot a kongruent zu genau einem Element aus {1,2,3, ... ,p-1} und es gilt:

[1\cdot a], [2\cdot a], [3\cdot a], ..., [(p-1)\cdot a] = [1],[2],[3],..., [p-1] d.h.
\{(1\cdot 2\cdot 3\cdot ...\cdot (p-1)) \cdot a^{p-1}\} \equiv \{1\cdot 2\cdot 3\cdot ... \cdot (p-1)]\}\ (mod\ p)

hieraus folgt durch Division: a^{p-1} \equiv 1\ (mod\ p)

Alice wählt sich p = 5 und a = 4, um den Satz zu testen.
Somit gilt nach dem kleinen Satz von Fermat:
4^4\ mod\ 5 = 256\ mod\ 5 = 1

Beim Satz von Fermat handelt es sich lediglich um einen Sonderfall des Satzes von Euler:

Satz 2.6[2] (Satz von Euler) Es sei n e N, so gilt für jedes a mit ggT(a,n)=1:
a^{\varphi(n)} \equiv 1\ (mod\ n)

Hierbei bezeichnet \varphi(n) die Anzahl der zu n teilerfremden Zahlen aus der Menge {1,2,...,n-1}. Wenn p eine Primzahl ist, so gilt: \varphi(p)= p-1, für zwei voneinander verschiedene Primzahlen p,q gilt folglich: \varphi(p\cdot q)=(p-1)\cdot (q-1)


=> weiter zum RSA-Algorithmus

zurück zur Übersicht


  1. 1,0 1,1 Satz 2.3, und dessen Beweis, sowie Algorithmus 2.4 stammen aus [3, S.107]
  2. 2,0 2,1 Satz 2.5, der zugehörige Beweis und Satz 2.6 wurden [12, S.5] entnommen

siehe dazu Literaturverzeichnis