Hardcore-Prädikat
Ziel:Destilliere Komplexität des Invertierens auf ein Bit.
DefinitionHardcore-Prädikat
SeiΠf eine Einwegfunktion. Seihc ein deterministischer pt Alg mit Ausgabe eines Bitshc(x)bei Eingabex ∈D.hc heißt
Hardcore-Prädikatfürf falls für alle ppt AlgorithmenAgilt:
Ws[A(1n,I,f(x)) =hc(x)]]≤ 12+negl(n).
Intuition:Bildf(x)hilft nicht beim Berechnen vonhc(x).
Spiel zum Berechnen des Hardcore-Prädikats
CompHCA,Πf(n)
I←Gen(1n) x←Samp(I)
y←fI(x) (1n, I, y)
Ausgabe:
(1 fallshc(x) =h 0 sonst
A
Berechneh.
h
Fallshcein Hardcoreprädikat ist, so gilt für alle pptA
Ws[CompHCA,Πf(n) =1]=Ws[A(1n,I,f(x)) =hc(x)]]≤ 12+negl(n).
Hardcore-Prädikate
hc(x) :=lsb(x)(least significant bit) ist ein Hardcoreprädikat für die RSA EinwegpermutationΠRSA(unter der RSA Annahme).
Es kann kein festes Hardcoreprädikathcfür alle Einwegfunktionen geben.
Warum? SeiΠf Einwegfunktion mit Hardcoreprädikathc. Dann ist Πgmitg(x) :=f(x)||hc(x)auch eine Einwegfunktion, aberhckein Hardcoreprädikat vonΠg.
Aber: Man kann jede EinwegfunktionΠf zu einer Einwegfunktion Πgmit einem festen Hardcoreprädikat verändern.
Goldreich-Levin Hardcore-Prädikat
Satzvon Goldreich-Levin
SeiΠf eine Einwegpermutation. Dann existiert eine EinwegpermutationΠgmit Hardcoreprädikathc.
Konstruktion:(ohne Beweis)
Seif eine Einwegpermutation mit Definitionsbereich{0,1}n. Seix =x1. . .xn∈ {0,1}n. Konstruiere
g(x,r) := (f(x),r)mitr ∈R{0,1}n. Offenbar istgebenfalls eine Einwegpermutation.
Wir konstruieren ein Hardcore-Prädikathc fürgmittels hc(x,r) =hx,ri=Pn
i=1xiri mod2.
Beweis der Hardcore-Eigenschaft ist nicht-trivial.
Verschlüsselung aus Trapdoor-Einwegpermutation
Algorithmus Πcpa
SeiΠf eine Td-Einwegpermutation mit Hardcore-Prädikathc.
1 Gen:(I,td)←Gen(1n). Ausgabepk =Iundsk =td.
2 Enc:Fürm∈ {0,1}setzex ←Sample(I)und berechne c ←(f(x),hc(x)⊕m).
3 Dec:Für Chiffretextc= (c1,c2)berechnex :=Invtd(c1)und m:=c2⊕hc(x).
Intuition:
hc(x)ist “pseudozufällig” gegebenf(x).
D.h.hc(x)⊕mist ununterscheidbar von 1-Bit One-Time Pad.
Bsp: Verschlüsselung mit RSA-Td-Einwegpermutation
Algorithmus Πrsacpa
SeiΠrsadie RSA Td-Einwegpermutation mit Hardcore-Prädikathc.
1 Gen:(N,e,d)←GenRSA(1n). Ausgabepk = (N,e)und sk = (N,d).
2 Enc:Fürm∈ {0,1}wähler ∈RZ∗N und berechne c ←(remodN,hc(r)⊕m).
3 Dec:Für Chiffretextc= (c1,c2)berechner :=c1d modN und m←c2⊕hc(r).
CPA-Sicherheit unserer Konstruktion
SatzCPA-Sicherheit vonΠcpa
SeiΠf eine Trapdoor-Einwegpermutation mit Hardcore-Prädikathc.
Dann istΠcpaCPA-sicher.
Beweis:
SeiAein Angreifer mit Erfolgsws(n) =Ws[PubKA,Πcpa
f(n) =1].
OBdA(m0,m1)← A(pk)mit{m0,m1}={0,1}. (Warum?) VerwendenA, umA0 im SpielCompHCA0,Πf(n)zu konstruieren.
Algorithmus AngreiferA0 Eingabe:1n,I,y =f(x)∈D
1 Setzepk ←Iund berechne(m0,m1)← A(pk).
2 Wähleb,z ∈R{0,1}. Setzec2←mb⊕z.
3 b0← A(y,c2) Ausgabe:h=
(z fallsb=b0 .
Angreifer A
0für das Hardcore-Prädikat
CompHCA,Πf(n)
I←Gen(1n) x←Samp(I) y:=fI(x)
Ausgabe:
(1 hc(x) =h 0 sonst
(1n, I, y)
h
A0
pk=I (1n, pk)
b, z∈R{0,1}
c2= (mb⊕z) (c1=y, c2)
Ausgabe:
h=
(z ifb=b0 z⊕1else
A
(m0, m1)
b0
CPA-Sicherheit von Π
cpaBeweis:Fortsetzung
Seix =f−1(y). Idee: A0rätz =hc(x).
Es giltWs[A0(f(x)) =hc(x)] =
1
2·Ws[b=b0 |z =hc(x)] + 12·Ws[b6=b0|z6=hc(x)].
1. Fallz =hc(x):(y,c2)ist korrekte Verschlüsselung vonmb, d.h.
Ws[b=b0|z =hc(x)] =(n).
2. Fallz 6=hc(x): Es gilt (y,c2) = (f(x),z⊕mb)
= (f(x),z⊕1⊕mb⊕1) = (f(x),hc(x)⊕mb⊕1).
D.h.(y,c2)ist korrekte Verschlüsselung vonmb⊕1=m1−b. Ws[b6=b0|z 6=hc(x)] =Ws[1−b=b0 |z⊕1=hc(x)] =(n).
Dahc ein Hardcore-Prädikat ist, folgt
1
2+negl(n)≥Ws[A0(f(x)) =hc(x)] =(n).