Symmetrische Kryptosysteme

Bei symmetrischen Kryptosystemen werden Ver- und Entschlüsselung mit demselben Schlüssel durchgeführt. Das Hauptproblem der symmetrischen Kryptosysteme ist der Schlüsselaustausch. Dieser muss über einen «sicheren Kanal» geschehen, da die Sicherheit des Verfahrens von der Geheimhaltung des Schlüssels abhängt.

Symmetrische Verschlüsselung (Quelle: https://commons.wikimedia.org/wiki/File:Orange_blue_symmetric_cryptography_de.svg)

Symmetrische Kryptosysteme lassen sich unterteilen in Blockchiffren und Stromchiffren. Bei Stromchiffren wird der Klartext Zeichen um Zeichen verschlüsselt, und auch wieder Zeichen um Zeichen entschlüsselt. Eine Blockchiffre hingegen arbeitet mit einer festen Blockgrösse und ver- bzw. entschlüsselt mehrere Zeichen in einem Schritt.

Weitere symmetrische Kryptosysteme – neben der uns bekannten Caesar-Verschlüsselung (auch als Caesar-Chiffre bekannt) – sind: ROT13, Substitutions-Chiffre, Vigenère-Chiffre, One-Time-Pad, DES (auch Lucifer genannt), IDEA, Blowfish und AES (auch Rijndael genannt).

ROT13

ROT13 ist eine spezielle Form der Caesar-Verschlüsselung. Wie der Namen schon sagt wird mit einer Verschiebung von 13 gearbeitet, was dem Schlüssel ‚N’ entspricht. ROT13 wird und wurde zur «Verschlüsselung» von Forum-Beiträgen im Internet verwendet. (Welche spezielle Eigenschaft hat die Caesar-Verschlüsselung mit Schlüssel 13?)

Quelle: https://commons.wikimedia.org/wiki/File:ROT13_table_with_example.svg

Substitutions-Chiffre

ROT13 und Caesar sind Beispiele von Substitutions-Chiffren. Im Allgemeinen ist eine Substitutions-Chiffre eine bijektive Abbildung \(\Phi\), die einem Zeichen \(\alpha\) des Klartextes ein anderes Zeichen \(\Phi(\alpha)\) des Alphabetes zuweist. Der Schlüssel kann also als Buchstaben-Tabelle dargestellt werden.

Die Abbildung \(\Phi(\alpha)\) sei durch die folgende Tabelle gegeben:

\(\alpha\) a b c d e f g h i j k l m n o p q r s t u v w x y z
\(\Phi(\alpha)\) C G H Z X W O M B E A D Y N P S F L U K V R I T J Q

Aus dem Klartext geheimnis wird also der Geheimtext OXMXBYNBU.

  1. Programmiere eine Substitutions-Chiffre.
  2. Was ist der Vorteil der allgemeinen Substitutions-Chiffre gegenüber der Caesar-Chiffre?
  3. Wie kann man trotzdem bei einer Substitutions-Chiffre (mit zufällig generiertem Schlüssel) den Geheimtext knacken? Versuche den im Wiki gegebenen Text zu analysieren und zu «hacken».

Vigenère-Chiffre

Diese wurde vom Franzosen Blaise de Vigenère (1523-1596) erfunden und galt fast 300 Jahre lang als unknackbar. Als Schlüssel dient ein Wort. Dieses bestimmt die Anzahl der verwendeten Substitutions-Alphabete: Für jeden Buchstaben des Schlüsselwortes wird ein Substitutions-Alphabet als Caesar-Chiffre mit dem jeweiligen Buchstaben als Schlüssel gebildet. Die Buchstaben des Klartextes werden abwechslungsweise durch diese Alphabete verschlüsselt.

Schlüssel: AKEY Klartext: geheimnis

Das Schlüsselwort bestimmt die vier Caesar-Substitutionen die den Text verschlüsseln:

  • A entspricht einer Verschiebung um 0. g (der erste Buchstaben des Klartextes) bleibt also G
  • K ist der elfte Buchstaben des Alphabets, also Verschiebung um 10: Aus e (dem zweiten Buchstaben des Klartextes) wird also O
  • E entspricht einer Verschiebung um 4: h wird zu L
  • Y ist der 25. Buchstabe. Aus e wird also C
  • Wir beginnen wieder beim ersten Buchstaben des Schlüsselworts:
  • A bewirkt keine Verschiebung: d.h. i bleibt I
  • K steht für eine Verschiebung um 10: Aus m wird W
  • So geht’s weiter bis der gesamte Klartext verschlüsselt ist.
Klartext g e h e i m n i s
Schlüssel A K E Y A K E Y A
Geheimnis G O L C I W R G S
  1. Programmiere die Vigenère-Chiffre.
  2. Welche Ansätze gibt es um die Vigenère-Chiffre zu knacken? (Mach dich im Internet schlau oder programmiere ein Tool um den Code zu knacken)
  3. Versuche dich am auf dem Wiki verfügbaren Text

One-Time-Pad

Nimmt man eine Vigenère-Chiffre mit einem Schlüssel der mindestens gleich lang ist wie der zu verschlüsselnde Klartext und aus zufällig und gleichmässig verteilten Buchstaben des Alphabetes besteht, so hat man ein sogenanntes One-Time-Pad.

  1. Wie sicher ist das One-Time-Pad?
  2. Überlege dir aus welchem Grund wohl der Name „One-Time-Pad“ gewählt wurde.
  3. Eine modernere symmetrische Chiffre ist DES. Arbeite dich in die Funktionsweise von DES ein, indem du das DES-Modul unter http://www.matheprisma.de/Module/DES/index.htm durcharbeitest.

Moderne Kryptologie

Die Kryptosysteme, die wir bis jetzt kennengelernt haben, sind alle entweder leicht zu «knacken» oder aber nicht praktisch einsetzbar, da – wie beim One-Time-Pad – der Schlüssel zu lang ist.

xkcd

Claude Shannon’s Ausspruch «The enemy knows the system» («Der Feind kennt das System») bedeutet das Ende von «Security through obscurity». In der modernen Kryptographie soll die Sicherheit eines kryptographischen Verfahrens allein auf der Geheimhaltung des Schlüssels basieren – das Verfahren selbst muss also nicht geheim gehalten werden; im Gegenteil: Es soll veröffentlicht und von vielen Experten untersucht werden.

Dieser Grundsatz der modernen Kryptographie ist auch unter dem Namen «das Kerckhoffs’sche-Prinzip» bekannt: Dieses wurde 1883 durch Auguste Kerckhoffs formuliert und besagt, dass die Sicherheit eines Verschlüsselungsverfahrens auf der Geheimhaltung des Schlüssel beruht, und nicht auf der Geheimhaltung des Verschlüsselungsalgorithmus.

Einige Gründe die für das Kerckhoffs’sche Prinzip sprechen:

  • Es ist schwieriger, einen Algorithmus geheim zuhalten als einen Schlüssel. (Es ist schwierig genug einen Schlüssel geheim zuhalten.)
  • Es ist schwieriger, einen kompromittierten Algorithmus auszutauschen als einen kompromittierten Schlüssel.
  • Fehler in öffentlichen Algorithmen können im Allgemeinen leichter entdeckt werden.
  • Die meisten «geheimen» Verschlüsselungsverfahren haben sich als schwach und unzulänglich erwiesen.
  • Bei der Nutzung von «geheimen» Verschlüsselungsverfahren muss mit dem Vorhandensein einer Backdoor gerechnet werden.

Kerckhoffs’ Prinzip findet bei Verschlüsselungsalgorithmen wie Blockchiffren (DES, AES, IDEA, etc..) Anwendung.

Moderne Blockchiffren

Heutzutage eingesetzte symmetrische Blockchiffren wie AES, DES oder IDEA sind sehr sicher und sehr effizient:

  • Die Sicherheit hängt primär von der Schlüssellänge ab. Diese kann normalerweise gewählt werden. Wenn die Computer schneller werden und erfolgreiche Attacke möglich wird, so kann die Sicherheit durch die Wahl eines längeren Schlüssel erhöht werden.
  • Die Ver- und Entschlüsselungsvorgänge können effizient und schnell verarbeitet werden. Natürlich dauert der Vorgang mit einem längeren Schlüssel länger.

Wenn man also einen sicheren Schlüsseltausch sicherstellen kann oder gar keinen Schlüsseltausch benötigt (weil die verschlüsselten Daten an Ort und Stelle bleiben), spricht nichts dagegen diese Verfahren einzusetzen.