491 lines
19 KiB
TeX
491 lines
19 KiB
TeX
\documentclass{math_rsa}
|
|
\title{Einführung zu RSA}
|
|
\date{\today}
|
|
\author{Andreas Zweili, Ismail Cadaroski, Ivan Hörler, Michael Stratighiou}
|
|
%\institute{}
|
|
% \titlegraphic{\hfill\includegraphics[height=1.5cm]{logo.pdf}}
|
|
\numberwithin{equation}{subsection} % IH | Formelnummerierung mit Section Nummer kombiniert
|
|
|
|
% Developement Helpers
|
|
%-------------------------------------------------------------------
|
|
\fboxrule=0pt %border thickness der fboxes zum bearbeiten auf 1 setzten
|
|
%\usepackage{showframe} %border der Bereiche anzeigen
|
|
|
|
\begin{document}
|
|
|
|
\begin{titlepage}
|
|
\maketitle
|
|
\thispagestyle{empty}
|
|
\end{titlepage}
|
|
|
|
\tableofcontents
|
|
\newpage
|
|
|
|
\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}
|
|
|
|
\subsection{Geschichte}
|
|
|
|
Im Jahre 1976 wurde von Whitfield Diffie und Martin Hellman eine Theorie zu
|
|
Publickey-Kryptographie veröffentlicht \cite{ref4}. In welcher sie ein Konzept
|
|
Namens ``Falltür'' präsentieren. Dabei handelt es sich um mathematische Probleme
|
|
welche in eine Richtung sehr aufwändig und in die andere Richtung viel einfacher
|
|
zu lösen sind.
|
|
|
|
Ronald L. Rivest, Adi Shamir und Leonard Adleman wollten nach der
|
|
Veröffentlichung der Theorie von Herrn Diffie und Herrn Hellman beweisen das
|
|
solche Falltüren nicht existieren. Dabei entdeckten sie jedoch genau solch eine
|
|
Falltür daraus entwickelten sie dann den RSA Algorithmus welchen sie 1977
|
|
vorstellten \cite{ref5}. RSA steht dabei für die Anfangsbuchstaben ihrer
|
|
Familiennamen.
|
|
|
|
Im Jahre 2002 erhielten sie den Turing-Award für ihre Arbeit auf dem Gebiet der
|
|
Kryptographie. Welcher oft als Nobel Preis für Informatik bezeichnet wird.
|
|
|
|
\subsection{Verwendung}
|
|
|
|
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)}
|
|
|
|
HTTPS garantiert das die Zugriffe auf Website welche es unterstützen, vor
|
|
Manipulationen sowie Spionage von Unbefugten geschützt sind. Dies ist
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
\begin{center}
|
|
\includegraphics[width=360pt]{Bilder/RSA-verschluesselungs-Vorgang.png}
|
|
\end{center}
|
|
|
|
|
|
\section{Öffentlicher und Privater Schlüssel}
|
|
Als erster Schritt muss ein öffentlicher und privater Schlüssel (sozusagen ein
|
|
Schlüsselpaar), konstruiert werden. Dazu wählen wir 2 zwei zufällige Primzahlen
|
|
die wir in unserem Beispiel zur einfachheit halber klein halten und fangen mit
|
|
der Konstruktion an.
|
|
|
|
\subsection{Schlüsselkontruktion}
|
|
|
|
% Pfeilbeispiel -------------------------------------------
|
|
% tikzmark command
|
|
\newcommand{\tikzmark}[2]{%
|
|
\tikz[remember picture,baseline=(#1.base)]
|
|
\node[text=black,anchor=center,inner sep=1pt] (#1) {#2};}
|
|
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 -------------------------------------------
|
|
|
|
% ------------------------------------------- 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
|
|
\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)}
|
|
% ------------------------------------------- Makro Definitionen -------------------------------------------
|
|
In den folgenden Seiten berechnen wir : \\
|
|
\textit{N} = Privatschlüsselanteil \\
|
|
\textit{p} = Primzahl \\
|
|
\textit{q} = Primzahl \\
|
|
\textit{e} = Teilerfremder Wert \\
|
|
\textit{d} = modular inverse \\
|
|
\ In dem $\textit{e}+\textit{n}$ den öffentlichen und $\textit{d}+\textit{n}$
|
|
den privaten Schlüssel bilden. \\
|
|
|
|
|
|
\subsection{Konstruktion \textit{N}}
|
|
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
|
|
wichtiger Anteil, den wir im Privat und Public Schlüssel brauchen werden.\\
|
|
\\ % Die zwei Linebreaks werden hier verwendet um den Whitespace zu vergrössern
|
|
\fbox{%
|
|
\begin{minipage}[t][25mm][t]{0.3\textwidth}
|
|
Theorie:
|
|
\begin{align*}
|
|
\textit{N} & = \pq \\
|
|
\\
|
|
\\
|
|
\end{align*}
|
|
\end{minipage}%
|
|
}
|
|
\fbox{%
|
|
\begin{minipage}[t][25mm][t]{0.3\textwidth}
|
|
Beispiel:
|
|
\begin{align*}
|
|
77 & = 7 \cdot 11 \\
|
|
\textit{N} & = 77 \\
|
|
\end{align*}
|
|
\end{minipage}%
|
|
}
|
|
|
|
|
|
\subsection{Konstruktion \textit{m}}
|
|
Danach rechnen wir Phi von N um die Anzahl der teilerfremden Zahlen zu
|
|
berechnen. Da p und q Primzahlen sind wissen wir das Phi von \(p=p-1\) und Phi
|
|
von \(q=q-1\) ist und erhalten als Phi von N = 60 = m.\\
|
|
\\ % Die zwei Linebreaks werden hier verwendet um den Whitespace zu vergrössern
|
|
\fbox{%
|
|
\begin{minipage}[t][35mm][t]{0.3\textwidth}
|
|
Theorie:
|
|
\begin{align*}
|
|
\varphi \textit{(N)} & = \m \\
|
|
\varphi \textit{(N)} & = \varphipxphiq \\
|
|
\varphi \textit{(N)} & = \pmineinsxqmineins \\
|
|
\end{align*}
|
|
\end{minipage}%
|
|
}
|
|
\fbox{%
|
|
\begin{minipage}[t][35mm][t]{0.3\textwidth}
|
|
Beispiel:
|
|
\begin{align*}
|
|
\\
|
|
\\
|
|
\varphi \textit{(N)} & = \siebenmineinsxelfmineins \\
|
|
\varphi \textit{(N)} & = 60
|
|
\end{align*}
|
|
\end{minipage}%
|
|
}
|
|
|
|
\subsection{Konstruktion \textit{e}}
|
|
Wir bestimmen eine zu \textit{m} = 60 teilerfremde Primzahl die grösser 1, aber
|
|
kleiner m sein muss. Wir nehmen in unserem Beispiel 7 da sie nicht durch 60
|
|
teilbar ist und beide den ggT 1 besitzten.
|
|
|
|
\subsection{Konstruktion \textit{d}}
|
|
Zuvor haben wir \textit{e} mit der Eigenschaft :
|
|
|
|
\begin{equation*}
|
|
ggT(\textit{e},\varphi \textit{(N)})=1
|
|
\end{equation*}
|
|
|
|
bestummen. Dies bedeutet, wenn wir \(\bmod\varphi \textit{(N)}\) rechnen, hat
|
|
\textit{e} einen Inversis. Wir bestimmen \textit{d} mit:
|
|
|
|
\begin{equation*}
|
|
\textit{e} \cdot \textit{d} = 1 \bmod \varphi \textit{(N)}
|
|
\end{equation*}
|
|
|
|
Formen dies um :
|
|
|
|
\begin{equation*}
|
|
\textit{d} =\textit{e}^{-1} \bmod \varphi\textit{(N)}
|
|
\end{equation*}
|
|
% vieleicht lässt sich hier etwas vereinfachen:
|
|
??? --- Ist diese Formel das gleiche wie diese: --- IH 10.1.17 ???
|
|
AZ: Ja das ist die gleiche da $\frac{1}{e}$ das gleiche ist wie $e^{-1}$
|
|
\begin{equation*}
|
|
\textit{d} = \frac{\bmod \varphi\textit{(N)}}{\textit{e}}
|
|
\end{equation*}
|
|
Danach können wir die Zahlen in die Formel setzen :
|
|
% und hier ist aus meiner Sicht was falsch: phi(N) ist 60 nur N ist 77 was ist richtig?
|
|
% AZ: Ich würde hier generell auch gerne dann die Texte anpassen. Das könnte man
|
|
% IMO gut noch detailierter ausführen.
|
|
\begin{equation*}
|
|
\textit{e}^{-1} \bmod \varphi\textit{(N)} \equiv 7^{-1} \bmod \varphi(77) ->
|
|
war das oben nicht 60..? HI 20.1.17
|
|
\end{equation*}
|
|
|
|
\begin{equation*}
|
|
7^{-1} \bmod \varphi(60)
|
|
\end{equation*}
|
|
\begin{equation*}
|
|
\textit{e}^{-1} \bmod \varphi\textit{(N)} \equiv 7^{-1} \bmod
|
|
\siebenmineinsxelfmineins
|
|
\end{equation*}
|
|
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
|
|
ermitteln. Wir wissen schon dass der ggT(60,7) 1 ist, brauchen jedoch wie man
|
|
gleich sieht einen Teil der kommenden Gleichung.\\
|
|
|
|
In der Anwendung bauen wir die Gleichung auf nach : \\
|
|
\\
|
|
\fbox{%
|
|
\begin{minipage}[t][40mm][t]{0.3\textwidth}
|
|
Theorie:
|
|
\begin{align*}
|
|
m & = Wert \cdot e + Wert \\
|
|
\\
|
|
\\
|
|
\\
|
|
\end{align*}
|
|
\end{minipage}%
|
|
}
|
|
\fbox{%
|
|
\begin{minipage}[t][40mm][t]{0.3\textwidth}
|
|
Beispiel:
|
|
\begin{align*}
|
|
60 & = 8 \cdot 7 + 4\\ % IH | 60 und 7 kommen aus e und m und wir rechnen hier wieviel mal 7 + der rest 60 gibt
|
|
7 & = 1 \cdot 4 + 3\\
|
|
4 & = 1 \cdot 3 + 1 \label{eq:bspd1}\\ % IH | Labels können mit \ref{} dynamisch wieder aufgerufen werden
|
|
3 & = 3 \cdot 1 + 0
|
|
\end{align*}
|
|
\end{minipage}%
|
|
}
|
|
|
|
Der erweiterte euklidische Algorithmus besteht nun darin, ausgehend von der
|
|
vorletzten Seite, diese Rechenschritte ''von unten nach oben'' in der folgenden
|
|
Weise aufzurollen, indem die einzelnen Zeilen nach den Resten aufgelöst und
|
|
diese nacheinander eingesetzt werden:\\
|
|
\\
|
|
\fbox{%
|
|
\begin{minipage}[t][40mm][t]{0.3\textwidth}
|
|
Theorie:
|
|
\begin{align*}
|
|
\\
|
|
\\ % hier könnte ein Theorieteil eingefügt werden
|
|
\\
|
|
\\
|
|
\end{align*}
|
|
\end{minipage}%
|
|
}
|
|
\fbox{%
|
|
\begin{minipage}[t][40mm][t]{0.3\textwidth}
|
|
Beispiel:
|
|
\begin{align*}
|
|
1 & = 4 - 1 \cdot 3 \\
|
|
1 & = 4 - 1 \cdot ( 7- 1 \cdot 4)\\
|
|
1 & = 4 - 1 \cdot 7 + 1 \cdot 4\\
|
|
1 & =(-1) \cdot 7 + 2 \cdot 4 \\
|
|
1 & = (-1) \cdot 7 + 2 \cdot (60-8 \cdot 7)\\
|
|
\end{align*}
|
|
\end{minipage}%
|
|
} \\
|
|
|
|
Zu beachten ist, dass wir alle Klammern, jedoch nicht alle Produkte %das verstehe ich nicht HI | 10.1.17
|
|
ausmultiplizieren\\
|
|
\\
|
|
Da unsere Inverse positiv und kleiner 60 sein soll, addieren wir \(60*7\) auf
|
|
der linken Seite. Die rechte Seite verändert sich nicht, da wir mod 60 rechnen.\\
|
|
\\
|
|
\fbox{%
|
|
\begin{minipage}[t][40mm][t]{0.3\textwidth}
|
|
Theorie:
|
|
\begin{align*}
|
|
\\
|
|
\\ % hier könnte ein Theorieteil eingefügt werden
|
|
\\
|
|
\\
|
|
\end{align*}
|
|
\end{minipage}%
|
|
}
|
|
\fbox{%
|
|
\begin{minipage}[t][40mm][t]{0.3\textwidth}
|
|
Beispiel:
|
|
\begin{align*}
|
|
1 & = 2 \cdot 60 -17 \cdot 7 \,\mid \bmod\\
|
|
1 & = 43 \cdot 7 \, \bmod 60 \,\mid (60 - 17 = 43)\\
|
|
1 & = \textit{d} ^\textit{e} \, \bmod \textit{n} \, \, \,\mid Umformen \, nach
|
|
\, \textit{d} \, \\
|
|
\textit{d} & = 7^{-1} \, \bmod 60 \\
|
|
\textit{d} & = 43
|
|
\end{align*}
|
|
\end{minipage}%
|
|
} \\
|
|
% IH | in Formeln werden leerzeichen ignoriert darum kann mit " \, " , " \: " ,
|
|
%" \; " erstellt einen "schmalen", "mittleren" und "breiten" Leerschlag. Es geht
|
|
%auch mit \thinspace, \medspace oder \thickspace...
|
|
|
|
|
|
Danach lösen wir die Gleichung nach d auf.
|
|
|
|
|
|
\section{Verschlüsselung}
|
|
Im Beispiel der Schlüsselkonstruktion werden die Variablen e und N als
|
|
ö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
|
|
resultierenden Zahl sowie dem privaten Schlüssel, welcher aus den Variablen d
|
|
und N besteht, kann die Nachricht wieder entschlüsselt werden.
|
|
|
|
In unserem Beispiel lautet der private Schlüssel also: \(43+77\)
|
|
und der öffentliche Schlüssel: \(7+77\)
|
|
|
|
\subsection {Der eigentliche Akt der Verschlüsselung}
|
|
Wollen wir nun eine Nachricht mit dem öffentlichen Schlüssel verschlüsseln, so
|
|
das sie also nur noch für den Empfänger mit dem entsprechenden privaten
|
|
Schlüssel zu entschlüsseln ist, gehen wir folgendermassen vor:
|
|
|
|
Wir kennen die beiden Zahlen des öffentlichen Schlüssels: \(7+77\)
|
|
|
|
Unsere zu verschlüsselnde Nachricht x: 45 (muss kleiner sein als N)
|
|
(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.)
|
|
|
|
Die Nachricht wird nun mit folgender Formel verschlüsselt:
|
|
|
|
\begin{align*}
|
|
\textit{y} & = \textit{x}^\textit{a} \bmod \textit{n} \\ %Sollte n nicht N sein?
|
|
\textit{y} & = 45^{43} \bmod 77 \\
|
|
\textit{y} & = 45 \\
|
|
\end{align*}
|
|
|
|
\subsection{Die Übermittlung}
|
|
TODO: Muss ergänzt werden.
|
|
|
|
45 (y) ist nun also unsere Verschlüsselte Nachricht, welche nun an den Empfänger
|
|
übermittelt wird.
|
|
|
|
\section{Entschlüsselung}
|
|
Um die Nachricht zu entschlüsseln muss zuerst d errechnet werden, dies geschieht
|
|
mithilfe des erweiterten euklidischen Algorithmus. Diese Berechnung wurde
|
|
bereits im Kapitel Schlüsselerzeugung erledigt.
|
|
Unsere gesuchte Zahl lautet demnach 43 (d)
|
|
|
|
Da nun alle benötigten Variablen bekannt sind kann die Nachricht mit folgender
|
|
Formel entschlüsselt werden.
|
|
|
|
\begin{align*}
|
|
\textit{x} & = \textit{y}^\textit{d} \bmod \textit{n} \\
|
|
\textit{x} & = 45^{43} \bmod 77 \\
|
|
\textit{x} & = 45 \\
|
|
\end{align*}
|
|
|
|
\section{Schwachstellen}
|
|
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.
|
|
|
|
\subsection{Brute-force}
|
|
Die Methode alle möglichen Primzahlen von $\varphi=\pmineinsxqmineins$
|
|
auszuprobieren gilt als nicht einfacher als \textit{N} zu Faktorisieren.
|
|
|
|
\subsection{Fakturierung durch die Kenntnis von \textit{N}}
|
|
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:
|
|
|
|
\begin{center}
|
|
\begin{tabular}{| l | l | l |} % >{\( }c<{ \)}
|
|
\hline
|
|
\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 \\
|
|
\hline
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
\begin{enumerate}
|
|
\item Diese Berechnungen der Entschlüsselungs-Zeiten sind überholt.
|
|
(stand 1978)
|
|
|
|
\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.
|
|
|
|
\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
|
|
\end{enumerate}
|
|
|
|
\textbf{Diese drei Beispiele zeigen auf wie unvorhersehbar die Standhaftigkeit
|
|
eines Schlüssels in Bezug auf Zeit ist. }
|
|
|
|
Die Formel zur Zerlegung von $\varphi$\textit{N} lautet:
|
|
\begin{equation*}
|
|
\varphi=2 \cdot kgV\left(\frac{\textit{p}-1} {2} , \frac{\textit{q}-1}{2}\right)
|
|
\end{equation*}
|
|
|
|
\subsection{Berechnung von $\varphi$\textit{N} ohne Fakturierung von
|
|
\textit{N}}
|
|
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!
|
|
|
|
\subsection{zu kleine Multiplikator-Primzahlen}
|
|
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.
|
|
|
|
\subsection{Gleiche $\varphi$ \textit{N}}
|
|
%IH | ist das je wirklich der Fall?
|
|
|
|
\subsection{Riehmann Hypotese}
|
|
Die Riehmann Hypothese beschreibt ein bisher ungelöstes Mathematisches Problem.
|
|
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.
|
|
|
|
\subsection{Social Engineering}
|
|
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.
|
|
% IH | Ivan finde heraus ob auch der Schlüssel gefunden werden kann...
|
|
|
|
\newpage
|
|
\section{Referenzen}
|
|
\nocite{*}
|
|
\bibliographystyle{plain}
|
|
\bibliography{bib}
|
|
|
|
\end{document}
|