Skip to content

Verfahren der Kryptographie, Teil 11: Hybride Verschlüsselungsverfahren

Ein hybrides Verschlüsselungsverfahren wurde bereits bei der Vorstellung von Anwendungen des AES-Algorithmus erwähnt. Bei einem hybriden Verfahren werden ein symmetrisches und ein asymmetrisches Verfahren kombiniert, um in den Genuss der Vorteile beider Verfahren zu kommen: Während symmetrische Verfahren meist deutlich schneller zu berechnen sind als ihre asymmetrischen Kollegen, haben die den Vorteil des einfacheren Schlüsselaustauschs.

Die hybride Verschlüsselung lässt sich zwar auch allgemein erklären, ich verwende für die Beschreibung aber gleich zwei konkrete Algorithmen. Und zwar wird AES als symmetrisches und RSA als asymmetrisches System verwendet. Die folgenden Aussagen gelten natürlich auch für alle anderen System.

Die verschiedenen Funktionen werden folgendermaßen bezeichnet:

AESver(k, m)
ist die AES-Verschlüsselung des Blocks m mit dem Schlüssel k,
AESent(k, m’)
entsprechend die AES-Entschlüsselung eines verschlüsselten Blocks m’.
RSAver(c, m)
ist die RSA-Verschlüsselung des Blocks m mit dem öffentlichen Schlüssel c,
RSAent(d, m’)
entsprechend die RSA-Entschlüsselung eines verschlüsselten Blocks m’.

Das hybride Verfahren läuft dann folgendermaßen ab, siehe auch Abbildung 3:

Verschlüsselung:

  • Erzeugung eines zufälligen Schlüssels k für die AES-Verschlüsselung
  • AES-Verschlüsselung des Klartexts m mit dem Schlüssel k:
    AESver(k, m) =: m’
  • RSA-Verschlüsselung des (geheimzuhaltenden) AES-Schlüssels k mit dem öffentlichen RSA-Schlüssel c des Empfängers:
    RSAver(c, k) =: k’
  • Verbinden von m’ und k’ und Übertragung an den Empfänger:
    (m’, k’)

Entschlüsselung:

  • RSA-Entschlüsselung der 2. Komponente (= der Schlüssel für AES) der empfangenen Nachricht mit dem privaten RSA-Schlüssel des Empfängers:
    RSAent(d, k’) =: k
  • AES-Entschlüsselung der 1. Komponente mit dem soeben entschlüsselten Schlüssel k:
    AESent(k, m’) =: m

AES und RSA als Hybrides Verfahren
Abb. 3: AES und RSA als Hybrides Verfahren (Klick für großes Bild)

Ein hybrides Verschlüsselungsverfahren mit Signatur

Soll zusätzlich die Integrität des Klartexts sichergestellt werden, muss der Sender ihn vor dem Verschlüsseln mit seinem geheimem Schlüssel signieren. Danach werden Klartext und Signatur gemeinsam verschlüsselt. Der Empfänger prüft nach dem Entschlüsseln die Signatur mit dem öffentlichen Schlüssel des Senders.

Zusätzlich zu den Funktionen zur Ver- und Entschlüsselung sind die folgenden Funktionen notwendig:

RSAsign(s, m)
signiert den Klartextblock m mit dem geheimen Schlüssel s,
RSAtest(t, m, SIG)
testet die Signatur SIG unter dem Klartext m mit dem Testschlüssel t.

Das hybride Verfahren mit Signatur läuft dann folgendermaßen ab:

Signieren und Verschlüsseln:

  • Signatur des Klartexts m mit dem geheimen Signierschlüssel s des Senders:
    RSAsign(s, m) =: SIG
  • Klartext m und Signatur SIG werden verbunden:
    (m, SIG) =: M
  • Erzeugung eines zufälligen Schlüssels k für die AES-Verschlüsselung
  • AES-Verschlüsselung des signierten Klartexts M mit Schlüssel k:
    AESver(k, M) =: M’
  • RSA-Verschlüsselung des (geheimzuhaltenden) Schlüssels k mit dem öffentlichen Schlüssel c des Empfängers:
    RSAver(c, k) =: k’
  • Verbinden von M’ und k’ und Übertragung an den Empfänger:
    (M’, k’)

Entschlüsseln und Testen:

  • RSA-Entschlüsselung der 2. Komponente (= der Schlüssel für AES) der empfangenen Nachricht mit dem privaten Schlüssel des Empfängers:
    RSAent(d, k’) =: k
  • AES-Entschlüsselung der 1. Komponente mit dem soeben entschlüsselten Schlüssel k:
    AESent(k, M’) =: M = (m, SIG)
  • Test der Signatur mit dem öffentlichen Testschlüssel t des Senders:
    RSAtest(t, m, SIG)

Nach der Beschreibung asymmetrischer Verfahren stellt sich die Frage, wie Sender und Empfänger an die benötigten öffentlichen Schlüssel ihrer jeweiligen Kommunikationspartner gelangen und dabei sicherstellen, dass wirklich die richtigen Schlüssel verwendet werden. Dies ist das Thema der nächsten Folge.

Carsten Eilers

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Standard-Text Smilies wie 🙂 und 😉 werden zu Bildern konvertiert.
BBCode-Formatierung erlaubt
Formular-Optionen

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!