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}}
|
|
|
|
|
|
|
|
\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
|
|
|
|
2016-12-28 17:25:41 +01:00
|
|
|
Im Jahre 1976 wurde von Whitfield Diffie und Martin Hellman eine
|
|
|
|
Theorie zu Publickey-Kryptographie veröffentlicht. 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. RSA steht dabei für die Anfangsbuchstaben ihrer 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)}
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
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-15 18:27:03 +01:00
|
|
|
\section{Verschlüsseln}
|
2016-12-13 20:13:32 +01:00
|
|
|
|
2016-12-15 18:29:26 +01:00
|
|
|
TODO:
|
|
|
|
Sind das wirklich alles Sections? Ich habe sie jetzt mal in Subsections
|
|
|
|
geändert. Ist evtl. eher Fett gemeint?
|
2016-12-29 15:05:19 +01:00
|
|
|
Ismail was hast du hier gemeint? Ist der Titel dieses Kapitels korrekt?
|
2016-12-15 18:29:26 +01:00
|
|
|
|
2016-12-15 18:27:03 +01:00
|
|
|
\subsection{Schlüsselkontruktion}
|
2016-12-30 07:58:58 +01:00
|
|
|
N = Privatschlüssel p= primzahl q = primzahl \\
|
|
|
|
e = Teilerfremder Wert d= modular inverse \\
|
|
|
|
N = 77 p = 7 q = 11 e = 7 d = 43
|
2016-12-29 18:47:15 +01:00
|
|
|
|
2016-12-30 07:58:58 +01:00
|
|
|
Es werden zwei verschiedene Primzahlen 7 und 11 gewählt und das Produkt daraus
|
|
|
|
gerechnet.
|
2016-12-13 20:13:32 +01:00
|
|
|
|
|
|
|
Gleichung erstellen nach :
|
|
|
|
|
2016-12-29 18:47:15 +01:00
|
|
|
\subsection{Konstruktion N}
|
2016-12-15 18:27:03 +01:00
|
|
|
\begin{align*}
|
2016-12-29 18:47:15 +01:00
|
|
|
N & = p * q \\
|
|
|
|
77 & = 7 * 11 \\
|
|
|
|
N & = 77 \\
|
2016-12-15 18:27:03 +01:00
|
|
|
\end{align*}
|
2016-12-29 18:47:15 +01:00
|
|
|
|
|
|
|
\subsection{Konstruktion m}
|
2016-12-15 18:27:03 +01:00
|
|
|
\begin{align*}
|
2016-12-29 18:47:15 +01:00
|
|
|
\varphi (N) & = \varphi (p*q) \\
|
|
|
|
\varphi (N) & = \varphi (p) *\varphi(q) \\
|
|
|
|
\varphi (N) &= (p-1) * (q-1) \\
|
|
|
|
\varphi (N) &= (7-1) * (11-1) \\
|
|
|
|
\varphi (N) & = 60\\
|
2016-12-15 18:27:03 +01:00
|
|
|
\end{align*}
|
2016-12-13 20:13:32 +01:00
|
|
|
|
2016-12-29 18:47:15 +01:00
|
|
|
\subsection{Konstruktion e}
|
|
|
|
Wir bestimmen eine zu n = 60 teilerfremde Zahl
|
|
|
|
e < n -> 7 \\
|
2016-12-13 20:13:32 +01:00
|
|
|
|
2016-12-30 07:58:58 +01:00
|
|
|
\begin{align*}
|
|
|
|
Platzhalter
|
2016-12-29 18:47:15 +01:00
|
|
|
\end{align*}
|
2016-11-26 13:11:10 +01:00
|
|
|
|
2016-12-29 18:47:15 +01:00
|
|
|
\subsection{Konstrktion d }
|
2016-12-30 07:58:58 +01:00
|
|
|
Um d zu Konstruieren müssen wir den erweiterten euklidischen Algorithmus mit m
|
|
|
|
anwenden
|
|
|
|
|
2016-12-29 18:47:15 +01:00
|
|
|
\begin{align*}
|
|
|
|
60 & = 8 * 7 + 4\\
|
|
|
|
7 & = 1 * 4 + 3\\
|
|
|
|
4 & = 1 * 3 + 1\\
|
|
|
|
3 & = 3 * 1 + 0\\
|
|
|
|
\end{align*}
|
2016-12-30 07:58:58 +01:00
|
|
|
|
|
|
|
Danach verwenden wir die 2. letzte Zeile und formen die Gleichung nach 1 um
|
|
|
|
|
2016-12-29 18:47:15 +01:00
|
|
|
\begin{align*}
|
|
|
|
1 & = 4 - 1 * 3 \\
|
|
|
|
1 & = 4 - 1 * ( 7- 1*4)\\
|
|
|
|
1 & = 4 - 1 * 7 + 1 * 4\\
|
|
|
|
1 & =(-1) * 7 + 2*4 \\
|
|
|
|
1 & = (-1) * 7 + 2 * (60-8*7)\\
|
|
|
|
1 & = 2* 60 -17 * 7 \ (mod)\\
|
|
|
|
1 & = 43*7 mod 60 // (60 -17 = 43)\\
|
|
|
|
1 & = d ^e mod n /// ( Umformen_ nach_ d)\\
|
|
|
|
d & = 7^-1 mod 60 \\
|
|
|
|
d & = 43\\
|
|
|
|
\end{align*}
|
2016-11-26 13:11:10 +01:00
|
|
|
|
|
|
|
\section{Entschlüsselung}
|
|
|
|
Hallo Dies ist ein Test
|
|
|
|
|
|
|
|
\section{Schwachstellen}
|
|
|
|
Hallo Dies ist ein Test
|
|
|
|
|
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}
|