Totalerneuerung der Sektion Konstruktion von d so dass man auch nachvollziehen kann woher die d=43 kommt.

This commit is contained in:
Ivan Hörler 2017-01-30 18:19:43 +01:00
parent cb3213a502
commit 121a8fc714
3 changed files with 37 additions and 176 deletions

View File

@ -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}}

BIN
main.pdf

Binary file not shown.

207
main.tex
View File

@ -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