Einblicke in die moderne Kryptographie

Veröffentlicht von

Für alle sensiblen Aktivitäten im Internet ist Kryptographie unbedingt erforderlich. Die Serverkommunikation muss ebenso sicher sein wie die Datenspeicherung.

Kryptographie als Wissenschaft von der Verschlüsselung von Informationen ist die Antwort auf diese Herausforderung. Der Begriff „Kryptographie“ ist abgeleitet von den griechischen Wörtern „kryptos“ („verborgen“ oder „geheim“) und „graphein“ („schreiben“, „zeichnen“ oder „beschreiben“).

Mit der immer weiteren Verbreitung etwa von Online-Wetten und allgemein steigenden Sicherheitsanforderungen im Internet hat sich das Thema Kryptographie stark diversifiziert. Kryptographie als Prozess oder Algorithmus zur Verschlüsselung ist dabei nur eine von vielen Funktionen. Darüber hinaus muss Kryptographie vor Lauschangriffen, Angriffen bei frei wählbarem Klartext und Angriffen bei frei wählbarem Kryptotext schützen sowie Folgendes sicherstellen:

Vertraulichkeit: Definiert als Absicht, Informationen geheim zu halten.

Integrität: Möglichkeit der Bestätigung des unmodifizierten Zustands von Daten.

Authentifizierung: Möglichkeit festzustellen, dass es sich bei einem Gerät, mit dem Sie kommunizieren, tatsächlich um das angegebene Gerät handelt und nicht um einen externen Angreifer.

Autorisierung: Die ordnungsgemäße Erteilung einer Genehmigung für eine bestimmte Aktivität.

Die moderne Kryptographie wurde nach dem 2. Weltkrieg entwickelt. 1949 entwickelte Claude Shannon das Konzept der theoretischen Sicherheit. Die Grundidee: Ein verschlüsselter Text darf keine Informationen über den Klartext enthalten. Mathematisch lässt sich dies wie folgt darstellen:

Perfekte Sicherheit nach Shannon

 ∀ Inhalte m0 und m1 ϵ M (Gesamtbereich der Inhalte) sowie Länge (m0) = Länge(m1) und ∀ c ϵ C (Schlüsselraum)

Pr[E(k, m0) = c] = Pr[E(k,m1) = c]

wobei genau ein Schlüssel k ϵ K existiert (Schlüsselraum)

Anders gesagt: Bei einem gegebenen Kryptotext kann ein Angreifer nicht feststellen, ob der verschlüsselte Text m0 oder m1 für alle möglichen m0 und m1 Texte ist. Der Angreifer erhält also in keinem Fall aus dem Kryptotext Informationen über den Klartext. Folglich ist keine Entschlüsselung des Kryptotextes möglich.

In der heutigen digitalen Welt wird Kryptographie mit Computern ausgeführt. Die XOR-Logikfunktion ist der Grundbaustein von Kryptographie-Algorithmen. Der Grund dafür liegt in einer wichtigen Eigenschaft, die im folgenden Theorem dargestellt wird:

Ist Y eine Zufallsvariable von {0,1}n und X eine unabhängige uniforme Variable von {0,1}n, dann ist Z = Y XOR X eine uniforme Variable von {0,1}n

Dies macht die Anwendung von Häufigkeitsanalysen unmöglich und eliminiert einen Schwachpunkt von Methoden, die bis Mitte des 20. Jahrhunderts eingesetzt wurden.

Der One Time Pad-Algorithmus

One Time Pad (OTP) ist ein Algorithmus mit einem Klartext m, einem Schlüssel k (die Längen von m und k sind gleich) sowie XOR m und k. Weil es sich bei k um eine uniforme Variable handelt, ist Z ebenso eine uniforme Variable, sodass Lauscher keine Kryptotext-Angriffe durchführen können. Allerdings muss für perfekte Sicherheit der Schlüssel länger sein als der Klartext (|K| > |M|), was in der Praxis so gut wie unmöglich umsetzbar ist. Wir erhalten zwei verschlüsselte Texte mit demselben Schlüssel k. Die Anwendung der XOR-Verschlüsselung auf diese beiden Kryptotexte ergibt m1 XOR m2,. Eine einfache statistische Analyse dieses Ergebnisses führt zur Offenlegung zahlreicher Informationen über den Klartext.

Um OTP praktisch nutzbar zu machen, wird der zufällige Schlüssel durch einen „Pseudozufallsschlüssel“ ersetzt. Selbst bei Kenntnis aller zuvor generierter Schlüssel ergibt sich dabei nur eine extrem geringe Wahrscheinlichkeit von ≤1/280 der Entschlüsselung dieses neuen Schlüssels.  Darüber hinaus sprechen wir von semantischer Sicherheit, wenn zwei Kryptotexte nicht erkennbare Verteilungen haben. Es handelt sich dabei um Wahrscheinlichkeiten. Dies steht im Gegensatz zur vollkommenen Gleichheit, die Shannons Konzept der perfekten Sicherheit zugrunde liegt. Die Schlüsselerzeugung ist entscheidend für ein gutes Sicherheitsniveau. Wie sich beim WEP-Protokoll gezeigt hat, macht ein mangelhafter Schlüssel die Sicherheit zunichte.

WEP ist unsicher, da die Länge des IV (Initialisierungs-Vektors) 24 bit beträgt. Dies bedeutet, dass derselbe Schlüssel etwa alle 16 Mio. Frames verwendet wird. Darüber hinaus stehen die Schlüssel miteinander in Beziehung; der Schlüssel für Frame 1 ist 1||k, der Schlüssel für Frame 2 ist 2||k. Darüber hinaus wird der IV nach jedem Abschalten auf 0 gesetzt, sodass Angreifer nach nur 40.000 Frames den Schlüssel wiederherstellen können. Dies ist im heutigen Umfeld extrem unsicher. Um diesen Schwachpunkt im Netzwerkverkehr zu kompensieren, muss für jede Session ein neuer Schlüssel generiert werden. Bei modernen Stromverschlüsselungen werden ein Seed und ein Nonce (einmalig verwendeter Wert für einen bestimmten Schlüssel) zur Schlüsselerzeugung verwendet. Dabei kommt die Seed-Nonce-Kombination immer nur einmal zum Einsatz. Die bekanntesten Stromverschlüsselungen sind RC4, Salsa und Sosemanuk.

Zu beachten ist, dass sich OTP für die Kommunikation innerhalb von Netzwerken eignet, nicht jedoch für die Datenspeicherung. Tatsächlich ist OTP veränderbar und verfügt über keine eigentliche Integrität – d. h. Modifikationen des Kryptotextes bleiben unentdeckt und haben vorhersehbare Auswirkungen auf den Klartext.

Blockverschlüsselung

Die Blockverschlüsselung ist ein weiteres gängiges Verschlüsselungsverfahren. Ihre Implementierung ist komplexer und zeitaufwändiger als bei der Stromverschlüsselung. Sie ist jedoch robuster und löst bestimmte Probleme, die bei der Stromverschlüsselung bestehen. Im Gegensatz zur Stromverschlüsselung arbeitet die Blockverschlüsselung mit einem festen Block von n bit, die zur Erzeugung eines Kryptotextes von n bit gescrambelt werden. Ist ein Klartext weniger als n bit lang, muss ein Padding erfolgen, um die erforderliche Länge von n bit zu erreichen. Die gängigsten Blockverschlüsselungen sind AES und RSA.

Bei der Blockverschlüsselung sind zwei Betriebsweisen möglich: CBC (Cipher Block Chaining) und CTR (Counter Mode). Bei beiden wird ein IV (Initialisierungs-Vektor) benötigt, um die Verschlüsselung zu starten. Anschließend erfolgt die Implementierung jedoch auf unterschiedliche Weise. Bei CBC kommt serielle Implementierung zum Einsatz, bei CTR parallele Implementierung.

Hier sehen wir eine Verschlüsselung mit CBC: Es wird ein zufälliger IV gewählt, anschließend wird die Ausgabe eines Blocks zur Verschlüsselung des nächsten Blocks genutzt.


Verschlüsselung mit CTR: F ist eine pseudozufällige Funktion, IV ist für jeden Klartext zufällig und wird für jeden Block inkrementiert. F kann für jeden Block parallel angewandt werden.


Alle diese Methoden sind wirksam gegen Lauschangriffe und zum Schutz der Vertraulichkeit. Es gibt jedoch noch kein Verfahren, das Integrität, Authentifizierung und Schutz vor aktiven Angriffen gewährleistet.

Message Authentication Code

Die Integrität des Klartextes wird durch MAC (Message Authentication Codes) sichergestellt. Auf der Grundlage der Klardaten m und des Schlüssels k wird ein Tag generiert. Erhält der Empfänger die Daten, kann er eine Tag-Prüfung ausführen, deren Ergebnis „Yes“ oder „No“ lautet. Bei der MAC-Berechnung kommt eine PRF (pseudozufällige Funktion) zum Einsatz, sodass ein Angreifer kein gültiges Tag für neue Daten generieren kann. Für die Integritätsprüfung ist ein geheimer Schlüssel erforderlich. Dieser ist nicht zu verwechseln mit einem CRC (Cyclic Redundancy Code), der zur Entdeckung zufälliger und nicht mit Angriffen zusammenhängender Fehler dient.

Strom- und Blockverschlüsselung sichern Vertraulichkeit und sind wirksam gegen Lauschangriffe, nicht jedoch gegen aktive Angriffe. MAC wiederum garantieren Integrität, aber keine Vertraulichkeit. Wird MAC jedoch auf Kryptotext angewandt, erhalten wir eine authentifizierte Verschlüsselung. Angreifer können keine neuen Kryptotexte generieren, die korrekt entschlüsseln. Integrität, Authentifizierung und Autorisierung können so sichergestellt werden.

Alle diese Methoden verwenden denselben Schlüssel für Sender und Empfänger und werden als symmetrische Verschlüsselung bezeichnet. Bei der symmetrischen Verschlüsselung werden die Schlüssel vor Beginn der Kommunikation ausgetauscht. In der durch das Internet vernetzten Welt von heute müssen jedoch häufig Daten zwischen Parteien übermittelt werden, die sich nicht kennen, weshalb ein Vorab-Austausch von Schlüsseln nicht in Frage kommt. Die Lösung für dieses Problem ist asymmetrische Verschlüsselung. Diese wird durch das Diffie-Hellman-Protokoll beschrieben:

p ist eine große Primzahl, g ist eine Ganzzahl in {1,…,p} and x is chosen randomly in {1,…, p-1}. Ist dieses Ergebnis bekannt, existiert kein effizienter Algorithmus zur Berechnung von x. Anschließend ist es einfach, mit zwei Zahlen x und y eine Exponential-Rechenoperation durchzuführen und den Schlüssel zu generieren, jedoch sehr schwer, diese Rechenoperation zu reversieren.

g^(x^y ) (mod p)=g^(y^x ) (mod p)= g^xy (mod p) = Verwendbarer Schlüssel

Wollen Alice und Bob den Schlüssel austauschen und befindet sich ein Lauscher zwischen ihnen, werden folgende Schritte zur Übermittlung des Schlüssels ausgeführt.


Es gibt verschiedene Diffie-Hellman-Varianten wie die Auflösung einer elliptischen Kurve mit der Formel y² = x³ + ax + b.

Letztlich gibt es trotz aller oben dargestellter Methoden und Lösungen keine garantierte Sicherheit bei der Kommunikation. Das Shannon-Theorem beinhaltet eine Theorie der perfekten Sicherheit. In der Praxis können jedoch Seitenkanalattacken extrem wirksam und gefährlich sein. Eines der besten Beispiele für Seitenkanalattacken stammt aus dem Jahr 2013. Damals knackten Forscher die weltbeste Verschlüsselung, indem sie die hochfrequenten Betriebsgeräusche (10 to 150kHz) eines Computerprozessors abhörten, während der Computer einen 4096-bit-RSA-Algorithmus entschlüsselte. Daniel Genlin, Adi Shamir und Eran Tromer konnten mit dieser in der Praxis kaum vorhersehbaren Vorgehensweise einen Entschlüsselungscode erstellen.

Neue Beiträge

Leider ergab Ihre Suche kein Ergebnis

Aktuelles über Elektronikkomponenten­

Wir haben unsere Datenschutzbestimmungen aktualisiert. Bitte nehmen Sie sich einen Moment Zeit, diese Änderungen zu überprüfen. Mit einem Klick auf "Ich stimme zu", stimmen Sie den Datenschutz- und Nutzungsbedingungen von Arrow Electronics zu.

Wir verwenden Cookies, um den Anwendernutzen zu vergrößern und unsere Webseite zu optimieren. Mehr über Cookies und wie man sie abschaltet finden Sie hier. Cookies und tracking Technologien können für Marketingzwecke verwendet werden.
Durch Klicken von „RICHTLINIEN AKZEPTIEREN“ stimmen Sie der Verwendung von Cookies auf Ihrem Endgerät und der Verwendung von tracking Technologien zu. Klicken Sie auf „MEHR INFORMATIONEN“ unten für mehr Informationen und Anleitungen wie man Cookies und tracking Technologien abschaltet. Das Akzeptieren von Cookies und tracking Technologien ist zwar freiwillig, das Blockieren kann aber eine korrekte Ausführung unserer Website verhindern, und bestimmte Werbung könnte für Sie weniger relevant sein.
Ihr Datenschutz ist uns wichtig. Lesen Sie mehr über unsere Datenschutzrichtlinien hier.