听课和做题时遇到的一些反例,这里随意记录下。
有硬核谓词的函数不一定是单向的。令函数 f ( x ′ ∥ x ′ ′ ) = x ′ ′ f(x'\|x'')=x'' f(x′∥x′′)=x′′,易知 b ( x ′ ∥ x ′ ′ ) = x ′ b(x'\|x'')=x' b(x′∥x′′)=x′ 是其硬核谓词,但是 f f f 不是单向函数。但如果 f f f 是 1-1 的,那么 f f f 是弱单向的。
f ( x ) f(x) f(x) 是 OWF,则它的迭代 f ( f ( x ) ) f(f(x)) f(f(x)) 不一定是 OWF。
例如
f
(
x
′
∥
x
′
′
)
=
g
(
x
′
′
)
∥
0
n
f(x'\|x'') = g(x'')\|0^n
f(x′∥x′′)=g(x′′)∥0n,其中
g
(
x
′
′
)
g(x'')
g(x′′) 是保长 OWF。此时,
f
(
f
(
x
′
∥
x
′
′
)
)
=
f
(
g
(
x
′
′
)
∥
0
n
)
=
g
(
0
n
)
∥
0
n
f(f(x'\|x'')) = f(g(x'')\|0^n) = g(0^n)\|0^n
f(f(x′∥x′′))=f(g(x′′)∥0n)=g(0n)∥0n
于是任意的
x
x
x 都是
g
(
0
n
)
∥
0
n
g(0^n)\|0^n
g(0n)∥0n 的原像。
若 f f f 是保长单向函数,定义函数 g ( x ) = f ( x ) ⊕ x g(x) = f(x) \oplus x g(x)=f(x)⊕x,则 g g g 不一定是单向函数。
如果强行归约,会发现概率损失因子是指数级。
令
h
:
h:
h: 是保长单向函数,构造
f
(
x
)
=
f
(
x
′
∥
x
′
′
)
=
h
(
x
′
′
)
∥
0
n
f(x) = f(x'\|x'') = h(x'')\|0^n
f(x)=f(x′∥x′′)=h(x′′)∥0n
其中
x
′
,
x
′
′
∈
{
0
,
1
}
n
x',x'' \in \{0,1\}^n
x′,x′′∈{0,1}n,可以证明
f
f
f 是保长单向函数(归约)。
此时,
g
(
x
)
=
f
(
x
′
∥
x
′
′
)
⊕
x
′
∥
x
′
′
=
h
(
x
′
′
)
⊕
x
′
∥
x
′
′
g(x) = f(x'\|x'') \oplus x'\|x'' = h(x'') \oplus x' \|x''
g(x)=f(x′∥x′′)⊕x′∥x′′=h(x′′)⊕x′∥x′′
容易看出存在 PPT 求逆算法:
成功概率为 P r x ← U 2 n [ A ( g ( x ) , 1 n ) ∈ g − 1 ( g ( x ) ) ] = 1 \underset{x \leftarrow U_{2n}}{Pr}[A(g(x),1^n) \in g^{-1}(g(x))]=1 x←U2nPr[A(g(x),1n)∈g−1(g(x))]=1
若 f f f 是保长单向函数,定义函数 g ( x , y ) = f ( x ) ⊕ f ( y ) g(x,y) = f(x) \oplus f(y) g(x,y)=f(x)⊕f(y),则 g g g 不一定是单向函数。
如果强行归约,会发现概率损失因子是指数级。
令
h
:
h:
h: 是保长单向函数,构造
f
(
x
)
=
{
h
(
x
′
′
)
∥
x
′
,
x
′
≠
0
n
h
(
x
′
′
)
⊕
x
′
′
∥
0
n
,
x
′
=
0
n
f(x) = \left\{
其中
x
′
,
x
′
′
∈
{
0
,
1
}
n
x',x'' \in \{0,1\}^n
x′,x′′∈{0,1}n,可以证明
f
f
f 是保长单向函数:对于
x
x
x 在
x
′
=
0
n
x'=0^n
x′=0n 和
x
′
≠
0
n
x' \neq 0^n
x′=0n 时的像不相交,而当
x
′
≠
0
n
x' \neq 0^n
x′=0n 时(占比为
1
−
n
e
g
l
(
n
)
1-negl(n)
1−negl(n))它是保长单向的(归约)。
此时,
g
(
x
,
y
)
=
f
(
x
′
∥
x
′
′
)
⊕
f
(
y
′
∥
y
′
′
)
g(x,y) = f(x'\|x'') \oplus f(y'\|y'')
g(x,y)=f(x′∥x′′)⊕f(y′∥y′′)
存在 PPT 求逆算法:
成功概率为 P r x , y ← U 2 n [ A ( g ( x , y ) , 1 n ) ∈ g − 1 ( g ( x , y ) ) ] = 1 − n e g l ( n ) \underset{x,y \leftarrow U_{2n}}{Pr}[A(g(x,y),1^n) \in g^{-1}(g(x,y))] = 1-negl(n) x,y←U2nPr[A(g(x,y),1n)∈g−1(g(x,y))]=1−negl(n)
设 f f f 是 OWF, b b b 是其硬核,令 G 1 ( x ) = b ( x ) ∥ f ( x ) G_1(x) = b(x)\|f(x) G1(x)=b(x)∥f(x),那么其迭代 G p ( x ) G_p(x) Gp(x) 不一定是伪随机生成器。
令
f
f
f 是保长 OWF,构造
g
(
x
′
∥
x
′
′
)
=
1
n
∥
f
(
x
′
)
g(x'\|x'') = 1^n\|f(x')
g(x′∥x′′)=1n∥f(x′),那么
G
1
(
x
)
=
b
(
x
)
∥
(
1
n
∥
f
(
x
′
)
)
G
2
(
x
)
=
b
(
x
)
∥
b
(
1
n
∥
f
(
x
′
)
)
∥
(
1
n
∥
f
(
1
n
)
)
G
3
(
x
)
=
b
(
x
)
∥
b
(
1
n
∥
f
(
x
′
)
)
∥
b
(
1
n
∥
f
(
1
n
)
)
∥
(
1
n
∥
f
(
1
n
)
)
⋯
明显
G
p
(
x
)
G_p(x)
Gp(x) 不是 PRG,因为
f
f
f 迭代退化了。
设 G : { 0 , 1 } 2 n → { 0 , 1 } ∗ G:\{0,1\}^{2n} \to \{0,1\}^* G:{0,1}2n→{0,1}∗ 是 PRG,但是 G ′ ( x ′ ∥ x ′ ′ ) = G ( x ′ ∥ 0 n ) G'(x'\|x'') = G(x'\|0^n) G′(x′∥x′′)=G(x′∥0n) 不一定是 PRG。
令 f ( x ′ ∥ x ′ ′ ) = x ′ ∥ p ( x ′ ′ ) f(x'\|x'') = x'\|p(x'') f(x′∥x′′)=x′∥p(x′′),其中 p ( x ′ ′ ) p(x'') p(x′′) 是 OWP,且它满足 p ( 0 n ) → 0 n p(0^n) \to 0^n p(0n)→0n,易知 f f f 是 OWP。
此时,
f
f
f 仅对于形式为
x
′
∥
0
n
x'\|0^n
x′∥0n 的输入,它迭代退化,
f
(
f
(
x
′
∥
0
n
)
)
=
f
(
x
′
∥
0
n
)
=
x
′
∥
0
n
f(f(x'\|0^n)) = f(x'\|0^n) = x'\|0^n
f(f(x′∥0n))=f(x′∥0n)=x′∥0n
于是,使用 OWP 和 Hardcore 迭代的那种 PRG 构造下,
G
(
U
2
n
)
G(U_{2n})
G(U2n) 依旧是 PRG,但
G
′
(
U
n
∥
0
n
)
G'(U_n\|0^n)
G′(Un∥0n) 的状态
s
i
s_i
si 总会收敛到同一值,从而后续的序列
σ
i
=
b
(
s
i
)
\sigma_i = b(s_i)
σi=b(si) 都相同。
设 f : K × X → Y f:K \times X \to Y f:K×X→Y 是伪随机函数,定义函数 g ( k , ( x , y ) ) = f ( k , x ) ⊕ f ( k , y ) g(k,(x,y))=f(k,x) \oplus f(k,y) g(k,(x,y))=f(k,x)⊕f(k,y),则 g g g 不一定是伪随机函数。
如果强行归约,会发现无论 A A A 的区分优势有多大, A ′ A' A′ 的区分优势总是为零。
存在 PPT 区分器:
区分优势为 A d v D = ∣ P r [ E x p t D G n , R F n ( 1 n , b = 0 ) = 1 ] − P r [ E x p t D G n , R F n ( 1 n , b = 1 ) = 1 ] ∣ = 1 − n e g l ( n ) Adv_D = \left| Pr[Expt_D^{G_n,\, RF_n}(1^n,b=0)=1] - Pr[Expt_D^{G_n,\, RF_n}(1^n,b=1)=1] \right| = 1-negl(n) AdvD= Pr[ExptDGn,RFn(1n,b=0)=1]−Pr[ExptDGn,RFn(1n,b=1)=1] =1−negl(n)
一个 Hash 抗碰撞,但不一定是抗原像的。即:存在找一个原像容易,但找到两个原像困难的 Hash 函数。(这俩不等价吧?)
令
H
1
H_1
H1 是 OWHF,令
H
2
:
{
0
,
1
}
n
+
1
→
{
0
,
1
}
n
H_2:\{0,1\}^{n+1} \to \{0,1\}^n
H2:{0,1}n+1→{0,1}n 为
H
2
(
b
∥
x
)
=
{
x
,
b
=
0
H
1
(
x
)
,
b
=
1
H_2(b\|x) = \left\{
H
2
H_2
H2 不抗原像。任给像
y
y
y,找到一个原像
0
∥
y
0\|y
0∥y 是容易的。
但找另一个原像 1 ∥ x 1\|x 1∥x,使得 H 1 ( x ) = y H_1(x)=y H1(x)=y 是困难的,因为 OWHF。
另一种更好的构造。假如 f f f 是可逆置换, g g g 是抗碰撞函数,它们的值域、像空间的关系为:不交、互补
f : S 1 → S 1 ′ g : S 2 → S 2 ′ S 1 ∩ S 2 = ∅ , S 1 ′ ∩ S 2 ′ = ∅ S 1 ∪ S 2 = { 0 , 1 } l ( n ) , S 1 ′ ∪ S 2 ′ = { 0 , 1 } n 2 l ( n ) − n = O ( p o l y ( n ) ) f:S_1 \to S_1'\\ g:S_2 \to S_2'\\ S_1 \cap S_2 = \empty,\,\, S_1' \cap S_2' = \empty\\ S_1 \cup S_2 = \{0,1\}^{l(n)},\,\, S_1' \cup S_2' = \{0,1\}^n\\ 2^{l(n) - n} = O(poly(n)) f:S1→S1′g:S2→S2′S1∩S2=∅,S1′∩S2′=∅S1∪S2={0,1}l(n),S1′∪S2′={0,1}n2l(n)−n=O(poly(n))
定义如下 Hash 函数
h
(
x
)
=
{
f
(
x
)
,
x
∈
S
1
g
(
x
)
,
x
∈
S
2
h(x) = \left\{
当 S 1 , S 2 S_1,S_2 S1,S2 的占比都不可忽略时, h ( x ) h(x) h(x) 是一个不抗原像的抗碰撞(抗第二原像) Hash 函数!
MD 迭代不保持 UOW 性。
设
F
k
:
{
0
,
1
}
l
+
t
→
{
0
,
1
}
l
F_k:\{0,1\}^{l+t} \to \{0,1\}^l
Fk:{0,1}l+t→{0,1}l 是 UOWHF,定义
H
s
:
{
0
,
1
}
l
+
t
→
{
0
,
1
}
l
+
k
H_s:\{0,1\}^{l+t} \to \{0,1\}^{l+k}
Hs:{0,1}l+t→{0,1}l+k
H
s
(
x
1
∥
x
2
∥
x
3
)
=
{
F
s
(
x
1
∥
x
2
∥
x
3
)
∥
s
,
x
2
≠
s
1
l
∥
1
k
,
x
2
=
s
H_s(x_1\|x_2\|x_3) = \left\{
那么
H
s
H_s
Hs 是 UOWHF,但是
M
D
2
(
H
s
,
m
)
=
H
s
(
H
s
(
I
V
∥
m
0
)
∥
m
1
)
MD_2(H_s,m) = H_s(H_s(IV\|m_0)\|m_1)
MD2(Hs,m)=Hs(Hs(IV∥m0)∥m1) 不满足 UOW:选取挑战
I
V
=
I
V
1
∥
I
V
2
,
m
=
0
t
−
k
∥
0
t
−
k
IV=IV_1\|IV_2,\, m=0^{t-k}\|0^{t-k}
IV=IV1∥IV2,m=0t−k∥0t−k,收到
s
s
s,如果
s
≠
I
V
2
s \neq IV_2
s=IV2 则选取
m
′
=
1
t
−
k
∥
0
t
−
k
m'=1^{t-k}\|0^{t-k}
m′=1t−k∥0t−k,那么
m
′
m'
m′ 就是第二原像。
一个收缩的 OWF,不一定是 OWHF。即:存在抗原像,但不抗第二原像的 Hash 函数。
令 H 1 H_1 H1 是 OWHF,令 H 2 ( x ′ ∥ x ′ ′ ) = H 1 ( x ′ ′ ) H_2(x'\|x'') = H_1(x'') H2(x′∥x′′)=H1(x′′),明显 H 2 H_2 H2 是抗原像的。
给定 x ′ ∥ x ′ ′ x'\|x'' x′∥x′′,输出 H 2 ( x ′ ∥ x ′ ′ ) H_2(x'\|x'') H2(x′∥x′′) 的第二原像是容易的: x ′ ′ ′ ∥ x ′ ′ x'''\|x'' x′′′∥x′′,其中任取 x ′ ′ ′ ≠ x ′ x''' \neq x' x′′′=x′ 即可。