继续 “安全性归约” 内容的整理。下面列出了各种安全性定义,方便查找。
不可区分性
概率总体:令 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
]
∣
\begin{aligned} \Delta(X,Y) &:= \frac{1}{2} \sum_{\alpha \in \Gamma} |Pr[X=\alpha] - Pr[Y=\alpha]| \\ &:= \max_{S \subseteq \Gamma} |Pr[X \in S] - Pr[Y \in S]| \end{aligned}
Δ(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)
密码原语
OWF
单向函数:一个函数 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) 计算不可区分。
PRG
伪随机性:概率总体
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 称为伪随机生成器,如果
- 扩展性:存在函数 l : N → N l:\mathbb N \to \mathbb N l:N→N,满足 l ( n ) > n l(n) > n l(n)>n,对于任意的 s s s 都有 ∣ G ( s ) ∣ = l ( ∣ s ∣ ) |G(s)|=l(|s|) ∣G(s)∣=l(∣s∣),称 l ( ⋅ ) l(\cdot) l(⋅) 是扩张因子
- 伪随机性:概率总体 { G ( U n ) } n ∈ N \{G(U_n)\}_{n \in \mathbb N} {G(Un)}n∈N 是伪随机的
不可预测性:设
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)
PRF
函数总体:设 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 方案
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∣=λ 是安全参数
- 可有效抽样:存在 PPT 抽样算法 I I I,使得 s ← I ( 1 λ ) s \leftarrow I(1^\lambda) s←I(1λ) 满足 s ∈ I ∗ s \in I^* s∈I∗
- 可有效计算:对于 ∀ s ← I ( 1 λ ) \forall s \leftarrow I(1^\lambda) ∀s←I(1λ),以及 ∀ m ∈ { 0 , 1 } ∗ \forall m \in \{0,1\}^* ∀m∈{0,1}∗, H s ( m ) H_s(m) Hs(m) 可有效计算
抗原像(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 称为无爪函数,如果
- 可有效抽样,可有效计算
- 令 D ( b , i ) D(b,i) D(b,i) 是有效抽样算法, f i 0 ( D ( 0 , i ) ) f_i^0(D(0,i)) fi0(D(0,i)) 与 f i 1 ( D ( 1 , i ) ) f_i^1(D(1,i)) fi1(D(1,i)) 分布相同
- 满足 f i 0 ( x 0 ) = f i 1 ( x 1 ) f_i^0(x_0) = f_i^1(x_1) fi0(x0)=fi1(x1) 的 ( x 0 , x 1 ) (x_0,x_1) (x0,x1) 称为一个 Claw,寻找 Claw 是困难的
一致单向 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[\begin{aligned} H_s(x)=H_s(x'): && (x,z) \leftarrow A_1(1^\lambda)\\ && s \leftarrow I(1^\lambda)\\ && x' \leftarrow A_2(1^\lambda,s,z),\, x' \neq x \end{aligned}\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 的区别在于,
- OWHF 中的 Sec,挑战者 C h Ch Ch 先抽样 s ← I ( 1 λ ) s \leftarrow I(1^\lambda) s←I(1λ),然后 x x x 由 C h Ch Ch 随机选择,最后敌手 A A A 输出第二原像 x ’ x’ x’
- UOWHF 中的 UOW,敌手先选择 x x x( z z z 是辅助信息),然后挑战者 C h Ch Ch 才抽样(或已经抽样,但没有公布) s ← I ( 1 λ ) s \leftarrow I(1^\lambda) s←I(1λ),最后敌手 A A A 输出第二原像 x ’ x’ x’
高阶 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[\begin{aligned} H_s(x)=H_s(x'): && (x,z) \leftarrow A_1^{O_{H_s}}(1^\lambda)\\ && s \leftarrow Ch\\ && x' \leftarrow A_2(1^\lambda,s,z),\, x' \neq x \end{aligned}\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
本文梳理了单向函数(OWF)、伪随机生成器(PRG)、伪随机函数(PRF)和哈希方案的安全特性,包括不可区分性、计算不可区分、统计距离等概念,并介绍了各种密码原语如单向陷门函数、硬核谓词和不同类型的Hash函数,帮助读者理解信息安全核心概念。
522

被折叠的 条评论
为什么被折叠?



