notes/school/intro-crypto/uebung/05/05.tex
Valentin Brandl ff5bbc1a8a
All checks were successful
the build was successful
Add crypto exercise
2018-11-27 22:28:37 +01:00

253 lines
6.6 KiB
TeX

\documentclass[12pt,a4paper,german]{article}
\usepackage{url}
%\usepackage{graphics}
\usepackage{times}
\usepackage[T1]{fontenc}
\usepackage{pifont}
\usepackage{ngerman}
\usepackage{float}
\usepackage{diagbox}
\usepackage[latin1]{inputenc}
\usepackage{geometry}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{delarray}
% \usepackage{minted}
\usepackage{csquotes}
\usepackage{graphicx}
\usepackage{epsfig}
\usepackage{longtable}
\usepackage{paralist}
\geometry{left=2.0cm,textwidth=17cm,top=3.5cm,textheight=23cm}
\graphicspath{.}
%%%%%%%%%% Fill out the the definitions %%%%%%%%%
\def \name {Valentin Brandl} %
\def \matrikel {108018274494} %
% \def \pname {Vorname2 Nachname2} %
% \def \pmatrikel {Matrikelnummer2} %
\def \gruppe {Gruppe 193} %
\def \uebung {5} %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% DO NOT MODIFY THIS HEADER
\newcommand{\hwsol}{
\vspace*{-2cm}
\noindent \matrikel \quad \name \hfill Gruppe:\gruppe \\
% \noindent \pmatrikel \quad \pname \\
\begin{center}{\Large \bf L\"osung f\"ur \"Ubung \# \uebung}\end{center}
}
\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\newcommand{\csquare}{\text{\rlap{$\checkmark$}}\square}%
\begin{document}
%Import header
\hwsol
\section*{Aufgabe 1}
\begin{enumerate}[a)]
\item Das National Bureau of Standards (NBS) (heute National Institute of Standards and Technology (NIST)) hat die
Entwicklung des DES ausgeschrieben.
\item DES wurde 1977 standardisiert.
\item Die National Security Agency (NSA) hat an der Entwicklung des DES mitgewirkt.
\item Die Kryptographen, die den Kandidaten eingereicht haben, gehörten IBM an.
\item Auf einen Feistel Netz mit einer Blockgröße von 64 bit und einer Schlüssellänge von 128 bit
\item Die Schlüssellänge von Lucifer ist 128 bit
\item Die Schlüssellänge des DES ist 56 bit und das Sicherheitsniveau ist 56 bit.
\item Es werden 64 bit in einer DES Operation verschlüsselt.
\item Abbildung \ref{feist_alg} und \ref{feist_round}
\begin{figure}[h!]
\centering
\includegraphics[scale=0.5]{./build/school/intro-crypto/uebung/05/a1i.png}
\caption{Allgemeine Struktur eines Feistel Netzes}
\label{feist_alg}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=\textwidth]{school/intro-crypto/uebung/05/a1i2.jpg}
\caption{Struktur einer Feistel Runde}
\label{feist_round}
\end{figure}
\end{enumerate}
\section*{Aufgabe 2}
\begin{enumerate}[a)]
\item
\begin{tabular}{|c|ccccc|}
\hline
$S_4$ & 0 & 1 & 2 & 3 & 4 \\\hline
0 & 07 & 13 & 14 & 03 & 00 \\\hline
1 & 13 & 08 & 11 & 05 & 06 \\\hline
\end{tabular}
\begin{tabular}{|c|ccccc|}
\hline
& 0 & 1 & 2 & 3 & 4 \\\hline
$(y_1,y_2,y_3,y_4)$ & 0111 & 1101 & 1110 & 0011 & 0000 \\\hline
$(y_2,y_1,y_4,y_3)$ & 1011 & 1110 & 1101 & 0011 & 0000 \\\hline
$(y_2,y_1,y_4,y_3) \oplus (0,1,1,0)$ & 1101 & 1000 & 1011 & 0101 & 0110 \\\hline
Dezimal & 13 & 8 & 11 & 5 & 6 \\\hline
\end{tabular}
Das Ergebnis entspricht genau der 1. Zeile in der S-Box $S_4$.
\item
\begin{tabular}{|c|ccccc|}
\hline
$S_4$ & 0 & 1 & 2 & 3 & 4 \\\hline
2 & 10 & 06 & 09 & 00 & 12 \\\hline
3 & 03 & 15 & 00 & 06 & 10 \\\hline
\end{tabular}
Tabelle in binär:
\begin{tabular}{|c|ccccc|}
\hline
$S_4$ & 0 & 1 & 2 & 3 & 4 \\\hline
2 & 1010 & 0110 & 1001 & 0000 & 1100 \\\hline
3 & 0011 & 1111 & 0000 & 0110 & 1010 \\\hline
\end{tabular}
Gesucht:
\begin{itemize}
\item Permutationsfunktion $f : (y_1,y_2,y_3,y_4) \to (y_1',y_2',y_3',y_4')$
\item xor Parameter $x = (x_1,x_2,x_3,x_4)$
\end{itemize}
Der Ausgangswert von Spalte 3 (0000) bleibt von der Permutationsfunktion unverändert: $f(0000) = 0000 \Rightarrow x
= 0000 \oplus 0110 = 0110$
\begin{tabular}{|c|ccccc|}
\hline
$S_4$ & 0 & 1 & 2 & 3 & 4 \\\hline
3 & 0011 & 1111 & 0000 & 0110 & 1010 \\\hline
Zeile $3 \oplus 0110$ & 0101 & 1001 & 0110 & 0000 & 1100 \\\hline
2 & 1010 & 0110 & 1001 & 0000 & 1100 \\\hline
\end{tabular}
Man kann sehen, dass wieder $y_1$ mit $y_2$ und $y_3$ mit $y_4$ vertauscht werden.
$\Rightarrow$ Ableitung von Zeile 2 zu 3:
\begin{align*}
(y_1,y_2,y_3,y_4) \to (y_2,y_1,y_4,y_3) \oplus (0,1,1,0)
\end{align*}
\end{enumerate}
\section*{Aufgabe 3}
\begin{tabular}{|c|ccccccccc|}
\hline
& $x_1$ & $x_2$ & ... & $x_{56}$ & $x_{57}$ & $x_{58}$ & ... & $x_{63}$ & $x_{64}$ \\\hline
Eingabe $x$ & 1 & 1 & ... & 1 & 0 & 1 & ... & 1 & 1 \\\hline
$IP(x)$ & 1 & 1 & ... & 1 & 1 & 1 & ... & 0 & 1 \\\hline
\end{tabular}
$L_0 = 11111111111111111111111111111111$
$R_0 = 11111111111111111111111111111101 = L_1$
Das zu beobachtende Bit steht an Position $31$.
$E(R_0) = 111111111111111111111111111111111111111111111011$
\begin{enumerate}[a)]
\item Auswirkungen:
$S_1\ \square$
$S_2\ \square$
$S_3\ \square$
$S_4\ \square$
$S_5\ \square$
$S_6\ \square$
$S_7\ \square$
$S_8\ \csquare$
Eingangsbits: $E(R_0) \oplus 111111111111111111111111111111111111111111111111$
S-Box $S_1$: $000000$
S-Box $S_2$: $000000$
S-Box $S_3$: $000000$
S-Box $S_4$: $000000$
S-Box $S_5$: $000000$
S-Box $S_6$: $000000$
S-Box $S_7$: $000000$
S-Box $S_8$: $000100$
\item
Ausgabe der S-Boxen:
S-Box $S_1$: $14 = 1110$
S-Box $S_2$: $15 = 1111$
S-Box $S_3$: $10 = 1010$
S-Box $S_4$: $07 = 0111$
S-Box $S_5$: $02 = 0010$
S-Box $S_6$: $12 = 1100$
S-Box $S_7$: $04 = 0100$
S-Box $S_8$: $08 = 1000$
Ausgabe nach allen S-Boxen: $s = 11101111101001110010110001001000$
$P(s) = 10000010010110011101011100111011$ (berechnet mit Code im Anhang)
$P(s) \oplus L_0 = 01111101101001100010100011000100 = R_1$
\begin{align*}
L_1 = R_0:\\
11111111111111111111111111111101 \\
R_1:\\
01111101101001100010100011000100
\end{align*}
\item
\begin{align*}
L_1:\\
R_1:\\
\end{align*}
\end{enumerate}
\section*{Aufgabe 4}
\end{document}