Cryptography Reference
In-Depth Information
verwenden (für Schlüssel k der Länge b ). In der Tat wurde dies in der Praxis vor der
Einführung des HMAC häufig gemacht. Diese Konstruktion ist, zumindest für iterierte
Hashfunktionen, allerdings unsicher, wie in Aufgabe 9.8.8 gezeigt werden soll. Ebenso ist
die Variante T ( x, k )= h ( x · k ) ungeeignet (siehe auch Abschnitt 9.9).
9.7
CCA-sichere symmetrische Kryptoschemen
Wie in Abschnitt 5.6 erwähnt können MACs dazu verwendet werden, CCA-sichere Kryp-
toschemen zu konstruieren, d. h. Kryptoschemen, die Sicherheit unter Angriffen mit Chif-
fretextwahl (»Chosen Ciphertext Attacks (CCA)«) und Klartextwahl (»Chosen Plaintext
Attacks (CPA)«) bieten. Wir wollen uns nun eine entsprechende Konstruktion überlegen
und ihre Sicherheit beweisen.
Im Folgenden nennen wir ein symmetrisches l -Kryptoschema, das sicher ist im Sinne
von Abschnitt 5.3, ein CPA-sicheres l -Kryptoschema (vgl. auch Abschnitt 2.4.1). Es sei
S CPA =( K CPA ,E,D ) ein solches Kryptoschema. Des Weiteren nehmen wir an, dass wir
einen MAC
M =( K MAC ,T ) gegeben haben, so dass T auf allen durch
S CPA erzeugbaren
Chiffretexten definiert ist.
Wir konstruieren daraus ein CCA-sicheres symmetrisches l -Kryptoschema
S CCA wie
folgt: Ein Klartext wird mit
S CPA verschlüsselt. Für den resultierenden Chiffretext wird
ein MAC gemäß
berechnet und das resultierende Etikett wird an den Chiffretext
gehängt. Chiffretext und Etikett bilden zusammen den neuen Chiffretext des Schemas
S CCA .
Genauer ist
M
S CCA wie folgt definiert:
S CCA =( K CCA ,E ,D )
mit K CCA = K CPA × K MAC . Der Chiffrieralgorithmus E ist der folgende:
E ( x : { 0 , 1 }
l∗ , ( k e ,k m ): K CCA ): { 0 , 1 }
1. CPA-Verschlüsselung
c = E ( x, k e )
2. Etikettberechnung
t = T ( c, k m )
3. Ausgabe
gib ( c, t ) zurück
Entsprechend ist der Dechiffrieralgorithmus definiert als:
D (( c, t ):
} ×{
} , ( k e ,k m ): K CCA ):
}
{
0 , 1
0 , 1
{
0 , 1
1. Teste Etikett
t = T ( c, k m )
Falls t = t , dann Ausgabe
(»Dechiffrierung ist fehlgeschlagen«)
2. CPA-Entschlüsselung
x = D ( c, k e )
3. Ausgabe
gib x zurück
Search WWH ::




Custom Search