Merge commit '08df6481c749e21b300c6b5a2ec9d020acaa5954'

* commit '08df6481c749e21b300c6b5a2ec9d020acaa5954':
  RSA Schlüsselkonstruktion nicht mit dem kompletten text versehen.
This commit is contained in:
Ivan Hörler 2017-01-08 19:54:28 +01:00
commit 214a8f42c5
3 changed files with 45 additions and 28 deletions

7
main.listing Normal file
View File

@ -0,0 +1,7 @@
13506641086599522334960321627880596993888147560566
70275244851438515265106048595338339402871505719094
41798207282164471551373680419703964191743046496589
27425623934102086438320211037295872576235850964311
05640735015081875106765946292055636855294752135008
52879416377328533906109750544334999811150056977236
890927563

BIN
main.pdf

Binary file not shown.

View File

@ -100,10 +100,8 @@ Verschlüsseln der eigentlichen Daten.
TODO:
Sind das wirklich alles Sections? Ich habe sie jetzt mal in Subsections
geändert. Ist evtl. eher Fett gemeint?
Ismail was hast du hier gemeint? Ist der Titel dieses Kapitels korrekt?
Als erster Schritt muss ein öffentlicher und privater Schlüssel,(sozusagen ein Schlüsselpaar) konstruiert werden.
Dazu wählen wir 2 zwei zufällie Primzahlen die wir in unserem Beispiel zur einfachheit halber klein halten und fangen mit der Konstruktion an.
@ -114,25 +112,29 @@ Ismail was hast du hier gemeint? Ist der Titel dieses Kapitels korrekt?
\def\varphipxphiq{\varphi \textit{(p)} \cdot \varphi\textit{(q)}} % IH | ich definiere "phi p x phi q" \varphipxphiq
\def\pmineinsxqmineins{(\textit{p}-1) \cdot (\textit{q}-1)} % IH | ich definiere "p min eins x q min eins" \pmineinsxqmineins
% ------------------------------------------- Makro Definitionen -------------------------------------------
\textit In den folgenden Seiten berechnen wir : \\
\textit{N} = Privatschlüsselanteil \\
\textit{p} = primzahl \\
\textit{q} = primzahl \\
\textit{e} = Teilerfremder Wert \\
\textit{d} = modular inverse \\
\ In dem e+n den öffentlichen und d+n den privaten Schlüssel bilden. \\
\textit{N} = Privatschlüssel \; \textit{p} = primzahl \; \textit{q} = primzahl \\
\textit{e} = Teilerfremder Wert \; \textit{d} = modular inverse \\
\textit{N} = 77 \; \textit{p} = 7 \; \textit{q} = 11 \; \textit{e} = 7 \; \textit{d} = 43
Es werden zwei verschiedene Primzahlen 7 und 11 gewählt und das Produkt daraus
gerechnet.
Gleichung erstellen nach :
\subsection{Konstruktion \textit{N}}
Es werden zwei verschiedene Primzahlen p = 7 und q = 11 gewählt und das Produkt daraus
gerechnet, welches wir N nennen.
\begin{align*}
\textit{N} & = \pq \\
77 & = 7 \cdot 11 \\
N & = 77 \\
\end{align*}
\subsection{Konstruktion \textit{m}}
Danach rechnen wir Phi von N um die Anzahl der teilerfremden Zahlen zu berechnen.
Da p und q Primzahlen sind wissen wir das Phi von p = p-1 und Phi von q = q-1 ist.
\begin{align*}
\varphi \textit{(N)} & = \m \\
\varphi \textit{(N)} & = \varphipxphiq \\
@ -142,26 +144,26 @@ Gleichung erstellen nach :
\end{align*}
\subsection{Konstruktion \textit{(e)}}
Wir bestimmen eine zu \textit{m} = 60 teilerfremde Zahl
\textit{e} < \textit{N} -> 7 \\
\subsection{Konstruktion \textit{e}}
Wir bestimmen eine zu \textit{m} = 60 teilerfremde Primzahl mit 1<
\textit{e} < \textit{m} mit dem ggT(e,m)=1 \\
\ Wir nehmen in unserem Beispiel 7 da sie nicht durch 60 teilbar ist und beide den ggT 1 besitzten. \\
\subsection{Konstruktion \textit(d)}
Zuvor haben wir e mit der Eigenschaft ( ggT( e,\varphi (N)\) = 1 ) bestummen, dies bedeutet, wenn wir ( mod \varphi (N)\) rechnen, hat e einen inversis. \\
Wir bestimmen d mit e*d \equiv 1 mod $\varphi (N) $ und formen dies nach d = e^(-1) mod $\varphi (N) $ \
Aus e^(-1) mod $\varphi (N) $ \ \equiv 7^-1 mod $\varphi (77) $ berechnen wir die inverse, indem wir erstmal aus 60 und 7 den euklidischen Algorithmus formen, als wollten wir den ggT dieser Zahlen ermitteln. Wir wissen schon dass der ggT(60,7) 1 ist.
\begin{align*}
Platzhalter
\end{align*}
\subsection{Konstruktion \textit{d} }
Um \textit{d} zu Konstruieren müssen wir den erweiterten euklidischen
Algorithmus mit m anwenden
\begin{align*}
60 & = 8 \cdot 7 + 4\\ % IH | frage an Ismail: wo her kommt die 8 und die 4? Da verstehe ich die Rechnung nicht...
60 & = 8 \cdot 7 + 4\\ % IH | 60 und 7 kommen aus e und m und wir rechnen hier wieviel mal 7 + der rest 60 gibt
7 & = 1 \cdot 4 + 3\\
4 & = 1 \cdot 3 + 1 \label{eq:bspd1}\\ % IH | Labels können mit \ref{} dynamisch wieder aufgerufen werden
3 & = 3 \cdot 1 + 0
\end{align*}
Danach verwenden wir Formelnr. \ref{eq:bspd1} und formen die Gleichung nach 1 um
Der erweiterte euklidische Algorithmus besteht nun darin, ausgehend von der vorletzten Zeite, diese Rechenschritte "von unten nach oben" in der folgenden Weise aufzurollen, indem die einzelnen Zeilen nach den Resten aufgelöst und diese nacheinander eingesetzt werden:
\begin{align*}
1 & = 4 - 1 \cdot 3 \\
@ -169,13 +171,21 @@ Danach verwenden wir Formelnr. \ref{eq:bspd1} und formen die Gleichung nach 1 um
1 & = 4 - 1 \cdot 7 + 1 \cdot 4\\
1 & =(-1) \cdot 7 + 2 \cdot 4 \\
1 & = (-1) \cdot 7 + 2 \cdot (60-8 \cdot 7)\\
1 & = 2 \cdot 60 -17 \cdot 7 \, (mod)\\
1 & = 43 \cdot 7 \, mod 60 \, (60 - 17 = 43)\\
1 & = \textit{d} ^\textit{e} \, mod \, \textit{n} \, \slash \, ( \, Umformen \, nach \, \textit{d} \, )\\
\end{align*}
Zu beachten ist, dass wir alle Klammern, jedoch nicht alle Produkte ausmultiplizieren\\
Da unsere Inverse positiv und kleiner 60 sein soll, addieren wir 60*7 auf der linken Seite.
Die rechte Seite verändert sich nicht, da wir mod 60 rechnen.\\
\begin{align*}
1 & = 2 \cdot 60 -17 \cdot 7 \,\mid (mod)\\
1 & = 43 \cdot 7 \, mod 60 \,\mid (60 - 17 = 43)\\
1 & = \textit{d} ^\textit{e} \, mod \, \textit{n} \, \slash \, \,\mid Umformen \, nach \, \textit{d} \, \\
% IH | in Formeln werden leerzeichen ignoriert darum kann mit " \, " , " \: " , " \; " erstellt einen "schmalen", "mittleren" und "breiten" Leerschlag. Es geht auch mit \thinspace, \medspace oder \thickspace...
\textit{d} & = 7^{-1} \, mod \, 60 \\
\textit{d} & = 43
\end{align*}
Danach lösen wir die Gleichung nach d auf . \\
\section{Verschlüsselung}
Im Beispiel der Schlüsselkonstruktion werden die Variablen e und N als