finished 3DES. Continue on Skript 2 Page 38(44)
This commit is contained in:
@@ -73,13 +73,72 @@
|
||||
Dies geschieht ungeachtet davon, ob die Länge der Nachricht $m$ ein Vielfaches der Blocklänge $l$ ist.
|
||||
|
||||
\subsection{CTR (Counter)}
|
||||
Im CTR-Modus wird ein Blockverschlüsselungsverfahren $E$ mit einem Schlüssel $k$ und einem Nonce-Wert $Ctr\in\mathscr M$ wie folgt verwendet:
|
||||
Im CTR-Modus wird ein Blockverschlüsselungsverfahren $E$ mit einem Schlüssel $k$ und einem Nonce-Wert $Ctr\in\mathscr M$ wie folgt verwendet:
|
||||
$$\begin{aligned}
|
||||
c_i :=&m_i+E_k(Ctr\boxplus(i-1))
|
||||
c_i :=&m_i+E_k(Ctr\boxplus(i-1))\\
|
||||
E-CTR_{k,Ctr}(m_1,...,m_r):=&(c_1,...,c_r)
|
||||
\end{aligned}$$
|
||||
Der CTR-Modus definiert ein synchrones additives Stromverschlüsselungsverfahren (siehe \ref{synchron additive Stromverschlüsselung}).
|
||||
Die Menge der $z_i=E_k(Ctr\boxplus(i-1))$ definiert hierbei den Schlüsselstrom.\\
|
||||
\end{aligned}$$
|
||||
Der CTR-Modus definiert ein synchrones additives Stromverschlüsselungsverfahren (siehe \ref{synchron additive Stromverschlüsselung}).
|
||||
Die Menge der $z_i=E_k(Ctr\boxplus(i-1))$ definiert hierbei den Schlüsselstrom.\\
|
||||
Aufgrund dessen ist die Entschlüsselungsfunktion $D$ gleich der Verschlüsselungsfunktion $E$:
|
||||
$$D-CTR_{k,Ctr}(c_1,...,c_r)=E-CTR_{k,Ctr}(c_1,...,c_r)$$
|
||||
\includegraphics{CTR.png}
|
||||
\includegraphics{CTR.png}
|
||||
|
||||
\subsection{OFB (Output Feedback)}\label{OFB}
|
||||
Bei der Konstruktion im OFB-Modus handelt es sich um ein synchrones Stromverschlüsselungsverfahren (siehe \ref{synchrone Stromverschlüsselung})
|
||||
Hierbei wird die Ausgabe der Verschlüsselungsfunktion jeweils als Eingabe für die nächste Verschlüsselungsfunktion genutzt:\\
|
||||
\includegraphics{OFB.png}\\
|
||||
|
||||
\subsubsection{OFB-8$n$}
|
||||
bei dieser Variante des des OFB-Modus werden immer nur $n\in\mathbb{N}$ Bytes des verschlüsselten Blocks in der XOR-Verknüpfung genutzt.
|
||||
Der Rest des Klartextblocks wird in den folgenden Schritten verschlüsselt.
|
||||
$n$ darf hierbei maximal so groß wie die Blocklänge $l$ der Verschlüsselungsfunktion $E$ sein.
|
||||
|
||||
\subsection{CFB (Cipher-Feedback)}
|
||||
Der CFB-Modus hat viele Ähnlichkeiten mit dem OFB-Modus (siehe \ref{OFB}).
|
||||
Allerdings wird hierbei immer der verschlüsselte Block als Eingabe für die jeweils nächste Verschlüsselungsfunktion genutzt.
|
||||
Anders als beim OFB-Modus handelt es sich beim CFB-Modus aufgrund der Nutzung der Geheimtextblöcke nicht um eine synchrone Stromverschlüsselung.\\
|
||||
\includegraphics{CFB.png}
|
||||
|
||||
\subsubsection{CFB-8$n$}
|
||||
Diese Sonderfunktion des CFB-Modus stellt das Pendant zum OFB-8$n$-Modus im OFB-Modus (siehe \ref{OFB}) dar.
|
||||
\section{Konstruktionsprinzipien von Blockverschlüsselungsverfahren}
|
||||
Alle Blockverschlüsselungsverfahren führen innerhalb des jeweiligen Blocks Permutationen aus.
|
||||
Diese Permutationen werden in Schleifen (Runden) angewandt.
|
||||
Die Permutationen können in folgende elementare Operationen zusammengefasst werden:
|
||||
\begin{itemize}
|
||||
\item \textit{Transpositionen} von Bitwerten innerhalb eines Blocks
|
||||
\item \textit{Substitution} von Werten innerhalb kleinerer Teilblöcke.
|
||||
Hierbei handelt es sich um eine Abbildung, welche durch eine Rechenvorschrift oder eine Wertetabelle gegeben werden kann.
|
||||
Wertetabellen werden in diesem Zusammenhang auch als \textit{S-Boxen} bezeichnet.
|
||||
\end{itemize}
|
||||
Zudem findet der Schlüssel $k$ ebenfalls eine Berücksichtigung.
|
||||
Aus ihm werden Rundenschlüssel $k_i$ mit $i\in\{1,...,r\}$ abgeleitet, welche bei jeder Runde mit in die Berechnung einfließen.
|
||||
Bei einer Entschlüsselung wird das durch die Runden beschriebene Verfahren einfach rückwärts angewandt.
|
||||
|
||||
\section{DES und Tripple-DES}
|
||||
Das einfach DES wurde 1977 veröffentlicht und 2005 zurückgezogen.
|
||||
Sowohl die Blöcke als auch die Schlüssel setzten sich jeweils aus 8 Bytes zusammen:
|
||||
$$\begin{aligned}
|
||||
\mathscr M=&({\mathbb{Z}_2}^8)^8=\{(m_1,...m_8)\mid m_i\in{\mathbb{Z}_2}^8\}\\
|
||||
\mathscr K=&\{(k_1,...k_8)\mid k_i\in{\mathbb{Z}_2}^8,\text{parity}(k_i)=1\}\subseteq ({\mathbb{Z}_2}^8)^8
|
||||
\end{aligned}$$
|
||||
Die Parität ist definiert durch:
|
||||
$${\mathbb{Z}_2}^8\rightarrow\mathbb{Z}_2 \hspace{5mm} \text{parity}\left(\sum_{i=0}^7 b_i\cdot 2^i\right)=\left(\sum_{i=0}^7 b_i\right)\mod 2$$
|
||||
Mit anderen Worten: \say{Die Anzahl der 1-Bits im Byte muss ungerade sein}\\
|
||||
Durch die Parität ist der Wert des achten Bits schon festgelegt.
|
||||
Aufgrund dessen ist hat der Schlüsselraum eine Bitlänge von $8\cdot 7=56$.
|
||||
Da dies für moderne PCs mithilfe eines Brute-Force-Angriffs (siehe \ref{brute-force}) in trivialer Zeit zu knacken ist sollte DES nicht mehr verwendet werden.
|
||||
|
||||
\subsection{Triple-DES (3DES)}
|
||||
Beim Triple-DES wird das DES verfahren 3mal hintereinander ausgeführt.
|
||||
Üblicherweise im EDE-Modus (Encrypt-Decrypt-Encrypt) mit 16Byte langen Schlüsseln.
|
||||
Dadurch ergibt sich für den Schlüsselraum eine effektive Länge von 112 Bits.
|
||||
Die Menge der 8-Byte-langen Blöcke und der Schlüsselraum definieren sich wie folgt:
|
||||
$$\begin{aligned}
|
||||
\mathscr M=&({\mathbb{Z}_2}^8)^8=\{(m_1,...m_8)\mid m_i\in{\mathbb{Z}_2}^8\}\\
|
||||
\mathscr K=&\{(k_1,...k_8)\mid k_i\in{\mathbb{Z}_2}^8,\text{parity}(k_i)=1\}^{\color{red}{\mathbf{2}}}
|
||||
\end{aligned}$$
|
||||
Die 3-DES Entschlüsselungsfunktion definiert sich durch:
|
||||
$$E((k^{(1)},k^{(2)},m)) := E_{DES}\left(k^{(1)},D_{DES}\left(k^{(2)},E_{DES}\left(k^{(1)},m \right)\right)\right)$$
|
||||
\includegraphics[scale=0.8]{3DES.png}
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
\includegraphics{Stromverschlüsselung.png}
|
||||
|
||||
\section{Synchrone Stromverschlüsselungsverfahren}
|
||||
\section{Synchrone Stromverschlüsselungsverfahren}\label{synchrone Stromverschlüsselung}
|
||||
Bei synchronen Stromverschlüsselungsverfahren hängen die Zeichen einer Geheimtextnachricht nicht von den vorherigen ab.
|
||||
So ist es möglich die einzelnen Zeichen des Klartextes gleichzeitig (synchron) zu verschlüsseln.
|
||||
Ein Beispiel hierfür sind monoalphabetische Verschlüsselungsverfahren (siehe \ref{monoalphabet}).
|
||||
|
||||
Reference in New Issue
Block a user