87 lines
6.1 KiB
TeX
87 lines
6.1 KiB
TeX
\chapter{Substitionsverfahren}
|
|
\section{Skytale}
|
|
Ein Streifen wird um einen Stock gewickelt und dann beschrieben.
|
|
Nach dem abwickeln erhält man den entsprechenden Code.
|
|
Durch aufwickeln auf einen Stock mit dem gleichen Umfang lässt sich die Nachricht wieder entschlüsseln.\\
|
|
\includegraphics[width=1.0\textwidth]{images/Skytale.png}\\
|
|
\noindent\textbf{Tipp:}\\
|
|
Zum entschlüsseln der Nachricht am PC ist der Editor mit automatischen Zeilen-Wrap gut geeignet
|
|
|
|
\section{Monoalphabetische Substitionsverfahren} \label{monoalphabet}
|
|
Jeder Buchstabe wird bijektiv durch einen anderen Buchstaben des gleichen Alphabets ersetzt.\\
|
|
\begin{tabbing}
|
|
Alphabet: \hspace{35mm}\=$\mathscr{L} := \{A,B,...,Z\}$\\
|
|
Schlüsselraum: \>$\mathscr{K} := \{k:\mathscr{L}\rightarrow\mathscr{L} | k \text{ ist bijektiv}\}$\\
|
|
Verschlüsselung von $z\in \mathscr{L}$: \>$k(z)$\\
|
|
Entschlüsselung: \> $E(z) := k(z)$
|
|
\end{tabbing}
|
|
|
|
\subsection{Caesar-Verschlüsselung}
|
|
Alle Buchstaben des Alphabets werden um einen konstanten Wert verschoben.
|
|
\newline
|
|
\noindent\textbf{Beispiel:}\\
|
|
\noindent\textbf{Code:} $n=2$ \\
|
|
\noindent\textbf{Verschlüsselung:} jeder Buchstabe wird durch den übernächsten Buchstaben im Alphabet ersetzt ($E(m)=(m+3) \mod 26$).\\
|
|
\noindent\textbf{Entschlüsselung:} jeder Buchstabe wird durch den vor-vorherigen Buchstaben ersetzt.
|
|
|
|
\subsection{Häufigkeitsanalyse} \label{häufigkeit}
|
|
Monoalphabetische Substitionsverfahren lassen sich mit moderner Technik sehr einfach durch die Verwendung von Häufigkeitsanalysen entschlüsseln.
|
|
In jeder Sprache gibt es Buchstaben die deutlich häufiger vorkommen als andere.
|
|
Durch einer Analyse der Häufigkeit der einzelnen Buchstaben im Geheimtext lassen sich diese den Ausgangsbuchstaben zuordnen.
|
|
|
|
\section{Polyalphabetische Substitutionsverfahren}
|
|
Damit sich ein Geheimtext nicht durch eine Häufigkeitsanalyse (\ref{häufigkeit}) entschlüsseln lässt wird bei polyalphabetischen Verschlüsselungsverfahren der Schlüssel regelmäßig gewechselt.
|
|
Hierbei wird der Schlüsselwechsel meist selbst durch ein Schlüsselwort kodiert.
|
|
|
|
\subsection{Vignère-Verfahren}
|
|
\begin{tabbing}
|
|
Alphabet: \hspace{35mm}\=$\mathscr{L} := \{A,B,...,Z\}$\\
|
|
Menge aller Wörter: \>$\mathscr{W} = \mathscr{L}^{>0} := \bigcup_{n\in\mathbb{N}} \mathscr{L}^n = \{(m_1,m_2,...,m_n)|m_i\in\mathscr{L},n\in\mathbb{N}\}$\\
|
|
Schlüsselraum: \>$\mathscr{K} := \Sigma_\mathscr{L} \times \mathscr{W}$
|
|
\end{tabbing}
|
|
Ein Schlüssel $k = (f,w)\in \mathscr{K}$ besteht aus einer Permutation $f\in \Sigma_\mathscr{L}$ (siehe \ref{monoalphabet}) und einem Schlüsselwort $w$.\\
|
|
Das Vignère-Verfahren ist ein Blockverschlüsselungsverfahren, bei dem jeweils ein Block von Zeichen (im Beispiel 4) nach dem gleichen Verfahren verschlüsselt wird.
|
|
Wenn die Blockgröße klein genug oder die Textlänge groß genug sind lässt sich ein solches Verfahren ebenfalls durch eine Häufigkeitsanalyse (siehe \ref{häufigkeit}) knacken.
|
|
|
|
\subsubsection{Verschlüsselung}
|
|
Der Schlüssel $f$ wird zyklisch mithilfe des Schlüsselwortes $w$ verschoben.\\
|
|
\noindent\textbf{Beispiel:}\\
|
|
$f=\text{VEYZNTCWOMFQPRGDXIABHULKJS}$ und $w=\text{SKAT}$\\
|
|
\includegraphics[width=0.75\textwidth]{images/Vignère-Verfahren.png}\\
|
|
|
|
\subsection{One-Time-Pad}\label{otp}
|
|
Bei dem One-Time-Pad handelt es sich um ein absolut sicheres Substitionsverfahren
|
|
(Nachrichten, bei denen sich Informationen von der Länge der Nachricht ableiten lassen müssen auf eine konstante Länge gebracht werden).
|
|
|
|
\subsubsection{Verschlüsselung}
|
|
\begin{tabbing}
|
|
Annahme: \hspace{30mm}\= Klar- und Geheimtext sind eine Folge von Zeichen der Menge $\mathscr{L} = \mathbb{Z}$ ($n\in\mathbb{N}$)\\
|
|
Klartextnachricht: \>$m=(m_1,m_2,...m_l)\in {\mathbb{Z}_n}^l$\\
|
|
One-Time-Pad (zufällig): \>$k=(k_1,k_2,...k_l)\in {\mathbb{Z}_n}^l$\\
|
|
Geheimtext: \>$E(m) := m+k := (m_1+k_1,m_2+k_2,...,m_l+k_l)$\\
|
|
\end{tabbing}
|
|
|
|
\subsubsection{Perfekte Sicherheit}
|
|
Wenn die Zeichen $k_i$ des Schlüssels mit einem perfekten Zufallsgenerator erzeugt lassen sich \textbf{keine} Rückschlüsse auf die Klartextnachricht ziehen (außer Länge).\\
|
|
Allerdings darf ein One-Time-Pad nur ein einziges Mal für die Verschlüsselung verwendet werden.
|
|
Andernfalls könnte durch eine Berechnung der Differenz der mit dem gleichen OTP verschlüsselten Nachrichten Informationen gewonnen werden.
|
|
So kann eine Häufigkeitsanalyse (siehe \ref{häufigkeit}) oder sogar eine komplette Entschlüsselung (falls Klartext einer Nachricht bekannt ist) möglich werden.
|
|
|
|
\section{algebraische Substitionsverfahren}
|
|
\subsection{Hill-Verfahren}
|
|
Das Hill-Verfahren ver- und entschlüsselt die Nachrichten mithilfe einer \textbf{invertierbaren} Matrix.
|
|
|
|
\subsubsection{Verschlüsselung}
|
|
\begin{tabbing}
|
|
Annahme: \hspace{35mm}\=$n,k\in\mathbb{N}$ sind vorgegeben\\
|
|
Klartextnachricht: \> Menge von Blöcken $\mathscr{B}={\mathbb{Z}_n}^k$\\
|
|
Schlüssel: \> \textbf{invertierbare} ($k,k$)-Matrix $K$\\
|
|
Geheimtext: \> $E_K(b) := K\cdot b$ \hspace{5mm} ($b\in\mathscr{B}$)\\
|
|
\end{tabbing}
|
|
|
|
\subsubsection{Entschlüsselung}
|
|
\begin{tabbing}
|
|
Annahme: \hspace{35mm}\= gleiche Bedingungen wie bei der Verschlüsselung \\
|
|
Geheimtextnachricht: \> Menge von Blöcken $\mathscr{C}={\mathbb{Z}_n}^k$\\
|
|
Klartext: \>$E_K(c) := K^{-1}\cdot c$ \hspace{5mm} ($c\in\mathscr{C}$)\\
|
|
\end{tabbing} |