\documentclass[% a4paper,% 12pt,% <10pt, 9pt> %style=screen, %sender=bottom, blue,% %rgb, %mono, %extramargin, %marginleft, ]{tubsartcl} \usepackage[utf8x]{inputenc} %\usepackage[ngerman]{babel} \usepackage{multicol} \usepackage{tikz} \usetikzlibrary{positioning,fit,calc} \tikzset{block/.style={draw, thick, text width=1cm, minimum height=1cm, align=center}, % the align command is used to align the block diagram at the center % the height command adjust the height of the block diagram % here block diagram refers to the whole diagram, not the single block % the thick command here signifies the border of all the blocks used inside the block diagram. You can change it to thin command if you want the thin edge of the blocks line/.style={-latex} % the lesser the width the greater will be the diagram window } % Titelseiten-Elemente \title{Introduction to IT-Security WS 20/21} \subtitle{Exercise 01} \author{Daniel Tschertkow \& Eggert Jung} \begin{document} \maketitle%[,] \begin{multicols}{2} \begin{tabular}{rl} \textbf{GITZ Kennung}: & y0058800 \\ \textbf{Matrikelnr.}: & 4200606 \\ \textbf{Studiengang}: & Informatik Bachelor \\ \textbf{Prüfungsordnung}: & BPO2015 \\ \end{tabular} \begin{tabular}{rl} \textbf{GITZ Kennung}: & y0085044 \\ \textbf{Matrikelnr.}: & 4839284 \\ \textbf{Studiengang}: & IST Bachelor \\ \textbf{Prüfungsordnung}: & 5 \\ \end{tabular} \end{multicols} \newpage \section{Security goals} \section{Simple combinatorics} \section{XOR cipher} \begin{figure}[h] \centering \begin{tikzpicture} \node[block] (m1) {$M_1$}; \node[block,below=of m1] (k1) {$K$}; \node[block,below=of k1] (c1) {$C_x$}; \node at ($(m1)!0.5!(k1)$){$\oplus$}; \node at ($(k1)!0.5!(c1)$){$=$}; \node[block,text width=2cm, right=of m1] (mgen) {$C_x \oplus K$}; \node[xshift=-2mm] at ($(m1)!0.5!(mgen)$){$=$}; \node[draw,inner xsep=5mm,inner ysep=5mm,fit=(mgen)(m1)(k1)(c1)](g){}; \node[block, right=of m1, xshift=8cm] (m2) {$M_2$}; \node[block,below=of m2] (k2) {$K$}; \node[block,below=of k2] (c2) {$C_y$}; \node at ($(m2)!0.5!(k2)$){$\oplus$}; \node at ($(k2)!0.5!(c2)$){$=$}; \node[block,text width=2cm, left=of k2] (kgen) {$M_2 \oplus C_y$}; \node[xshift=2mm] at ($(k2)!0.5!(kgen)$){$=$}; \node[draw, inner xsep=5mm,inner ysep=5mm,fit=(kgen)(m2)(k2)(c2)](h){}; \draw[->] (m2) -| (kgen); \draw[->] (c2) -| (kgen); \draw[->] (c1) -| ([xshift=-1cm]mgen); \draw[->] (kgen) -| ([xshift=1cm]mgen); \end{tikzpicture} \caption{This Diagram shows how an Attacker can calculate the Key $K$ and the Message $M_1$.} \end{figure} A few requirements must be satisfied in order to get hold of the $K$ and the $M_1$: \begin{itemize} \item $M_2$ must be longer than $M_1$ or $K$, so that the key can be calculated in at least the needed length. \item A successfully decoded message must be distinguishable from an unsuccessfully decoded message, so that the cipher texts $C_x$ and $C_y$ can be exchanged if necessary. \end{itemize} \end{document}