\documentclass[%
  a4paper,%
  12pt,% <10pt, 9pt>
  %style=screen,
  %sender=bottom,
  blue,% <orange, green, violet>
  %rgb, <cmyk>
  %mono,
  %extramargin,
  %marginleft, <marginright>
  ]{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%[<plain/image/imagetext>,<logo=left/right>]
\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{tikzpicture}  
  \node[block] (m1) {$M_1$};  
  \node[block,below=of m1] (k1) {$K$};
  \node[block,below=of k1] (c1) {$C_1$};
  \node at ($(m1)!0.5!(k1)$){$\oplus$};
  \node at ($(k1)!0.5!(c1)$){$=$};
  \node[block,text width=2cm, right=of m1] (mgen) {$C_1 \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_2$};
  \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_2$};
  \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}  

\end{document}
