zu About Security #78: Hybrides Verfahren mit Signatur

Als Algorithmen sollen AES als symmetrisches und RSA als asymmetrisches System verwendet werden. Die folgenden Aussagen gelten natürlich entsprechend auch für alle anderen Systeme.

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'.

Soll die Integrität des Klartexts sichergestellt werden, sind zusätzlich folgende Funktionen notwendig:

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

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