2016-12-09 22:49:16 +01:00
|
|
|
|
\documentclass{math_rsa}
|
2016-11-26 12:35:02 +01:00
|
|
|
|
\title{Einführung zu RSA}
|
2016-11-25 22:37:39 +01:00
|
|
|
|
\date{\today}
|
2016-12-17 13:47:45 +01:00
|
|
|
|
\author{Andreas Zweili, Ismail Cadaroski, Ivan Hörler, Michael Stratighiou}
|
2016-12-09 22:49:16 +01:00
|
|
|
|
%\institute{}
|
2016-11-25 22:37:39 +01:00
|
|
|
|
% \titlegraphic{\hfill\includegraphics[height=1.5cm]{logo.pdf}}
|
2016-12-31 15:24:39 +01:00
|
|
|
|
\numberwithin{equation}{subsection} % IH | Formelnummerierung mit Section Nummer kombiniert
|
2016-11-25 22:37:39 +01:00
|
|
|
|
|
2017-01-10 22:58:23 +01:00
|
|
|
|
% Developement Helpers
|
|
|
|
|
%-------------------------------------------------------------------
|
2017-01-30 17:12:02 +01:00
|
|
|
|
\fboxrule=1pt %border thickness der fboxes zum bearbeiten auf 1 setzten
|
2017-01-11 18:13:32 +01:00
|
|
|
|
%\usepackage{showframe} %border der Bereiche anzeigen
|
2017-01-10 22:58:23 +01:00
|
|
|
|
|
2016-11-25 22:37:39 +01:00
|
|
|
|
\begin{document}
|
|
|
|
|
|
2016-12-09 22:49:16 +01:00
|
|
|
|
\begin{titlepage}
|
2016-11-25 22:37:39 +01:00
|
|
|
|
\maketitle
|
2016-12-09 22:49:16 +01:00
|
|
|
|
\thispagestyle{empty}
|
|
|
|
|
\end{titlepage}
|
2016-11-25 22:37:39 +01:00
|
|
|
|
|
2016-12-09 22:49:16 +01:00
|
|
|
|
\tableofcontents
|
|
|
|
|
\newpage
|
2016-11-25 22:37:39 +01:00
|
|
|
|
|
2016-12-16 15:12:57 +01:00
|
|
|
|
\section{Einführung}
|
|
|
|
|
|
|
|
|
|
Diese Arbeit wird eine Einführung zu dem Verschlüsselungsalgorithmus RSA geben.
|
|
|
|
|
Anhand von vereinfachten Rechnungen wird die Funktion des Algorthmus
|
|
|
|
|
veranschaulicht und erklärt. In der Realität sind die verwendeten Zahlen jedoch
|
|
|
|
|
um ein x-faches grösser. Die nachfolgende Zahl ist 1024 Bit gross. Der Leser
|
|
|
|
|
kann sich also ungefähr vorstellen wie gross die Zahlen sind wenn die heutige
|
|
|
|
|
empfohlene Grösse bei 4096 Bit liegt.
|
|
|
|
|
|
|
|
|
|
\begin{sexylisting}{RSA-1024 Primzahl}
|
|
|
|
|
13506641086599522334960321627880596993888147560566
|
|
|
|
|
70275244851438515265106048595338339402871505719094
|
|
|
|
|
41798207282164471551373680419703964191743046496589
|
|
|
|
|
27425623934102086438320211037295872576235850964311
|
|
|
|
|
05640735015081875106765946292055636855294752135008
|
|
|
|
|
52879416377328533906109750544334999811150056977236
|
|
|
|
|
890927563
|
|
|
|
|
\end{sexylisting}
|
2016-12-16 15:46:48 +01:00
|
|
|
|
|
2016-12-16 15:12:57 +01:00
|
|
|
|
\subsection{Geschichte}
|
2016-12-16 15:46:48 +01:00
|
|
|
|
|
2017-01-08 20:14:37 +01:00
|
|
|
|
Im Jahre 1976 wurde von Whitfield Diffie und Martin Hellman eine Theorie zu
|
|
|
|
|
Publickey-Kryptographie veröffentlicht \cite{ref4}. In welcher sie ein Konzept
|
2017-01-10 22:58:23 +01:00
|
|
|
|
Namens ``Falltür'' präsentieren. Dabei handelt es sich um mathematische Probleme
|
2017-01-08 20:14:37 +01:00
|
|
|
|
welche in eine Richtung sehr aufwändig und in die andere Richtung viel einfacher
|
|
|
|
|
zu lösen sind.
|
2016-12-28 17:25:41 +01:00
|
|
|
|
|
|
|
|
|
Ronald L. Rivest, Adi Shamir und Leonard Adleman wollten nach der
|
2017-01-08 20:14:37 +01:00
|
|
|
|
Veröffentlichung der Theorie von Herrn Diffie und Herrn Hellman beweisen das
|
2016-12-28 17:25:41 +01:00
|
|
|
|
solche Falltüren nicht existieren. Dabei entdeckten sie jedoch genau solch eine
|
|
|
|
|
Falltür daraus entwickelten sie dann den RSA Algorithmus welchen sie 1977
|
2017-01-08 20:14:37 +01:00
|
|
|
|
vorstellten \cite{ref5}. RSA steht dabei für die Anfangsbuchstaben ihrer
|
2016-12-31 16:51:39 +01:00
|
|
|
|
Familiennamen.
|
2016-12-16 15:46:48 +01:00
|
|
|
|
|
|
|
|
|
Im Jahre 2002 erhielten sie den Turing-Award für ihre Arbeit auf dem Gebiet der
|
2016-12-28 17:25:41 +01:00
|
|
|
|
Kryptographie. Welcher oft als Nobel Preis für Informatik bezeichnet wird.
|
|
|
|
|
|
2016-12-16 15:12:57 +01:00
|
|
|
|
\subsection{Verwendung}
|
2016-12-16 15:46:48 +01:00
|
|
|
|
|
2016-12-28 21:27:45 +01:00
|
|
|
|
RSA wird heute in eine Vielzahl an Programmen eingesetzt. Von besonderer
|
|
|
|
|
Wichtigkeit sind hier folgende Systeme zu Erwähnen.
|
|
|
|
|
|
|
|
|
|
\textbf{Bankkarten nach dem EMV Standard}
|
|
|
|
|
|
|
|
|
|
Dieser Standard definiert wie der Chip auf den Karten zu funktionieren hat und
|
|
|
|
|
wie die Authentifizierung gegenüber den Bankautomaten funktioniert.
|
|
|
|
|
|
|
|
|
|
\textbf{HTTPS (TLS und X.509-Zertifikate)}
|
|
|
|
|
|
2017-01-08 20:14:37 +01:00
|
|
|
|
HTTPS garantiert das die Zugriffe auf Website welche es unterstützen, vor
|
|
|
|
|
Manipulationen sowie Spionage von Unbefugten geschützt sind. Dies ist
|
2016-12-28 21:27:45 +01:00
|
|
|
|
insbesondere bei eBanking oder Websiten mit Logins essentiel wichtig. Ansonsten
|
|
|
|
|
ist es ein Leichtes Konten zu übernehmen.
|
|
|
|
|
|
|
|
|
|
\textbf{SSH (Secure Shell)}
|
|
|
|
|
|
|
|
|
|
SSH ist ein Protokoll mit welchem man remote auf Unix Systeme Zugreifen kann.
|
|
|
|
|
Am häufigsten wird es genutzt zur Administrierung von Servern oder zur
|
|
|
|
|
Übertragung von Dateien.
|
|
|
|
|
|
|
|
|
|
\textbf{OpenPGP}
|
|
|
|
|
|
|
|
|
|
OpenPGP ist ein Verschlüsselungsverfahren welches hauptsächlich bei der
|
|
|
|
|
Verschlüsselung von Emails verwendet wird. Abseits davon wird es auch zur
|
|
|
|
|
Signierung von Dateien eingesetzt.
|
|
|
|
|
|
|
|
|
|
|
2016-12-28 21:30:30 +01:00
|
|
|
|
Zusätzlich sollte noch erwähnt werden das RSA in den meisten Fällen nicht
|
|
|
|
|
alleine eingesetzt wird da die Performance von RSA im Vergleich zu symetrischen
|
|
|
|
|
Verfahren sehr viel schlechter ist. Deshalb wird RSA oftmals nur zum
|
|
|
|
|
Schlüsseltausch eingesetzt und eine symetrische Verschlüsselung zum
|
|
|
|
|
Verschlüsseln der eigentlichen Daten.
|
2016-12-16 15:46:48 +01:00
|
|
|
|
|
2016-12-31 15:50:00 +01:00
|
|
|
|
|
2016-12-31 15:24:39 +01:00
|
|
|
|
\begin{center}
|
|
|
|
|
\includegraphics[width=360pt]{Bilder/RSA-verschluesselungs-Vorgang.png}
|
|
|
|
|
\end{center}
|
|
|
|
|
|
2016-12-31 15:50:00 +01:00
|
|
|
|
|
2016-12-30 14:56:32 +01:00
|
|
|
|
\section{Öffentlicher und Privater Schlüssel}
|
2017-01-08 21:01:48 +01:00
|
|
|
|
Als erster Schritt muss ein öffentlicher und privater Schlüssel (sozusagen ein
|
2017-01-10 20:21:03 +01:00
|
|
|
|
Schlüsselpaar), konstruiert werden. Dazu wählen wir 2 zwei zufällige Primzahlen
|
2017-01-08 20:14:37 +01:00
|
|
|
|
die wir in unserem Beispiel zur einfachheit halber klein halten und fangen mit
|
|
|
|
|
der Konstruktion an.
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
2016-12-15 18:27:03 +01:00
|
|
|
|
\subsection{Schlüsselkontruktion}
|
2017-01-08 21:37:43 +01:00
|
|
|
|
|
|
|
|
|
% Pfeilbeispiel -------------------------------------------
|
|
|
|
|
% tikzmark command
|
2017-01-30 17:12:02 +01:00
|
|
|
|
\newcommand{\tikzmark}[2]{%
|
|
|
|
|
\tikz[remember picture,baseline=(#1.base)]
|
|
|
|
|
\node[text=black,anchor=center,inner sep=1pt] (#1) {#2};}
|
2017-01-21 07:31:19 +01:00
|
|
|
|
%Beispiel für Isi:
|
|
|
|
|
% \begin{align*}
|
|
|
|
|
% \tikzmark{a}{a}+\tikzmark{b}{b} & =\tikzmark{c}{c} \\[1em]
|
|
|
|
|
% \tikzmark{sums}{Sumanden} & =\tikzmark{sum}{Summe}
|
|
|
|
|
% \phantom{\hspace{8cm}} %%<---versatz von rechts (!)
|
|
|
|
|
% \end{align*}
|
|
|
|
|
% \tikz[overlay,remember picture]{\draw[blue,thick,->] (sums.north) to [bend left=0] node[anchor=south]{$ $}(a.south);}
|
|
|
|
|
% \tikz[overlay,remember picture]{\draw[blue,thick,->] (sums.north) to [bend left=0] node[anchor=south]{$ $}(b.south);}
|
|
|
|
|
% \tikz[overlay,remember picture]{\draw[blue,thick,->] (sum.north) to [bend left=0] node[anchor=south]{$ $}(c.south);}
|
|
|
|
|
%% Pfeilbeispiel -------------------------------------------
|
2017-01-08 21:37:43 +01:00
|
|
|
|
|
2016-12-31 15:24:39 +01:00
|
|
|
|
% ------------------------------------------- Makro Definitionen -------------------------------------------
|
|
|
|
|
\def\pq{\textit{p} \cdot \textit{q}}
|
|
|
|
|
\def\m{\varphi (\textit{p}\cdot\textit{q})} % IH | ich definiere ein Makro das mit "m" heist und mit \m aufgerufen werden kann.
|
|
|
|
|
\def\varphipxphiq{\varphi \textit{(p)} \cdot \varphi\textit{(q)}} % IH | ich definiere "phi p x phi q" \varphipxphiq
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\def\pmineinsxqmineins{(\textit{p}-1) \cdot (\textit{q}-1)} % IH | ich definiere "p min eins x q min eins" \pmineinsxqmineins
|
|
|
|
|
\def\siebenmineinsxelfmineins{(7-1) \cdot (11-1)}
|
2016-12-31 15:24:39 +01:00
|
|
|
|
% ------------------------------------------- Makro Definitionen -------------------------------------------
|
2017-01-08 21:01:48 +01:00
|
|
|
|
In den folgenden Seiten berechnen wir : \\
|
2017-01-08 15:12:30 +01:00
|
|
|
|
\textit{N} = Privatschlüsselanteil \\
|
2017-01-11 18:36:00 +01:00
|
|
|
|
\textit{p} = Primzahl \\
|
|
|
|
|
\textit{q} = Primzahl \\
|
2017-01-08 15:12:30 +01:00
|
|
|
|
\textit{e} = Teilerfremder Wert \\
|
|
|
|
|
\textit{d} = modular inverse \\
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\ In dem $\textit{e}+\textit{N}$ den öffentlichen und $\textit{d}+\textit{N}$
|
2017-01-09 20:48:02 +01:00
|
|
|
|
den privaten Schlüssel bilden. \\
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
2016-12-13 20:13:32 +01:00
|
|
|
|
|
2016-12-31 15:24:39 +01:00
|
|
|
|
\subsection{Konstruktion \textit{N}}
|
2017-01-11 18:29:56 +01:00
|
|
|
|
Es werden zwei verschiedenen Primzahlen, die der Hersteller des Schlüssels
|
|
|
|
|
selbst wählt, p = 7 und q = 11 verwendet (in Realen Fällen werden kompliziertere
|
|
|
|
|
Zahlen gewählt, jedoch halten wir sie hier der einfachheit halber klein ) und
|
|
|
|
|
das Produkt aus diesen beiden Werten berechnet. Dieses Resultat N wird ein
|
2017-01-21 07:31:19 +01:00
|
|
|
|
wichtiger Anteil, den wir im Privat und Public Schlüssel brauchen werden.
|
|
|
|
|
\begin{center}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
Theorie:
|
|
|
|
|
\begin{align*}
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\textit{N} & = \pq
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
Beispiel:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
77 & = 7 \cdot 11 \\
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\textit{N} & = 77
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
2017-01-30 17:12:02 +01:00
|
|
|
|
}\\
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{center}
|
2016-12-31 15:24:39 +01:00
|
|
|
|
\subsection{Konstruktion \textit{m}}
|
2017-01-08 20:14:37 +01:00
|
|
|
|
Danach rechnen wir Phi von N um die Anzahl der teilerfremden Zahlen zu
|
2017-01-08 21:14:50 +01:00
|
|
|
|
berechnen. Da p und q Primzahlen sind wissen wir das Phi von \(p=p-1\) und Phi
|
2017-01-21 07:31:19 +01:00
|
|
|
|
von \(q=q-1\) ist und erhalten als Phi von N = 60 = m.
|
|
|
|
|
\begin{center}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
Theorie:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
\varphi \textit{(N)} & = \m \\
|
|
|
|
|
\varphi \textit{(N)} & = \varphipxphiq \\
|
|
|
|
|
\varphi \textit{(N)} & = \pmineinsxqmineins \\
|
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
Beispiel:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
\\
|
|
|
|
|
\\
|
|
|
|
|
\varphi \textit{(N)} & = \siebenmineinsxelfmineins \\
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\varphi \textit{(N)} & = 60 \\
|
|
|
|
|
\textit{m} & = 60
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
2017-01-30 17:12:02 +01:00
|
|
|
|
}\\
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{center}
|
2017-01-08 15:12:30 +01:00
|
|
|
|
\subsection{Konstruktion \textit{e}}
|
2017-01-11 18:29:56 +01:00
|
|
|
|
Wir bestimmen eine zu \textit{m} = 60 teilerfremde Primzahl die grösser 1, aber
|
2017-01-15 13:17:40 +01:00
|
|
|
|
kleiner m sein muss. Wir nehmen in unserem Beispiel \textit{e} = 7 da sie nicht durch 60
|
|
|
|
|
teilbar ist und beide den ggT 1 besitzen.
|
2016-11-26 13:11:10 +01:00
|
|
|
|
|
2017-01-09 20:41:52 +01:00
|
|
|
|
\subsection{Konstruktion \textit{d}}
|
2017-01-09 21:44:54 +01:00
|
|
|
|
Zuvor haben wir \textit{e} mit der Eigenschaft :
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{center}
|
|
|
|
|
\fbox{%
|
|
|
|
|
\begin{minipage}{0.3\textwidth}
|
|
|
|
|
Theorie:
|
|
|
|
|
\begin{align*}
|
2017-01-30 17:12:02 +01:00
|
|
|
|
ggT(\textit{e},\textit{m})
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
|
|
|
|
\begin{minipage}{0.3\textwidth}
|
|
|
|
|
Beispiel:
|
|
|
|
|
\begin{align*}
|
2017-01-30 17:12:02 +01:00
|
|
|
|
ggT(\textit{7},\textit{60}) =1
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
2017-01-30 17:12:02 +01:00
|
|
|
|
}\\
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{center}
|
2017-01-30 17:12:02 +01:00
|
|
|
|
bestummen. Dies bedeutet, wenn wir \(\bmod \textit{m}\) rechnen, hat
|
2017-01-09 21:44:54 +01:00
|
|
|
|
\textit{e} einen Inversis. Wir bestimmen \textit{d} mit:
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{center}
|
|
|
|
|
\fbox{%
|
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
|
|
|
Theorie:
|
|
|
|
|
\begin{align*}
|
2017-01-30 17:12:02 +01:00
|
|
|
|
\textit{e} \cdot \textit{d} = 1 \bmod \textit{m}
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
|
|
|
%Beispiel:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
{}
|
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
2017-01-30 17:12:02 +01:00
|
|
|
|
}\\
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{center}
|
|
|
|
|
Formen diese nach \textit{d} um :
|
|
|
|
|
\begin{center}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Theorie:
|
|
|
|
|
\begin{align*}
|
2017-01-30 17:12:02 +01:00
|
|
|
|
\textit{d} = \textit{e}^{-1} \bmod \textit{m}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-30 17:12:02 +01:00
|
|
|
|
%Beispiel:
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\begin{align*}
|
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
2017-01-30 17:12:02 +01:00
|
|
|
|
}\\
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{center}
|
|
|
|
|
Danach können wir die Zahlen in die Formel setzen :
|
|
|
|
|
\begin{center}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-30 17:12:02 +01:00
|
|
|
|
%Theorie:
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\begin{align*}
|
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Beispiel:
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{align*}
|
2017-01-30 17:12:02 +01:00
|
|
|
|
d &= \textit{7}^{-1} \bmod \textit{60}
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}
|
2017-01-30 17:12:02 +01:00
|
|
|
|
}\\
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{center}
|
2017-01-11 21:37:18 +01:00
|
|
|
|
Aus der letzten Gleichung berechnen wir die Inverse, indem wir erstmal aus 60
|
|
|
|
|
und 7 den euklidischen Algorithmus formen, als wollten wir den ggT dieser Zahlen
|
2017-01-21 07:31:19 +01:00
|
|
|
|
ermitteln. Wir wissen schon dass der ggT(60,7) = 1 ist, brauchen jedoch wie man
|
|
|
|
|
gleich sieht einen Teil der kommenden Gleichung.
|
2017-01-09 21:44:54 +01:00
|
|
|
|
|
2017-01-21 07:31:19 +01:00
|
|
|
|
In der Anwendung bauen wir die Gleichung auf nach :
|
|
|
|
|
\begin{center}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
|
|
|
Theorie: \; ggT(\textit{m},\textit{e})
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\begin{align*}
|
2017-01-21 07:31:19 +01:00
|
|
|
|
m & = q_1 \cdot e_0 + rest_0 \\
|
|
|
|
|
e_0 & = q_2 \cdot rest_0 + rest_1\\
|
|
|
|
|
rest_0 & = q_3 \cdot rest_1 + rest_2\\
|
2017-01-30 17:12:02 +01:00
|
|
|
|
rest_1 & = q_4 \cdot rest_2 + rest_3
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
|
|
|
Beispiel: \; ggT(60,7)
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\begin{align*}
|
2017-01-30 17:12:02 +01:00
|
|
|
|
60 & = 8 \cdot \tikzmark{71}{7} + \tikzmark{41}{4}\\
|
|
|
|
|
\tikzmark{72}{7} & = 1 \cdot \tikzmark{42}{4} + \tikzmark{31}{3}\\
|
|
|
|
|
\tikzmark{43}{4} & = 1 \cdot \tikzmark{32}{3} + \tikzmark{11}{1} \label{eq:bspd1}\\ % IH | Labels können mit \ref{}
|
|
|
|
|
\tikzmark{33}{3} & = 3 \cdot \tikzmark{12}{1} + 0 % dynamisch wieder aufgerufen werden
|
|
|
|
|
\end{align*}%
|
|
|
|
|
\tikz[overlay,remember picture]{\draw[blue,thick,->] (71.south) to [bend left=0] node[anchor=south]{$ $}(72.north);}
|
|
|
|
|
\tikz[overlay,remember picture]{\draw[blue,thick,->] (41.south) to [bend left=0] node[anchor=south]{$ $}(42.north);}
|
|
|
|
|
\tikz[overlay,remember picture]{\draw[blue,thick,->] (42.south) to [bend left=0] node[anchor=south]{$ $}(43.north);}
|
|
|
|
|
\tikz[overlay,remember picture]{\draw[blue,thick,->] (31.south) to [bend left=0] node[anchor=south]{$ $}(32.north);}
|
|
|
|
|
\tikz[overlay,remember picture]{\draw[blue,thick,->] (32.south) to [bend left=0] node[anchor=south]{$ $}(33.north);}
|
|
|
|
|
\tikz[overlay,remember picture]{\draw[blue,thick,->] (11.south) to [bend left=0] node[anchor=south]{$ $}(12.north);}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\end{minipage}%
|
2017-01-30 17:12:02 +01:00
|
|
|
|
}\\[-0.5em]
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{center}
|
2017-01-08 20:14:37 +01:00
|
|
|
|
Der erweiterte euklidische Algorithmus besteht nun darin, ausgehend von der
|
2017-01-08 20:50:47 +01:00
|
|
|
|
vorletzten Seite, diese Rechenschritte ''von unten nach oben'' in der folgenden
|
2017-01-08 20:14:37 +01:00
|
|
|
|
Weise aufzurollen, indem die einzelnen Zeilen nach den Resten aufgelöst und
|
2017-01-21 07:31:19 +01:00
|
|
|
|
diese nacheinander eingesetzt werden:
|
|
|
|
|
\begin{center}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\fbox{%
|
2017-01-30 17:12:02 +01:00
|
|
|
|
\begin{minipage}[t]{0.95\textwidth}
|
|
|
|
|
Erweiterter Euklidischer Algorithmus:\\
|
|
|
|
|
\begin{tabular}{|c|c|c|c|c|c|c|c|p{5.5cm}|} \hline% Quelle: http://johannes-bauer.com/compsci/eea/?a=7&b=60&submit=Berechnen
|
|
|
|
|
A & B & Q & R & S & T & U & V & Berechnung: \\ \hline
|
|
|
|
|
\textit{m} & \textit{e} & & & 1 & 0 & 0 & 1 & Startwerte \\ \hline
|
|
|
|
|
60 & 7 & 8 & 4 & 0 & 1 & 1 & -8 & \scriptsize
|
|
|
|
|
Q = A / B = 60 / 7 = 8\newline R = A \% B = 60 \% 7 = 4 \newline $S = U_{alt} = 0$ \newline $T = V_{alt} = 1$ \newline
|
|
|
|
|
$U = S_{alt} - (Q \cdot U_{alt}) = 1 - (8 \cdot 0) = 1$ \newline $V = T_{alt} - (Q \cdot V_{alt}) = 0 - (8 \cdot 1) = -8$\\ \hline
|
|
|
|
|
7 & 4 & 1 & 3 & 1 & -8 & -1 & 9 & \scriptsize
|
|
|
|
|
$A = B_{alt}$ \newline $B = R_{alt}$ \newline Q = A / B = 7 / 4 = 1 \newline R = A \% B = 7 \% 4 = 3 \newline
|
|
|
|
|
$S = U_{alt} = 1$ \newline $T = V_{alt} = -8$ \newline $U = S_{alt} - (Q \cdot U_{alt}) = 0 - (1 \cdot 1) = -1$ \newline
|
|
|
|
|
$V = T_{alt} - (Q \cdot V_{alt}) = 1 - (1 \cdot -8) = 9$\\ \hline
|
|
|
|
|
4 & 3 & 1 & 1 & -1 & 9 & 2 & -17 & \scriptsize
|
|
|
|
|
$A = B_{alt}$ \newline $B = R_{alt}$ \newline Q = A / B = 4 / 3 = 1 \newline R = A \% B = 4 \% 3 = 1 \newline
|
|
|
|
|
$S = U_{alt} = -1$ \newline $T = V_{alt} = 9$ \newline $U = S_{alt} - (Q \cdot U_{alt}) = 1 - (1 \cdot -1) = 2$ \newline
|
|
|
|
|
$V = T_{alt} - (Q \cdot V_{alt}) = -8 - (1 \cdot 9) = -17$\\ \hline
|
|
|
|
|
& 1 & & & 2 & -17 & & & Ergebnisse\\ \hline\hline
|
|
|
|
|
\end{tabular}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
2017-01-30 17:12:02 +01:00
|
|
|
|
\begin{minipage}[t]{0.4\textwidth}
|
|
|
|
|
Theorie:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
S \cdot \textit{m} + T \cdot \textit{e} &= ggT(60,7) \\
|
|
|
|
|
\\
|
|
|
|
|
T + \textit{m} \cdot \textit{e} \ mod \ \textit{m} &= ggT(60,7)\\
|
|
|
|
|
d \cdot \textit{e} \ mod \ \textit{m} &= ggT(60,7)\\
|
|
|
|
|
\\
|
|
|
|
|
\textit{e}^{ggT(60,7)} \ mod \ \textit{m} &= d
|
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
|
|
|
|
\begin{minipage}[t]{0.4\textwidth}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
Beispiel:
|
2017-01-30 17:12:02 +01:00
|
|
|
|
\begin{align*}
|
|
|
|
|
2 \cdot 60 + (-17 \cdot 7) &= 1 \\
|
|
|
|
|
120 - 119 &= 1
|
|
|
|
|
\\
|
|
|
|
|
-17 + 60 \cdot 7 \ mod \ 60 &= 1 \\
|
|
|
|
|
43 \cdot 7 \ mod \ 60 &= 1 \\
|
|
|
|
|
\\
|
|
|
|
|
7^{-1} \ mod \ 60 = 43
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
2017-01-30 17:12:02 +01:00
|
|
|
|
}\\[1em]
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\end{center}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
|
|
|
|
|
Zu beachten ist, dass wir alle Klammern, jedoch nicht alle Produkte %das verstehe ich nicht HI | 10.1.17
|
2017-01-21 07:31:19 +01:00
|
|
|
|
ausmultiplizieren.
|
|
|
|
|
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Da unsere Inverse von \textit{e} positiv und kleiner 60 sein soll, addieren wir \(60 \cdot 7\) auf
|
2017-01-21 07:31:19 +01:00
|
|
|
|
der linken Seite. Die rechte Seite verändert sich nicht, da wir mod 60 rechnen.
|
|
|
|
|
\begin{center}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
Theorie:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
\\
|
|
|
|
|
\\ % hier könnte ein Theorieteil eingefügt werden
|
|
|
|
|
\\
|
2017-01-21 07:31:19 +01:00
|
|
|
|
1 & = \textit{d} ^\textit{e} \, \bmod \textit{N} \\
|
|
|
|
|
\textit{d} &= \textit{e} ^\textit{-1} \ \bmod \textit{N}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\end{align*}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\end{minipage}% isi empfielt: https://www.youtube.com/watch?v=Grd-sxx5dEQ
|
2017-01-10 22:58:23 +01:00
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
Beispiel:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
1 & = 2 \cdot 60 -17 \cdot 7 \,\mid \bmod\\
|
2017-01-15 13:17:40 +01:00
|
|
|
|
1 & = -17 \cdot 7 \bmod 60 \mid + 60 \cdot 7\\
|
2017-01-10 22:58:23 +01:00
|
|
|
|
1 & = 43 \cdot 7 \, \bmod 60 \,\mid (60 - 17 = 43)\\
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\\
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\textit{d} & = 7^{-1} \, \bmod 60 \\
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\textit{d} & = 43
|
2017-01-10 22:58:23 +01:00
|
|
|
|
\end{align*}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\end{minipage}%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
}\\[-1em]
|
|
|
|
|
\end{center}
|
2017-01-10 22:58:23 +01:00
|
|
|
|
% IH | in Formeln werden leerzeichen ignoriert darum kann mit " \, " , " \: " ,
|
|
|
|
|
%" \; " erstellt einen "schmalen", "mittleren" und "breiten" Leerschlag. Es geht
|
|
|
|
|
%auch mit \thinspace, \medspace oder \thickspace...
|
2017-01-09 21:44:54 +01:00
|
|
|
|
|
|
|
|
|
|
2017-01-21 07:31:19 +01:00
|
|
|
|
Danach lösen wir die Gleichung nach d auf und ergibt .
|
2016-11-26 13:11:10 +01:00
|
|
|
|
|
2017-01-09 20:41:52 +01:00
|
|
|
|
|
2016-12-30 14:56:32 +01:00
|
|
|
|
\section{Verschlüsselung}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Im Beispiel der Schlüsselkonstruktion werden die Variablen \textit{e} und \textit{N} als
|
2016-12-31 16:46:09 +01:00
|
|
|
|
öffentlicher Schlüssel festgelegt. Dieser wird benötigt um eine Nachricht für
|
|
|
|
|
den dafür entsprechenden Empfänger zu verschlüsseln. Mit der daraus
|
2017-01-15 13:17:40 +01:00
|
|
|
|
resultierenden Zahl sowie dem privaten Schlüssel, welcher aus den Variablen \textit{d}
|
|
|
|
|
und \textit{N} besteht, kann die Nachricht wieder entschlüsselt werden. \\
|
|
|
|
|
\\
|
|
|
|
|
In unserem Beispiel lautet der private Schlüssel also: \(43+77\)\\
|
2017-01-08 21:14:50 +01:00
|
|
|
|
und der öffentliche Schlüssel: \(7+77\)
|
2016-12-30 14:56:32 +01:00
|
|
|
|
|
|
|
|
|
\subsection {Der eigentliche Akt der Verschlüsselung}
|
2016-12-31 16:46:09 +01:00
|
|
|
|
Wollen wir nun eine Nachricht mit dem öffentlichen Schlüssel verschlüsseln, so
|
2017-01-15 13:17:40 +01:00
|
|
|
|
das sie nur noch für den Empfänger mit dem entsprechenden privaten
|
2016-12-31 16:46:09 +01:00
|
|
|
|
Schlüssel zu entschlüsseln ist, gehen wir folgendermassen vor:
|
2016-12-30 14:56:32 +01:00
|
|
|
|
|
2017-01-08 21:14:50 +01:00
|
|
|
|
Wir kennen die beiden Zahlen des öffentlichen Schlüssels: \(7+77\)
|
2016-12-30 14:56:32 +01:00
|
|
|
|
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Unsere zu verschlüsselnde Nachricht x: 47 (muss kleiner sein als \textit{N})
|
2016-12-31 16:46:09 +01:00
|
|
|
|
(Wie bereits in einem früheren Kapitel erwähnt sind solche öffentliche
|
|
|
|
|
Schlüssel Primzahlen mit mehreren hundert Stellen, somit ist diese Regel im
|
|
|
|
|
Normalfall irrelevant. Da wir aber in unserem Beispiel keine so grossen
|
|
|
|
|
Primzahlen verwenden müssen wir diesen Punkt beachten um sicherzustellen das
|
|
|
|
|
wir auch ein korrektes Ergebnis erhalten.)
|
2016-12-30 14:56:32 +01:00
|
|
|
|
|
2017-01-21 07:31:19 +01:00
|
|
|
|
Die Nachricht wird nun mit folgender Formel verschlüsselt:
|
|
|
|
|
\begin{center}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Theorie:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
\textit{y} & = \textit{x}^\textit{e} \bmod \textit{N} \\
|
|
|
|
|
\\
|
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Beispiel:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
\textit{y} & = 47^{7} \bmod 77 \\
|
|
|
|
|
\textit{y} & = 75 \\
|
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
}\\[-1em]
|
|
|
|
|
\end{center}
|
|
|
|
|
75 (y) ist unsere Verschlüsselte Nachricht, welche an den Empfänger
|
2016-12-31 16:46:09 +01:00
|
|
|
|
übermittelt wird.
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\section{Entschlüsselung}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Um die Nachricht zu entschlüsseln muss zuerst \textit{d} errechnet werden, dies geschieht
|
2016-12-31 16:46:09 +01:00
|
|
|
|
mithilfe des erweiterten euklidischen Algorithmus. Diese Berechnung wurde
|
2017-01-21 07:31:19 +01:00
|
|
|
|
bereits im Kapitel \nameref{sec:Schlüsselkontruktion} erledigt.
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Unsere gesuchte Zahl lautet demnach 47 (\textit{d})
|
2016-12-30 14:56:32 +01:00
|
|
|
|
|
2016-12-31 16:46:09 +01:00
|
|
|
|
Da nun alle benötigten Variablen bekannt sind kann die Nachricht mit folgender
|
2017-01-21 07:31:19 +01:00
|
|
|
|
Formel entschlüsselt werden.
|
|
|
|
|
\begin{center}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Theorie:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
\textit{x} & = \textit{y}^\textit{d} \bmod \textit{N} \\
|
|
|
|
|
\\
|
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
|
|
|
|
}
|
|
|
|
|
\fbox{%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
\begin{minipage}[t]{0.3\textwidth}
|
2017-01-15 13:17:40 +01:00
|
|
|
|
Beispiel:
|
|
|
|
|
\begin{align*}
|
|
|
|
|
\textit{x} & = 75^{43} \bmod 77 \\
|
|
|
|
|
\textit{x} & = 47 \\
|
|
|
|
|
\end{align*}
|
|
|
|
|
\end{minipage}%
|
2017-01-21 07:31:19 +01:00
|
|
|
|
}\\[-1em]
|
|
|
|
|
\end{center}
|
2016-11-26 13:11:10 +01:00
|
|
|
|
\section{Schwachstellen}
|
2016-12-31 16:46:09 +01:00
|
|
|
|
Obwohl schon einige verkündet haben die RSA Verschlüsselung geknackt zu haben
|
|
|
|
|
ist es bisher noch niemandem gelungen einer Überprüfung stand zu halten. Es gibt
|
|
|
|
|
aber durchaus realistische ideen wie der Code zerbrochen werden kann, nachgehend
|
|
|
|
|
stellen wir die Wichtigsten Methoden vor.
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
2017-01-09 21:00:52 +01:00
|
|
|
|
\subsection{Brute-force}
|
2016-12-31 16:46:09 +01:00
|
|
|
|
Die Methode alle möglichen Primzahlen von $\varphi=\pmineinsxqmineins$
|
|
|
|
|
auszuprobieren gilt als nicht einfacher als \textit{N} zu Faktorisieren.
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
2017-01-08 21:14:50 +01:00
|
|
|
|
\subsection{Fakturierung durch die Kenntnis von \textit{N}}
|
2016-12-31 16:46:09 +01:00
|
|
|
|
Weil die Faktoren von \textit{N} den $\varphi$\textit{N} ermitteln lassen kann
|
|
|
|
|
auch \textit{d} ermittelt werden. Die Erfinder RSA selbst, berechneten anhand
|
|
|
|
|
eines Algorithmus von Richard Schroeppel und der Annahme das ein
|
|
|
|
|
Annäherungsschritt 1ms benötigt die Zerlegung von:
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
|
|
|
|
\begin{center}
|
|
|
|
|
\begin{tabular}{| l | l | l |} % >{\( }c<{ \)}
|
|
|
|
|
\hline
|
2016-12-31 16:46:09 +01:00
|
|
|
|
\textbf{Zeichen} & \textbf{Operationen} & \textbf{Zeit} \\
|
|
|
|
|
50 & $1.4 \cdot 10^10$ & 3.9 Stunden \\
|
|
|
|
|
75 & $9.0 \cdot 10^12$ & 104 Tage \\
|
|
|
|
|
100 & $2.3 \cdot 10^15$ & 74 Jahre \\
|
|
|
|
|
200 & $1.2 \cdot 10^23$ & $3.8 \cdot 10^9$ Jahre \\
|
2016-12-31 15:24:39 +01:00
|
|
|
|
\hline
|
|
|
|
|
\end{tabular}
|
|
|
|
|
\end{center}
|
|
|
|
|
|
|
|
|
|
\begin{enumerate}
|
2016-12-31 16:46:09 +01:00
|
|
|
|
\item Diese Berechnungen der Entschlüsselungs-Zeiten sind überholt.
|
|
|
|
|
(stand 1978)
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
2016-12-31 16:46:09 +01:00
|
|
|
|
\item 1996 schreibt der Prof. Johannes Buchmann von der Universität
|
|
|
|
|
Saarbrücken das ein Parallelisiertes Netz von 250 Rechnern auf dem
|
|
|
|
|
Campusareal für eine 130 Stellige Zahl mehrere Wochen benötigt und sich
|
|
|
|
|
mit mit drei zusätzlichen Dezimalstellen verdoppelt.
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
2016-12-31 16:46:09 +01:00
|
|
|
|
\item 2003 veröffentlichte Adi Shamir und Eran Tromer einen technischen Report
|
|
|
|
|
wie ein RSA Schlüssel von 1024 bit in unter einem Jahr gebrochen werden
|
|
|
|
|
kann. \cite{ref10} % <-- bibtex Link
|
2016-12-31 15:24:39 +01:00
|
|
|
|
\end{enumerate}
|
|
|
|
|
|
2016-12-31 16:46:09 +01:00
|
|
|
|
\textbf{Diese drei Beispiele zeigen auf wie unvorhersehbar die Standhaftigkeit
|
|
|
|
|
eines Schlüssels in Bezug auf Zeit ist. }
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
|
|
|
|
Die Formel zur Zerlegung von $\varphi$\textit{N} lautet:
|
2016-12-31 16:46:09 +01:00
|
|
|
|
\begin{equation*}
|
2017-01-09 20:41:52 +01:00
|
|
|
|
\varphi=2 \cdot kgV\left(\frac{\textit{p}-1} {2} , \frac{\textit{q}-1}{2}\right)
|
2016-12-31 16:46:09 +01:00
|
|
|
|
\end{equation*}
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
2016-12-31 16:46:09 +01:00
|
|
|
|
\subsection{Berechnung von $\varphi$\textit{N} ohne Fakturierung von
|
2017-01-09 21:00:52 +01:00
|
|
|
|
\textit{N}}
|
2016-12-31 16:46:09 +01:00
|
|
|
|
Natürlich lässt sich $\varphi$\textit{N} auch ohne Fakturierung von \textit{N}
|
|
|
|
|
ermitteln wenn \textit{d} bekannt ist oder ermittelt werden kann. Da \textit{d}
|
|
|
|
|
jedoch ein multiplikator von $\varphi$\textit{N} ist, ist sein wert nicht
|
|
|
|
|
leichter zu ermitteln als die Fakturierung von \textit{N} ist.
|
|
|
|
|
%IH | Ivan, check ob die Formel auch stimmt sobald Ismail die Section
|
|
|
|
|
%Konstruktion von "d" fertig hat!
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
|
|
|
|
\subsection{zu kleine Multiplikator-Primzahlen}
|
2016-12-31 16:46:09 +01:00
|
|
|
|
Da die Sicherheit von RSA darauf beruht dass die Fakturierung von Primzahlen
|
|
|
|
|
Zeit benötigt, ist sie auch nur so stark wie die Grösse der Primzahl \textit{q}
|
|
|
|
|
die Multipliziert mit \textit{p} den Modulus ergibt. Ist \textit{q} oder
|
|
|
|
|
\textit{p} kleiner als 100 Stellen, wird daraus nicht ein Schlüssel $>10^200$
|
|
|
|
|
entstehen und damit die Verschlüsselung zwar schneller geschehen aber sie ist
|
|
|
|
|
auch gefährdeter durch Brute-force Attacken oder Fakturierung zerlegt zu werden.
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
2017-01-09 21:00:52 +01:00
|
|
|
|
\subsection{Gleiche $\varphi$ \textit{N}}
|
2016-12-31 15:50:00 +01:00
|
|
|
|
%IH | ist das je wirklich der Fall?
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
2017-01-09 21:00:52 +01:00
|
|
|
|
\subsection{Riehmann Hypotese}
|
2016-12-31 15:24:39 +01:00
|
|
|
|
Die Riehmann Hypothese beschreibt ein bisher ungelöstes Mathematisches Problem.
|
2016-12-31 16:46:09 +01:00
|
|
|
|
Sollte sich die Theorie der Reihmann Hypothese bewarheiten könnten daraus
|
|
|
|
|
Primzahlen abgeleitet werden auf dessen Basis die Zerlegung von \textit{N}
|
|
|
|
|
einfacher und schneller ausgeführt werden kann.
|
2016-12-31 15:24:39 +01:00
|
|
|
|
|
|
|
|
|
\subsection{Social Engineering}
|
2016-12-31 16:46:09 +01:00
|
|
|
|
Durch das Abfangen einer Nachricht kann ein Angreifer damit noch nichts anfangen
|
|
|
|
|
da sie mit dem Schlüssel des Empfängers Verschlüsselt ist. Möchte er diese nun
|
|
|
|
|
entschlüsseln muss er an den Schlüssel des Empfängers kommen. Dazu kann er die
|
|
|
|
|
Datei wiederum mit einem Ihm bekannten Schlüssel verschlüsseln und sie dem
|
|
|
|
|
Empfänger erneut und gegebenenfalls unter Verschleierung seiner Identität
|
|
|
|
|
zustellen. Dieser wird nun die Datei mit seinem Schlüssel entschlüsseln und
|
|
|
|
|
nichts damit anfangen können da sie immer noch mit dem Schlüssel des Angreifers
|
|
|
|
|
verschlüsselt ist. Bringt nun der Angreifer durch Geschick den Empfänger dazu
|
|
|
|
|
Ihm diese entschlüsselte vermeintlich defekte Datei zuzusenden kann er sie mit
|
|
|
|
|
seinem Schlüssel entschlüsseln und den Inhalt lesen.
|
2016-12-31 15:24:39 +01:00
|
|
|
|
% IH | Ivan finde heraus ob auch der Schlüssel gefunden werden kann...
|
2016-11-26 13:11:10 +01:00
|
|
|
|
|
2016-12-09 22:49:16 +01:00
|
|
|
|
\newpage
|
2016-12-05 22:01:02 +01:00
|
|
|
|
\section{Referenzen}
|
|
|
|
|
\nocite{*}
|
|
|
|
|
\bibliographystyle{plain}
|
|
|
|
|
\bibliography{bib}
|
|
|
|
|
|
2016-11-25 22:37:39 +01:00
|
|
|
|
\end{document}
|