Add solution for intro-crypto/u/02
All checks were successful
the build was successful

This commit is contained in:
Valentin Brandl 2018-10-24 22:39:39 +02:00
parent 303cb7afe5
commit cd542fcca6
No known key found for this signature in database
GPG Key ID: 30D341DD34118D7D
3 changed files with 390 additions and 0 deletions

View File

@ -0,0 +1,390 @@
\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}
\begin{enumerate}[(a)]
\item
\begin{eqnarray*}
7 \cdot 5 &\equiv{}& 16 \mod 19 \\
\text{check: } (7 \cdot 5) - 16 = 35 - 16 = 19 &\rightarrow{}& 19 \mid 19
\end{eqnarray*}
\item
\begin{eqnarray*}
7 \cdot 81 &\equiv{}& 16 \mod 19 \\
\text{check: } (7 \cdot 81) - 16 = 567 - 16 = 551 &\rightarrow{}& 19 \mid 551
\end{eqnarray*}
$5 \equiv 81 \mod 19$
\item
\begin{eqnarray*}
26 \cdot 43 &\equiv{}& 16 \mod 19 \\
\text{check: } (26 \cdot 43) - 16 = 1118 - 16 = 1102 &\rightarrow{}& 19 \mid 1102
\end{eqnarray*}
$26 \equiv 7 \mod 19$ und $43 \equiv 5 \mod 19$
\item
\begin{eqnarray*}
-12 \cdot 43 &\equiv{}& 16 \mod 19 \\
\text{check: } (-12 \cdot 43) - 16 = -516 - 16 = -532 &\rightarrow{}& 19 \mid -532
\end{eqnarray*}
$-12 \equiv 7 \mod 19$ und $43 \equiv 5 \mod 19$
\end{enumerate}
\section*{Aufgabe 2}
\begin{enumerate}[(a)]
\item
\begin{eqnarray*}
(2 \cdot 5) \cdot 10 &\mod{}& 13
\end{eqnarray*}
Moduloreduktion am Ende (äquivalent zu Moduloreduktion auf Zwischenergebnisse, da alle Zahlen $< 13$ und
Zwischenergebnis $2 \cdot 5 = 10 < 13$):
\begin{eqnarray*}
\Rightarrow 100 \equiv 9 &\mod{}& 13
\end{eqnarray*}
\item
\begin{eqnarray*}
2^3 \cdot 8 \mod 250
\end{eqnarray*}
Moduloreduktion am Ende (siehe Teilaufgabe (a); alle Zwischenergebnisse $< 250$):
\begin{eqnarray*}
2^3 \cdot 8 = 8 \cdot 8 = 64 &\mod{}& 250
\end{eqnarray*}
\item
\begin{eqnarray*}
7 \cdot 11 &\mod{}& 11
\end{eqnarray*}
Moduloreduktion am Ende:
\begin{eqnarray*}
7 \cdot 11 = 77 \equiv 0 &\mod{}& 11
\end{eqnarray*}
Moduloreduktion auf Zwischenergebnisse
\begin{eqnarray*}
7 \cdot 11 \equiv 7 \cdot 0 = 0 &\mod{}& 11
\end{eqnarray*}
\item
\begin{eqnarray*}
3 \cdot 8 - 11 \cdot 6 &\mod{}& 250
\end{eqnarray*}
Moduloreduktion am Ende:
\begin{eqnarray*}
3 \cdot 8 - 11 \cdot 6 = 24 - 66 = -42 \equiv 208 &\mod{}& 250
\end{eqnarray*}
\item
\begin{eqnarray*}
(2 \cdot 5 - 19) \cdot 5^6 &\mod{}& 75
\end{eqnarray*}
Moduloreduktion am Ende:
\begin{eqnarray*}
(2 \cdot 5 - 19) \cdot 5^6 = -9 \cdot 15625 = -140625 \equiv 0 &\mod{}& 75
\end{eqnarray*}
Moduloreduktion auf Zwischenergebnisse:
\begin{eqnarray*}
(2 \cdot 5 - 19) \cdot 5^6 = (10 + 56) \cdot (5^2 \cdot 5^2 \cdot 5^2) &\mod{}& 75 \\
66 \cdot (25 \cdot 25 \cdot 25) = 66 \cdot (625 \cdot 25) \equiv 66 \cdot (25 \cdot 25) &\mod{}& 75 \\
66 \cdot (25 \cdot 25) \equiv 66 \cdot 25 = 1650 \equiv 0 &\mod{}& 75
\end{eqnarray*}
\item
\begin{eqnarray*}
\frac{74}{7} &\mod{}& 11 \\
74 * 7^{-1} &\mod{}& 11 \\
\end{eqnarray*}
Bestimmung von $7^{-1} \mod 11$ (multiplikative Inverse von $7$ in $\mathbb{Z}_{11}$):
\begin{eqnarray*}
7 * x \equiv 1 &\mod{}& 11 \\
7 * 8 = 56 \equiv 1 &\mod{}& 11 \\
\Rightarrow 7^{-1} \equiv 8 &\mod{}& 11
\end{eqnarray*}
Moduloreduktion am Ende:
\begin{eqnarray*}
74 * 8 = 592 \equiv 9 &\mod{}& 11
\end{eqnarray*}
Moduloreduktion auf Zwischenergebnisse:
\begin{eqnarray*}
74 * 8 \equiv 8 * 8 = 64 \equiv 9 &\mod{}& 11
\end{eqnarray*}
\item
\begin{eqnarray*}
\frac{5 \cdot 2 - 8}{7^2} &\mod{}& 11 \\
(5 * 2 - 8) * (7^2)^{-1} &\mod{}& 11 \\
\end{eqnarray*}
Bestimmung von $(7^2)^{-1} = 49^{-1} \equiv 5^{-1} \mod 11$
\begin{eqnarray*}
49 * x \equiv 5 * x \equiv 1 &\mod{}& 11 \\
5 * 9 = 45 \equiv 1 &\mod{}& 11 \\
\Rightarrow 49^{-1} \equiv 5^{-1} \equiv 9 &\mod{}& 11
\end{eqnarray*}
Moduloreduktion am Ende:
\begin{eqnarray*}
(5 * 2 - 8) * (7^2)^{-1} = 2 * 49^{-1} \equiv 2 * 9 = 18 \equiv 7 &\mod{}& 11 \\
\end{eqnarray*}
Moduloreduktion auf Zwischenergebnisse:
\begin{eqnarray*}
(5 * 2 - 8) * (7^2)^{-1} = 2 * 49^{-1} \equiv 2 * 5^{-1} \equiv 2 * 9 = 18 \equiv 7 &\mod{}& 11 \\
\end{eqnarray*}
\end{enumerate}
\section*{Aufgabe 3}
\begin{enumerate}[(a)]
\item $5^{-1} \mod 13$
$\text{ggT}(5, 13) = 1 \Rightarrow 5^{-1}$ existiert.
\begin{eqnarray*}
5 * x \equiv 1 &\mod{}& 13 \\
x = 1 \Rightarrow 5 * 1 = 5 &\mod{}& 13 \text{ \xmark} \\
x = 2 \Rightarrow 5 * 2 = 10 &\mod{}& 13 \text{ \xmark} \\
x = 3 \Rightarrow 5 * 3 = 15 \equiv 2 &\mod{}& 13 \text{ \xmark} \\
x = 4 \Rightarrow 5 * 4 = 20 \equiv 7 &\mod{}& 13 \text{ \xmark} \\
x = 5 \Rightarrow 5 * 5 = 25 \equiv 12 &\mod{}& 13 \text{ \xmark} \\
x = 6 \Rightarrow 5 * 6 = 30 \equiv 4 &\mod{}& 13 \text{ \xmark} \\
x = 7 \Rightarrow 5 * 7 = 35 \equiv 9 &\mod{}& 13 \text{ \xmark} \\
x = 8 \Rightarrow 5 * 8 = 40 \equiv 1 &\mod{}& 13 \text{ \cmark} \\
\Rightarrow 5^{-1} \equiv 8 &\mod{}& 13
\end{eqnarray*}
\item $3 * 4 * 4^{-1} \mod 13$
\begin{eqnarray*}
3 * 4 * 4^{-1} \equiv 3 * 1 = 3 &\mod{}& 13
\end{eqnarray*}
\item $3 * 2 * 4^{-1} \mod 13$
Bestimmung der multiplikativen Inverse $4^{-1} \mod 13$:
$\text{ggT}(4, 13) = 1 \Rightarrow 4^{-1}$ existiert.
\begin{eqnarray*}
4 * x \equiv 1 &\mod{}& 13 \\
x = 1 \Rightarrow 4 * 1 = 4 &\mod{}& 13 \text{ \xmark} \\
x = 2 \Rightarrow 4 * 2 = 8 &\mod{}& 13 \text{ \xmark} \\
x = 3 \Rightarrow 4 * 3 = 12 &\mod{}& 13 \text{ \xmark} \\
x = 4 \Rightarrow 4 * 4 = 16 \equiv 3 &\mod{}& 13 \text{ \xmark} \\
x = 5 \Rightarrow 4 * 5 = 20 \equiv 7 &\mod{}& 13 \text{ \xmark} \\
x = 6 \Rightarrow 4 * 6 = 24 \equiv 11 &\mod{}& 13 \text{ \xmark} \\
x = 7 \Rightarrow 4 * 7 = 28 \equiv 2 &\mod{}& 13 \text{ \xmark} \\
x = 8 \Rightarrow 4 * 8 = 32 \equiv 6 &\mod{}& 13 \text{ \xmark} \\
x = 9 \Rightarrow 4 * 9 = 36 \equiv 10 &\mod{}& 13 \text{ \xmark} \\
x = 10 \Rightarrow 4 * 10 = 40 \equiv 1 &\mod{}& 13 \text{ \cmark} \\
\Rightarrow 4^{-1} \equiv 10 &\mod{}& 13
\end{eqnarray*}
\begin{eqnarray*}
3 * 2 * 4^{-1} \equiv 3 * 2 * 10 = 30 * 2 \equiv 4 * 2 = 8 &\mod{}& 13 \\
\end{eqnarray*}
\item $3 * x \equiv 3 \mod 9$
\begin{eqnarray*}
3 * x \equiv 3 &\mod{}& 9 \\
x = 0 \Rightarrow 3 * 0 = 0 &\mod{}& 9 \text{ \xmark} \\
x = 1 \Rightarrow 3 * 1 = 3 &\mod{}& 9 \text{ \cmark} \\
x = 2 \Rightarrow 3 * 2 = 6 &\mod{}& 9 \text{ \xmark} \\
x = 3 \Rightarrow 3 * 3 = 9 \equiv 0 &\mod{}& 9 \text{ \xmark} \\
x = 4 \Rightarrow 3 * 4 = 12 \equiv 3 &\mod{}& 9 \text{ \cmark} \\
x = 5 \Rightarrow 3 * 5 = 15 \equiv 6 &\mod{}& 9 \text{ \xmark} \\
x = 6 \Rightarrow 3 * 6 = 18 \equiv 0 &\mod{}& 9 \text{ \xmark} \\
x = 7 \Rightarrow 3 * 7 = 21 \equiv 3 &\mod{}& 9 \text{ \cmark} \\
x = 8 \Rightarrow 3 * 8 = 24 \equiv 6 &\mod{}& 9 \text{ \xmark} \\
\Rightarrow 3 * 1 \equiv 3 * 4 \equiv 3 * 7 \equiv 3 &\mod{}& 9
\end{eqnarray*}
\end{enumerate}
\section*{Aufgabe 4}
\begin{enumerate}[(a)]
\item
\begin{itemize}
\item $\mathbb{Z}_{13}$: Alle Elemente außer $0$ (siehe Begründung in 2. Teilaufgabe) von $\mathbb{Z}_{13}$
haben eine multiplikative Inverse, da 13 eine Primzahl ist und dadurch alle Elemente aus
$\mathbb{Z}_{13}$ Teilerfremd zu 13 sind.
\item $\mathbb{Z}_{14}$
\begin{itemize}
\item 0, da $0 * x = 0$ und es somit kein $x$ geben kann, mit $0 * x = 1$
\item 2, da $\text{ggT}(2,14) = 2 \neq 1$
\item 4, da $\text{ggT}(4,14) = 2 \neq 1$
\item 6, da $\text{ggT}(6,14) = 2 \neq 1$
\item 7, da $\text{ggT}(7,14) = 2 \neq 1$
\item 8, da $\text{ggT}(8,14) = 2 \neq 1$
\item 10, da $\text{ggT}(10,14) = 2 \neq 1$
\item 12, da $\text{ggT}(12,14) = 2 \neq 1$
\end{itemize}
\item $\mathbb{Z}_{16}$
\begin{itemize}
\item 0, da $0 * x = 0$ und es somit kein $x$ geben kann, mit $0 * x = 1$
\item 2, da $\text{ggT}(2,16) = 2 \neq 1$
\item 4, da $\text{ggT}(4,16) = 4 \neq 1$
\item 6, da $\text{ggT}(6,16) = 2 \neq 1$
\item 8, da $\text{ggT}(8,16) = 8 \neq 1$
\item 10, da $\text{ggT}(10,16) = 2 \neq 1$
\item 12, da $\text{ggT}(12,16) = 4 \neq 1$
\end{itemize}
\end{itemize}
\item In $\mathbb{Z}_{11}$ haben alle Elemente außer $0$ eine multiplikative Inverse, da 11 eine Primzahl ist und
damit alle Elemente aus $\mathbb{Z}_{11}$ teilerfremd zu 11 sind. In $\mathbb{Z}_9$ bzw. $\mathbb{Z}_{15}$ haben
die Elemente $0, 3$ bzw. $0, 3, 5$ und alle deren Vielfache keine multiplikative Inverse, da $3$ bzw. $3, 5$
jeweils Teiler von $9$ bzw. $15$ sind.
\end{enumerate}
\section*{Aufgabe 5}
\begin{enumerate}[(a)]
\item $e_{k_1}(x) = y \equiv a_1 * x + b_1 \mod n$ und $e_{k_2}(x) = y \equiv a_2 * x + b_2$
Gesucht: $e_{k_3}(x) = a_3 * x + b_3$ mit $e_{k_3}(x) = e_{k_2}(e_{k_1}(x)$
\begin{eqnarray*}
e_{k_3}(x) = e_{k_2}(e_{k_1}(x)) = a_2 * (a_1 * x + b_1) + b_2 &\mod{}& n \\
e_{k_3} = (a_2 * a_1) * x + (a_2 * b_1 + b_2) &\mod{}& n \\
\Rightarrow a_3 = (a_2 * a_1) \mod n \text{ und } b_3 = (a_2 * b_1 + b_2) \mod n
\end{eqnarray*}
\item $a_1 = 7, b_1 = 13$ und $a_2 = 19, b_2 = 7$ und $n = 26$
Gesucht: $a_3, b_3$
\begin{eqnarray*}
a_3 = (a_2 * a_1) = 7 * 19 = 133 \equiv 3 &\mod{}& 26 \\
b_3 = (a_2 * b_1 + b_2) = 7 * 13 + 7 = 98 \equiv 20 &\mod{}& 26 \\
\Rightarrow e_{k_3}(x) = 3 * x + 20 &\mod{}& 26
\end{eqnarray*}
\item Da sich der Modulus $n$ nicht verändert, verändert sich auch der Schlüsselraum nicht. Gegen affine Chiffren
sind weiterhin Häufigkeitsanalysen möglich, da jedes Plaintext Zeichen auf das selbe Ciphertext Zeichen gemappt
wird.
\end{enumerate}
\section*{Aufgabe 6}
\begin{enumerate}[(a)]
\item
\begin{tabular}{|cccccccccccccccc|}
\hline
M&u&j&m&l&l&m&l&A&m&k&c&z&q&b&g \\\hline
E&m&b&e&d&d&e&d&S&e&c&u&r&i&t&y \\\hline
\end{tabular}
\item Nein, da Buchstabenhäufigkeiten weiterhin erkennbar bleiben. Nachdem die Buchstabenhäufigkeiten bestimmt
wurden kann man den geheimen Offset herausfinden und hat sogar weniger Arbeit als bei der Subsitutionschiffre,
da keine Substitutionstabelle erstellt werden muss, da der Offset für jedes Zeichen gleich ist.
Weiter ist auch ein Bruteforce Angriff gegen dieses Verfahren, da es je nach dem, ob Groß- und Kleinschreibung
unterschieden wird, nur 26 bzw. 52 verschiedene Schlüssel.
\item Nein, da die \enquote{Normalisierung}, also Zurückführung auf die normale Cäsar-Chiffre, trivial ist. Wenn
man von jedem Zeichen den Index seiner Position als Offset abzieht, erhält man wieder die Cäsar-Chiffre.
\end{enumerate}
\section*{Aufgabe 7}
\begin{enumerate}[(a)]
\item Solange es gegen Angriffe, die im Threatmodel definiert wurden, schützt. Das Threatmodel beschreibt war, vor
wem und wie lange geschützt werden soll.
\item Während der Verteidiger sich gegen alle möglichen Arten von Schwachstellen schützen muss, reicht es dem
Angreifer, eine einzige Schwachstelle zu finden, um ein System zu kompromittieren.
\item Die Implementierung der Algorithmen, die Benutzer eines Systems, (Pseudo-)Random-Number Generatoren,
Design Fehler in Protokollen, Design des Userinterface, (implizierte) Hardwarevoraussetzungen (z.B.
manipulationssichere Hardware)
\item Bei einem Flugzeugunglück kümmert sich die Regierung um die Analyse und Aufarbeitung des Unglücks, und die
Informationen werden verbreitet, dass andere daraus lernen können um zu verhindern, dass sich das Unglück
wiederholt, während bei Angriffen auf kryptographische Systeme, sollte es überhaupt eine Berichterstattung
geben, Informationen weggelassen werden und keine Analysen veröffentlicht werden. Das führt dazu, dass sich der
selbe Fehler ggf. wiederholt. Die Schwachstellen werden im stillen geschlossen und möglichst viel Information
zurückgehalten um das Vertrauen in ein System nicht zu verlieren, obwohl dieses nicht mehr gerechtfertigt ist.
\item Wenn Details zurückgehalten werden, hat niemand die Möglichkeit, aus den gemachten Fehlern zu lernen und die
Fehler werden ggf. wiederholt.
\item Fehler in der Implementierung oder ein schlechtes Userinterface (z.B. unsichere Default Werte) können ein
theoretisch sicheres System unsicher machen.
\end{enumerate}
\end{document}

Binary file not shown.