Besuchen Sie Keyfactor auf der RSA Conference™ 2024 | 6. bis 9. Mai | Erfahren Sie mehr

Arten von Verschlüsselungsalgorithmen + Vor- und Nachteile für jeden

Arten von Verschlüsselungsalgorithmen + Vor- und Nachteile für jeden

Verschlüsselungsalgorithmen

Symmetrische Verschlüsselung

Symmetrische Verschlüsselungsalgorithmen verwenden denselben geheimen Schlüssel sowohl für die Verschlüsselung als auch für die Entschlüsselung. Das bedeutet, dass der Absender und der Empfänger einer verschlüsselten Nachricht eine Kopie des geheimen Schlüssels über einen sicheren Kanal austauschen müssen, bevor sie mit der Übertragung verschlüsselter Daten beginnen. Symmetrische Verschlüsselungsalgorithmen gibt es in zwei verschiedenen Varianten: Block- und Stromchiffren.

Blockchiffren

Bei einer Blockchiffre werden Daten in Blöcken fester Größe verschlüsselt. Der Advanced Encryption Standard (AES) zum Beispiel verwendet eine Blocklänge von 128 Bit.

Wenn der Klartext kürzer ist als die Blocklänge, wird er vor der Verschlüsselung auf die gewünschte Länge aufgefüllt. Auf der anderen Seite entschlüsselt der Empfänger der Nachricht diese und entfernt dann die Auffüllung, um die ursprüngliche Nachricht wiederherzustellen.

Ist ein Klartext länger als die Blocklänge, wird er für die Verschlüsselung in mehrere verschiedene Teile (Chunks) aufgeteilt. Die Funktionsweise einer Blockchiffre legt fest, wie diese Chunks zueinander in Beziehung stehen.

Jede Betriebsart hat ihre Vor- und Nachteile. Der ECB-Modus (Electronic Code Book) zum Beispiel ist die einfachste Betriebsart. Bei ECB wird jeder Block völlig unabhängig verschlüsselt.

Der Nachteil dabei ist, dass Blöcke mit demselben Klartext denselben Chiffretext ergeben. Die Bild oben ist ein Bild des Linux-Pinguins. Während diese Daten verschlüsselt sind, sind die Chiffretexte für ein Pixel einer bestimmten Farbe (schwarz, weiß usw.) im gesamten Bild gleich, so dass der Pinguin immer noch sichtbar ist.

Andere Betriebsarten beseitigen dieses Problem, indem sie die Verschlüsselung der einzelnen Blöcke miteinander verknüpfen. Einige bieten auch zusätzliche Funktionen, wie den Galois-Zähler-Modus (GCM), der einen Nachrichten-Authentifizierungs-Code (MAC) erzeugt, mit dem überprüft wird, dass die Daten während der Übertragung nicht verändert wurden.

Beispiel: Der Erweiterte Verschlüsselungsstandard (AES)

Die bekannteste Blockchiffre ist der Advanced Encryption Standard (AES). Dieser Verschlüsselungsalgorithmus wurde als Ergebnis eines vom National Institute of Standards and Technology (NIST) durchgeführten Wettbewerbs ausgewählt, um den alternden Data Encryption Standard (DES) zu ersetzen.

AES ist eine Familie von drei verschiedenen Algorithmen, die für die Verwendung eines 128-, 192- oder 256-Bit-Schlüssels ausgelegt sind. Diese Algorithmen sind in einen Schlüsselplan und einen Verschlüsselungsalgorithmus unterteilt.

Der Verschlüsselungsalgorithmus von AES ist bei allen drei Versionen weitgehend identisch. Er ist in Runden unterteilt, die sich aus einer Reihe von mathematischen Operationen zusammensetzen. Der Hauptunterschied zwischen den verschiedenen AES-Versionen ist die Anzahl der verwendeten Runden: 10, 12 und 14.

Jede AES-Runde verwendet einen eindeutigen Rundenschlüssel, der aus dem ursprünglichen geheimen Schlüssel abgeleitet wird. Die Ableitung dieser Rundenschlüssel ist Aufgabe des Schlüsselplans. Die Schlüsselpläne der einzelnen AES-Versionen sind unterschiedlich, da sie unterschiedlich lange geheime Schlüssel verwenden und eine unterschiedliche Anzahl von 128-Bit-Rundenschlüsseln erzeugen.

Stromchiffren

Die andere Art von symmetrischem Verschlüsselungsalgorithmus ist eine Stromchiffre. Im Gegensatz zu einer Blockchiffre wird bei einer Stromchiffre ein Klartext bitweise verschlüsselt.

Eine Stromchiffre wurde auf der Grundlage des einzigen völlig unknackbaren Verschlüsselungsalgorithmus entwickelt: dem One-Time-Pad (OTP). Der OTP nimmt einen zufälligen geheimen Schlüssel der gleichen Länge wie der Klartext und verknüpft jedes Bit des Klartextes und des Schlüssels mit einer Exklusiv-ODER-Verknüpfung (XOR), um den Chiffretext zu erzeugen, wie in der Bild oben.

Die Entschlüsselung mit einem OTP ist die gleiche wie die Verschlüsselung. Das liegt daran, dass alles, was mit sich selbst XOR-verknüpft ist, Null ist und alles, was mit Null XOR-verknüpft ist, sich selbst ist. Mit einem Klartext P, einem Chiffretext C und dem Schlüssel K

C XOR K = (C XOR K) XOR K = C XOR (K XOR K) = C XOR 0 = C

Obwohl es sehr sicher ist, wird das OTP nur selten verwendet, da es unpraktisch ist, die riesigen Mengen an Schlüsselmaterial, die es für seine Funktion benötigt, sicher weiterzugeben. Eine Stromchiffre beruht auf der gleichen Idee wie das OTP mit einem etwas weniger sicheren Schlüssel.

Anstelle eines vollständigen Zufallsschlüssels wird bei einer Stromchiffre ein geheimer Schlüssel verwendet, um einen Pseudo-Zufallszahlengenerator zu speisen. Durch die gemeinsame Nutzung desselben geheimen Schlüssels und Algorithmus können Absender und Empfänger einer Nachricht dieselbe Bitfolge erzeugen, so dass sie eine Nachricht ver- und entschlüsseln können.

Beispiel: Rivest-Chiffre 4 (RC4)

RC4 ist ein Beispiel für eine weit verbreitete Stromchiffre. Sie wurde 1987 von Ron Rivest entwickelt und war ursprünglich ein Geschäftsgeheimnis von RSA Security. Im Jahr 1994 wurden die Einzelheiten der Chiffre bekannt, wodurch sie öffentlich nutzbar wurde.

RC4 wird in einer Vielzahl verschiedener Anwendungen verwendet, darunter die WEP- und WPA-Verschlüsselungsstandards für Wi-Fi. Die Chiffre hat einige bekannte Schwachstellen, insbesondere für bestimmte Anwendungen, kann aber dennoch verwendet werden, wenn einige der ersten Bytes des erzeugten Schlüsselstroms verworfen werden.

Asymmetrische Verschlüsselung

Im Gegensatz zur symmetrischen Verschlüsselung werden bei der asymmetrischen Kryptografie zwei verschiedene Schlüssel für die Ver- und Entschlüsselung verwendet. Der öffentliche Schlüssel wird zur Verschlüsselung einer Nachricht verwendet, während der private Schlüssel zur Entschlüsselung genutzt wird.

Der private Schlüssel ist eine völlig zufällige Zahl. Der öffentliche Schlüssel wird aus dem privaten Schlüssel mit Hilfe eines mathematisch "harten" Problems abgeleitet.

Dieses "harte" Problem basiert auf einer mathematischen Operation, die "leicht" durchzuführen, aber "schwer" umkehrbar ist. Es werden eine Reihe verschiedener "harter" Probleme verwendet, darunter solche, die auf ganzen Zahlen basieren, und solche, die auf elliptischen Kurven beruhen.

Integer-basierte Kryptographie

Bei der asymmetrischen Kryptographie auf der Grundlage von Ganzzahlen gibt es zwei "harte" Hauptprobleme. Dies sind das Faktorisierungs- und das diskrete Logarithmusproblem.

Das Faktorisierungsproblem beruht auf der Tatsache, dass es relativ einfach ist, zwei Zahlen miteinander zu multiplizieren, aber es ist schwierig, sie zu faktorisieren. Tatsächlich ist das Faktorisieren so schwierig, dass es (auf einem "klassischen" Computer) am besten durch eine Brute-Force-Suche zu bewerkstelligen ist. Wer das Produkt zweier Primzahlen faktorisieren will, muss so lange potenzielle Faktoren testen, bis er zufällig einen der beiden Faktoren findet, was sehr lange dauern kann.

Ein asymmetrischer Verschlüsselungsalgorithmus, der auf dem Faktorisierungsproblem basiert, hat einen öffentlichen Schlüssel, der aus dem Produkt zweier privater Schlüssel (große Primzahlen) berechnet wird. Diese Berechnung ist einfach durchzuführen, aber jeder, der den privaten Schlüssel aus dem öffentlichen Schlüssel ableiten will, muss ihn faktorisieren, was viel schwieriger ist.

Die Schwierigkeit der Multiplikation wächst polynomial mit der Länge der Faktoren, aber die Schwierigkeit der Faktorisierung wächst exponentiell. Dadurch ist es möglich, einen "Sweet Spot" zu finden, an dem ein System zwar brauchbar, aber im Wesentlichen unknackbar ist.

Das Problem des diskreten Logarithmus verwendet die Potenzierung und den Logarithmus als "leichte" und "schwere" Operationen. Ähnlich wie beim Faktorisieren steigt die Komplexität der Logarithmusberechnung mit zunehmender Größe des Exponenten sehr viel schneller an.

Beispiel: Rivest-Shamir-Adleman (RSA)

Diesymmetrische Verschlüsselung ist ein einfacher kryptografischer Algorithmus nach heutigen Maßstäben ein einfacher kryptografischer Algorithmus, der jedoch einst als Stand der Technik galt. Tatsächlich nutzte die deutsche Armee ihn während des Zweiten Weltkriegs zur Übermittlung privater Nachrichten. Der Film Das Nachahmungsspiel zeigt eigentlich erklärt recht gut, wie die symmetrische Verschlüsselung funktioniertfunktioniert und welche Rolle sie während des Krieges spielte.

Bei der symmetrischen Verschlüsselung wird eine Nachricht, die im Klartext eingegeben wird, durch mathematische Permutationen verschlüsselt. Die verschlüsselte Nachricht ist schwer zu knacken, weil derselbe Klartextbuchstabe in der verschlüsselten Nachricht nicht immer gleich ausfällt. Zum Beispiel würde die Nachricht "HHH" nicht mit drei gleichen Buchstaben verschlüsselt werden.

Um die Nachricht zu verschlüsseln und zu entschlüsseln, benötigen Sie denselben Schlüssel, daher der Name symmetrische Verschlüsselung. Während das Entschlüsseln von Nachrichten ohne den Schlüssel äußerst schwierig ist, birgt die Tatsache, dass derselbe Schlüssel zum Ver- und Entschlüsseln der Nachricht verwendet werden muss, ein erhebliches Risiko. Denn wenn der Verteilungskanal, über den der Schlüssel weitergegeben wird, kompromittiert wird, ist das gesamte System für sichere Nachrichten gestört.

Einer der bekanntesten asymmetrischen Verschlüsselungsalgorithmen ist der von Ron Rivest, Adi Shamir und Leonard Adleman entwickelte RSA-Algorithmus. Dieser Algorithmus basiert auf dem Faktorisierungsproblem.

Die obige Abbildung zeigt ein einfaches Beispiel dafür, wie RSA funktioniert. Der Klartext (2) wird mit der Potenz des öffentlichen Schlüssels (5) multipliziert: 2^5 = 32. Dieser Wert wird dann durch einen öffentlichen Modulus (14) geteilt, und der Rest (4) wird als Chiffretext gesendet: 32 % 14 = 4.

Auf der anderen Seite wird die gleiche Operation mit dem privaten Schlüssel anstelle des öffentlichen Schlüssels durchgeführt, um den Klartext zu erhalten: (4^11) % 14 = 2. Diese Berechnung funktioniert, weil der öffentliche und der private Schlüssel so gewählt sind, dass sie im gewählten Modulus invers sind. 

Elliptische-Kurven-Kryptographie

Die asymmetrische Kryptografie auf der Grundlage von Ganzzahlen verwendet Faktorisierungs- und diskrete Logarithmusprobleme, um sichere Verschlüsselungsalgorithmen zu entwickeln. Die Kryptographie mit elliptischen Kurven verwendet dieselben Probleme mit einer kleinen Abwandlung.

Bildschirmfoto des Verschlüsselungsalgorithmus

Anstatt ganze Zahlen für die Berechnungen zu verwenden, werden bei der elliptischen Kurvenkryptografie Punkte auf einer elliptischen Kurve verwendet, wie die die oben abgebildet ist. Ein privater Schlüssel ist immer noch eine Zufallszahl, aber ein öffentlicher Schlüssel ist ein Punkt auf der Kurve.

Auf diesen Kurven sind einige verschiedene mathematische Operationen definiert. Die beiden wichtigsten davon sind:

  • Punktaddition (entspricht einer ganzzahligen Multiplikation)
  • Punktmultiplikation (entspricht der ganzzahligen Potenzierung)

 

Auf diesen Kurven ist es möglich, Berechnungen durchzuführen, die den "einfachen" Operationen des Faktorisierungs- und des diskreten Logarithmusproblems entsprechen. Dies bedeutet, dass dieselben grundlegenden Algorithmen auch für elliptische Kurven verwendet werden können.

Aber warum die Mühe? Die Kryptographie mit elliptischen Kurven ist nützlich, weil kleinere Schlüssellängen das gleiche Maß an Sicherheit bieten. Das bedeutet, dass die Elliptische-Kurven-Kryptografie weniger Speicherplatz, Rechenleistung und Energie benötigt, um Daten auf demselben Niveau zu schützen wie ein entsprechender ganzzahliger Algorithmus. Diese Einsparungen können für ressourcenbeschränkte Systeme wie Geräte des Internets der Dinge (IoT) oder Smartphones wichtig sein.

Vor- und Nachteile der symmetrischen und asymmetrischen Verschlüsselung

Symmetrische und asymmetrische Verschlüsselungsalgorithmen haben beide die gleiche Aufgabe: den Schutz der Vertraulichkeit von Daten. Sie erfüllen ihre Aufgabe jedoch auf sehr unterschiedliche Weise, und jeder Ansatz hat seine Vor- und Nachteile:

  • Symmetrische Verschlüsselung: Der Hauptvorteil der symmetrischen Kryptografie ist ihre Effizienz. Im Allgemeinen verbrauchen symmetrische Verschlüsselungsalgorithmen weniger Speicher und Rechenleistung als asymmetrische Verschlüsselungsverfahren.
  • Asymmetrische Verschlüsselung: Bei der asymmetrischen Verschlüsselung ist es nicht erforderlich, dass die beiden Parteien einen geheimen Schlüssel austauschen, bevor sie verschlüsselte Nachrichten versenden. Dadurch ist es möglich, mit jeder Person sicher zu kommunizieren, solange man deren privaten Schlüssel hat.

 

Diese unterschiedlichen Stärken bedeuten, dass symmetrische und asymmetrische Kryptographie oft zusammen verwendet werden, wie im TLS Protokoll. Die asymmetrische Verschlüsselung wird für den sicheren Austausch eines symmetrischen Schlüssels verwendet, während die symmetrische Verschlüsselung für die Übertragung von Massendaten eingesetzt wird.

Quantencomputing und seine Auswirkungen auf die Kryptographie

Bei der Erörterung der Vor- und Nachteile verschiedener Verschlüsselungsalgorithmen ist es wichtig, das Wachstum des Quantencomputers zu berücksichtigen. Quantencomputer sind in der Lage, einige der heute gebräuchlichen asymmetrischen Verschlüsselungsalgorithmen zu brechen.

Der Grund dafür ist, dass einige der "schweren" Probleme, die in der asymmetrischen Kryptographie verwendet werden, für Quantencomputer nicht "schwer" sind. Während das Faktorisieren für einen klassischen Computer exponentiell schwierig ist, ist es für einen Quantencomputer aufgrund der Existenz des Shor-Algorithmus nur polynomiell schwierig.

Wenn sowohl die Multiplikation als auch das Faktorisieren polynomielle Komplexität haben, ist es unmöglich, ein Kryptosystem zu bauen, das sowohl brauchbar als auch sicher ist. Dasselbe gilt für das Problem des diskreten Logarithmus. Es ist ebenfalls gebrochen, sobald genügend große Quantencomputer zur Verfügung stehen.

Dies bedeutet jedoch nicht, dass das Quantencomputing das Ende der asymmetrischen Kryptographie bedeutet. Es wurden neue Probleme entdeckt, von denen man annimmt, dass sie auch für Quantencomputer "schwierig" sind. Dies hat zur Entwicklung neuer asymmetrischer Post-Quantum-Verschlüsselungsalgorithmen geführt, die auf diesen neuen "schwierigen" Problemen basieren.

Ready to get started? Find out how the Keyfactor platform can modernize your PKI, prevent certificate outages, and much more.