Zum Inhalt springen

Kryptologie/Asymmetrische Kryptosysteme

Aus Wikiversity


Einleitung und asymmetrische Kryptosysteme als Verschlüsselungsverfahren

Die ersten asymmetrische Kryptosysteme wurden in den 70er Jahren des letzten Jahrhunderts entwickelt. Zu dieser Zeit entwickelten sich computergestützte

Abbildung 1: Allgemeines Prinzip asymmetrischer Verschlüsselungsverfahren[1]

Kommunikationsnetzwerke zur globalen Kommunikation. Um die notwendigen Sicherheitsziele in diesen Kommunikationsnetzwerken erhalten zu können, sind symmetrische Kryptosysteme allein nicht geeignet. Sender und Empfänger wollen vertraulich kommunizieren können, ohne zuvor ein gemeinsames Geheimnis zu vereinbaren. Dies gilt insbesondere, wenn zwischen Sender und Empfänger eine große Distanz liegt. Asymmetrische Kryptosysteme setzen zur Einhaltung von Vertraulichkeit (und anderer Sicherheitsziele) kein gemeinsames Geheimnis voraus. Stattdessen werden Ver- und Entschlüsselungsfunktion durch unterschiedliche Schlüssel ermöglicht. Dabei ist die Berechnung des Schlüssels zur Entschlüsselung aus dem anderen Schlüssel rechnerisch nicht möglich. Der Besitzer der Schlüssel kann den Schlüssel zur Verschlüsselung daher veröffentlichen und den Schlüssel zur Entschlüsselung geheim halten. Beliebige andere Teilnehmer des Kommunikationsnetzwerkes können den öffentlichen Schlüssel nutzen, um Nachrichten an den Besitzer des Schlüssels zur Entschlüsselung zu senden (siehe Abbildung 1)[1]. Asymmetrische Kryptosysteme können jedoch auch für weitere Sicherheitsziele außer Vertraulichkeit genutzt werden, nämlich Authentizität und Verbindlichkeit[2]. Wir unterscheiden daher zwei Anwendungsmöglichkeiten von asymmetrischen Kryptosystemen:

  1. Asymmetrische Kryptosysteme als Verschlüsselungsverfahren
  2. Asymmetrische Kryptosysteme als digitale Signaturen[1]

Bevor wir diese genauer betrachten, definieren wir zunächst das asymmetrische Kryptosystem.

Asymmetrische Kryptosysteme

Tupel
Tupel
Ein Tupel besteht aus einer Liste endlich vieler, nicht notwendigerweise voneinander verschiedener Objekte.

Dabei spielt, im Gegensatz zu Mengen, die Reihenfolge der Objekte eine Rolle[3][4].

Definition asymmetrisches Kryptosystem

Aus mathematischer Perspektive ist ein asymmetrisches Kryptosystem ein Tupel mit folgenden Eigenschaften:

  1. ist die Menge der möglichen Klartexte
    Abbildung 2: Allgemeines Prinzip des Schlüsselerzeugungsalgorithmus
  2. ist die Menge der möglichen Geheimtexte
  3. ist die Menge der Schlüsselpaare , wobei die Komponente der öffentliche und die Komponente der private Schlüssel ist
  4. ist der Schlüsselerzeugungsalgorithmus (siehe Abbildung 2)
  5. mit ist der Verschlüsselungsalgorithmus mit , und
  6. mit ist der Entschlüsselungsalgorithmus mit , und [5][6]
  7. Für alle und gibt es ein , dass [7][6]

Bemerkung: Im Vergleich zu symmetrischen Kryptosystem, besitzen asymmetrischen Kryptosystem eine weitere Eigenschaft: den Schlüsselerzeugungsalgorithmus. Der Schlüssel wird also nicht frei gewählt, sondern berechnet[7][5].

Public-Key-Eigenschaft und Falltürfunktionen

Wie wir bereits in der Einleitung formuliert haben, ist der entscheidende Vorteil asymmetrischer gegenüber symmetrischer Kryptosysteme, dass sie keinen geschützten Übertragungsweg zwischen Sender und Empfänger für den Schlüssel benötigen. Stattdessen ist öffentliche Schlüssel für jeden zugänglich, der eine verschlüsselte Nachricht an den Besitzer des privaten Schlüssels senden will. Der private Schlüssel geheim gehalten werden muss, um das gewünschte Sicherheitsziel zu garantieren. Es muss daher praktisch unmöglich sein, den privaten Schlüssel aus dem öffentlichen Schlüssel zu berechnen[8][9]. Diese Anforderung nennen wir Public-Key-Eigenschaft[10].

Man verwendet sogenannte Falltürfunktionen, um die Public-Key-Eigenschaft zu garantieren. Falltürfunktion sind leicht zu berechnen, aber ohne ein Geheimnis praktisch unmöglich zu invertieren. Der private Schlüssel ist die "Falltür" und der öffentliche Schlüssel beschreibt die Funktion[8]. Ein Beispiel für eine solche Falltürfunktion wird in der Lerneinheit RSA-Kryptosystem vorgestellt.

Asymmetrische Kryptosysteme als digitale Signaturen

Asymmetrische Kryptosysteme als Verschlüsselungsverfahren

Nutzt man, wie in der Einleitung beschrieben, asymmetrische Kryptosysteme als Verschlüsselungsverfahren, so besteht das Verfahren aus den folgenden drei Algorithmen:

  • Der Schlüsselerzeugungsalgorithmus erzeugt ein Schlüsselpaar, das aus einem öffentlichen und dem dazugehörigen geheimen Schlüssel besteht
  • Der Verschlüsselungsalgorithmus erzeugt aus einem Klartext unter Verwendung des öffentlichen Schlüssels einen Geheimtext
  • Der Entschlüsselungsalgorithmus berechnet zu einem Geheimtext unter Verwendung des geheimen Schlüssels den passenden Klartext

Bemerkung: Ein Beispiel für die Verwendung eines asymmetrischen Kryptosystems als Verschlüsselungsverfahren ist das RSA-Verschlüsselungsverfahren[11]. Dieses wird über mehrere Lerneinheiten hinweg ausführlich vorgestellt.

Abbildung 3: Allgemeines Prinzip des Signierens und der Verifikation bei asymmetrischen Verschlüsseslungsverfahren

Asymmetrische Kryptosysteme als digitale Signaturverfahren

Authentizität und Verbindlichkeit
Authentizität
Der Empfänger einer Nachricht kann sich davon überzeugen, dass

die erhaltene Nachricht von einem eindeutigen Sender stammt[2].

Verbindlichkeit
Der Empfänger der Nachricht kann Dritten gegenüber nachweisen,

dass die Nachricht von einem bestimmten Sender stammt[12].

Im Gegensatz zu symmetrischen Kryptosysteme, können einige asymmetrische Kryptosysteme nicht nur zur Herstellung von Vertraulichkeit genutzt werden, sondern erfüllen auch weitere Sicherheitsziele der Kryptografie[1]. Häufig genügt es nämlich nicht einfach nur einen Inhalt vor Dritten zu schützen, sondern der Empfänger soll auch sicher sein können, von wem der verschlüsselt Inhalt tatsächlich stammt, wir sprechen in diesem Fall von Authentizität. Außerdem sollte der Empfänger dies im besten Fall auch noch anderen gegenüber beweisen können. Wir sprechen von Verbindlichkeit[13].

So könnte beispielsweise eine Bank eine asymmetrisch verschlüsselte Nachricht erhalten mit dem Auftrag einen Geldbetrag von dem Konto von Herrn Müller auf ein anderes Konto zu überweisen. Der Sender dieser Nachricht muss nicht zwangsläufig Herr Müller selbst sein, da der öffentliche Schlüssel der Bank auch für andere Menschen zugänglich ist. Die Bank muss also sicherstellen, dass die Nachricht von Herrn Müller und nicht von Dritten stammt. Um beispielsweise in einem rechtlichen Streit mit Herrn Müller nachweisen zu können, dass dieser und kein Dritter den Auftrag erteilt hat, muss die Authentizität der Nachricht auch anderen Gegenüber verbindlich nachgewiesen werden können[14]. In der analogen Welt werden zu diesem Zweck Dokumente handschriftlich signiert[1].

In der digitalen Welt müssen wir, um dies zu erreichen, auf mathematische Verfahren zurückgreifen[2].

Algorithmen digitaler Signaturverfahren

Analog zu den asymmetrischen Verschlüsselungsverfahren, besteht ein digitales Signaturverfahren aus drei Algorithmen:

  • Schlüsselerzeugungsalgorithmus,
    • Es wird ein privater Signierschlüssel und ein öffentlicher Verifikationsschlüssel generiert,
  • Signieralgorithmus,
    • Mithilfe des privaten Signierschlüssels und der zu versendenden Nachricht wird eine digitale Signatur erzeugt,
  • Verifikationsalgorithmus,
    • Die digitale Signatur wird mit der versendeten Nachricht und dem öffentlichen Schlüssel auf Gültigkeit geprüft und gibt entweder "gültig" oder "ungültig" aus[15].

Eine solche Verifikation der digitalen Signatur kann also von jedem Empfänger durchgeführt werden, unabhängig davon, ob er zuvor bereits mit dem Sender Kontakt aufgenommen hat oder nicht[16].

Eines der asymmetrischen Kryptosysteme, welche sowohl Vertraulichkeit als auch Authentizität und Verbindlichkeit herstellen können, ist das RSA-Kryptosystem[17]. In der Lerneinheit RSA-Signatur wird das Erstellen einer digitalen Signatur am Beispiel des RSA-Kryptosystems exemplarisch besprochen.

Lernaufgabe

Aufgabe

Erläutern Sie, inwiefern es entscheidend ist, ob ein Klartext erst signiert und dann verschlüsselt wird oder umgekehrt.

Bemerkung: Sie können hierfür einen Vergleich zwischen einer digitalen Signatur und einer handschriftlichen Signierung eines Briefes oder Briefumschlags ziehen.

Lösung
Nur wenn man den Klartext signiert, hat man anderen gegenüber nachgewiesen, dass man den Inhalt des Klartextes kennst und diesen signieren will. Dies entspricht der Unterschrift auf einem Brief.

Im Gegensatz dazu ist bei der Signierung einer verschlüsselten Nachricht für Dritte nicht klar, ob man den Inhalt des verschlüsselten Klartextes bewusst signiert hat. Dies ist vergleichbar mit der Unterschrift auf einem Briefumschlag anstatt auf dem enthaltenen Brief.[18]

Lernempfehlung

Kursübersicht
Übergeordnete Lerneinheit
1: Grundlagen der Kryptologie
Vorherige Lerneinheit Aktuelle Lerneinheit Empfohlene Lerneinheit
4: Caesar-Verschlüsselungsverfahren 5: Asymmetrische Kryptosysteme 6: RSA-Kryptosystem

Literatur

  1. a b c d e Diffie, W., & Hellman, M. (1976). New directions in cryptography. IEEE Transactions on Information Theory, 22(6) (S. 644–654). S. 644.
  2. a b c Diffie, W., & Hellman, M. (1976). New directions in cryptography. IEEE Transactions on Information Theory, 22(6) (S. 644–654). S. 645.
  3. Seite „Tupel“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 17. Dezember 2019, 13:50 UTC. URL: https://de.wikipedia.org/w/index.php?title=Tupel&oldid=194983035 (Abgerufen: 13. Februar 2020, 15:43 UTC; Formulierung verändert)
  4. Plaue, M., & Scherfner, M. (2019). Mathematik für das Bachelorstudium I: Grundlagen und Grundzüge der linearen Algebra und Analysis (2. Auflage 2019). Springer Berlin. S. 16.
  5. a b Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 167f.
  6. a b Diffie, W., & Hellman, M. (1976). New directions in cryptography. IEEE Transactions on Information Theory, 22(6) (S. 644–654). S. 648.
  7. a b Douglas R. Stinson. (1995). Cryptography. Theory and Practice. CRC Press LLC. S. 1.
  8. a b Seite „Asymmetrisches Kryptosystem“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 11. Februar 2020, 20:54 UTC. URL: https://de.wikipedia.org/w/index.php?title=Asymmetrisches_Kryptosystem&oldid=196734967 (Abgerufen: 14. Februar 2020, 13:37 UTC; Formulierung verändert)
  9. Beutelspacher, A., Neumann, H. B., & Schwarzpaul, T. (2010). Kryptografie in Theorie und Praxis: Mathematische Grundlagen für Internetsicherheit, Mobilfunk und elektronisches Geld (2., überarb. Aufl). Vieweg + Teubner. S. 107.
  10. Beutelspacher, A., Neumann, H. B., & Schwarzpaul, T. (2010). Kryptografie in Theorie und Praxis: Mathematische Grundlagen für Internetsicherheit, Mobilfunk und elektronisches Geld (2., überarb. Aufl). Vieweg + Teubner. S. 6.
  11. Rivest, R. L., Shamir, A., & Adleman, L. (1978). A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2) (S. 120–126). S. 122.
  12. Rivest, R. L., Shamir, A., & Adleman, L. (1978). A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2) (S. 120–126). S. 121.
  13. Beutelspacher, A., Schwenk, J., & Wolfenstetter, K.-D. (2015). Moderne Verfahren der Kryptographie: Von RSA zu Zero-Knowledge (8., überarbeitete Auflage). Springer Spektrum. S. 2.
  14. Coutinho, S. C. (1999). The mathematics of ciphers: Number theory and RSA cryptography. A K Peters. S. 170.
  15. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 245.
  16. Diffie, W., & Hellman, M. (1976). New directions in cryptography. IEEE Transactions on Information Theory, 22(6) (S. 644–654). S. 649.
  17. Rivest, R. L., Shamir, A., & Adleman, L. (1978). A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2) (S. 120–126). S. 120.
  18. Beutelspacher, A., Schwenk, J., & Wolfenstetter, K.-D. (2015). Moderne Verfahren der Kryptographie: Von RSA zu Zero-Knowledge (8., überarbeitete Auflage). Springer Spektrum. S. 111.