Browse Source

Leerzeichen, Referenzen, Pfeile, Literaturverzeichnis

Martin Thoma 12 years ago
parent
commit
609c0b6bc2

File diff suppressed because it is too large
+ 4 - 1
documents/facharbeit-rsa/Kapitel-1.tex


+ 1 - 1
documents/facharbeit-rsa/Kapitel-2.tex

@@ -16,4 +16,4 @@ Primfaktoren. Falls es keinen besseren Algorithmus zur Faktorisierung
 als zur Multiplikation gibt, ist diese Annahme korrekt. Nach dem 
 als zur Multiplikation gibt, ist diese Annahme korrekt. Nach dem 
 Stand von 2009 ist dies der Fall.
 Stand von 2009 ist dies der Fall.
 
 
-Weitere Hinweise zur Sicherheit des RSA-Kryptosystems sind in Kapitel 7.4 zu finden. % TODO link zu kapitel 7.4
+Weitere Hinweise zur Sicherheit des RSA-Kryptosystems sind in \cref{sec:Security} zu finden.

+ 2 - 2
documents/facharbeit-rsa/Kapitel-4.tex

@@ -1,4 +1,4 @@
-\section{Eulersche $\varphi$-Funktion}
+\section{Eulersche $\varphi$-Funktion}\label{sec:Eulersche-Phi-Funktion}
 Die Eulersche $\varphi$-Funktion gibt für jede natürliche Zahl $n$ an, 
 Die Eulersche $\varphi$-Funktion gibt für jede natürliche Zahl $n$ an, 
 wie viele positive ganze Zahlen $a \leq n $ zu ihr relativ prim sind\footnote{[Brill], S. 148}.
 wie viele positive ganze Zahlen $a \leq n $ zu ihr relativ prim sind\footnote{[Brill], S. 148}.
 $a$ ist zu $n$ relativ prim, wenn $ggT(a,n) = 1$ gilt, also wenn $a$ 
 $a$ ist zu $n$ relativ prim, wenn $ggT(a,n) = 1$ gilt, also wenn $a$ 
@@ -6,7 +6,7 @@ und $n$ keinen größeren gemeinsamen Teiler als $1$ haben. Man sagt
 auch "`a und b sind teilerfremd"'.
 auch "`a und b sind teilerfremd"'.
 
 
 $\varphi(n)$ ist zugleich die Ordnung der multiplikativen Gruppe $(\mathbb{Z}/n \mathbb{Z})^*$. 
 $\varphi(n)$ ist zugleich die Ordnung der multiplikativen Gruppe $(\mathbb{Z}/n \mathbb{Z})^*$. 
-$\varphi(n)$ gibt also an, wie viele Zahlen im Restklassenring modulo $n$ ein multiplikativ Inverses haben. Mehr dazu in Kapitel 6.	% TODO
+$\varphi(n)$ gibt also an, wie viele Zahlen im Restklassenring modulo $n$ ein multiplikativ Inverses haben. Mehr dazu in \cref{sec:Multiplikativ-Inverses}
 
 
 Für Primzahlen gilt $\varphi(p) = p - 1$ , da eine Primzahl nur 
 Für Primzahlen gilt $\varphi(p) = p - 1$ , da eine Primzahl nur 
 durch sich und eins teilbar ist. Sei $A$ die multiplikative Gruppe 
 durch sich und eins teilbar ist. Sei $A$ die multiplikative Gruppe 

+ 2 - 1
documents/facharbeit-rsa/Kapitel-5.tex

@@ -18,13 +18,14 @@ Seien $m_1, m_2, ..., m_n$ paarweise teilerfremde natürliche Zahlen und
 $a_1, a_2, \dots, a_n$ ganze Zahlen.
 $a_1, a_2, \dots, a_n$ ganze Zahlen.
 
 
 Dann ist das System linearer Kongruenzen
 Dann ist das System linearer Kongruenzen
+\vspace{-0.4cm}
 \[x \equiv a_1 \imod{m_1},\;\;\; x \equiv a_2 \imod{m_2},\;\;\;\dots,\;\;\; x \equiv a_n \imod{m_n}\]
 \[x \equiv a_1 \imod{m_1},\;\;\; x \equiv a_2 \imod{m_2},\;\;\;\dots,\;\;\; x \equiv a_n \imod{m_n}\]
 lösbar. Alle Lösungen des Systems liegen in einer gemeinsamen
 lösbar. Alle Lösungen des Systems liegen in einer gemeinsamen
  Restklasse modulo $M=\prod_{i = 1}^n m_i$
  Restklasse modulo $M=\prod_{i = 1}^n m_i$
 \end{mdframed}
 \end{mdframed}
 
 
 \textbf{Beweis nach [Reiss], S. 221f:}
 \textbf{Beweis nach [Reiss], S. 221f:}
-\begin{enumerate}[label=(\Roman{*}),labelsep=2em]
+\begin{enumerate}[label=(\Roman{*}),labelsep=0.5em,noitemsep]
     \item $M_j = \frac{M}{m_j}$ für $j = 1, \dots, n$
     \item $M_j = \frac{M}{m_j}$ für $j = 1, \dots, n$
     \item $y_j \cdot M_j \equiv 1 \imod{m_j}$, $y_j$ mit dem erweitertem Euklidischem Algorithmus bestimmen
     \item $y_j \cdot M_j \equiv 1 \imod{m_j}$, $y_j$ mit dem erweitertem Euklidischem Algorithmus bestimmen
     \item $a_j \cdot y_j \cdot M_j \equiv a_j \imod{m_j}$ für $j = 1, \dots, n$\\
     \item $a_j \cdot y_j \cdot M_j \equiv a_j \imod{m_j}$ für $j = 1, \dots, n$\\

+ 2 - 2
documents/facharbeit-rsa/Kapitel-6.tex

@@ -1,4 +1,4 @@
-\section{Multiplikativ inverses Element}
+\section{Multiplikativ inverses Element}\label{sec:Multiplikativ-Inverses}
 \subsection{Definition und Beispiele}
 \subsection{Definition und Beispiele}
 Das multiplikativ inverse Element $d$ von $e$ ergibt bei der 
 Das multiplikativ inverse Element $d$ von $e$ ergibt bei der 
 Multiplikation mit $e$ das neutrale Element der Multiplikation, also 
 Multiplikation mit $e$ das neutrale Element der Multiplikation, also 
@@ -46,7 +46,7 @@ Gesucht ist das multiplikativ Inverse $b \in \mathbb{Z} / a \mathbb{Z}$ von $x \
 
 
 \begin{tabular}{lll}
 \begin{tabular}{lll}
 \textbf{Schritt 1}: euklidischer Algorithmus & & \textbf{Schritt 2}: nach Rest auflösen\\
 \textbf{Schritt 1}: euklidischer Algorithmus & & \textbf{Schritt 2}: nach Rest auflösen\\
-$91=1 \cdot 71 + 21$    & $\rightarrow$     & $21 = 92 - 71$\\
+$91=1 \cdot 71 + 21$ \myDownArrow & $\rightarrow$     & $21 = 92 - 71$ \myUpArrow\\
 $71=3 \cdot 21 + 8$     & $\rightarrow$     & $8 = 71 - 3 \cdot 21$\\
 $71=3 \cdot 21 + 8$     & $\rightarrow$     & $8 = 71 - 3 \cdot 21$\\
 $21=2 \cdot 8 + 5$      & $\rightarrow$     & $5 = 21 - 2 \cdot 8$\\
 $21=2 \cdot 8 + 5$      & $\rightarrow$     & $5 = 21 - 2 \cdot 8$\\
 $ 8=1 \cdot 5 + 3$      & $\rightarrow$     & $3 =  8 - 1 \cdot 5$\\
 $ 8=1 \cdot 5 + 3$      & $\rightarrow$     & $3 =  8 - 1 \cdot 5$\\

+ 9 - 9
documents/facharbeit-rsa/Kapitel-7.tex

@@ -1,4 +1,4 @@
-\section{RSA-Verfahren}
+\section{RSA-Verfahren}\label{sec:RSA-Verfahren}
 Das RSA-Verfahren ist ein asymmetrisches Kryptosystem, das von 
 Das RSA-Verfahren ist ein asymmetrisches Kryptosystem, das von 
 Ronald Linn \textbf{R}ivest, Adi \textbf{S}hamir und Leonard 
 Ronald Linn \textbf{R}ivest, Adi \textbf{S}hamir und Leonard 
 \textbf{A}dleman entwickelt und im August 1977 veröffentlicht wurde\footnote{[msri], S. 2}.
 \textbf{A}dleman entwickelt und im August 1977 veröffentlicht wurde\footnote{[msri], S. 2}.
@@ -16,13 +16,13 @@ kann, in An-lehnung an [wiki-RSA], in fünf Schritte unterteilt werden:
     \item[Schritt 1:] Als erstes werden zwei große Primzahlen  gewählt. 
     \item[Schritt 1:] Als erstes werden zwei große Primzahlen  gewählt. 
                       Je größer diese Primzahlen sind, desto sicherer 
                       Je größer diese Primzahlen sind, desto sicherer 
                       ist die Verschlüsselung.
                       ist die Verschlüsselung.
-                     (vgl. Kapitel 7.4 "`Sicherheit des RSA-Verfahrens"')
+                     (vgl. \cref{sec:Security})
     \item[Schritt 2:] In diesem Schritt wird RSA-Modul $N = p \cdot q$ 
     \item[Schritt 2:] In diesem Schritt wird RSA-Modul $N = p \cdot q$ 
                       berechnet, das ein Teil des öffentlichen 
                       berechnet, das ein Teil des öffentlichen 
                       Schlüssels ist.
                       Schlüssels ist.
     \item[Schritt 3:] Schritt 3: Nun wird der Wert der Eulerschen 
     \item[Schritt 3:] Schritt 3: Nun wird der Wert der Eulerschen 
                       $\varphi$-Funktion bei $N$ berechnet. Da $p$ 
                       $\varphi$-Funktion bei $N$ berechnet. Da $p$ 
-                      und $q$ Primzahlen sind, gilt $\varphi(N) = (p-1) \cdot (q-1)$ (vgl. Kapitel 4) % TODO
+                      und $q$ Primzahlen sind, gilt $\varphi(N) = (p-1) \cdot (q-1)$ (vgl. \cref{sec:Eulersche-Phi-Funktion})
     \item[Schritt 4:] Nachdem $\varphi(N)$ ermittelt wurde, kann der 
     \item[Schritt 4:] Nachdem $\varphi(N)$ ermittelt wurde, kann der 
                       zweite Teil des öffentlichen Schlüssel, der 
                       zweite Teil des öffentlichen Schlüssel, der 
                       Verschlüsselungsexponent $e$, ermittelt werden. 
                       Verschlüsselungsexponent $e$, ermittelt werden. 
@@ -59,8 +59,8 @@ Um ein $d$ zu finden, das diese Kongruenz erfüllt, wird der
 erweiterte euklidische Algorithmus angewendet:
 erweiterte euklidische Algorithmus angewendet:
 
 
 \begin{tabular}{lll}
 \begin{tabular}{lll}
-\textbf{Schritt 1}: euklidischer Algorithmus & & \textbf{Schritt 2}: nach Rest auflösen\\
-$130788 = 149 \cdot 877 + 115$    & $\rightarrow$     & $115 = 130788 - 149 \cdot 877$\\
+\textbf{Schritt 1}: euklidischer Algorithmus  & & \textbf{Schritt 2}: nach Rest auflösen\\
+$130788 = 149 \cdot 877 + 115$    \myDownArrowB & $\rightarrow$     & $115 = 130788 - 149 \cdot 877$ \myUpArrowB\\
 $877= 7  \cdot 115 + 72$     & $\rightarrow$     & $72 = 877 - 7 \cdot 115$\\
 $877= 7  \cdot 115 + 72$     & $\rightarrow$     & $72 = 877 - 7 \cdot 115$\\
 $115= 1 \cdot 72 + 43$      & $\rightarrow$     & $43 = 115 - 72$\\
 $115= 1 \cdot 72 + 43$      & $\rightarrow$     & $43 = 115 - 72$\\
 $72= 1 \cdot 43 + 29$      & $\rightarrow$     & $29 = 72 - 43$\\
 $72= 1 \cdot 43 + 29$      & $\rightarrow$     & $29 = 72 - 43$\\
@@ -98,7 +98,7 @@ G &\equiv 27077 \cdot 95706^{9} \equiv 27077 \cdot 9189^{3} \equiv 27077 \cdot 5
 G &\equiv 29467 \imod{131513}
 G &\equiv 29467 \imod{131513}
 \end{align*}
 \end{align*}
 
 
-\subsection{Entschlüsselung mit dem privaten Schlüssel}
+\subsection{Entschlüsselung mit dem privaten Schlüssel}\label{sec:Decryption}
 \subsubsection{Entschlüsselung ohne den Chinesischen Restsatz}
 \subsubsection{Entschlüsselung ohne den Chinesischen Restsatz}
 Der Geheimtext wird entschlüsselt, indem man ihn mit $d$ potenziert 
 Der Geheimtext wird entschlüsselt, indem man ihn mit $d$ potenziert 
 und dann denn kleinsten positiven Repräsentanten der Restklasse $N$ 
 und dann denn kleinsten positiven Repräsentanten der Restklasse $N$ 
@@ -193,15 +193,15 @@ $\varphi(N)$ und $d$ nicht bekannt. Um $\varphi(N)$ zu berechnen,
 werden die Primfaktoren $p$ und $q$, aus denen $N$ besteht, benötigt. 
 werden die Primfaktoren $p$ und $q$, aus denen $N$ besteht, benötigt. 
 $N$ muss also faktorisiert werden. Sobald ein Faktor von $N$ bekannt 
 $N$ muss also faktorisiert werden. Sobald ein Faktor von $N$ bekannt 
 ist, kann man $N$ durch diesen Faktor teilen und man erhält den 
 ist, kann man $N$ durch diesen Faktor teilen und man erhält den 
-zweiten Faktor. Dann kann man wie in Kapitel 7 vorgehen und $d$ % TODO link to kapitel
-berechnen. Mit $d$ kann man wie in Kapitel 7.2 beschrieben die  % TODO link to kapitel
+zweiten Faktor. Dann kann man wie in \cref{sec:RSA-Verfahren} vorgehen und $d$
+berechnen. Mit $d$ kann man wie in \cref{sec:Decryption} beschrieben die
 Geheimbotschaft entschlüsseln.
 Geheimbotschaft entschlüsseln.
 
 
 Wird das Aribas-Skript im Anhang ausgeführt, das diese Schritte 
 Wird das Aribas-Skript im Anhang ausgeführt, das diese Schritte 
 ausführt, erhält man den Klartext "`\textbf{RSAribas}"'.
 ausführt, erhält man den Klartext "`\textbf{RSAribas}"'.
 
 
 
 
-\subsection{Sicherheit des RSA-Algorithmus}
+\subsection{Sicherheit des RSA-Algorithmus}\label{sec:Security}
 Der RSA-Algorithmus kann, wie oben beschrieben, "`geknackt"' werden, 
 Der RSA-Algorithmus kann, wie oben beschrieben, "`geknackt"' werden, 
 indem der öffentliche Schlüssel faktorisiert wird. Allerdings ist das 
 indem der öffentliche Schlüssel faktorisiert wird. Allerdings ist das 
 bei großen Zahlen nahezu unmöglich, da die Algorithmen sehr lange 
 bei großen Zahlen nahezu unmöglich, da die Algorithmen sehr lange 

+ 17 - 0
documents/facharbeit-rsa/Literatur.tex

@@ -32,3 +32,20 @@ Königswinter, Tandem Verlag GmbH, 2006.
 \subsection*{Internetadressen}
 \subsection*{Internetadressen}
 
 
 TODO
 TODO
+\begin{tabular}{ll}
+[Berendt] & 
+Berendt, Gerhard. 
+Seminar über Zahlentheorie/Kryptographie. 			10.04.2008
+URL:  http://userpage.fu-berlin.de/~berendt/lehre2008\_neu.html 
+[Stand: 09.01.2010] \\
+a[Birthälmer] &
+Birthälmer, Melita.
+Kryptografie  							13.04.2008
+URL: http://www.birthaelmer.com/fileadmin/birthaelmer/portfolio/Kryptografie\_web.pdf
+[Stand: 09.01.2010] \\
+a[msri] &
+SIAM News. 
+Still Guarding Secrets after Years of Attacks, RSA Earns Accolades for its Founders. 									17.06.2003
+URL: http://www.msri.org/people/members/sara/articles/rsa.pdf 
+[Stand: 09.01.2010]
+\end{tabular}

+ 15 - 2
documents/facharbeit-rsa/facharbeit-rsa.tex

@@ -11,6 +11,7 @@
 \usepackage{pdfpages}  % Signatureinbingung und includepdf
 \usepackage{pdfpages}  % Signatureinbingung und includepdf
 \usepackage{parskip}   % spaces instead of intendation between paragraphs
 \usepackage{parskip}   % spaces instead of intendation between paragraphs
 \usepackage{cite}
 \usepackage{cite}
+\usepackage[scaled=.90]{helvet}% Helvetica, served as a model for arial
 \linespread{1.45}     % 1,45-Facher Zeilenabstand
 \linespread{1.45}     % 1,45-Facher Zeilenabstand
 
 
 \usepackage{titlesec}
 \usepackage{titlesec}
@@ -24,15 +25,20 @@
 \usepackage{fancyhdr}  % needed for the footer
 \usepackage{fancyhdr}  % needed for the footer
 \usepackage{lastpage}  % needed for the footer
 \usepackage{lastpage}  % needed for the footer
 
 
+\usepackage{tikz} % needed for arrow in document
+\usetikzlibrary{shapes.arrows} % needed for arrow in document
+
 \clubpenalty  = 10000   % Schusterjungen verhindern
 \clubpenalty  = 10000   % Schusterjungen verhindern
 \widowpenalty = 10000   % Hurenkinder verhindern
 \widowpenalty = 10000   % Hurenkinder verhindern
 
 
 \hypersetup{ 
 \hypersetup{ 
   pdfauthor   = {Martin Thoma}, 
   pdfauthor   = {Martin Thoma}, 
   pdfkeywords = {Asymmetrische Verschlüsselungsverfahren; RSA-Kryptosystems}, 
   pdfkeywords = {Asymmetrische Verschlüsselungsverfahren; RSA-Kryptosystems}, 
-  pdftitle    = {Asymmetrische Verschlüsselungsverfahren am Beispiel des RSA-Kryptosystems} 
+  pdftitle    = {Asymmetrische Verschlüsselungsverfahren am Beispiel des RSA-Kryptosystems},
+  pdfborder = {0 0 0} % remove red box around hyperlinks
 } 
 } 
-
+\usepackage[german,nameinlink]{cleveref}
+\crefname{section}{Kapitel}{Kapitel}
 \pagestyle{fancy}
 \pagestyle{fancy}
 \fancyhf{}
 \fancyhf{}
 \renewcommand{\headrulewidth}{0pt}
 \renewcommand{\headrulewidth}{0pt}
@@ -48,6 +54,13 @@
 \usepackage{minted} % needed for the inclusion of source code
 \usepackage{minted} % needed for the inclusion of source code
 
 
 \begin{document}
 \begin{document}
+
+\def\myDownArrow{\smash{\begin{tikzpicture}[baseline=6mm]\useasboundingbox (-2,0);\node[single arrow,draw=black,fill=black!10,minimum height=4cm,minimum width=1.2cm,shape border rotate=270] at (0,-1) {};\end{tikzpicture}}}
+\def\myUpArrow{\smash{\begin{tikzpicture}[baseline=6mm]\useasboundingbox (-2,0);\node[single arrow,draw=black,fill=black!10,minimum height=4cm,minimum width=1.2cm,shape border rotate=90] at (0,-1) {};\end{tikzpicture}}}
+
+\def\myDownArrowB{\smash{\begin{tikzpicture}[baseline=6mm]\useasboundingbox (-1,0);\node[single arrow,draw=black,fill=black!10,minimum height=4cm,minimum width=1.2cm,shape border rotate=270] at (0,-1) {};\end{tikzpicture}}}
+\def\myUpArrowB{\smash{\begin{tikzpicture}[baseline=6mm]\useasboundingbox (-1,0);\node[single arrow,draw=black,fill=black!10,minimum height=4cm,minimum width=1.2cm,shape border rotate=90] at (0,-1) {};\end{tikzpicture}}}
+
 \setcounter{page}{0}
 \setcounter{page}{0}
 \pagenumbering{roman} 
 \pagenumbering{roman}