Cryptography Reference
In-Depth Information
Nachricht in kleine Blöcke zerlegt werden muss, nämlich in Blöcke der Länge l/ 4 statt l ,
und für jeden dieser Blöcke ein Etikett berechnet werden muss.
Dass man auch einen sicheren, dennoch deutlich ezienteren MAC basierend auf Block-
Kryptosystemen konstruieren kann, zeigt der CBC-MAC, dem wir uns nun zuwenden.
9.3.2
Der CBC-MAC
Wie bereits erwähnt wird der CBC-MAC bzw. Varianten davon in der Praxis häufig zur
Nachrichtenauthentifizierung eingesetzt. Ein Etikett zu einer Nachricht wird im CBC-
MAC einfach durch Verschlüsselung der Nachricht in der CBC-Betriebsart berechnet.
Allerdings dient nur der letzte Block des Chiffretextes als Etikett; alle anderen Blöcke
werden ignoriert. Während man für eine sichere Verschlüsselung in der CBC-Betriebsart
den Initialisierungsvektor zufällig wählen musste, kommt man beim CBC-MAC mit einem
festen Initialisierungsvektor aus. Genauer ist der CBC-MAC wie folgt definiert.
l ,K B ,
l ,E B ,D B ) ein
Definition 9.3.1 (CBC-MAC). Es sei l> 0 und
B
=(
{
0 , 1
}
{
0 , 1
}
l -Block-Kryptosystem. Der dadurch induzierte CBC-MAC
M CBC ist gegeben durch
M CBC =( K B ,T CBC )
mit
l + ,k : K B ):
l
T CBC ( x :
{
0 , 1
}
{
0 , 1
}
1. Zerlege x in l -Blöcke: x = x 0 ...x m− 1 .
2. Setze y 1 = v .
3. Für i =0 ,...,m− 1 bestimme y i = E B ( y i− 1 ⊕ x i ,k ) .
4. Gib t = y m− 1 aus.
Dabei bezeichnet v ∈{ 0 , 1 }
l einen fest gewählten Initialisierungsvektor.
Wir halten folgende Aussage zur Sicherheit des CBC-MAC fest, ohne diese aber zu
präzisieren oder gar zu beweisen, denn der Beweis ist sehr aufwändig.
Bemerkung 9.3.1 . Der CBC-MAC ist sicher, falls das zugrunde liegende Block-Krypto-
system sicher ist und der CBC-MAC nur auf Nachrichten gleicher Länge angewendet
wird.
Es ist leicht zu sehen, dass der CBC-MAC unsicher ist, falls er auf Nachrichten
unterschiedlicher Länge angewendet werden darf (siehe Aufgabe 9.8.6). Dies mag zu-
nächst überraschen, da die Verschlüsselung von Nachrichten beliebiger Länge in der
CBC-Betriebsart unproblematisch ist. Im Vergleich zur Verschlüsselung ist ebenso über-
raschend, dass der CBC-MAC unsicher ist, wenn man statt eines festen Initialisierungs-
vektors jeweils einen zufälligen Initialisierungsvektor wählt und diesen vor das berechnete
Etikett hängt (siehe Aufgabe 9.8.7).
Um den CBC-MAC auch dann sicher zu machen, wenn er auf Nachrichten verschiede-
ner Länge angewendet wird, gibt es verschiedene Ansätze. Eine Möglichkeit ist, die Länge
der Nachrichten vorne als ersten Block zu ergänzen und für die so erhaltene erweiterte
Nachricht wie üblich ein Etikett mit dem CBC-MAC zu berechnen; interessanterweise ist
Search WWH ::




Custom Search