diff --git a/main.listing b/main.listing new file mode 100644 index 0000000..210bab3 --- /dev/null +++ b/main.listing @@ -0,0 +1,7 @@ +13506641086599522334960321627880596993888147560566 +70275244851438515265106048595338339402871505719094 +41798207282164471551373680419703964191743046496589 +27425623934102086438320211037295872576235850964311 +05640735015081875106765946292055636855294752135008 +52879416377328533906109750544334999811150056977236 +890927563 diff --git a/main.pdf b/main.pdf index 2eab3c6..73feefc 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.tex b/main.tex index 0b243ce..aba2e2e 100644 --- a/main.tex +++ b/main.tex @@ -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