This commit is contained in:
Andreas Zweili 2016-12-31 16:46:09 +01:00
parent e22d5de947
commit 1868117ded
2 changed files with 79 additions and 32 deletions

BIN
main.pdf

Binary file not shown.

111
main.tex
View File

@ -150,14 +150,15 @@ Platzhalter
\end{align*}
\subsection{Konstruktion \textit{d} }
Um \textit{d} zu Konstruieren müssen wir den erweiterten euklidischen Algorithmus mit m anwenden
Um \textit{d} zu Konstruieren müssen wir den erweiterten euklidischen
Algorithmus mit m anwenden
\begin{align}
\begin{align*}
60 & = 8 \cdot 7 + 4\\ % IH | frage an Ismail: wo her kommt die 8 und die 4? Da verstehe ich die Rechnung nicht...
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{align*}
Danach verwenden wir Formelnr. \ref{eq:bspd1} und formen die Gleichung nach 1 um
@ -176,18 +177,28 @@ Danach verwenden wir Formelnr. \ref{eq:bspd1} und formen die Gleichung nach 1 um
\end{align*}
\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.
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:
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.)
(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*}
@ -199,13 +210,17 @@ y & = 45 \\
\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.
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.
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.
Da nun alle benötigten Variablen bekannt sind kann die Nachricht mit folgender
Formel entschlüsselt werden.
\begin{align*}
x & = y ^d mod n \\
x & = 45^43 mod 77 \\
@ -213,60 +228,92 @@ 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.
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{Brut-force}
Die Methode alle möglichen Primzahlen von $\varphi=\pmineinsxqmineins$ auszuprobieren gilt als nicht einfacher als \textit{N} zu Faktorisieren.
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:
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 \\
\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 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 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
\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. }
\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}
\begin{equation*}
\varphi=2 \cdot kgV\left(\frac{p-1} {2} , \frac{q-1}{2}\right)
\end{equation}
\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{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.
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.
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.
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