Verschlüsselung / Chiffrierung

Unter Verschlüsselung versteht man Verfahren und Algorithmen, die Daten mittels digitaler bzw. elektronischer Codes oder Schlüssel inhaltlich in eine nicht lesbare Form umwandeln. Diesen Vorgang bezeichnet man als Verschlüsseln. Gleichzeitig wird dafür gesorgt, dass nur mit dem Wissen eines Schlüssels die geheimen Daten wieder entschlüsselt werden können.
Anstatt von Verschlüsselung spricht man auch von Chiffrierung, was das gleiche meint.

Verschlüsselungsalgorithmus

Ein Verschlüsselungsalgorithmus ist eine mathematische Funktion, der man den Klartext und einen Schlüssel übergibt. Die Ausgabe ist ein Geheimtext, der keinen Rückschluss auf den Klartext erlaubt. Nur mit Kenntnis des Schlüssels kann man mit der selben mathematischen Funktion den Geheimtext wieder in den Klartext umwandeln.
Ein guter Verschlüsselungsalgorithmus macht aus, dass die Funktionsweise der mathematischen Funktion bekannt sein darf und die Daten nur mit Hilfe des Schlüssels entschlüsselt werden können. Und da das Verfahren bekannt ist, weiß man unter welchen Annahmen das Verfahren funktioniert und kann es überprüfen und auf Schwachstellen testen. Auf diese Weise kann man sicherstellen, dass ein Verschlüsselungsalgorithmus sicher ist.

Verschlüsselungsverfahren

Ein Verschlüsselungsverfahren besteht aus einem Algorithmus zum Verschlüsseln und Entschlüsseln, sowie Verfahren zum Schlüsselaustausch, Prüfung der Authentizität und Integrität.
Die bekannten Verschlüsselungsverfahren teilen sich in symmetrische, asymmetrische und hybride Verschlüsselungsverfahren auf. Bei den hybriden Verschlüsselungsverfahren wird ein symmetrisches und asymmetrisches Verschlüsselungsverfahren miteinander kombiniert.

Symmetrische Verschlüsselung

Symmetrische Verschlüsselung
Die symmetrische Verschlüsselung wird auch als Secret-Key-Verfahren bezeichnet. Es basiert auf einer Funktion, die einen Klartext in Abhängigkeit eines Schlüssels in einen Geheimtext umwandelt. Beim Entschlüsseln wird der Geheimtext mit dem selben Schlüssel wieder in den Klartext umgewandelt.
Eine symmetrische Verschlüsselung eignet sich am besten für das Verschlüsseln von Dateien, Verzeichnissen und Laufwerken. Bei der Datenübertragung sind diese Verfahren weniger geeignet, weil man sich um einen sicheren Schlüsselaustausch und deren Verteilung kümmern muss.

Asymmetrische Verschlüsselung

Asymmetrische Verschlüsselung
Die asymmetrische Kryptografie wird auch als Public-Key-Verfahren bezeichnet. Der wesentliche Unterschied zur symmetrischen Kryptografie ist, dass die asymmetrische Kryptografie mit zwei Schlüsseln arbeitet. Einen zum Verschlüsseln und den anderen zum Entschlüsseln. Wobei der Schlüssel zum Verschlüsseln öffentlich ist und der Schlüssel zum Entschlüsseln geheim bleiben muss. Man spricht auch vom Public-Key und vom Private-Key.
Beide Schlüssel sind ein Schlüsselpaar, dass dem Empfänger einer Nachricht gehört.
Damit ein Sender einem Empfänger eine verschlüsselte Nachricht schicken kann, muss der Empfänger seinen öffentlichen Schlüssel dem Absender bekannt machen.

Digitaler bzw. elektronischer Schlüssel

Man spricht von digitalen oder elektronischen Schlüsseln, wobei damit das selbe gemeint ist. Der digitale Schlüssel ist eine Bitfolge, deren Länge in Bit angegeben ist. Alle Verschlüsselungsverfahren benötigen den digitalen Schlüssel als individuellen Bestandteil der Verschlüsselung.
Von einem guten Verschlüsselungsverfahren erwartet man, dass ein Angreifer ohne Schlüssel keine Chance hat, an den Klartext zu kommen. Gleichzeitig möchte man, dass der Sender mit Hilfe des Schlüssels schnell verschlüsseln und der Empfänger schnell entschlüsseln kann.

Ein Kriterium für die Sicherheit einer Verschlüsselung ist die Anzahl möglicher Schlüssel und eine möglichst überschaubare Anzahl schwacher Schlüssel. Ein Schlüssel mit einer Länge von 1.024 Bit, also eine Folge von 1.024 Nullen und Einsen, ist sicherer als ein Schlüssel mit nur 64 Bit.
Selbst wenn man weiß, wie die Verschlüsselung arbeitet, müsste man alle möglichen Schlüssel durchprobieren, um irgendwann den richtigen Schlüssel zu bekommen. Selbst bei einem relativ unsicheren Schlüssel kann bei ausreichender Länge der Sicherheitspuffer groß genug sein. In der Regel gilt, je länger ein Schlüssel ist, desto schwieriger ist es an eine verschlüsselte Information ohne Schlüssel zukommen.

Stromchiffren und Blockchiffren

Bei Stromchiffren bzw. Stream-Cipher werden die Daten am Stück verschlüsselt. Diese Art und Weise der Verschlüsselung kommt aber nicht so häufig vor. Viel häufiger werden Blockchiffren bei der Verschlüsselung verwendet.
Bei Blockchiffren bzw. Block-Cipher werden die Daten blockweise zu einer festgelegten Größe einzeln und hintereinander verschlüsselt.

Kryptografische Protokolle / Verschlüsselungsverfahren

Um wirkungsvoll verschlüsseln zu können reicht es nicht aus, einen wirkungsvollen Verschlüsselungsalgorithmus zu haben, sondern man muss auch die verschiedenen Probleme bei der Übertragung von Daten und der Kommunikation lösen. Zu diesem Zweck fasst man verschiedene kryptografische Verfahren zusammen. Daraus entstehen dann standardisierte Verschlüsselungsverfahren bzw. kryptografische Protokolle.

Wie sicher ist Verschlüsselung?

Die Geschichte der Kryptografie lehrt uns, dass man neuen Verfahren grundsätzlich nicht trauen darf. Die meisten neuen Algorithmen werden nach kurzer Zeit oder auch etwas später geknackt, das heißt Vereinfachungsmechanismen gefunden. Nur ein paar Algorithmen bleiben übrig, bei denen auch nach Jahren alle Angriffe erfolglos blieben.
Trotzdem bleibt es schwierig Aussagen zu treffen, welche Verfahren wirklich sicher sind. Irgendwann wird jedes Verfahren gebrochen, die Schlüssel müssen länger gemacht oder die Verfahren verändert werden.

Verschlüsselung ist immer ein Spagat zwischen Sicherheit und Komfort. Absolute Sicherheit gibt es nicht. Man kann nur den Aufwand erhöhen. Mit Verschlüsselung erkauft man sich also nur Zeit, bis jemand einen Weg findet, an den Klartext der verschlüsselten Daten zu kommen.
Im Gegensatz zu oft verlautbarten Mitteilungen sind Geheimdienste, wie die NSA (USA), nicht in der Lage jede Verschlüsselung zu knacken. Eine starke Verschlüsselung ist sicher. Voraussetzung ist natürlich, dass die Schlüssel lang genug sind, das zum privaten, geheimen Schlüssel zugehörige Passwort stark genug und der geheime Schlüssel auch geheim ist und bleibt.
Generell kann man sagen, das bestätigen Krypto-Experten, dass eine gut und sauber implementierte Verschlüsselung sicher ist.
Das gilt natürlich nur unter der Voraussetzung, dass die eingesetzten Implementierungen keine Hintertüren aufweisen und in naher Zukunft kein Durchbruch bei Quantencomputern erfolgt. Spätestens dann ist jede aktuelle Verschlüsselung hinfällig.

Oft wird behauptet, dass quelloffene Software sicherer sei, als proprietärer Code. Und prinzipiell ist das auch richtig. Quellcode, der von jedem eingesehen werden kann, ist eine gute Sache. Dieser Code kann dann von jedem, insbesondere von Experten, geprüft werden. Allerdings stellt sich in der Praxis häufig heraus, dass viele diese Software einsetzen, aber doch eher selten geprüft wird. Das bedeutet, offener Code bringt nichts, wenn nur die Entwickler in den Code schauen. Proprietärer Code, der einem unabhängigen Audit unterzogen wurde ist einem offenen Code unter Umständen vorzuziehen.
Egal ob offen oder nicht, im Endeffekt läuft es immer darauf hinaus, dass man den Entwicklern und dem Hersteller vertrauen muss.

Übersicht: Verschlüsselung