Kleine Knobelaufgabe - Mac then Encrypt

Seldon
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 119
Registriert: 19. Apr 2012 18:12

Kleine Knobelaufgabe - Mac then Encrypt

Beitrag von Seldon » 8. Feb 2015 18:40

Ich habe mal aus Interesse nachgelesen, warum MAC-then-Encrypt nicht CCA-sicher ist. Hab's ohne Lösung nicht hinbekommen, aber vielleicht schafft ihr das :)

Wie wir in der Vorlesung gesehen haben, ist Encrypt-then-MAC ein IND-CCA sicheres Verfahren. Bob hat allerdings aus Versehen stattdessen MAC-then-Encrypt implementiert. Sei \(\mathcal{E}\) ein IND-CPA sicheres symmetrisches Verschlüsselungsverfahren und \(\mathcal{T}\) ein sUNF-CMA MAC-System. Daraus bastelte Bob \(\mathcal{E}_{MtE}\) wie folgt:

KGen: \(k_\mathcal{E}\leftarrow \text{KGen}_\mathcal{E}\), \(k_\mathcal{T} \leftarrow \text{KGen}_\mathcal{T}\)
\(\text{Enc}_{MtE}((k_\mathcal{E}, k_\mathcal{T}), m) :=\)
1. \(\tau \leftarrow \text{MAC}(k_\mathcal{T}, m)\)
2. \(C \leftarrow \text{Enc}_\mathcal{E}(k_\mathcal{E}, m||\tau)\)
3. \(\uparrow C\)

\(\text{Dec}_{MtE}((k_\mathcal{E}, k_\mathcal{T}), C) :=\)
1. \((m||\tau) \leftarrow \text{Dec}_\mathcal{E}(k_\mathcal{E}, C)\)
2. if \(VF(k_\mathcal{T}, m, \tau) = 1\) \(\uparrow m\) else \(\uparrow \bot\)

Zeige, dass \(\mathcal{E}_{MtE}\) im Allgemeinen nicht IND-CCA(2) sicher ist.

Tipp: Gib ein immer noch IND-CPA sicheres \(\mathcal{E}\) an, das ähnlich wie das bekannte \(m \oplus F(k,r)\) funktioniert, aber einen Schwachpunkt im IND-CCA-Spiel mit MtE bietet.

Lösung: http://cseweb.ucsd.edu/~mihir/papers/oem.pdf Seiten 14 und 18

Zurück zu „Archiv“