CPA Spiel
Szenario:Wir betrachten aktive Angriffe.
D.h.Adarf sich Nachrichten nach Wahl verschlüsseln lassen.
Aerhält dazu Zugriff auf ein VerschlüsselungsorakelEnck(·).
Notation für die Fähigkeit des Orakelzugriffs:AEnck(·).
SpielCPA Ununterscheidbarkeit von Chiffretexten PrivKA,Πcpa(n) SeiΠein Verschlüsselungsverfahren undAein Angreifer.
1 k ←Gen(1n).
2 (m0,m1)← AEnck(·)(1n), d.h.AdarfEnck(m)für beliebigem anfragen.
3 Wähleb∈R {0,1}und verschlüsselec ←Enck(mb).
4 b0← AEnck(·)(c), d.h.AdarfEnck(m)für beliebigemanfragen.
5 PrivKA,Πcpa(n) =
(1 fürb=b0 0 sonst .
CPA Spiel
PrivKcpaA,Π(n) k←Gen(1n)
1n
c01=Enck(m01)
c0i =Enck(m0i) b∈R{0,1}
c=Enck(mb)
c0i+1=Enck m0i+1 c0q =Enck m0q Ausgabe:
=
(1 fallsb=b0 0 sonst
A m01∈ M m01
c01 ...
m0i∈ M m0i
c0i
m0, m1∈ M mit|m0|=|m1| (m0, m1)
c
m0i+1∈ M m0i+1
c0i+1 ...
m0q ∈ M m0q
c0q
b0∈ {0,1}
b0
CPA Sicherheit
DefinitionCPA Sicherheit
Ein VerschlüsselungsschemaΠ = (Gen,Enc,Dec)besitztununter- scheidbare Chiffretexte gegenüber CPAfalls für alle pptA:
Ws[PrivKA,Πcpa(n) =1]≤ 12+negl(n).
Der Wsraum ist definiert über die Münzwürfe vonAundPrivKA,Πcpa. Notation: Wir bezeichnenΠalsCPA sicher.
CPA-Unsicherheit deterministischer Verschlüsselung
SatzUnsicherheit deterministischer Verschlüsselung SeiΠ = (Gen,Enc,Dec)ein Verschlüsselungsschema mit deterministischemEnc. Dann istΠnichtCPA-sicher.
Beweis:Konstruieren folgenden CPA AngreiferA.
Algorithmus CPA AngreiferA EINGABE: 1n
1 Sende(m0,m1)für beliebige verschiedenem0,m1∈ M.
2 Erhaltec :=Enck(mb)fürb∈R {0,1}.
3 Stelle Orakelanfragec0:=Enck(m0).
AUSGABE:b0 =
(0 fallsc =c0 1 sonst .
CPA Angreifer für deterministische Verschlüsselungen
PrivKcpaA,Π(n)
k←Gen(1n) 1n
b∈R{0,1}
c=Enck(mb)
c0=Enck(m0) Ausgabe:
=
(1 fallsb=b0 0 sonst
A
m0, m1∈ M (m0, m1)
c m0 c0
b0= 0, fallsc=c0
b0= 1, fallsc6=c0 b0
Es giltWs[PrivKA,Πcpa(n) =1] =1.
Mult-CPA Spiel
Wie CPA-Spiel, nur dass mehrfache Verschlüsselungen erlaubt sind.
SpielMehrfache VerschlüsselungPrivKA,Πmult−cpa(n) SeiΠein Verschlüsselungsverfahren undAein Angreifer.
1 (M0,M1)← AEnck(·)(1n)mitM0= (m01, . . . ,mt0),M1= (m11, . . . ,mt1) und|m0i|=|m1i|für allei∈[t].
2 k ←Gen(1n).
3 Wähleb∈R {0,1}.b0 ← AEnck(·)((Enck(mb1), . . . ,Enck(mtb)).
4 PrivKA,Πmult−cpa(n) =
(1 fürb=b0 0 sonst .
DefinitionMult-CPA Sicherheit
Πheißtmult-CPAsicher, falls für alle pptAgilt
Ws[PrivKA,Πmult−cpa(n) =1]≤ 12+negl(n).
Mult-CPA Spiel
PrivKmult−cpaA,Π (n) k←Gen(1n) ˆ
ci=Enck( ˆmi)
b∈R{0,1}
cj=Enck
mjb C= (c1,· · ·, ct)
Ausgabe:
=
(1 fallsb=b0 0 sonst
1n
ˆ mi
ˆ ci
(M0, M1) C
ˆ mi ˆ ci
AngreiferA W¨ahlemˆi∈ M f¨uri= 1, . . . , q.
W¨ahleM0= (m10,· · ·, mt0) und M1= (m11,· · ·, mt1) mit|mj0|=|mj1|.
b0∈ {0,1}
b0
CPA-Sicherheit mehrfacher Verschlüsselung
SatzCPA-Sicherheit mehrfacher Verschlüsselung
SeiΠein Verschlüsselungsschema. Dann istΠCPA-sicher gdwΠ mult-CPA sicher ist.
Beweis “⇒”:Fürt=2. Rückrichtung ist trivial.
Ein beliebiger AngreiferAgewinntPrivKA,Πmult−cpa(n)mit Ws
1
2Ws[A(Enck(m10),Enck(m02)) =0] +1
2Ws[A(Enck(m11),Enck(m21)) =1].
Daraus folgtWs[PrivKA,Πmult−cpa(n) =1] +12 =
1
2Ws[A(Enck(m01),Enck(m20)) =0] +1
2Ws[A(Enck(m11),Enck(m21)) =1]
+ 1
2
Ws[A(Enck(m10),Enck(m12)) =0] +Ws[A(Enck(m10),Enck(m21)) =1]
Ziel:Zeigen, dassWs[PrivKA,Πmult−cpa(n) =1] + 12 ≤1+2negl(n).
Betrachten der Hybride
Lemma
1
2Ws[A(Enck(m01),Enck(m02)) =0] +12Ws[A(Enck(m10),Enck(m21)) =1]≤1
2+negl(n).
Beweis:SeiA0 Angreifer füreinfacheVerschlüsselungen.
A0 versucht mittelsAdas SpielPrivKAcpa0,Π(n)zu gewinnnen.
Strategievon CPA AngreiferA0 EINGABE: 1nund OrakelzugriffEnck(·)
1 A0 gibt 1nund OrakelzugriffEnck(·)anAweiter.
2 (M0,M1)← AEnck(·)(1n)mitM0= (m10,m02)undM1= (m11,m12).
3 A0 gibt(m20,m12)aus.A0 erhält Chiffretextc :=Enck(m2b).
4 b0← A(Enck(m10),c).
AUSGABE:b0
Ws[A0(Enck(m02)) =0] =Ws[A((Enck(m10),Enck(m02)) =0]und Ws[A0(Enck(m12)) =1] =Ws[A((Enck(m10),Enck(m12)) =1].
Betrachten der Hybride
PrivKcpaA0,Π(n) k←Gen(1n) ˆ
ci=Enck( ˆmi) b∈R{0,1}
c=Enck(mb)
c10=Enck m10
Ausgabe:
=
(1 fallsb=b0 0 sonst
1n ˆ mi ˆ ci
(m0, m1) c m10 c10
ˆ mi
ˆ ci
b0
A0
m0=m20 m1=m21 C= (c10, c)
1n ˆ mi ˆ ci
(M0, M1)
C
ˆ mi
ˆ ci
b0
A
F¨uri= 1, . . . , q:
ˆ mi∈ M.
M0= (m10, m20) M1= (m11, m21)
b0 ∈ {0,1}
Fortsetzung Hybridtechnik
Beweis(Fortsetzung):
CPA Sicherheit vonΠbei einzelnen Nachrichten impliziert 1
2+negl(n) ≥ Ws[PrivKAcpa0,Π(n) =1]
= 1
2Ws[A0(Enck(m02)) =0] +1
2Ws[A0(Enck(m12)) =1]
= 1
2Ws[A((Enck(m10),Enck(m20)) =0] + 1
2Ws[A((Enck(m10),Enck(m21)) =1] Lemma
Analog kann gezeigt werden, dass 1
2 +negl(n) ≥ 1
2Ws[A((Enck(m10),Enck(m12)) =0] + 1
2Ws[A((Enck(m11),Enck(m12)) =1]
Daraus folgtWs[PrivKA,Πmult−cpa(n)] +12 ≤1+negl(n). Satz fürt=2
Beweistechnik für allgemeines t
Definiere für 0≤i≤tHybride
C(i)= (Enck(m10), . . . ,Enck(mi0),Enck(mi+11 ), . . . ,Enck(mt1)).
Ws[PrivKA,Πmult−cpa(n) =1] = 12·Ws[A(C(t)) =0]+12·Ws[A(C(0)=1].
Daraus folgtWs[PrivKA,Πmult−cpa(n) =1] +t−12 =
1
2Ws[A(C(t)) =0] +1
2Ws[A(C(0)) =1]
+
t−1
X
i=1
1 2
Ws[A(C(i)) =0] +1
2Ws[A(C(i)) =1]
=
t
X
i=1
1 2
Ws[A(C(i−1)) =1] +Ws[A(C(i)) =0]
A0 unterscheidetEnck(mi0)undEnck(mi1)für zufälliges 0≤i≤t.
Entspricht dem Unterscheiden vonC(i)undC(i−1).
Liefert analogWs[PrivKA,Πmult−cpa(n)]≤ 12+t·negl(n) Satz.
Von fester zu beliebiger Nachrichtenlänge
Von fester zu beliebiger Nachrichtenlänge
SeiΠein Verschlüsselungsverfahren mit Klartexten aus{0,1}n. Splittem∈ {0,1}∗ inm1, . . .mt mitmi ∈ {0,1}n.
DefiniereΠ0vermögeEnck0(m) =Enck(m1). . .Enck(mt).
Aus vorigem Satz folgt:Π0 ist CPA-sicher, fallsΠCPA-sicher ist.