目标:安全的PRG => 流密码是语义安全的。
G:K->{0,1}^n 安全的PRG,如果G是安全的,那么从G提取的密钥流是语义安全的。无法证明完美保密性,因为流密码较短,不可能完全安全。
如何证明?
任意的语义安全攻击者A,存在一个PRG攻击者B,使得Adv[A,E] <= 2*Adv[B,G]。A对流密码有可忽略优势,B对PRG有可忽略优势。
Challenger随机选一个秘钥,将GK加密切换为用r加密,用真正的随机填充而非伪随机填充。
攻击者无法察觉,因为生成器是安全的,无法赢得游戏,流密码一定是安全的。
proof let A be a semantic security adversary attacking E.
claim1:
∣
P
r
[
R
0
]
−
P
r
[
R
1
]
∣
=
A
d
v
s
s
[
A
,
O
T
P
]
=
0
|Pr[R_{0}] - Pr[R_{1}]| = Adv_{ss}[A, OTP] = 0
∣Pr[R0]−Pr[R1]∣=Advss[A,OTP]=0
claim2: 存在一个PRG攻击者B,
∣
P
r
[
W
b
]
−
P
r
[
R
b
]
∣
=
A
d
v
s
s
[
B
,
G
]
|Pr[W_{b}] - Pr[R_{b}]| = Adv_{ss}[B, G]
∣Pr[Wb]−Pr[Rb]∣=Advss[B,G]
=>
A
d
v
s
s
[
A
,
E
]
=
∣
P
r
[
W
0
]
−
P
r
[
W
1
]
∣
<
=
2
∗
A
d
v
s
s
[
B
,
G
]
=
2
∗
A
d
v
p
r
g
[
B
,
G
]
Adv_{ss}[A, E] = |Pr[W_{0}] - Pr[W_{1}]| <= 2*Adv_{ss}[B, G] = 2*Adv_{prg}[B, G]
Advss[A,E]=∣Pr[W0]−Pr[W1]∣<=2∗Advss[B,G]=2∗Advprg[B,G]
版权归原作者 learn to create 所有, 如有侵权,请联系我们删除。