Verschlüsselung (Kryptographie)

Immer mehr Haushalte sind ans Internet angebunden und Nutzen Dienste wie E-Mail, Newsgroups oder IRC, oder besuchen einfach nur die verschiedensten Webseiten. Aber die wenigsten Anwender machen sich Gedanken, wie Ihre Daten über das Netzwerk übertragen werden. Für die Übertragung von Informationen wird das TCP/IP-Protokoll verwendet, das bedeutet, die Daten werden gekapselt und in Paketen versendet. Diese Pakete sind jedoch unverschlüsselt und können mit etwas Knowhow von Dritten mitgelesen oder sogar modifiziert werden. Dies ist bei einer http-Anfrage an einen Webserver vielleicht nicht ganz so kritisch, wie beim Online-Banking, allerdings will man wahrscheinlich den Inhalt seiner E-Mails auch nicht unbedingt allen preisgeben. Um die normalerweise im Klartext versendeten Daten zu schützen, gibt es diverse Methoden der Verschlüsselung.

Verschlüsselung dient im Allgemeinen dazu, Daten im Klartext für unautorisierte Personen unleserlich und damit nutzlos zu machen. Diverse Algorithmen verändern die Zeichenfolge / Bitfolge so, das es annähernd unmöglich ist, auf den ursprünglichen Zustand zu schließen.


Symmetrische Verschlüsselung
Beim symmetrischen Verschlüsselungsverfahren wird sowohl für die Ver- als auch für die Entschlüsselung von Daten niemals der gleiche Key verwendet. Daher nennt man symmetrische Verfahren auch "Ein Schlüssel Verfahren".

Man unterscheidet beim symmetrischen Verfahren zwischen Strom- und Blockchiffren:


Stromchiffren
Beim Stromchiffreverfahren wird auf den eigentlich "klaren Bitcode" der Nachricht / Datei etc, ein zufällig generierter Bitcode mit aufaddiert, der sog. "Bitstrom". Wichtig hierbei ist, dass niemals zweimal der gleiche Bitstrom für das verschlüsseln von 2 Nachrichten verwendet wird. Damit dies nicht geschehen kann verwendet man spezielle Verfahrensweisen wie zum Beispiel Synchronisierinformationen in Form eines Spruchschlüssels.


Blockchiffren
Die Blockchiffrierung dagegen verwendet jeweils ganze Zeichensätze, zurzeit 128 Bit lange, in einem Verschlüsselungstakt.
Im laufe der Zeit sind einige Verfahren zur Blockchiffrierung standartirisiert worden :

  • ECB (Elektronic Book Mode), hier werden die Blöcke jeweils einzeln für sich selbst verschlüsselt, ohne dabei Bezug auf die anderen Blöcke des Codes zu nehmen.
  • CBC (Cipher Block Chaining Mode) / CFB (Cipher Feed-Back Mode); hier wird nach wahl eines Aktivierungsvektors eine Abhängigkeit der einzelnen Blöcke zu den jeweils vorher gehenden heregstellt.
  • OFB (Output FeedBack Mode) welcher eine Blockung generiert welche dann, ähnlich dem Stromchiffre Modus, die Bits aus dem Strompool auf die "normalen Bits" aufaddiert werden.


Vorteile (guter) symmetrischer Verfahren

  • Sie sind schnell, d. h. sie haben einen hohen Datendurchsatz.
  • Die Sicherheit ist im wesentlichen durch die Schlüssellänge festgelegt, d. h. bei guten symmetrischen Verfahren sollte es keine Attacken geben, die wesentlich besser sind als das Durchprobieren aller Schlüssel (Brute-Force Attacken).
  • Sie bieten hohe Sicherheit bei relativ kurzem Schlüssel.
  • Die Schlüsselerzeugung ist einfach, da gewöhnlich als Schlüssel jede Bitfolge einer festen Länge erlaubt ist und als Schlüssel eine Zufallszahl gewählt werden kann.


Nachteile symmetrischer Verfahren

  • Jeder Teilnehmer muss sämtliche Schlüssel seiner Kommunikationspartner geheim halten.
  • Zur Schlüsselverteilung sind sie weniger gut geeignet als asymmetrische Verfahren, insbesondere bei einer großen Anzahl von Kommunikationspartnern.
  • Für Verbindlichkeitszwecke sind sie weniger praktikabel als asymmetrische Verfahren, da bei der Verwendung symmetrischer Schlüssel nicht ohne weiteres erkannt werden kann, welcher der beiden Kommunikationspartner die Nachricht verschlüsselt hat. Dies lässt sich nur durch eine
  • zwischengeschaltete dritte Partei sicherstellen, die über entsprechende kryptographische Protokolle in den Nachrichtenfluss eingebunden wird.


Asymmetrische Verschlüsselung
Anders als bei der symmetrischen Verschlüsselung, werden bei der asymmetrischen Verschlüsselung zwei Keys verwendet. Dabei wird ein öffentlicher Public-Key und ein privater Privat-Key generiert. Der Public-Key dient lediglich der Verschlüsselung. Er kann also bedenkenlos jedem ausgehändigt werden, da mit ihm keine Entschlüsselung von Daten möglich ist. Der Empfänger übermittelt also seinen Public-Key dem Sender. Dieser verschlüsselt dan die zu sendenden Daten damit. Die verschlüsselten Daten (Chiffrat) können jetzt an den Empfänger übermittelt werden. Beim Empfänger angekommen, werden diese Daten mit Hilfe des Privat-Keys wieder entschlüsselt. Zwar stehen Public-Key und Privat-Key mathematisch in Beziehung, es ist jedoch mit realistischem Aufwand nicht möglich, den Privat-Key aus dem Public-Key zu errechnen.


Vorteile (guter) asymmetrischer Verfahren

  • Jeder Teilnehmer einer vertraulichen Kommunikation muss nur seinen eigenen privaten Schlüssel geheim halten. Sie lassen sich einfach für digitale Signaturen benutzen.


Nachteile asymmetrischer Verfahren
  • Sie sind langsam, d. h. sie haben im Allgemeinen einen geringen Datendurchsatz.
  • Sicherheit: Für alle bekannten Public-Key-Verfahren gilt:
    • Es gibt wesentlich bessere Attacken als das Durchprobieren aller Schlüssel, deshalb werden (im Vergleich zu symmetrischen Verfahren) relativ lange Schlüssel benötigt, um ein gleich hohes Maß an Sicherheit zu erreichen.
    • Die Sicherheit beruht "nur" auf der vermuteten, aber von der Fachwelt anerkannten, algorithmischen Schwierigkeit eines mathematischen Problems (zum Beispiel die Zerlegung einer großen Zahl in die Primfaktoren).
    • Die Schlüsselerzeugung ist i. allg. komplex und aufwendig, da die Erzeugung "schwacher" Schlüsselpaare vermieden werden muss.