Cryptography Reference
In-Depth Information
A
das Bit
b
=0
aus. Ansonsten wird
01
l−
1
als Klartext zurürckgeliefert. In diesem Fall
gibt
A
das Bit
b
=1
aus. Man sieht leicht, dass sich
A
niemals irrt, d. h., es gilt immer
b
=
b
. Also erhalten wir adv
CCA
(
A,
R-CTR-
)=1
.
Die Eigenschaft, die der Angreifer hier ausnutzt, ist, dass ein gegebener Chiffretext
leicht so manipuliert werden kann, dass sich vorhersagbare Änderungen im resultierenden
Klartext ergeben. Die CCA-Sicherheit macht solche Manipulationen unmöglich. Man
spricht deshalb auch von
unverformbarer Verschlüsselung
(
non-malleable encryption
).
Es sei zum Schluss bemerkt, dass man ein Kryptoschema, das sicher ist im Sinne
von Abschnitt 5.3, leicht in ein Kryptoschema überführen kann, das bzgl. der CCA-
Sicherheit sicher ist. Man muss dazu lediglich den Chiffretext mit einem MAC (
Message
Authentication Code
) kombinieren. Wir werden MACs in Kapitel 9 kennenlernen und
dann nochmals kurz auf die CCA-Sicherheit zu sprechen kommen.
B
5.7
Aufgaben
Aufgabe
5.7.1 (Übertragungsfehler bei den Betriebsarten)
.
Wir wollen untersuchen, in-
wieweit sich Übertragungsfehler auf die Dechiffrierung auswirken. Es sei dazu
ein
beliebiges symmetrisches
l
-ECB-,
l
-CBC-,
l
-R-CBC- bzw.
l
-R-CTR-Kryptoschema. Wei-
ter sei
x
S
y
|
gilt und der sich in genau einem Bit von
y
unterscheidet. In wievielen Bits unterscheidet
sich
x
=
D
(
y
,k
)
von
x
höchstens? Mit anderen Worten, wie stark wirkt sich das Kippen
eines Bits auf dem Übertragungsweg aus?
Aufgabe
5.7.2 (beliebige Nachrichtenlänge)
.
Wir haben bislang nur Kryptoschemen be-
trachtet, die Klartexte verschlüsseln können, deren Länge ein Vielfaches einer gegebenen
Blocklänge ist. Das ist letztlich unpraktikabel, weil Daten beliebige Längen haben kön-
nen.
Überlegen Sie sich, wie Sie ein beliebiges symmetrisches
l
-Block-Kryptoschema
l∗
,
k
ein Schlüssel,
y
=
E
(
x, k
)
und
y
∈{
0
,
1
}
ein Bitvektor, für den
|
y
|
=
|
S
S
erhalten, mit dem man beliebige
Klartexte verschlüsseln kann, die Klartextmenge also
erweitern können, so dass Sie ein Kryptoschema
l∗
ist. Beweisen
Sie, dass Ihre Konstruktion sicher ist, d. h., dass es zu jedem Angreifer
A
auf
{
0
,
1
}
∗
statt
{
0
,
1
}
S
einen
gibt mit adv
(
A
,
S
)
)
.
Hinweis: Füllen Sie den gegebenen Klartext geeignet auf, damit die Länge des resul-
tierenden Klartextes ein Vielfaches von
l
ist und ein korrektes Dechiffrieren möglich ist.
Aufgabe
5.7.3 (Angebote mit Nachrichten verschiedener Länge)
.
Wir haben in Definiti-
on 5.3.1 festgelegt, dass die Angebotshälften, die ein Angreifer auf ein
l
-Kryptoschema
ausgeben darf, gleiche Länge haben müssen. Zeigen Sie, dass jedes
l
-Kryptoschema (mit
Klartextmenge
Angreifer
A
auf
S
≤
adv
(
A,
S
l∗
) unsicher wäre, wenn wir auf diese Forderung verzichten würden.
Geben Sie also für jedes
l
-Kryptoschema
{
0
,
1
}
einen
l
-Angreifer
A
an, der Angebotshälften
verschiedener Länge ausgeben darf und für den adv
(
A,
S
S
)
groß ist. Ihr Angreifer sollte
dabei nur wenig Ressourcen benötigen.
Hinweis: Überlegen Sie sich, dass es eine »kurze« Nachricht
x
geben muss, so dass jeder
Chiffretext zu
x
für jeden Schlüssel länger ist als jeder Chiffretext zur leeren Nachricht
für jeden Schlüssel.