\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{csquotes}
\usepackage{graphicx}
\usepackage{epsfig}
\usepackage{paralist}
\geometry{left=2.0cm,textwidth=17cm,top=3.5cm,textheight=23cm}

%%%%%%%%%% 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 {1}								%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 % 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}}%

\begin{document}
%Import header
\hwsol


\section*{Aufgabe 1}

Ciphertext:

\begin{align*}
	\text{Hex} && \text{Bin} \\
	(DC)_{16} &=& (11011100)_2 \\
	(48)_{16} &=& (01001000)_2 \\
	(13)_{16} &=& (00010011)_2
\end{align*}

Schlüssel:

\begin{align*}
	\text{Hex} && \text{Bin} \\
	(98)_{16} &=& (10011000)_2 \\
	(29)_{16} &=& (00101001)_2 \\
	(60)_{16} &=& (01100000)_2
\end{align*}

Binäre berechnung der ersten 3 Bytes:

\begin{itemize}

	\item
		\begin{tabular}{ccccccccc}
				& 1 & 1 & 0 & 1 & 1 & 1 & 0 & 0 \\
			xor & 1 & 0 & 0 & 1 & 1 & 0 & 0 & 0 \\
			\hline
				& 0 & 1 & 0 & 0 & 0 & 1 & 0 & 0
		\end{tabular}

		$(01000100)_2 = (44)_{16} = `D`_{ASCII}$


	\item
		\begin{tabular}{ccccccccc}
				& 0 & 1 & 0 & 0 & 1 & 0 & 0 & 0 \\
			xor & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 1 \\
			\hline
				& 0 & 1 & 1 & 0 & 0 & 0 & 0 & 1
		\end{tabular}

		$(01100001)_2 = (61)_{16} = `a`_{ASCII}$

	\item
		\begin{tabular}{ccccccccc}
				& 0 & 0 & 0 & 1 & 0 & 0 & 1 & 1 \\
			xor & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 \\
			\hline
				& 0 & 1 & 1 & 1 & 0 & 0 & 1 & 1
		\end{tabular}

		$(01110011)_2 = (73)_{16} = `s`_{ASCII}$

\end{itemize}

\begin{itemize}

	\item
		\begin{tabular}{lcccccccccccc}
			Ciphertext & DC & 48 & 13 & 3B & 9C & 4C & 49 & 80 & AC & A7 & B9 & 54 \\
			Schlüssel  & 98 & 29 & 60 & 72 & F2 & 38 & 2C & F2 & C2 & C2 & CD & 1D \\
			\hline
			Plaintext  & 44 & 61 & 73 & 49 & 6E & 74 & 65 & 72 & 6E & 65 & 74 & 49 \\
			ASCII      & D  &  a &  s &  I &  n &  t &  e &  r &  n &  e &  t &  I
		\end{tabular}

	\item
		\begin{tabular}{lcccccccccccc}
			Ciphertext & F2 & 7C & 2B & 9E & D5 & DF & 0D & 05 & B3 & 1D & 4E & F8 \\
			Schlüssel  & 81 & 08 & 65 & FB & A0 & B3 & 6C & 6B & D7 & 3C & 6F & D9 \\
			\hline
			Plaintext  & 73 & 74 & 4E & 65 & 75 & 6C & 61 & 6E & 64 & 21 & 21 & 21 \\
			ASCII      &  s &  t &  N &  e &  u &  l &  a &  n &  d &  ! &  ! &  !
\end{tabular}

Plaintext: \enquote{DasInternetIstNeuland!!!}.

\end{itemize}

\section*{Aufgabe 2}

Da jedes Bit im Ciphertext ein eigenes Bit im Schlüssel hat, lässt sich jeder beliebige Klartext (der selben Länge) aus
dem Ciphertext ableiten, zumindest wenn der Schlüssel richtig gewählt wird. Daher ist es nicht möglich, zu sagen, ob ein
Schlüssel korrekt ist, ohne den ursprünglichen Plaintext zu kennen.

\section*{Aufgabe 3}

\begin{enumerate}[(a)]

	\item Die Magic Number des PNG Formats ist $89$ $50$ $4e$ $47$ $0d$ $0a$ $1a$ $0a$. Diese 8 Bytes bilden den Anfang
		jeder validen PNG Datei. Das eröffnet die Möglichkeit für einen Known-Plaintext Angriff.

	\item Für $a$, $b$ und $c$ mit $a \text{ xor } b = c$ gilt $b \text{ xor } c = a$ und $a \text{ xor } c = b$, also
		lässt sich der Schlüssel berechnen, in dem man den Ciphertext mit dem Known-Plaintext xor'ed.

		\begin{tabular}{lcccccccc}
			Ciphertext (hex) & 33 & fd & eb & 12 & cd & 0a & 0a & f5 \\
			Known Plaintext (hex) & 89 & 50 & 4e & 47 & 0d & 0a & 1a & 0a \\
			\hline
			Schlüssel (hex) & ba & ad & a5 & 55 & c0 & 00 & 10 & ff \\
		\end{tabular}

	\item Die Süßigkeiten sind im Lageraum im ID (gegenüber vom Fachschaftsraum), in dem Regal direkt gegenüber der
		Tür. Ca auf der Höhe zwischen Türe und Grill.

\end{enumerate}

\section*{Aufgabe 4}

\begin{enumerate}[(a)]

	\item
		\begin{enumerate}[1)]

			\item Berechnung der ersten 8 Bytes des Schlüsselstroms:

				Known Plaintext: \enquote{https://} $\Rightarrow$ $68$ $74$ $74$ $70$ $73$ $3a$ $2f$ $2f$

				\begin{tabular}{lcccccccc}
					Ciphertext & 4E & 7E & 3D & 88 & 8E & 01 & 0D & 84 \\
					Known-Plaintext & 68 & 74 & 74 & 70 & 73 & 3A & 2F & 2F \\
					\hline
					Schlüssel & 26 & 0A & 49 & F8 & FD & 3B & 22 & AB \\
				\end{tabular}

			\item Aufstellen eines Gleichungssystems zur Bestimmung von $A$, $B$ und $C$ des LCG:

				$m = 257$

				\begin{eqnarray*}
					S_0 &= (26)_{16} = (38)_{10} \\
					S_1 &= (0A)_{16} = (10)_{10} \\
					S_2 &= (49)_{16} = (73)_{10} \\
					S_3 &= (F8)_{16} = (248)_{10} \\
					S_4 &= (FD)_{16} = (253)_{10} \\\\
					S_2 &\equiv A * S_1 + B * S_0 + C &\mod 257 \\
					S_3 &\equiv A * S_2 + B * S_1 + C &\mod 257 \\
					S_4 &\equiv A * S_3 + B * S_2 + C &\mod 257 \\
				\end{eqnarray*}

				\begin{align}
					73 &\equiv 10 * A + 38 * B + C &\mod 257 \\
					C &\equiv 73 - 10 * A - 38 * B &\mod 257 \\
					\\
					248 &\equiv 73 * A + 10 * B + 73 - 10 * A - 38 * B &\mod 257 \\
					248 &\equiv 63 * A - 28 * B + 73 &\mod 257 \\
					63 * A &\equiv 175 + 28 * B &\mod 257 \\
					A &\equiv 29 * B + 117 &\mod 257 \\
					\\
					253 &\equiv 248(29*B + 117) + 73 * B + 73 - 10(29*B + 117) - 38*B &\mod 257 \\
					253 &\equiv 253*B + 232 + 73*B + 73 - 33*B - 142 - 38 *B &\mod 257 \\
					253 &\equiv 255*B + 163 &\mod 257 \\
					255*B &\equiv 90 &\mod 257 \\
					\underline{B} &\equiv 212 &\mod 257 \\
					\\
					A &\equiv 29 * 212 + 117 &\mod 257 \\
					\underline{A} &\equiv 97 &\mod 257 \\
					\\
					C &\equiv 73 - 10 * 97 - 38 * 212 &\mod 257 \\
					\underline{C} &\equiv 42 &\mod 257
				\end{align}

				$A = 97 \mod 257$, $B = 212 \mod 257$, $C = 42 \mod 257$

				Plaintext: \url{https://youtu.be/VmUGe8KDdGI}

		\end{enumerate}

	\item Es werden $n+1$ Parameter und $n$ Seed-Werte benötigt. Da man also $n+1$ Unbekannte im aufzustellenden
		Gleichungssystem hat, werden auch $n+1$ Klartext-Chiffretext-Paare für einen erfolgreichen Angriff benötigt.

\end{enumerate}

\end{document}

