继续 “安全性归约” 内容的整理。下面列出了各种安全性定义,方便查找。
概率总体:令 I I I 是可抽样的可数(有限/无限)集合,由 I I I 索引的随机变量序列记为 X = { X i } i ∈ I X = \{X_i\}_{i \in I} X={Xi}i∈I,其中 ∀ i ∈ I , X i \forall i \in I,X_i ∀i∈I,Xi 是域 D i ⊂ { 0 , 1 } ∗ D_i \sub \{0,1\}^* Di⊂{0,1}∗ 上的随机变量。
可有效重构:概率总体 X = { X n } n ∈ N X = \{X_n\}_{n \in \mathbb N} X={Xn}n∈N,存在 PPT 算法 S S S,对于任意的 n n n,使得 S ( 1 n ) S(1^n) S(1n) 与 X X X 同分布。
一致计算不可区分:两个概率总体
X
=
{
X
n
}
n
∈
N
,
Y
=
{
Y
n
}
n
∈
N
X = \{X_n\}_{n \in \mathbb N}, Y = \{Y_n\}_{n \in \mathbb N}
X={Xn}n∈N,Y={Yn}n∈N 计算不可区分,如果对于任意 PPT 区分器
D
D
D,存在
N
N
N 使得
n
≥
N
n \ge N
n≥N(当
n
n
n 充分大),有
∣
P
r
X
n
,
D
[
D
(
X
n
,
1
n
)
=
1
]
−
P
r
Y
n
,
D
[
D
(
Y
n
,
1
n
)
=
1
]
∣
≤
n
e
g
l
(
n
)
\left| \underset{X_n,D}{Pr}[D(X_n,1^n)=1] - \underset{Y_n,D}{Pr}[D(Y_n,1^n)=1] \right| \le negl(n)
∣∣∣∣Xn,DPr[D(Xn,1n)=1]−Yn,DPr[D(Yn,1n)=1]∣∣∣∣≤negl(n)
非一致计算不可区分:指标集合
I
⊆
{
0
,
1
}
∗
I \subseteq \{0,1\}^*
I⊆{0,1}∗,两个概率总体
X
=
{
X
s
}
s
∈
I
,
Y
=
{
Y
s
}
s
∈
I
X = \{X_s\}_{s \in I}, Y = \{Y_s\}_{s \in I}
X={Xs}s∈I,Y={Ys}s∈I 非一致(Non-Uniform)计算不可区分,如果对于任意的非一致 PPT 电路簇
{
C
n
:
Ω
s
→
{
0
,
1
}
}
n
\{C_n:\Omega_s \to \{0,1\}\}_n
{Cn:Ωs→{0,1}}n,以及充分长的
s
s
s,都有
∣
P
r
X
s
,
C
∣
s
∣
[
C
∣
s
∣
(
X
s
)
=
1
]
−
P
r
Y
s
,
C
∣
s
∣
[
C
∣
s
∣
(
Y
s
)
=
1
]
∣
≤
n
e
g
l
(
∣
s
∣
)
\left| \underset{X_s,C_{|s|}}{Pr}[C_{|s|}(X_s)=1] - \underset{Y_s,C_{|s|}}{Pr}[C_{|s|}(Y_s)=1] \right| \le negl(|s|)
∣∣∣∣Xs,C∣s∣Pr[C∣s∣(Xs)=1]−Ys,C∣s∣Pr[C∣s∣(Ys)=1]∣∣∣∣≤negl(∣s∣)
统计距离(statistical distance):样本空间
Γ
\Gamma
Γ 上的两个随机分布(变量)
X
,
Y
X,Y
X,Y,
Δ
(
X
,
Y
)
:
=
1
2
∑
α
∈
Γ
∣
P
r
[
X
=
α
]
−
P
r
[
Y
=
α
]
∣
:
=
max
S
⊆
Γ
∣
P
r
[
X
∈
S
]
−
P
r
[
Y
∈
S
]
∣
Δ(X,Y):=12∑α∈Γ|Pr[X=α]−Pr[Y=α]|:=max
Δ(X,Y):=21α∈Γ∑∣Pr[X=α]−Pr[Y=α]∣:=S⊆Γmax∣Pr[X∈S]−Pr[Y∈S]∣
统计(信息论)不可区分:两个概率总体
X
=
{
X
n
}
n
∈
N
,
Y
=
{
Y
n
}
n
∈
N
X = \{X_n\}_{n \in \mathbb N}, Y = \{Y_n\}_{n \in \mathbb N}
X={Xn}n∈N,Y={Yn}n∈N 统计接近,如果它们的统计距离
Δ
(
X
n
,
Y
n
)
:
=
1
2
∑
α
∣
P
r
[
X
n
=
α
]
−
P
r
[
Y
n
=
α
]
∣
≤
n
e
g
l
(
n
)
\Delta(X_n,Y_n) := \frac{1}{2} \sum_\alpha \left| Pr[X_n=\alpha] - Pr[Y_n=\alpha] \right| \le negl(n)
Δ(Xn,Yn):=21α∑∣Pr[Xn=α]−Pr[Yn=α]∣≤negl(n)
单向函数:一个函数 f f f 称为单向函数,如果
容易计算:存在多项式时间算法 A A A,使得 A ( x ) = f ( x ) A(x)=f(x) A(x)=f(x)
难以求逆:对于任意的 PPT 算法
A
A
A,当
n
n
n 充分大,有
P
r
x
←
U
n
,
A
[
A
(
f
(
x
)
,
1
n
)
∈
f
−
1
(
f
(
x
)
)
]
≤
n
e
g
l
(
n
)
\underset{x \leftarrow U_n,A}{Pr}[A(f(x),1^n) \in f^{-1}(f(x))] \le negl(n)
x←Un,APr[A(f(x),1n)∈f−1(f(x))]≤negl(n)
弱单向函数:一个函数 f f f 称为弱单向函数,如果
容易计算:存在多项式时间算法 A A A,使得 A ( x ) = f ( x ) A(x)=f(x) A(x)=f(x)
难以求逆:存在多项式
p
o
l
y
(
⋅
)
poly(\cdot)
poly(⋅),对于任意的 PPT 算法
A
A
A,当
n
n
n 充分大,有
P
r
x
←
U
n
,
A
[
A
(
f
(
x
)
,
1
n
)
∈
f
−
1
(
f
(
x
)
)
]
≤
1
−
1
p
o
l
y
(
n
)
\underset{x \leftarrow U_n,A}{Pr}[A(f(x),1^n) \in f^{-1}(f(x))] \le 1-\frac{1}{poly(n)}
x←Un,APr[A(f(x),1n)∈f−1(f(x))]≤1−poly(n)1
单向函数簇:函数簇 { f i : D i → R i } i ∈ I \{f_i:D_i \to R_i\}_{i \in I} {fi:Di→Ri}i∈I 称为单向函数簇,记做 ( I , D , F ) (I,D,F) (I,D,F),如果
可有效抽样:存在 PPT 抽样算法
I
,
D
I,D
I,D,
i
←
I
(
1
n
)
,
x
←
D
(
i
,
1
n
)
i \leftarrow I(1^n),\, x \leftarrow D(i,1^n)
i←I(1n),x←D(i,1n)
使得
i
∈
R
I
∩
{
0
,
1
}
n
i \in_R I \cap \{0,1\}^n
i∈RI∩{0,1}n,
x
∈
R
D
i
x \in_R D_i
x∈RDi
可有效计算:存在 PPT 算法
F
F
F,对于
∀
i
←
I
(
1
n
)
,
∀
x
←
D
(
i
,
1
n
)
\forall i \leftarrow I(1^n),\, \forall x \leftarrow D(i,1^n)
∀i←I(1n),∀x←D(i,1n)
F
(
i
,
x
)
=
f
i
(
x
)
∈
R
i
F(i,x) = f_i(x) \in R_i
F(i,x)=fi(x)∈Ri
单向性:对于任意的 PPT 算法
A
A
A,当
n
n
n 充分大,有
P
r
[
A
(
i
,
y
,
1
n
)
∈
f
i
−
1
(
y
)
:
i
←
I
(
1
n
)
,
x
←
D
(
i
,
1
n
)
,
y
=
F
(
i
,
x
)
]
≤
n
e
g
l
(
n
)
Pr[A(i,y,1^n) \in f_i^{-1}(y):\, i \leftarrow I(1^n),\, x \leftarrow D(i,1^n),\, y=F(i,x)] \le negl(n)
Pr[A(i,y,1n)∈fi−1(y):i←I(1n),x←D(i,1n),y=F(i,x)]≤negl(n)
单向陷门函数簇:设 I = ( I 1 , I 2 ) I=(I_1,I_2) I=(I1,I2),函数簇 ( I , D , F , F − 1 ) (I,D,F,F^{-1}) (I,D,F,F−1) 称为单向陷门函数簇,如果
( I 1 , D , F ) (I_1,D,F) (I1,D,F) 是单向函数簇
存在 PPT 算法
F
−
1
F^{-1}
F−1,使得对于
∀
(
i
,
t
)
←
I
(
1
n
)
,
∀
x
←
D
(
i
,
1
n
)
\forall (i,t) \leftarrow I(1^n),\, \forall x \leftarrow D(i,1^n)
∀(i,t)←I(1n),∀x←D(i,1n)
F
−
1
(
t
,
f
i
(
x
)
)
∈
f
i
−
1
(
f
i
(
x
)
)
F^{-1}(t,f_i(x)) \in f_i^{-1}(f_i(x))
F−1(t,fi(x))∈fi−1(fi(x))
硬核谓词:设
b
:
{
0
,
1
}
∗
→
{
0
,
1
}
b:\{0,1\}^* \to \{0,1\}
b:{0,1}∗→{0,1} 是可有效计算的函数,称它为函数
f
f
f 的硬核谓词,如果对于任意的 PPT 算法
A
A
A,当
n
n
n 充分大,有
P
r
x
←
U
n
,
A
[
A
(
f
(
x
)
,
1
n
)
=
b
(
x
)
]
≤
1
2
+
n
e
g
l
(
n
)
\underset{x \leftarrow U_n,A}{Pr}[A(f(x),1^n) =b(x)] \le \frac{1}{2} + negl(n)
x←Un,APr[A(f(x),1n)=b(x)]≤21+negl(n)
也就是说, b ( U n ) ≡ U 1 b(U_n) \equiv U_1 b(Un)≡U1 统计不可区分;反之不成立。同时 ( f ( U n ) , b ( U n ) ) ≡ c ( f ( U n ) , U 1 ) (f(U_n),b(U_n)) \overset{c}{\equiv} (f(U_n),U_1) (f(Un),b(Un))≡c(f(Un),U1) 计算不可区分。
伪随机性:概率总体
X
=
{
X
n
}
n
∈
N
X = \{X_n\}_{n \in \mathbb N}
X={Xn}n∈N 称为伪随机的,如果存在多项式
l
(
⋅
)
l(\cdot)
l(⋅),均匀分布的概率总体
U
=
{
U
l
(
n
)
}
n
∈
N
U = \{U_{l(n)}\}_{n \in \mathbb N}
U={Ul(n)}n∈N,它们是(一致、非一致)计算不可区分的。即:对于任意的 PPT 区分器
{
D
n
}
n
∈
N
\{D_n\}_{n \in \mathbb N}
{Dn}n∈N,当
n
n
n 充分大,有
∣
P
r
X
n
,
D
l
(
n
)
[
D
l
(
n
)
(
X
n
,
1
n
)
=
1
]
−
P
r
U
l
(
n
)
,
D
l
(
n
)
[
D
l
(
n
)
(
U
l
(
n
)
,
1
n
)
=
1
]
∣
≤
n
e
g
l
(
l
(
n
)
)
\left| \underset{X_n,D_{l(n)}}{Pr}[D_{l(n)}(X_n,1^n)=1] - \underset{U_{l(n)},D_{l(n)}}{Pr}[D_{l(n)}(U_{l(n)},1^n)=1] \right| \le negl(l(n))
∣∣∣∣Xn,Dl(n)Pr[Dl(n)(Xn,1n)=1]−Ul(n),Dl(n)Pr[Dl(n)(Ul(n),1n)=1]∣∣∣∣≤negl(l(n))
伪随机生成器:可有效计算的确定性算法 G G G 称为伪随机生成器,如果
不可预测性:设
X
n
X_n
Xn 是
{
0
,
1
}
l
(
n
)
\{0,1\}^{l(n)}
{0,1}l(n) 上随机分布,概率总体
X
=
{
X
n
}
n
∈
N
X = \{X_n\}_{n \in \mathbb N}
X={Xn}n∈N 称为(多项式时间)不可预测的,如果对于任意 PPT 算法
A
A
A,任意的
i
∈
[
1
,
⋯
,
l
]
i \in [1,\cdots,l]
i∈[1,⋯,l],当
n
n
n 充分大,有
P
r
[
A
(
x
1
,
⋯
,
x
i
−
1
,
1
n
)
=
x
i
:
x
=
x
1
⋯
x
l
←
X
n
]
≤
1
2
+
n
e
g
l
(
n
)
Pr[A(x_1,\cdots,x_{i-1},1^n) = x_i:\, x = x_1 \cdots x_l \leftarrow X_n] \le \frac{1}{2} + negl(n)
Pr[A(x1,⋯,xi−1,1n)=xi:x=x1⋯xl←Xn]≤21+negl(n)
函数总体:设 F = { f s : { 0 , 1 } l ( ∣ s ∣ ) → { 0 , 1 } d ( ∣ s ∣ ) } s ∈ { 0 , 1 } ∗ F = \{f_s: \{0,1\}^{l(|s|)} \to \{0,1\}^{d(|s|)} \}_{s \in \{0,1\}^*} F={fs:{0,1}l(∣s∣)→{0,1}d(∣s∣)}s∈{0,1}∗ 是函数簇, F n F_n Fn 是由均匀选取的 s ← R { 0 , 1 } n s \leftarrow_R \{0,1\}^n s←R{0,1}n 诱导的函数集合 { f s } s ∈ { 0 , 1 } n \{f_s\}_{s \in \{0,1\}^n} {fs}s∈{0,1}n 上的随机变量,称 F = { F n } n ∈ N F=\{F_n\}_{n \in \mathbb N} F={Fn}n∈N 是函数总体。
可有效计算:函数总体 F = { F n } n ∈ N F = \{F_n\}_{n \in \mathbb N} F={Fn}n∈N,
存在 PPT (抽样)算法 S S S,对于任意的 n n n,使得 S ( 1 n ) S(1^n) S(1n) 与 F n F_n Fn 同分布
存在 PPT (求值)算法
E
E
E,对于任意的
f
s
←
S
(
1
n
)
f_s \leftarrow S(1^n)
fs←S(1n),任意的
x
∈
{
0
,
1
}
l
(
n
)
x \in \{0,1\}^{l(n)}
x∈{0,1}l(n),有
E
(
1
n
,
f
s
,
x
)
=
f
s
(
x
)
E(1^n,f_s,x) = f_s(x)
E(1n,fs,x)=fs(x)
随机函数:在 F { 0 , 1 } l ( n ) , { 0 , 1 } d ( n ) F_{\{0,1\}^{l(n)}, \{0,1\}^{d(n)}} F{0,1}l(n),{0,1}d(n) 上的均匀分布记为 R F n l , d RF_n^{l,d} RFnl,d(简记为 R F n RF_n RFn),函数总体 R F = { R F n l , d } n RF=\{RF_n^{l,d}\}_n RF={RFnl,d}n 称为随机函数。使用函数的通用编码,可以认为 R F n = U d ( n ) ⋅ 2 l ( n ) RF_n = U_{d(n) \cdot 2^{l(n)}} RFn=Ud(n)⋅2l(n)
伪随机函数:可有效编码的函数
F
n
F_n
Fn 称为是伪随机的,如果对于任意 PPT 算法
A
A
A,任意的
i
∈
p
o
l
y
(
n
)
i \in poly(n)
i∈poly(n),当
n
n
n 充分大,其
2
l
2^l
2l 次掷硬币具有不可预测性
P
r
[
A
(
y
1
,
⋯
,
y
i
−
1
,
1
n
)
=
y
i
:
y
=
y
1
⋯
y
2
l
←
F
n
]
≤
1
2
d
+
n
e
g
l
(
n
)
Pr[A(y_1,\cdots,y_{i-1},1^n) = y_i:\, y = y_1 \cdots y_{2^l} \leftarrow F_n] \le \frac{1}{2^d} + negl(n)
Pr[A(y1,⋯,yi−1,1n)=yi:y=y1⋯y2l←Fn]≤2d1+negl(n)
为方便使用,修改为:对于任意 PPT 区分器
D
D
D,与
C
h
Ch
Ch 间做判定实验
E
x
p
t
D
F
n
,
R
F
n
(
1
n
,
b
)
Expt_D^{F_n,RF_n}(1^n,b)
ExptDFn,RFn(1n,b),有
A
d
v
D
:
=
∣
P
r
[
E
x
p
t
D
F
n
,
R
F
n
(
1
n
,
0
)
=
1
]
−
P
r
[
E
x
p
t
D
F
n
,
R
F
n
(
1
n
,
1
)
=
1
]
∣
≤
n
e
g
l
(
n
)
Adv_D := \left| Pr[Expt_D^{F_n,RF_n}(1^n,0)=1] - Pr[Expt_D^{F_n,RF_n}(1^n,1)=1] \right| \le negl(n)
AdvD:=∣∣∣Pr[ExptDFn,RFn(1n,0)=1]−Pr[ExptDFn,RFn(1n,1)=1]∣∣∣≤negl(n)
伪随机函数总体:函数总体
F
=
{
F
n
}
n
∈
N
F=\{F_n\}_{n \in \mathbb N}
F={Fn}n∈N 称为伪随机函数总体,如果对于任意的 PPT 带 Oracle 区分器
D
D
D,当
n
n
n 充分大,其区分优势可忽略
A
d
v
D
:
=
∣
P
r
[
D
F
n
(
1
n
)
=
1
]
−
P
r
[
D
R
F
n
(
1
n
)
=
1
]
∣
≤
n
e
g
l
(
n
)
Adv_D := \left| Pr[D^{F_n}(1^n)=1] - Pr[D^{RF_n}(1^n)=1] \right| \le negl(n)
AdvD:=∣∣Pr[DFn(1n)=1]−Pr[DRFn(1n)=1]∣∣≤negl(n)
将 F n , R F n F_n,RF_n Fn,RFn 都视为 { 0 , 1 } d 2 l \{0,1\}^{d2^l} {0,1}d2l 的编码,区分器 D D D 随机检测多项式个函数值。
伪随机合成器:设
S
n
:
{
0
,
1
}
n
×
{
0
,
1
}
n
→
{
0
,
1
}
n
S_n: \{0,1\}^n \times \{0,1\}^n \to \{0,1\}^n
Sn:{0,1}n×{0,1}n→{0,1}n,函数簇
S
=
{
S
n
}
n
∈
N
S=\{S_n\}_{n \in \mathbb N}
S={Sn}n∈N 称为伪随机合成器,如果下述两个概率总体计算不可区分
{
S
(
a
i
,
b
j
)
:
a
i
,
b
j
∈
R
{
0
,
1
}
n
}
i
,
j
=
1
k
≡
c
{
c
i
,
j
:
c
i
,
j
∈
R
{
0
,
1
}
n
}
i
,
j
=
1
k
\{S(a_i,b_j): a_i,b_j \in_R \{0,1\}^n\}_{i,j=1}^k \overset{c}{\equiv} \{c_{i,j}: c_{i,j} \in_R \{0,1\}^n\}_{i,j=1}^k
{S(ai,bj):ai,bj∈R{0,1}n}i,j=1k≡c{ci,j:ci,j∈R{0,1}n}i,j=1k
弱伪随机函数:设
f
s
:
{
0
,
1
}
n
→
{
0
,
1
}
n
f_s:\{0,1\}^n \to \{0,1\}^n
fs:{0,1}n→{0,1}n,
F
n
=
{
f
s
}
s
←
I
(
1
n
)
F_n = \{f_s\}_{s \leftarrow I(1^n)}
Fn={fs}s←I(1n),
X
=
(
x
1
,
⋯
,
x
m
)
∈
{
0
,
1
}
m
n
X = (x_1,\cdots,x_m) \in \{0,1\}^{mn}
X=(x1,⋯,xm)∈{0,1}mn,定义
(
X
,
f
s
(
X
)
)
=
(
(
x
1
,
f
s
(
x
1
)
)
,
⋯
,
(
x
m
,
f
s
(
x
m
)
)
)
(X,f_s(X)) = ((x_1,f_s(x_1)),\, \cdots,\, (x_m,f_s(x_m)))
(X,fs(X))=((x1,fs(x1)),⋯,(xm,fs(xm)))
函数总体
F
=
{
F
n
}
n
∈
N
F = \{F_n\}_{n \in \mathbb N}
F={Fn}n∈N 称为是弱伪随机的,如果对于任意 PPT 算法
A
A
A,任意多项式
k
(
⋅
)
k(\cdot)
k(⋅),令
U
n
k
U_n^k
Unk 表示
k
k
k 次独立抽样(而 PRF 不要求“独立”),对于充分大的
∣
s
∣
|s|
∣s∣,有
∣
P
r
X
←
R
U
n
k
[
A
(
X
,
F
n
(
X
)
)
=
1
]
−
P
r
(
X
,
Y
)
←
R
U
2
n
k
[
A
(
X
,
Y
)
=
1
]
∣
≤
n
e
g
l
(
n
)
\left| \underset{X \leftarrow_R U_n^k}{Pr}[A(X,F_n(X))=1] - \underset{(X,Y) \leftarrow_R U_{2n}^k}{Pr}[A(X,Y)=1] \right| \le negl(n)
∣∣∣∣X←RUnkPr[A(X,Fn(X))=1]−(X,Y)←RU2nkPr[A(X,Y)=1]∣∣∣∣≤negl(n)
强伪随机置换:置换函数
F
n
⊆
P
n
F_n \subseteq P_n
Fn⊆Pn 称为强伪随机的,如果对于任意的 PPT 带双向 Oracles 区分器
D
D
D,当
n
n
n 充分大,其区分优势可忽略
A
d
v
D
:
=
∣
P
r
[
D
F
n
,
F
n
−
1
(
1
n
)
=
1
]
−
P
r
[
D
P
n
,
P
n
−
1
(
1
n
)
=
1
]
∣
≤
n
e
g
l
(
n
)
Adv_D := \left| Pr[D^{F_n, F_n^{-1}}(1^n)=1] - Pr[D^{P_n, P_n^{-1}}(1^n)=1] \right| \le negl(n)
AdvD:=∣∣∣Pr[DFn,Fn−1(1n)=1]−Pr[DPn,Pn−1(1n)=1]∣∣∣≤negl(n)

Hash 函数:函数簇 H = { H s : { 0 , 1 } ∗ → { 0 , 1 } l ( λ ) } s ∈ I ∗ H = \{H_s: \{0,1\}^* \to \{0,1\}^{l(\lambda)}\}_{s \in I^*} H={Hs:{0,1}∗→{0,1}l(λ)}s∈I∗,其中 l ( ⋅ ) l(\cdot) l(⋅) 是多项式, ∣ s ∣ = λ |s|=\lambda ∣s∣=λ 是安全参数
抗原像(Pre):对于任意 PPT 算法
A
A
A,都有
P
r
A
,
I
,
y
[
y
=
h
I
(
1
λ
)
(
x
′
)
:
y
←
R
{
0
,
1
}
l
(
λ
)
,
x
′
←
A
(
1
λ
,
I
(
1
λ
)
,
y
)
]
≤
n
e
g
l
(
λ
)
\underset{A,I,y}{Pr}\left[ y=h_{I(1^\lambda)}(x'):\, y \leftarrow_R \{0,1\}^{l(\lambda)},\, x' \leftarrow A(1^\lambda,I(1^\lambda),y) \right] \le negl(\lambda)
A,I,yPr[y=hI(1λ)(x′):y←R{0,1}l(λ),x′←A(1λ,I(1λ),y)]≤negl(λ)
抗第二原像(Sec):对于任意 PPT 算法
A
A
A,都有
P
r
A
,
I
,
x
[
h
I
(
1
λ
)
(
x
)
=
h
I
(
1
λ
)
(
x
′
)
:
x
←
R
{
0
,
1
}
∗
,
x
′
←
A
(
1
λ
,
I
(
1
λ
)
,
x
)
,
x
≠
x
′
]
≤
n
e
g
l
(
λ
)
\underset{A,I,x}{Pr}\left[ h_{I(1^\lambda)}(x)=h_{I(1^\lambda)}(x'):\, x \leftarrow_R \{0,1\}^*,\, x' \leftarrow A(1^\lambda,I(1^\lambda),x),\, x \neq x' \right] \le negl(\lambda)
A,I,xPr[hI(1λ)(x)=hI(1λ)(x′):x←R{0,1}∗,x′←A(1λ,I(1λ),x),x=x′]≤negl(λ)
抗碰撞(Coll):对于任意 PPT 算法
A
A
A,都有
P
r
A
,
I
[
h
I
(
1
λ
)
(
x
)
=
h
I
(
1
λ
)
(
x
′
)
:
(
x
,
x
′
)
←
A
(
1
λ
,
I
(
1
λ
)
)
,
x
≠
x
′
]
≤
n
e
g
l
(
λ
)
\underset{A,I}{Pr}\left[ h_{I(1^\lambda)}(x)=h_{I(1^\lambda)}(x'):\, (x,x') \leftarrow A(1^\lambda,I(1^\lambda)),\, x \neq x' \right] \le negl(\lambda)
A,IPr[hI(1λ)(x)=hI(1λ)(x′):(x,x′)←A(1λ,I(1λ)),x=x′]≤negl(λ)
单向 Hash 函数:函数簇 H = { H s : { 0 , 1 } ∗ → { 0 , 1 } l ( λ ) } s ∈ I ∗ H = \{H_s: \{0,1\}^* \to \{0,1\}^{l(\lambda)}\}_{s \in I^*} H={Hs:{0,1}∗→{0,1}l(λ)}s∈I∗ 称为 OWHF,如果它抗原像且抗第二原像。
抗碰撞 Hash 函数:函数簇 H = { H s : { 0 , 1 } ∗ → { 0 , 1 } l ( λ ) } s ∈ I ∗ H = \{H_s: \{0,1\}^* \to \{0,1\}^{l(\lambda)}\}_{s \in I^*} H={Hs:{0,1}∗→{0,1}l(λ)}s∈I∗ 称为 CRHF,如果它抗原像且抗碰撞。
Claw-free 函数:设 f i 0 : D i 0 → R , f i 1 : D i 1 → R f_i^0: D_i^0 \to R,\, f_i^1: D_i^1 \to R fi0:Di0→R,fi1:Di1→R,一对函数簇 { f i 0 , f i 1 } i ∈ I \{f_i^0,f_i^1\}_{i \in I} {fi0,fi1}i∈I 称为无爪函数,如果
一致单向 Hash 函数:函数簇 H = { H s : { 0 , 1 } t ( λ ) → { 0 , 1 } l ( λ ) } s ∈ I ∗ ⊆ { 0 , 1 } p o l y ( λ ) H = \{H_s:\{0,1\}^{t(\lambda)} \to \{0,1\}^{l(\lambda)}\}_{s \in I^* \subseteq\{0,1\}^{poly(\lambda)}} H={Hs:{0,1}t(λ)→{0,1}l(λ)}s∈I∗⊆{0,1}poly(λ) 称为 UOWHF,如果
有效性:可有效抽样,可有效计算
收缩性: t ( λ ) > l ( λ ) t(\lambda) > l(\lambda) t(λ)>l(λ)
一致单向性(Universal one-way):对于任意 PPT 的两阶段算法
A
=
(
A
1
,
A
2
)
A=(A_1,A_2)
A=(A1,A2),有
P
r
A
,
I
[
H
s
(
x
)
=
H
s
(
x
′
)
:
(
x
,
z
)
←
A
1
(
1
λ
)
s
←
I
(
1
λ
)
x
′
←
A
2
(
1
λ
,
s
,
z
)
,
x
′
≠
x
]
≤
n
e
g
l
(
λ
)
\underset{A,I}{Pr}\left[\right] \le negl(\lambda)
A,IPr⎣⎢⎢⎡Hs(x)=Hs(x′):(x,z)←A1(1λ)s←I(1λ)x′←A2(1λ,s,z),x′=x⎦⎥⎥⎤≤negl(λ)
与 OWHF 的区别在于,
高阶 UOWHF:函数簇 H = { H s : { 0 , 1 } t ( λ ) → { 0 , 1 } l ( λ ) } s ∈ I ∗ ⊆ { 0 , 1 } p o l y ( λ ) H = \{H_s:\{0,1\}^{t(\lambda)} \to \{0,1\}^{l(\lambda)}\}_{s \in I^* \subseteq\{0,1\}^{poly(\lambda)}} H={Hs:{0,1}t(λ)→{0,1}l(λ)}s∈I∗⊆{0,1}poly(λ) 称为 r r r 阶 UOWHF,简记为 U O W H F ( r ) UOWHF(r) UOWHF(r),如果
有效性:可有效抽样 s ← I ( 1 λ ) s \leftarrow I(1^\lambda) s←I(1λ),可有效计算
收缩性: t ( λ ) > l ( λ ) t(\lambda) > l(\lambda) t(λ)>l(λ)
一致单向性:对于任意 PPT 的两阶段算法
A
=
(
A
1
,
A
2
)
A=(A_1,A_2)
A=(A1,A2),有
P
r
A
,
I
[
H
s
(
x
)
=
H
s
(
x
′
)
:
(
x
,
z
)
←
A
1
O
H
s
(
1
λ
)
s
←
C
h
x
′
←
A
2
(
1
λ
,
s
,
z
)
,
x
′
≠
x
]
≤
n
e
g
l
(
λ
)
\underset{A,I}{Pr}\left[\right] \le negl(\lambda)
A,IPr⎣⎢⎢⎡Hs(x)=Hs(x′):(x,z)←A1OHs(1λ)s←Chx′←A2(1λ,s,z),x′=x⎦⎥⎥⎤≤negl(λ)
两两独立 Hash 函数:函数簇 H = { h : { 0 , 1 } n → { 0 , 1 } m } H = \{h:\{0,1\}^n \to \{0,1\}^m\} H={h:{0,1}n→{0,1}m} 称为 Pairwise Independent,如果
对于 ∀ x ∈ { 0 , 1 } n \forall x \in \{0,1\}^n ∀x∈{0,1}n,关于 h h h 的随机变量 { h ( x ) } \{h(x)\} {h(x)} 是 { 0 , 1 } m \{0,1\}^m {0,1}m 上均匀分布
对于
∀
x
1
,
x
2
∈
{
0
,
1
}
n
\forall x_1,x_2 \in \{0,1\}^n
∀x1,x2∈{0,1}n,若
x
1
≠
x
2
x_1 \neq x_2
x1=x2,那么随机变量
h
(
x
1
)
h(x_1)
h(x1)、
h
(
x
2
)
h(x_2)
h(x2) 相互独立。即,
∀
x
1
≠
x
2
\forall x_1 \neq x_2
∀x1=x2,
∀
y
1
≠
y
2
\forall y_1 \neq y_2
∀y1=y2,有
P
r
h
←
H
[
h
(
x
1
)
=
y
1
∧
h
(
x
2
)
=
y
2
]
=
2
−
2
m
\underset{h \leftarrow H}{Pr}[h(x_1)=y_1 \wedge h(x_2)=y_2] = 2^{-2m}
h←HPr[h(x1)=y1∧h(x2)=y2]=2−2m