kryptoprojekt/spioncamp/austausch-diffie-hellman-station.tex

99 lines
4.4 KiB
TeX

\documentclass[12pt]{scrartcl}
\usepackage{spioncamp}
\usepackage{fancybox}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{wrapfig}
\def\version{3}
\begin{document}
\title{Diffie-Hellman-Algorithmus}
\subtitle{Schlüsselaustausch}
\parage{col_bg}{}{
Um einen Klartext zu verschlüsseln, und auch anschließend zu entschlüsseln, \begin{wrapfigure}{r}{70mm}
\includegraphics[width=70mm]{./abbildungen/austausch.jpg}
\end{wrapfigure}
brauchen Sender und Empfänger denselben Schlüssel. Dieser ist meist eine Zahl. So kann z.\,B. die Zahl 8 für den Buchstaben >>H<< stehen.
Sender und Empfänger müssen den Schlüssel \high{geheim} austauschen können, das heißt, ohne dass ein Dritter diesen erfährt.\\
}
Für einen geheimen Schlüsselaustausch kann der \high{Diffie-Hellman-Algorithmus} verwendet werden. Der Algorithmus wurde 1976 von Martin Hellman, Whitfield Diffie und Ralph Merkle entwickelt. Er ermöglicht die Vereinbarung eines gemeinsamen Schlüssels über einen unsicheren Weg, z.\,B. eine unsichere Datenverbindung. Wir nennen dies >>öffentlicher Raum<<. \\
Mit diesem Verfahren können zwei Beteiligte, Alice und Bob, einen geheimen Schlüssel vereinbaren, obwohl eine dritte Person im öffentlichen Raum, Eve, alles belauschen kann. Dabei findet Eve aber nicht den geheimen Schlüssel von Alice und Bob heraus.
\vspace*{4mm}
%\includegraphics[scale=1]{./abbildungen/diffiehellman-verfahren}
\textit{Hinweis:} Das Diffie-Hellman-Verfahren arbeitet mit der Modulo-Funktion. Falls du dich nicht sicher im Umgang mit dieser Funktion fühlst, bearbeite bitte zuerst die entsprechende Station.
\vspace*{4mm}
\textbf{Verfahren}\\
Links ist Alice, rechts ist Bob. Alles, was Alice und Bob austauschen, bekommt Eve (Mitte) mit. Die Zahlen, die im öffentlichen Raum ausgetauscht werden, genügen Eve nicht, um spätere geheime Nachrichten entschlüsseln zu können.
Alice und Bob wählen zu Beginn eine Primzahl $p$ und eine natürliche Zahl $g$, dabei muss $g$ kleiner sein als $p$. Diese beiden Zahlen werden im öffentlichen Raum vereinbart. Eve kennt also diese beiden Zahlen, wie auch später die beiden Zahlen $A$ und $B$, die Alice und Bob ausrechnen:\\
\newpage
\begin{center}
\includegraphics[scale=0.5]{./abbildungen/Alice} \hspace{6em} \includegraphics[scale=0.5]{./abbildungen/Eve} \hspace{6em} \includegraphics[scale=0.5]{./abbildungen/Bob} \\
\begin{tabular}{|c|c|c|}
\hline
privater Raum: & öffentlicher Raum: & privater Raum: \\
\hline
Alice & Eve & Bob \\
\hline \hline
& \shadowbox{p und g} & \\
\Ovalbox{Wähle a, mit a\textless p} & & \Ovalbox{Wähle b, mit b\textless p}\\
\Ovalbox{Berechne $A=g^a \mod p$ } & & \Ovalbox{Berechne $B=g^b\mod p$ } \\
& \textemdash \shadowbox{A} $\longrightarrow$ & \\
& $\longleftarrow$ \shadowbox{B} \textemdash & \\
\Ovalbox{Berechne $K=B^a \mod p$ } & & \Ovalbox{Berechne $K=A^b \mod p$ } \\
\hline
\end{tabular}
\\ \par
$ \Rightarrow$ $K$ ist der geheime gemeinsame Schlüssel.
\end{center}
\example{}{
\begin{center}
Wähle $p=13$ und $g=4$:
\begin{tabular}{|c|c|c|}
\hline
privater Raum: & öffentlicher Raum: & privater Raum: \\
\hline
Alice & Eve & Bob \\
\hline \hline
& $p=13$ und $g=4$ & \\
\Ovalbox{Wähle a, mit a\textless p} & & \Ovalbox{Wähle b, mit b\textless p} \\
$a=3$ & & $b=5$\\
\Ovalbox{Berechne $A=g^a \mod p$ } & & \Ovalbox{Berechne $B=g^b\mod p$ } \\
$A=g^a \mod p$ & & $B=g^b \mod p$\\
$A=4^3 \mod 13$ & & $B=4^5 \mod 13$\\
$ ~=64 \mod 13$ & & $ ~=1024 \mod 13$\\
$ ~=12$ & & $ ~=10$\\
& \textemdash \shadowbox{$A=12$} $\longrightarrow$ & \\
& $\longleftarrow$ \shadowbox{$B=10$} \textemdash& \\
\Ovalbox{Berechne $K=B^a \mod p$ } & & \Ovalbox{Berechne $K=A^b \mod p$ }\\
$ K=10^3 \mod 13$ & & $K=12^5 \mod 13$\\
$ ~=1000 \mod 13$ & & $ ~=248832 \mod 13$\\
$ ~=12$ & & $ ~=12$\\
\hline
\end{tabular}
\\ \par
$ \Rightarrow $ der geheime Schlüssel ist $K=12$
\end{center}
\vspace*{0.5mm}
Natürlich müsste Eve hier nur alle Zahlen ausprobieren, die kleiner als p sind. Es gibt hier also nur 12 Möglichkeiten für $a$ bzw. für $b$. Normalerweise sind die Zahlen aber so groß, dass ein Ausprobieren fast nicht möglich ist.
}
\tiny{Quelle der Avatare: \hspace{1cm}\url{http://www.brustpumpe.de/avatar-erstellen/}}
\end{document}