Cryptography Reference
In-Depth Information
Empfänger
Sender
m*
m
?
MAC(k, m)
= MAC(k, m*)
Abb. 2-7b. Der MAC wird vom Sender erzeugt und vom Empfänger nachgeprüft.
Der Empfänger kennt den geheimen Schlüssel k. Er kann aus der empfangenen Nachricht m*
ebenfalls den MAC(k, m*) berechnen und vergleichen, ob der empfangene MAC mit dem aus
m* berechneten MAC übereinstimmt. Die MAC-Werte MAC(k, m) und MAC(k, m*) stimmen
überein, wenn weder die Nachricht m noch ihr MAC-Wert MAC(k, m) bei der Übertragung
verändert wurden.
Eine Nachricht zusammen mit ihrem MAC hat folgende Eigenschaften:
Die Änderung einer einzigen Binärstelle in der Nachricht ändert den MAC drastisch (ca.
50 % der Bits ändern sich, gleicht einem neuen Zufallsmuster).
Änderung in der Reihenfolge der Blöcke … m i , m i+1 , … ändert den MAC drastisch.
Der MAC ist leicht zu berechnen, wenn der Schlüssel k bekannt ist.
Ein Angreifer kann aus Kenntnis von m und MAC(k, m) den Schlüssel k praktisch nicht
finden (nur durch Versuch mit 2 56 Schlüsseln).
Ein Angreifer kann aus Kenntnis von m und MAC(k, m), aber ohne Kenntnis des Schlüs-
sels k, keine manipulierte Nachricht m* mit einem gültigen MAC(k, m*) konstruieren.
Eine Nachricht m mit MAC(k, m) gewährleistet Integrität und Authentizität beim Empfän-
ger, jedoch keine Verbindlichkeit (Nicht-Abstreitbarkeit gegenüber z.B. dem Gericht).
Beide Parteien, Sender und Empfänger können gültige Nachrichten [m, MAC(k, m)] er-
zeugen.
Wie aus Abb. 2-7 zu erkennen ist, kann der DES-Algorithmus durch einen anderen Block-
Algorithmus ausgetauscht werden, z.B. den IDEA (Kap. 2.3) oder den AES (Kap. 2.6). Im
Falle des AES ist die Blocklänge z.B. 128 Bit und damit würde auch der MAC 128 Bit um-
fassen.
Sender und Empfänger kennen beide den geheimen Schlüssels k. Für beide ist es leicht mög-
lich, für eine fast frei gewählte Nachricht m* einen vorgegebenen MAC zu erfüllen: Sie wäh-
len t1 Blöcke m* 1 , m* 2 , … m* t1 nach freiem Belieben und berechnen den vorletzten DES-
Ausgang c* t1 , der sich aufgrund von m* 1 , m* 2 , … m* t1 ergeben hat. Der letzte Block m* t
wird so gewählt, dass er den vorgegebenen MAC-Wert erfüllt. Der letzte Block m* t kann mit
(2.2-12) berechnet werden.
m*
c*
DES (MAC)
1
(2.2-12)
t
i 1
Search WWH ::




Custom Search