Totalerneuerung der Sektion Konstruktion von d so dass man auch nachvollziehen kann woher die d=43 kommt.
This commit is contained in:
parent
cb3213a502
commit
121a8fc714
6
bib.bib
6
bib.bib
|
@ -61,3 +61,9 @@
|
|||
Note = {\url{http://www.wisdom.weizmann.ac.il/~tromer/papers/twirl.pdf}},
|
||||
Title = {Factoring Large Numbers with the TWIRL Device},
|
||||
Year = {2003}}
|
||||
|
||||
@misc{ref11,
|
||||
Author = {Davide Castelvecchi},
|
||||
Note = {\url{http://www.nature.com/news/quantum-computers-ready-to-leap-out-of-the-lab-in-2017-1.21239?xing_share=news}},
|
||||
Title = {Quantum computers ready to leap out of the lab in 2017},
|
||||
Year = {20017}}
|
207
main.tex
207
main.tex
|
@ -8,7 +8,7 @@
|
|||
|
||||
% Developement Helpers
|
||||
%-------------------------------------------------------------------
|
||||
\fboxrule=1pt %border thickness der fboxes zum bearbeiten auf 1 setzten
|
||||
\fboxrule=0pt %border thickness der fboxes zum bearbeiten auf 1 setzten
|
||||
%\usepackage{showframe} %border der Bereiche anzeigen
|
||||
|
||||
\begin{document}
|
||||
|
@ -132,11 +132,11 @@ der Konstruktion an.
|
|||
\def\siebenmineinsxelfmineins{(7-1) \cdot (11-1)}
|
||||
% ------------------------------------------- Makro Definitionen -------------------------------------------
|
||||
In den folgenden Seiten berechnen wir : \\
|
||||
\textit{N} = Privatschlüsselanteil \\
|
||||
\textit{N} = RSA-Modul \\
|
||||
\textit{p} = Primzahl \\
|
||||
\textit{q} = Primzahl \\
|
||||
\textit{e} = Teilerfremder Wert \\
|
||||
\textit{d} = modular inverse \\
|
||||
\textit{e} = Öffentlicher Verschlüsselungsexponent \\
|
||||
\textit{d} = Privater Verschlüsselungsexponent \\
|
||||
\ In dem $\textit{e}+\textit{N}$ den öffentlichen und $\textit{d}+\textit{N}$
|
||||
den privaten Schlüssel bilden. \\
|
||||
|
||||
|
@ -164,7 +164,7 @@ Beispiel:
|
|||
\textit{N} & = 77
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}\\
|
||||
}
|
||||
\end{center}
|
||||
\subsection{Konstruktion \textit{m}}
|
||||
Danach rechnen wir Phi von N um die Anzahl der teilerfremden Zahlen zu
|
||||
|
@ -192,7 +192,7 @@ Beispiel:
|
|||
\textit{m} & = 60
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}\\
|
||||
}
|
||||
\end{center}
|
||||
\subsection{Konstruktion \textit{e}}
|
||||
Wir bestimmen eine zu \textit{m} = 60 teilerfremde Primzahl die grösser 1, aber
|
||||
|
@ -200,125 +200,11 @@ kleiner m sein muss. Wir nehmen in unserem Beispiel \textit{e} = 7 da sie nicht
|
|||
teilbar ist und beide den ggT 1 besitzen.
|
||||
|
||||
\subsection{Konstruktion \textit{d}}
|
||||
Zuvor haben wir \textit{e} mit der Eigenschaft :
|
||||
\begin{center}
|
||||
\fbox{%
|
||||
\begin{minipage}{0.3\textwidth}
|
||||
Theorie:
|
||||
\begin{align*}
|
||||
ggT(\textit{e},\textit{m})
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}
|
||||
\fbox{%
|
||||
\begin{minipage}{0.3\textwidth}
|
||||
Beispiel:
|
||||
\begin{align*}
|
||||
ggT(\textit{7},\textit{60}) =1
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}\\
|
||||
\end{center}
|
||||
bestummen. Dies bedeutet, wenn wir \(\bmod \textit{m}\) rechnen, hat
|
||||
\textit{e} einen Inversis. Wir bestimmen \textit{d} mit:
|
||||
\begin{center}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
Theorie:
|
||||
\begin{align*}
|
||||
\textit{e} \cdot \textit{d} = 1 \bmod \textit{m}
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
%Beispiel:
|
||||
\begin{align*}
|
||||
{}
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}\\
|
||||
\end{center}
|
||||
Formen diese nach \textit{d} um :
|
||||
\begin{center}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
Theorie:
|
||||
\begin{align*}
|
||||
\textit{d} = \textit{e}^{-1} \bmod \textit{m}
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
%Beispiel:
|
||||
\begin{align*}
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}\\
|
||||
\end{center}
|
||||
Danach können wir die Zahlen in die Formel setzen :
|
||||
\begin{center}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
%Theorie:
|
||||
\begin{align*}
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
Beispiel:
|
||||
\begin{align*}
|
||||
d &= \textit{7}^{-1} \bmod \textit{60}
|
||||
\end{align*}
|
||||
\end{minipage}
|
||||
}\\
|
||||
\end{center}
|
||||
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 :
|
||||
\begin{center}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
Theorie: \; ggT(\textit{m},\textit{e})
|
||||
\begin{align*}
|
||||
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\\
|
||||
rest_1 & = q_4 \cdot rest_2 + rest_3
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
Beispiel: \; ggT(60,7)
|
||||
\begin{align*}
|
||||
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);}
|
||||
\end{minipage}%
|
||||
}\\[-0.5em]
|
||||
\end{center}
|
||||
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:
|
||||
Um die Nachricht zu entschlüsseln werden wir \textit{d} brauchen. Da $\textit{e} \cdot \textit{d} \ mod \ \textit{m} = 1$ ist muss d aus der Gleichung ausoperiert werden. Dies geschieht mit dem erweiterten euklidischem Algorithmus und wird in der nachgehenden Tabelle Schritt für Schritt durchgerechnet.
|
||||
\begin{center}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.95\textwidth}
|
||||
Erweiterter Euklidischer Algorithmus:\\
|
||||
Erweiterter Euklidischer Algorithmus:\\[1em]
|
||||
\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
|
||||
|
@ -336,7 +222,7 @@ Erweiterter Euklidischer Algorithmus:\\
|
|||
& 1 & & & 2 & -17 & & & Ergebnisse\\ \hline\hline
|
||||
\end{tabular}
|
||||
\end{minipage}%
|
||||
}
|
||||
}\\[1em]
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.4\textwidth}
|
||||
Theorie:
|
||||
|
@ -366,46 +252,6 @@ Beispiel:
|
|||
}\\[1em]
|
||||
\end{center}
|
||||
|
||||
Zu beachten ist, dass wir alle Klammern, jedoch nicht alle Produkte %das verstehe ich nicht HI | 10.1.17
|
||||
ausmultiplizieren.
|
||||
|
||||
Da unsere Inverse von \textit{e} positiv und kleiner 60 sein soll, addieren wir \(60 \cdot 7\) auf
|
||||
der linken Seite. Die rechte Seite verändert sich nicht, da wir mod 60 rechnen.
|
||||
\begin{center}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
Theorie:
|
||||
\begin{align*}
|
||||
\\
|
||||
\\ % hier könnte ein Theorieteil eingefügt werden
|
||||
\\
|
||||
1 & = \textit{d} ^\textit{e} \, \bmod \textit{N} \\
|
||||
\textit{d} &= \textit{e} ^\textit{-1} \ \bmod \textit{N}
|
||||
\end{align*}
|
||||
\end{minipage}% isi empfielt: https://www.youtube.com/watch?v=Grd-sxx5dEQ
|
||||
}
|
||||
\fbox{%
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
Beispiel:
|
||||
\begin{align*}
|
||||
1 & = 2 \cdot 60 -17 \cdot 7 \,\mid \bmod\\
|
||||
1 & = -17 \cdot 7 \bmod 60 \mid + 60 \cdot 7\\
|
||||
1 & = 43 \cdot 7 \, \bmod 60 \,\mid (60 - 17 = 43)\\
|
||||
\\
|
||||
\textit{d} & = 7^{-1} \, \bmod 60 \\
|
||||
\textit{d} & = 43
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
}\\[-1em]
|
||||
\end{center}
|
||||
% 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 und ergibt .
|
||||
|
||||
|
||||
\section{Verschlüsselung}
|
||||
Im Beispiel der Schlüsselkonstruktion werden die Variablen \textit{e} und \textit{N} als
|
||||
öffentlicher Schlüssel festgelegt. Dieser wird benötigt um eine Nachricht für
|
||||
|
@ -492,7 +338,7 @@ 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
|
||||
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:
|
||||
|
@ -501,10 +347,10 @@ Annäherungsschritt 1ms benötigt die Zerlegung von:
|
|||
\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 \\
|
||||
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}
|
||||
|
@ -521,19 +367,25 @@ Annäherungsschritt 1ms benötigt die Zerlegung von:
|
|||
\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 Anfang 2017 mutmasste das Forschungs-Journal nature.com über den
|
||||
Status der Entwicklung von Quanten Komputern und dass deren Schritt aus dem Labor
|
||||
für dieses Jahr Realität werden könnte. Da diesen Rechnergenerationen eine
|
||||
überproportionale Beschleunigung nachgewiesen wurde kann dies der RSA-
|
||||
Verschlüsselung schaden. \cite{ref11}
|
||||
\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:
|
||||
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
|
||||
\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}
|
||||
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.
|
||||
|
@ -544,20 +396,23 @@ leichter zu ermitteln als die Fakturierung von \textit{N} ist.
|
|||
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$
|
||||
\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}
|
||||
\subsection{Social Engineering 1}
|
||||
Die direkteste Methode an einen Teil oder den ganzen Schlüssel zu gelangen ist
|
||||
das Hacken oder Stehlen. Einerseits kann dies mittels Trojaner oder dann
|
||||
direkt mit entwenden der Schlüssel vom Zielgerät geschehen.
|
||||
|
||||
\subsection{Social Engineering 2}
|
||||
Eine weitere Methode ist das Täuschen durch nachfolgendem Beispiel:
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue