\chapter[Zusammenfassung]{Zusammenfassung}
\thispagestyle{empty}
In diesem Abschnitt m"ochten wir eine Zusammenfassung "uber das
RSA-Verfahren geben und eventuelle Einsatzgebiete aufzeigen.
Gleichzeitig sollen M"angel des Verfahrens beleuchtet werden, um die
Grenzen dieser Methode zu veranschaulichen.
\section[Absch"atzung der Einsatzgebiete]{Absch"atzung der Einsatzgebiete}
%
Eines der Hauptnachteile des RSA-Verfahrens ist die niedrige
Verschl"usselungsgeschwindigkeit, was auch nicht durch eine
Hardwareimplementierung aufgefangen werden kann, weil die
Restklassenpotenzierung eine aufwendige Operation ist. Solange kein
effizienterer Algorithmus f"ur die Berechnung von $N^e\ mod\ n$ zur
Verf"ugung steht, wird dies der Hauptnachteil dieses Verfahrens
bleiben. Dieser Nachteil wird auch nicht durch den Einsatz schnellerer
Computer entsch"arft, weil dann l"angere Primzahlen p und q verwendet
werden m"ussen, um eine Entschl"usselung unm"oglich zu machen.\\
Da das RSA-Verfahren vergleichsweise langsam\footnote{In unserer
Implementation wurde etwa eine Geschwindigkeit von 70 Bit/s bei der
Ver- bzw. Entschl"usselung erzielt} ist, kann es auf keinen
Fall in Netzen mit hoher Datenrate eingesetzt werden. D.h. eine
Anwendung in LANs oder vergleichbaren Netzwerken entf"allt. Auch in
langsameren Netzen ist ein Einsatz dieses Verfahrens nur schwer
vorstellbar, weil der Hard- und Softwareaufwand in keinem Verh"altnis
zum Nutzen dieses Verfahrens steht.\\
Einige Einsatzgebiete lassen sich aber dennoch erkennen. Oft ist nur eine
Identifikation eines Rechners bei einem Anderen notwendig. Dies ist
meist nicht zeitkritisch und wird nur einmal am Beginn der
Kommunikation durchgef"uhrt. Hier kann das RSA-Verfahren eingesetzt
werden, weil die Identifikationsschl"ussel in den meisten F"allen
nicht sehr lang sind. Au\3erdem mu\3 bei einem solchen Verfahren
eine digitale Unterschrift erzeugt werden, was mit dem RSA-Verfahren
relativ leicht m"oglich ist.\\
Auch der Einsatz in {\it ''hybriden Verschl"usselungsverfahren``} ist
denkbar. Unter diesem Begriff verstehe ich folgende Methode:
\begin{enumerate}
\item Berechne die Parameter eines schnellen symmetrischen
Verschl"usselungsverfahrens.
\item Verschl"usseln dieser Parameter mit dem langsamen asymetrischen
Verfahren \footnote{z.B dem RSA-Verfahren}.
\item Verschicken der verschl"usselten Werte an den Netzpartner.
\item Der Empf"anger entschl"usselt diese Parameter und initialisiert
sein symmetrisches Verfahren mit diesen Werten.
\item Der Datenaustausch geschieht nun mit Hilfe des schnellen
symmetrischen Verfahren.
\end{enumerate}
Diese Vorgehensweise hat den Vorteil das auch digitale Unterschriften
m"oglich sind, obwohl das schnelle symetrische Verfahren benutzt
wird, das eigentlich keine digitalen Unterschriften zul"a\3t. Als
Beispiel f"ur diese Idee k"onnte das RSA-Verfahren und das
Vernam-Verfahren\footnote{Diese Verfahren wurde 1926 von Vernam
vorgeschlagen} angef"uhrt werden. Man k"onnte die Parameter eines
einfachen Pseudozufallszahlengenerators mit Hilfe des RSA-Verfahrens
verschl"usseln und an den Netzteilnehmer verschicken. Bei einer
Probeimplementierung des Vernamverfahrens wurden eine
Verschl"usselungsgeschwindigkeit von 200 kBit\footnote{MC68030 (25MHz)}
erreicht. Da das Vernam-Verfahren sehr leicht in
Hardware abzubilden ist, w"aren in der Praxis viel h"ohere
Verschl"usselungsgeschwindigkeiten m"oglich.
%
\section[M"angel der RSA-Verfahrens]{M"angel des RSA-Verfahrens}
%
Obwohl das RSA-Verfahren als eines der sichersten Verfahren bekannt
ist, hat es einige M"angel, die auf den ersten Blick nicht auffallen.
Wie schon weiter oben erw"ahnt, ist die Wahl der Primzahlen p und q
nicht unkritisch. Sie d"urfen nicht zu nahe zusammenliegen, weil sonst
ein schneller Faktorisierungsalgorithmus f"ur die Zahl $n=p*q$
existiert. Weiterhin sollten die Zahlen $p-1$ und $q-1$ m"oglichst
gro\3e Primfaktoren enthalten und der $ggT(p-1,q-1)$ sollte m"oglichst
klein\footnote{Der teilerfremde Zustand ist nicht zu erreichen, da p-1
und q-1 gerade sind} sein. Dies ist notwendig um eine Iterationsattacke
zu erschweren. Unter einer Iterationsattacke versteht man folgendes
Vorgehen:
\begin{enumerate}
\item Verschl"ussele die verschl"usselte Nachricht so lange mit der
Encrypt-Funktion $E(N)$ bis man die urspr"ungliche verschl"usselte
Nachricht wieder erh"alt.
\item Die im vorletzten Schritt erhaltene Nachricht ist die
entschl"usselte Information.
\end{enumerate}
Obwohl dieses Vorgehen anscheinend das RSA-Verfahren unbrauchbar macht, 
kann man zeigen, da\3 eine Iterationsattacke den gleichen Aufwand hat, wie
eine Faktorisierung der Zahl n. Deshalb ist es wichtig die oben gemachten
Einschr"ankungen der Wahl von p und q zu beachten.\\
Die scheinbare Sicherheit des RSA-Verfahrens begr"undet sich darauf, da\3
die Primzahlen p und q zuf"allig gew"ahlt werden. Dies ist aber in der
Realit"at nicht der Fall, weil spezielle Algorithmen verwendet werden
m"ussen um gro\3e Primzahlen zu finden. Deshalb k"onnte ein
Faktorisierungsalgorithmus gefunden werden, der die Eigenschaften der
Primzahlen ausn"utzt, die z.B. durch den Miller-Rabin-Test gefunden
werden.\\
Sollte ein effizienter Faktorisierungsalgorithmus mit polynomialen 
Zeitverhalten gefunden werden, so wird das RSA-Verfahren unbrauchbar. 
Zum jetzigen Zeitpunkt ist aber nicht bekannt, ob es m"oglich ist einen
 solchen Algorithmus zu finden.\\
Trotz all dieser M"angel ist das RSA-Verfahren eines der sichersten
Public Key Cryptosysteme und kann bei Beachtung einiger Regeln bedenkenlos
eingesetzt werden.
