Coursera - Dan Boneh - Cryptography 1 - Week 1 - PRG Security Definitions 学习笔记【4】

本篇文章要介绍的内容包括:可忽略的(negligible)、伪随机数生成器(PRG)、Statistical tests(统计检验)、Advantage、Secure PRGs(安全伪随机生成器)、computationally indistinguishable(计算不可区分)。
明天再补。

可忽略的(negligible)

首先我们尝试用实践的角度理解,如果 ε ≥ 1 / 2 30 \varepsilon\geq 1/2^{30} ε1/230,那么 ε \varepsilon ε是不可忽略的(non-neg),因为很有可能在 1 G B 1GB 1GB的数据中出现一次;如果 ϵ ≤ 1 / 2 80 \epsilon\leq1/2^{80} ϵ1/280,那么 ε \varepsilon ε是可忽略的(negligible),在很多很多的数据中也不太可能出现一次。

从理论的角度来说, ε \varepsilon ε是一个 Z ≥ 0 → R ≥ 0 \mathbb{Z}^{\geq0}\rightarrow\mathbb{R}^{\geq0} Z0R0的函数并且
ε \varepsilon ε是不可忽略的(non-neg),当且仅当 ∃ d : ε ( λ ) ≥ 1 / λ d . \exists d:\varepsilon(\lambda)\geq 1/\lambda^{d}. d:ε(λ)1/λd.
ε \varepsilon ε是可忽略的(negligible),当且仅当 ∀ d , λ ≥ λ d : ε ( λ ) ≤ 1 / λ d . \forall d,\lambda\geq\lambda_{d}:\varepsilon(\lambda)\leq 1/\lambda^{d}. d,λλd:ε(λ)1/λd.

理解:当 ε \varepsilon ε是不可忽略的(non-neg),
ε ( λ ) ≥ 1 λ d ≥ 1 λ d + λ d − 1 + ⋯ + λ 0 , \varepsilon(\lambda) \geq \frac{1}{\lambda^{d}} \geq\frac{1}{ {\lambda^{d}+\lambda^{d-1}+\cdots+\lambda^{0}}}, ε(λ)λd1λd+λd1++λ01,
ε ≥ 1 / p o l y \varepsilon\geq 1/poly ε1/poly ε \varepsilon ε也是大于等于某个多项式的倒数的。
类似的,当 ε \varepsilon ε是可忽略的(negligible),如果 λ \lambda λ足够大,有 ε ≤ 1 / p o l y \varepsilon\leq 1/poly ε1/poly ε \varepsilon ε是小于等于所有多项式的倒数的。

三个例子

例1 ε ( λ ) = 1 / 2 λ \varepsilon(\lambda)=1/2^{\lambda} ε(λ)=1/2λ是可忽略的(negligible)。
简单说明:无论 d d d取什么值, λ \lambda λ总是可以取对应的值,使得 2 λ ≥ λ d 2^{\lambda}\geq \lambda^{d} 2λλd

例2 ε ( λ ) = 1 / λ 1000 \varepsilon(\lambda)=1/{\lambda}^{1000} ε(λ)=1/λ1000是不可忽略的(non-neg)。
简单说明:当 λ ≥ 1 \lambda\geq 1 λ1时,可取 d = 1001 d=1001 d=1001;当 0 ≤ λ < 1 0\leq\lambda< 1 0λ<1时,可取 d = 999 d=999 d=999

例3 ε ( λ ) = { 1 / 2 λ , 当 λ 为 奇 数 时 ; 1 / λ 1000 , 当 λ 为 偶 数 时 . \varepsilon(\lambda)=\left\{\begin{array}{cr} 1/2^\lambda, &当\lambda为奇数时;\\ 1/{\lambda}^{1000}, &当\lambda为偶数时. \end{array}\right. ε(λ)={ 1/2λ,1/λ1000,λλ. ε ( λ ) \varepsilon(\lambda) ε(λ)是不可忽略的(non-negligible)。
简单说明:因为要对 ∀ d \forall d d都成立,当 λ \lambda λ为偶数时,根据例2是不可忽略的,所以 ε ( λ ) \varepsilon(\lambda) ε(λ)不可忽略。

伪随机数生成器(PRG)

定义:设 G : K → { 0 , 1 } n G:\mathcal{K}\rightarrow\{0,1\}^{n} G:K{ 0,1}n,如果说 [ k ← R K , 输 出 G ( k ) ] [k\stackrel{R}{\leftarrow}\mathcal{K},输出G(k)] [kRK,G(k)] [ r ← R { 0 , 1 } n , 输 出 r ] [r\stackrel{R}{\leftarrow}\{0,1\}^{n},输出r] [rR{ 0,1}nr]是不可区分(indistinguishable)的,那么就说 G G G是伪随机数生成器(PRG)。

注释 r ← R { 0 , 1 } n r\stackrel{R}{\leftarrow}\{0,1\}^n rR{ 0,1}n表示从 { 0 , 1 } n \{0,1\}^{n} { 0,1}n均匀地取出一个数 r r r(即,均匀抽样)。
不可区分(indistinguishable)是说两者非常非常接近,相差很小。
定义中因为是均匀抽样,所以 G ( k ) G(k) G(k) r r r的不可区分是从他们的概率分布来看的,他们的任意两个数输出的概率相差地非常非常小,小到几乎可以忽略(negligible,如 ≤ 2 30 \leq2^{30} 230),多项式时间内看不出两者的区别。

Statistical Tests(统计检验)

定义:统计检验(Statistical test)是一个算法 A ( x ) , x ∈ { 0 , 1 } n A(x),x\in\{0,1\}^{n} A(x),x{ 0,1}n,且满足 A ( x ) ∈ { 0 , 1 } A(x)\in\{0,1\} A(x){ 0,1}

注释:假设算法 A ( x ) A(x) A(x)用来判断 x x x是否是随机数,若是随机数,则 A ( x ) A(x) A(x)输出 1 1 1;若不是随机数, A ( x ) A(x) A(x)输出 0 0 0

两个例子

例1:如果“算法 A ( x ) A(x) A(x)判断 x x x是否是随机数“是通过 0 0 0 1 1 1的个数是否很接近得到的,那么可以如下定义 A ( x ) A(x) A(x)
A ( x ) = 1 A(x)=1 A(x)=1当且仅当 ∣ # 0 ( x ) − # 1 ( x ) ∣ ≤ 10 ⋅ n |\#0(x)-\#1(x)|\leq 10\cdot\sqrt{n} #0(x)#1(x)10n ,其中 # 0 ( x ) \#0(x) #0(x)表示 x x x 0 0 0的个数, # 1 ( x ) \#1(x) #1(x)表示 x x x 1 1 1的个数。

例2:如果“算法 A ( x ) A(x) A(x)判断 x x x是否是随机数“是通过连续两个 0 0 0的个数是否接近 1 4 n \frac{1}{4}n 41n得到的,那么可以如下定义 A ( x ) A(x) A(x)
A ( x ) = 1 A(x)=1 A(x)=1当且仅当 ∣ # 00 ( x ) − n 4 ∣ ≤ 10 ⋅ n |\#00(x)-\frac{n}{4}|\leq 10\cdot\sqrt{n} #00(x)4n10n ,其中 # 00 ( x ) \#00(x) #00(x)表示 x x x 00 00 00的个数。

PRG的Advantage

定义:定义为算法 A A A是伪随机数生成器 G G G相对于随机数的Advantage为
A d v P R G [ A , G ] = ∣ P r [ A ( G ( k ) ) = 1 ] − P r [ A ( r ) = 1 ] ∣ , Adv_{PRG}[A,G]=\big|Pr[A(G(k))=1] - Pr[A(r)=1]\big|, AdvPRG[A,G]=Pr[A(G(k))=1]Pr[A(r)=1],其中 A ( x ) A(x) A(x)是统计检验(Statistical test), G : K → { 0 , 1 } n G:\mathcal{K}\rightarrow\{0,1\}^n G:K{ 0,1}n,以及 r ← R { 0 , 1 } n r\stackrel{R}{\leftarrow}\{0,1\}^n rR{ 0,1}n

注释:如果 P r [ A ( G ( k ) ) = 1 ] Pr[A(G(k))=1] Pr[A(G(k))=1]是算法 A A A判定 G ( k ) G(k) G(k)是随机数的概率, P r [ A ( r ) = 1 ] Pr[A(r)=1] Pr[A(r)=1]是算法 A A A判定 r r r是随机数的概率,那么 A d v P R G [ A , G ] Adv_{PRG}[A,G] AdvPRG[A,G]表示 G ( k ) G(k) G(k)在算法 A A A下离均匀抽样 r r r的距离,越接近均匀抽样透露的原信息就越少,越不容易预测 G ( k ) G(k) G(k),所以 A d v P R G [ A , G ] Adv_{PRG}[A,G] AdvPRG[A,G]越小越好。

一个例子

现在有伪随机数生成器 G : K → { 0 , 1 } n G:\mathcal{K}\rightarrow\{0,1\}^n G:K{ 0,1}n,有 2 3 \frac{2}{3} 32的概率使得 m s b ( G ( k ) ) = 1 msb(G(k))=1 msb(G(k))=1(其中 m s b ( x ) msb(x) msb(x)表示二进制下 x x x的最高位),定义统计检验 A ( x ) A(x) A(x)
“如果 m s b ( x ) = 1 msb(x)=1 msb(x)=1那么 A ( x ) = 1 A(x)=1 A(x)=1;否则 A ( x ) = 0 A(x)=0 A(x)=0”,则有
A d v P R G [ A , G ] = ∣ P r [ A ( G ( k ) ) = 1 ] − P r [ A ( r ) = 1 ] ∣ = ∣ 2 / 3 − 1 / 2 ∣ = 1 / 6 , Adv_{PRG}[A,G]=\big|Pr[A(G(k))=1] - Pr[A(r)=1]\big|=\big|2/3-1/2\big|=1/6, AdvPRG[A,G]=Pr[A(G(k))=1]Pr[A(r)=1]=2/31/2=1/6,即算法 A A A能够预测生成器 G G G的Advantage为 1 / 6 1/6 1/6

Secure PRGs(安全伪随机生成器)

定义:设 G : K → { 0 , 1 } n G:\mathcal{K}\rightarrow\{0,1\}^n G:K{ 0,1}n,如果所有高效(Efficient)的统计检验(Statistics tests) A : A d v P R G [ A , G ] A:Adv_{PRG}[A,G] A:AdvPRG[A,G]是可忽略的(negligible),那么 G G G是安全伪随机生成器(Secure PRG)。

注释:现在还不知道是否存在可证明的Secure PRG。一个Secure PRG是不可预测(unpredictable)的。

定理(Yao’82)

定理(Yao’82):设 G : K → { 0 , 1 } n G:\mathcal{K}\rightarrow\{0,1\}^n G:K{ 0,1}n是一个PRG,如果 ∀ i ∈ { 0 , 1 , ⋯   , n − 1 } \forall i\in\{0,1,\cdots,n-1\} i{ 0,1,,n1} G G G输出的第 i i i位都是不可预测的,那么 G G G是一个Secure PRG。

注释:这个定理只需要一位一位考虑是否不可预测,而不用整体的看,极大地简化了判断Secure PRG的方式。

computationally indistinguishable(计算不可区分)

定义:如果 P 1 P_1 P1 P 2 P_2 P2是在 { 0 , 1 } n \{0,1\}^n { 0,1}n上的两个分布函数,当所有高效的统计检验(Statistics tests) A : ∣ P r x ← P 1 [ A ( x ) = 1 ] − P r x ← P 2 [ A ( x ) = 1 ] ∣ A:\big|Pr_{x\leftarrow P_1}[A(x)=1]-Pr_{x\leftarrow P_2}[A(x)=1]\big| A:PrxP1[A(x)=1]PrxP2[A(x)=1]是可忽略的(negligible),那么 P 1 P_1 P1 P 2 P_2 P2是计算不可区分(computationally indistinguishable)的,记作 P 1 ≈ p P 2 P_1 \approx_p P_2 P1pP2

一个例子

如果 { k ← R K : G ( k ) } ≈ p u n i f o r m ( { 0 , 1 } n ) \{k\stackrel{R}{\leftarrow}\mathcal{K}:G(k)\}\approx_p uniform(\{0,1\}^n) { kRK:G(k)}puniform({ 0,1}n),PRG是安全的。

uniform是均匀分布。

猜你喜欢

转载自blog.csdn.net/MustImproved/article/details/105525149