安全性归约(安全性定义 - 2)
书接上回 ψ(*`ー´)ψ
文章目录
- 加密方案(被动攻击)
- 语义安全
- 不可区分安全
- 加密方案(主动攻击)
- CPA
- CCA1
- CCA2
- Att
- 签名方案
- MAC
加密方案(被动攻击)
完美安全性:密文分布与明文分布相互独立,不同明文的密文是不可区分的,
{ E n c ( k , x ; r ) : k ← G e n , x ← X λ } ≡ { E n c ( k , x ′ ; r ) : k ← G e n , x ′ ← X λ } \{Enc(k,x;r):\, k \leftarrow Gen,\, x \leftarrow X_\lambda\} \equiv \{Enc(k,x';r):\, k \leftarrow Gen,\, x' \leftarrow X_\lambda\} {Enc(k,x;r):k←Gen,x←Xλ}≡{Enc(k,x′;r):k←Gen,x′←Xλ}
计算安全性:密文分布与明文分布在计算意义下相互独立,不同明文的密文是计算不可区分的,
{ E n c ( k , x ; r ) : k ← G e n , x ← X λ } ≡ c { E n c ( k , x ′ ; r ) : k ← G e n , x ′ ← X λ } \{Enc(k,x;r):\, k \leftarrow Gen,\, x \leftarrow X_\lambda\} \overset{c}{\equiv} \{Enc(k,x';r):\, k \leftarrow Gen,\, x' \leftarrow X_\lambda\} {Enc(k,x;r):k←Gen,x←Xλ}≡c{Enc(k,x′;r):k←Gen,x′←Xλ}
语义安全
语义安全(私钥):私钥方案 ( G e n , E n c , D e c ) (Gen,Enc,Dec) (Gen,Enc,Dec) 称为语义安全的,如果对于现实世界中的任意 PPT 算法 A A A,总存在理想世界中的 PPT 算法 A ′ A' A′,对于任意多项式有界的明文分布 { X λ } λ ∈ N \{X_\lambda\}_{\lambda \in \mathbb N} {Xλ}λ∈N,任意的目标 f λ ( ⋅ ) : { 0 , 1 } ∗ → { 0 , 1 } ∗ f_\lambda(\cdot): \{0,1\}^* \to \{0,1\}^* fλ(⋅):{0,1}∗→{0,1}∗,任意的辅助信息 h λ ( ⋅ ) : { 0 , 1 } ∗ → { 0 , 1 } ∗ h_\lambda(\cdot): \{0,1\}^* \to \{0,1\}^* hλ(⋅):{0,1}∗→{0,1}∗,都有
P r X λ , G e n , E n c , A [ A ( 1 λ , E n c ( G e n ( 1 λ ) , X λ ) , 1 ∣ X λ ∣ , h λ ( 1 λ , X λ ) ) = f λ ( 1 λ , X λ ) ] ≤ P r X λ , A ′ [ A ′ ( 1 λ , 1 ∣ X λ ∣ , h λ ( 1 λ , X λ ) ) = f λ ( 1 λ , X λ ) ] + n e g l ( n ) \begin{aligned} &&\underset{X_\lambda,Gen,Enc,A}{Pr}\left[A\left(1^\lambda,\, Enc(Gen(1^\lambda),X_\lambda),\, 1^{|X_\lambda|},\, h_\lambda(1^\lambda,X_\lambda) \right) = f_\lambda(1^\lambda,X_\lambda) \right] \\ \le &&\underset{X_\lambda,A'}{Pr}\left[A'\left(1^\lambda,\, 1^{|X_\lambda|},\, h_\lambda(1^\lambda,X_\lambda) \right) = f_\lambda(1^\lambda,X_\lambda) \right] + negl(n) \end{aligned} ≤Xλ,Gen,Enc,APr[A(1λ,Enc(Gen(1λ),Xλ),1∣Xλ∣,hλ(1λ,Xλ))=fλ(1λ,Xλ)]Xλ,A′Pr[A′(1λ,1∣Xλ∣,hλ(1λ,Xλ))=fλ(1λ,Xλ)]+negl(n)
即,存在 PPT 模拟器 S S S,使得
( E n c ( G e n ( 1 λ ) , X λ ) , 1 ∣ X λ ∣ , h λ ( 1 λ , X λ ) ) ≡ c S ( 1 ∣ X λ ∣ , h λ ( 1 λ , X λ ) ) \left(Enc(Gen(1^\lambda),X_\lambda),\, 1^{|X_\lambda|},\, h_\lambda(1^\lambda,X_\lambda)\right) \overset{c}{\equiv} S\left(1^{|X_\lambda|},\, h_\lambda(1^\lambda,X_\lambda)\right) (Enc(Gen(1λ),Xλ),1∣Xλ∣,hλ(1λ,Xλ))≡cS(1∣Xλ∣,hλ(1λ,Xλ))
语义安全(公钥):公钥方案 ( G e n = ( G 1 , G 2 ) , E n c , D e c ) (Gen=(G_1,G_2),Enc,Dec) (Gen=(G1,G2),Enc,Dec) 称为语义安全的,如果对于现实世界中的任意 PPT 算法 A A A,总存在理想世界中的 PPT 算法 A ′ A' A′,对于任意多项式有界的明文分布 { X λ } λ ∈ N \{X_\lambda\}_{\lambda \in \mathbb N} {Xλ}λ∈N,任意的目标 f λ ( ⋅ ) : { 0 , 1 } ∗ → { 0 , 1 } ∗ f_\lambda(\cdot): \{0,1\}^* \to \{0,1\}^* fλ(⋅):{0,1}∗→{0,1}∗,任意的辅助信息 h λ ( ⋅ ) : { 0 , 1 } ∗ → { 0 , 1 } ∗ h_\lambda(\cdot): \{0,1\}^* \to \{0,1\}^* hλ(⋅):{0,1}∗→{0,1}∗,都有
P r X λ , G e n , E n c , A [ A ( 1 λ , G 1 ( 1 λ ) , E n c ( G 1 ( 1 λ ) , X λ ) , 1 ∣ X λ ∣ , h λ ( 1 λ , X λ ) ) = f λ ( 1 λ , X λ ) ] ≤ P r X λ , A ′ [ A ′ ( 1 λ , 1 ∣ X λ ∣ , h λ ( 1 λ , X λ ) ) = f λ ( 1 λ , X λ ) ] + n e g l ( n ) \begin{aligned} &&\underset{X_\lambda,Gen,Enc,A}{Pr}\left[A\left(1^\lambda,\, G_1(1^\lambda),\, Enc(G_1(1^\lambda),X_\lambda),\, 1^{|X_\lambda|},\, h_\lambda(1^\lambda,X_\lambda) \right) = f_\lambda(1^\lambda,X_\lambda) \right] \\ \le &&\underset{X_\lambda,A'}{Pr}\left[A'\left(1^\lambda,\, 1^{|X_\lambda|},\, h_\lambda(1^\lambda,X_\lambda) \right) = f_\lambda(1^\lambda,X_\lambda) \right] + negl(n) \end{aligned} ≤Xλ,Gen,Enc,APr[A(1λ,G1(1λ),Enc(G1(1λ),Xλ),1∣Xλ∣,hλ(1λ,Xλ))=fλ(1λ,Xλ)]Xλ,A′Pr[A′(1λ,1∣Xλ∣,hλ(1λ,Xλ))=fλ(1λ,Xλ)]+negl(n)
即,存在 PPT 模拟器 S S S,使得
( G 1 ( 1 λ ) , E n c ( G 1 ( 1 λ ) , X λ ) , 1 ∣ X λ ∣ , h λ ( 1 λ , X λ ) ) ≡ c S ( 1 ∣ X λ ∣ , h λ ( 1 λ , X λ ) ) \left(G_1(1^\lambda),\, Enc(G_1(1^\lambda),X_\lambda),\, 1^{|X_\lambda|},\, h_\lambda(1^\lambda,X_\lambda)\right) \overset{c}{\equiv} S\left(1^{|X_\lambda|},\, h_\lambda(1^\lambda,X_\lambda)\right) (G1(1λ),Enc(G1(1λ),Xλ),1∣Xλ∣,hλ(1λ,Xλ))≡cS(1∣Xλ∣,hλ(1λ,Xλ))
多消息语义安全:设 { X ‾ λ = ( X λ ( 1 ) , ⋯ , X λ ( t ) ) } λ ∈ N \{\overline X_\lambda = (X_\lambda^{(1)},\cdots,X_\lambda^{(t)})\}_{\lambda \in \mathbb N} {Xλ=(Xλ(1),⋯,Xλ(t))}λ∈N,其中 t ( λ ) ≤ p o l y ( λ ) t(\lambda) \le poly(\lambda) t(λ)≤poly(λ) 且 ∣ X λ ( i ) ∣ = p o l y ( λ ) |X_\lambda^{(i)}| = poly(\lambda) ∣Xλ(i)∣=poly(λ)(多项式有界的多消息联合分布,各分量无需相互独立)。方案 ( G e n , E n c , D e c ) (Gen,Enc,Dec) (Gen,Enc,Dec) 称为多消息语义安全的,如果对于现实世界中的任意 PPT 算法 A A A,总存在理想世界中的 PPT 算法 A ′ A' A′,对于多消息分布 { X ‾ λ } λ ∈ N \{\overline X_\lambda\}_{\lambda \in \mathbb N} {Xλ}λ∈N,任意的目标 f λ ( ⋅ ) : { 0 , 1 } ∗ → { 0 , 1 } ∗ f_\lambda(\cdot): \{0,1\}^* \to \{0,1\}^* fλ(⋅):{0,1}∗→{0,1}∗,任意的辅助信息 h λ ( ⋅ ) : { 0 , 1 } ∗ → { 0 , 1 } ∗ h_\lambda(\cdot): \{0,1\}^* \to \{0,1\}^* hλ(⋅):{0,1}∗→{0,1}∗,都有
私钥模型,
P r X ‾ λ , G e n , E n c , A [ A ( 1 λ , E n c ( G e n ( 1 λ ) , X ‾ λ ) , 1 ∣ X ‾ λ ∣ , h λ ( 1 λ , X ‾ λ ) ) = f λ ( 1 λ , X ‾ λ ) ] ≤ P r X ‾ λ , A ′ [ A ′ ( 1 λ , 1 ∣ X ‾ λ ∣ , h λ ( 1 λ , X ‾ λ ) ) = f λ ( 1 λ , X ‾ λ ) ] + n e g l ( n ) \begin{aligned} &&\underset{\overline X_\lambda,Gen,Enc,A}{Pr}\left[A\left(1^\lambda,\, Enc(Gen(1^\lambda),\overline X_\lambda),\, 1^{|\overline X_\lambda|},\, h_\lambda(1^\lambda,\overline X_\lambda) \right) = f_\lambda(1^\lambda,\overline X_\lambda) \right] \\ \le &&\underset{\overline X_\lambda,A'}{Pr}\left[A'\left(1^\lambda,\, 1^{|\overline X_\lambda|},\, h_\lambda(1^\lambda,\overline X_\lambda) \right) = f_\lambda(1^\lambda,\overline X_\lambda) \right] + negl(n) \end{aligned} ≤Xλ,Gen,Enc,APr[A(1λ,Enc(Gen(1λ),Xλ),1∣Xλ∣,hλ(1λ,Xλ))=fλ(1λ,Xλ)]Xλ,A′Pr[A′(1λ,1∣Xλ∣,hλ(1λ,Xλ))=fλ(1λ,Xλ)]+negl(n)公钥模型,
P r X ‾ λ , G e n , E n c , A [ A ( 1 λ , G 1 ( 1 λ ) , E n c ( G 1 ( 1 λ ) , X ‾ λ ) , 1 ∣ X ‾ λ ∣ , h λ ( 1 λ , X ‾ λ ) ) = f λ ( 1 λ , X ‾ λ ) ] ≤ P r X ‾ λ , A ′ [ A ′ ( 1 λ , 1 ∣ X ‾ λ ∣ , h λ ( 1 λ , X ‾ λ ) ) = f λ ( 1 λ , X ‾ λ ) ] + n e g l ( n ) \begin{aligned} &&\underset{\overline X_\lambda,Gen,Enc,A}{Pr}\left[A\left(1^\lambda,\, G_1(1^\lambda),\, Enc(G_1(1^\lambda),\overline X_\lambda),\, 1^{|\overline X_\lambda|},\, h_\lambda(1^\lambda,\overline X_\lambda) \right) = f_\lambda(1^\lambda,\overline X_\lambda) \right] \\ \le &&\underset{\overline X_\lambda,A'}{Pr}\left[A'\left(1^\lambda,\, 1^{|\overline X_\lambda|},\, h_\lambda(1^\lambda,\overline X_\lambda) \right) = f_\lambda(1^\lambda,\overline X_\lambda) \right] + negl(n) \end{aligned} ≤Xλ,Gen,Enc,APr[A(1λ,G1(1λ),Enc(G1(1λ),Xλ),1∣Xλ∣,hλ(1λ,Xλ))=fλ(1λ,Xλ)]Xλ,A′Pr[A′(1λ,1∣Xλ∣,hλ(1λ,Xλ))=fλ(1λ,Xλ)]+negl(n)
不可区分安全
密文不可区分(私钥):私钥方案 ( G e n , E n c , D e c ) (Gen,Enc,Dec) (Gen,Enc,Dec) 称为密文不可区分的(IND),如果对于任意非一致电路簇 { C λ } λ ∈ N \{C_\lambda\}_{\lambda \in \mathbb N} {Cλ}λ∈N,以及任意的 x , y ∈ { 0 , 1 } l ( λ ) = M x,y \in \{0,1\}^{l(\lambda)}=M x,y∈{0,1}l(λ)=M,有
∣ P r G e n , E n c [ C λ ( E n c ( G e n ( 1 λ ) , x ) ) = 1 ] − P r G e n , E n c [ C λ ( E n c ( G e n ( 1 λ ) , y ) ) = 1 ] ∣ ≤ n e g l ( λ ) \left| \underset{Gen,Enc}{Pr}[C_\lambda(Enc(Gen(1^\lambda),\, x))=1] - \underset{Gen,Enc}{Pr}[C_\lambda(Enc(Gen(1^\lambda),\, y))=1] \right| \le negl(\lambda) ∣∣∣∣Gen,EncPr[Cλ(Enc(Gen(1λ),x))=1]−Gen,EncPr[Cλ(Enc(Gen(1λ),y))=1]∣∣∣∣≤negl(λ)
密文不可区分(公钥):公钥方案 ( G e n = ( G 1 , G 2 ) , E n c , D e c ) (Gen=(G_1,G_2),Enc,Dec) (Gen=(G1,G2),Enc,Dec) 称为密文不可区分的(IND),如果对于任意非一致电路簇 { C λ } λ ∈ N \{C_\lambda\}_{\lambda \in \mathbb N} {Cλ}λ∈N,以及任意的 x , y ∈ { 0 , 1 } l ( λ ) = M x,y \in \{0,1\}^{l(\lambda)}=M x,y∈{0,1}l(λ)=M,有
∣ P r G e n , E n c [ C λ ( G 1 ( 1 λ ) , E n c ( G 1 ( 1 λ ) , x ) ) = 1 ] − P r G e n , E n c [ C λ ( G 1 ( 1 λ ) , E n c ( G 1 ( 1 λ ) , y ) ) = 1 ] ∣ ≤ n e g l ( λ ) \left| \underset{Gen,Enc}{Pr}[C_\lambda(G_1(1^\lambda),\, Enc(G_1(1^\lambda),\, x))=1] - \underset{Gen,Enc}{Pr}[C_\lambda(G_1(1^\lambda),\, Enc(G_1(1^\lambda),\, y))=1] \right| \le negl(\lambda) ∣∣∣∣Gen,EncPr[Cλ(G1(1λ),Enc(G1(1λ),x))=1]−Gen,EncPr[Cλ(G1(1λ),Enc(G1(1λ),y))=1]∣∣∣∣≤negl(λ)
定义敌手和挑战者之间的判定实验,令 h ( X λ ) = { m 0 , m 1 } h(X_\lambda)=\{m_0,m_1\} h(Xλ)={m0,m1}, f ( 1 λ , X λ ) = b f(1^\lambda,X_\lambda)=b f(1λ,Xλ)=b,如图
现实世界中敌手 A A A 相对于理想世界中模拟器 A ′ A' A′ 的区分优势为:
A d v A , Π I N D ( λ ) : = ∣ P r G e n , E n c , A [ E x p t A , Π I N D ( 1 λ , 0 ) = 0 ] − P r G e n , E n c , A [ E x p t A , Π I N D ( 1 λ , 1 ) = 1 ] ∣ : = 2 ∣ P r G e n , E n c , A [ E x p t A , Π I N D ( 1 λ , U 1 ) = 1 ] − 1 2 ∣ \begin{aligned} Adv_{A,\Pi}^{IND}(\lambda) &:= \left| \underset{Gen,Enc,A}{Pr}\left[ Expt_{A,\Pi}^{IND}(1^\lambda,0)=0 \right] - \underset{Gen,Enc,A}{Pr}\left[ Expt_{A,\Pi}^{IND}(1^\lambda,1)=1 \right] \right| \\ &:= 2\left| \underset{Gen,Enc,A}{Pr}\left[ Expt_{A,\Pi}^{IND}(1^\lambda,U_1)=1 \right] - \frac{1}{2} \right| \\ \end{aligned} AdvA,ΠIND(λ):=∣∣∣∣Gen,Enc,APr[ExptA,ΠIND(1λ,0)=0]−Gen,Enc,APr[ExptA,ΠIND(1λ,1)=1]∣∣∣∣:=2∣∣∣∣Gen,Enc,APr[ExptA,ΠIND(1λ,U1)=1]−21∣∣∣∣
其中 P r G e n , E n c , A ′ [ E x p t A ′ , Π , I d e a l I N D ( 1 λ , U 1 ) = 1 ] = 1 2 \underset{Gen,Enc,A'}{Pr}\left[ Expt_{A',\Pi,Ideal}^{IND}(1^\lambda,U_1)=1 \right] = \dfrac{1}{2} Gen,Enc,A′Pr[ExptA′,Π,IdealIND(1λ,U1)=1]=21
于是,我们说加密方案 Π \Pi Π 是 IND 安全的,如果对于任意的 PPT 敌手 A A A,有
A d v A , Π I N D ( λ ) ≤ n e g l ( λ ) Adv_{A,\Pi}^{IND}(\lambda) \le negl(\lambda) AdvA,ΠIND(λ)≤negl(λ)
多消息密文不可区分(私钥):私钥方案 ( G e n , E n c , D e c ) (Gen,Enc,Dec) (Gen,Enc,Dec) 称为多消息 IND 安全的,如果对于任意非一致电路簇 { C λ } λ ∈ N \{C_\lambda\}_{\lambda \in \mathbb N} {Cλ}λ∈N,以及任意的 x ‾ 0 , x ‾ 1 ∈ X ‾ λ \overline x_0,\overline x_1 \in \overline X_\lambda x0,x1∈Xλ,有
∣ P r G e n , E n c [ C λ ( E n c ( G e n ( 1 λ ) , x ‾ 0 ) ) = 1 ] − P r G e n , E n c [ C λ ( E n c ( G e n ( 1 λ ) , x ‾ 1 ) ) = 1 ] ∣ ≤ n e g l ( λ ) \left| \underset{Gen,Enc}{Pr}[C_\lambda(Enc(Gen(1^\lambda),\, \overline x_0))=1] - \underset{Gen,Enc}{Pr}[C_\lambda(Enc(Gen(1^\lambda),\, \overline x_1))=1] \right| \le negl(\lambda) ∣∣∣∣Gen,EncPr[Cλ(Enc(Gen(1λ),x0))=1]−Gen,EncPr[Cλ(Enc(Gen(1λ),x1))=1]∣∣∣∣≤negl(λ)
多消息密文不可区分(公钥):公钥方案 ( G e n = ( G 1 , G 2 ) , E n c , D e c ) (Gen=(G_1,G_2),Enc,Dec) (Gen=(G1,G2),Enc,Dec) 称为称为多消息 IND 安全的,如果对于任意非一致电路簇 { C λ } λ ∈ N \{C_\lambda\}_{\lambda \in \mathbb N} {Cλ}λ∈N,以及任意的 x ‾ 0 , x ‾ 1 ∈ X ‾ λ \overline x_0,\overline x_1 \in \overline X_\lambda x0,x1∈Xλ,有
∣ P r G e n , E n c [ C λ ( G 1 ( 1 λ ) , E n c ( G 1 ( 1 λ ) , x ‾ 0 ) ) = 1 ] − P r G e n , E n c [ C λ ( G 1 ( 1 λ ) , E n c ( G 1 ( 1 λ ) , x ‾ 1 ) ) = 1 ] ∣ ≤ n e g l ( λ ) \left| \underset{Gen,Enc}{Pr}[C_\lambda(G_1(1^\lambda),\, Enc(G_1(1^\lambda),\, \overline x_0))=1] - \underset{Gen,Enc}{Pr}[C_\lambda(G_1(1^\lambda),\, Enc(G_1(1^\lambda),\, \overline x_1))=1] \right| \le negl(\lambda) ∣∣∣∣Gen,EncPr[Cλ(G1(1λ),Enc(G1(1λ),x0))=1]−Gen,EncPr[Cλ(G1(1λ),Enc(G1(1λ),x1))=1]∣∣∣∣≤negl(λ)
各个安全性之间的关系为:
加密方案(主动攻击)
上述的语义安全和不可区分安全都是唯密文攻击(被动攻击)下的安全性。除此之外,还有更强的主动攻击下的安全性。
CPA
选择明文攻击下的语义安全:(公钥、私钥)加密方案 Π = ( G e n = ( G 1 , G 2 ) , E n c , D e c ) \Pi = (Gen=(G_1,G_2),Enc,Dec) Π=(Gen=(G1,G2),Enc,Dec) 称为称为 CPA 语义安全的,如果对于任意 PPT 的带加密 Oracle 的两阶段算法 A = ( A 1 , A 2 ) A = (A_1,A_2) A=(A1,A2),存在 PPT算法 A ′ = ( A 1 ′ , A 2 ′ ) A'=(A_1',A_2') A′=(A1′,A2′),使得
当 λ \lambda λ 充分大,对于任意的 z ∈ { 0 , 1 } p o l y ( λ ) z \in \{0,1\}^{poly(\lambda)} z∈{0,1}poly(λ),有
P r G e n , E n c , A , S [ v = f ( x ) : ( e , d ) ← G e n ( 1 λ ) ( ( S , h , f ) , σ ) ← A 1 E n c e , d ( ⋅ ) ( 1 λ , e , z ) c ← ( E n c e , d ( x ) , h ( x ) ) , x ← S ( U p o l y ( λ ) ) v ← A 2 E n c e , d ( ⋅ ) ( σ , c ) ] ≤ P r A ′ , S [ v = f ( x ) : ( ( S , h , f ) , σ ) ← A 1 ′ ( 1 λ , z ) c ← ( 1 ∣ x ∣ , h ( x ) ) , x ← S ( U p o l y ( λ ) ) v ← A 2 ′ ( σ , c ) ] + n e g l ( λ ) \begin{aligned} &&\underset{Gen,Enc,A,S}{Pr}\left[\begin{aligned} v=f(x): && (e,d) \leftarrow Gen(1^\lambda)\\ && ((S,h,f),\sigma) \leftarrow A_1^{Enc_{e,d}(\cdot)}(1^\lambda,e,z)\\ && c \leftarrow (Enc_{e,d}(x),\, h(x)),\, x \leftarrow S(U_{poly(\lambda)})\\ && v \leftarrow A_2^{Enc_{e,d}(\cdot)}(\sigma,c) \end{aligned}\right]\\ &\le &\underset{A',S}{Pr}\left[\begin{aligned} v=f(x): && ((S,h,f),\sigma) \leftarrow A_1'(1^\lambda,z)\\ && c \leftarrow (1^{|x|},\, h(x)),\, x \leftarrow S(U_{poly(\lambda)})\\ && v \leftarrow A_2'(\sigma,c) \end{aligned}\right] + negl(\lambda) \end{aligned} ≤Gen,Enc,A,SPr⎣⎢⎢⎢⎢⎢⎡v=f(x):(e,d)←Gen(1λ)((S,h,f),σ)←A1Ence,d(⋅)(1λ,e,z)c←(Ence,d(x),h(x)),x←S(Upoly(λ))v←A2Ence,d(⋅)(σ,c)⎦⎥⎥⎥⎥⎥⎤A′,SPr⎣⎢⎡v=f(x):((S,h,f),σ)←A1′(1λ,z)c←(1∣x∣,h(x)),x←S(Upoly(λ))v←A2′(σ,c)⎦⎥⎤+negl(λ)对于任意的 λ , z \lambda,z λ,z, A 1 ′ ( 1 λ , z ) A_1'(1^\lambda,z) A1′(1λ,z) 与 A 1 E n c e , d ( ⋅ ) ( 1 λ , e , z ) A_1^{Enc_{e,d}(\cdot)}(1^\lambda,e,z) A1Ence,d(⋅)(1λ,e,z) 输出的 ( S , h , f ) (S,h,f) (S,h,f) 计算不可区分(否则目标不一致,比较无意义)。
定义选择明文攻击(CPA)的实验 E x p t A , Π , z I N D − C P A ( 1 λ , b ) Expt_{A,\Pi,z}^{IND-CPA}(1^\lambda,b) ExptA,Π,zIND−CPA(1λ,b),如图:
区分优势定义为:
A d v A , Π I N D − C P A ( λ ) : = ∣ P r G e n , E n c , A [ E x p t A , Π , z I N D − C P A ( 1 λ , 0 ) = 0 ] − P r G e n , E n c , A [ E x p t A , Π , z I N D − C P A ( 1 λ , 1 ) = 1 ] ∣ : = 2 ∣ P r G e n , E n c , A [ E x p t A , Π , z I N D − C P A ( 1 λ , U 1 ) = 1 ] − 1 2 ∣ \begin{aligned} Adv_{A,\Pi}^{IND-CPA}(\lambda) &:= \left| \underset{Gen,Enc,A}{Pr}\left[ Expt_{A,\Pi,z}^{IND-CPA}(1^\lambda,0)=0 \right] - \underset{Gen,Enc,A}{Pr}\left[ Expt_{A,\Pi,z}^{IND-CPA}(1^\lambda,1)=1 \right] \right| \\ &:= 2\left| \underset{Gen,Enc,A}{Pr}\left[ Expt_{A,\Pi,z}^{IND-CPA}(1^\lambda,U_1)=1 \right] - \frac{1}{2} \right| \end{aligned} AdvA,ΠIND−CPA(λ):=∣∣∣∣Gen,Enc,APr[ExptA,Π,zIND−CPA(1λ,0)=0]−Gen,Enc,APr[ExptA,Π,zIND−CPA(1λ,1)=1]∣∣∣∣:=2∣∣∣∣Gen,Enc,APr[ExptA,Π,zIND−CPA(1λ,U1)=1]−21∣∣∣∣
选择明文攻击下的密文不可区分:(公钥、私钥)加密方案 Π = ( G e n = ( G 1 , G 2 ) , E n c , D e c ) \Pi = (Gen=(G_1,G_2),Enc,Dec) Π=(Gen=(G1,G2),Enc,Dec) 称为称为 IND-CPA 安全的,如果对于任意 PPT 的带加密 Oracle 的两阶段算法 A = ( A 1 , A 2 ) A = (A_1,A_2) A=(A1,A2),使得区分优势为
A d v A , Π I N D − C P A ( λ ) ≤ n e g l ( n ) Adv_{A,\Pi}^{IND-CPA}(\lambda) \le negl(n) AdvA,ΠIND−CPA(λ)≤negl(n)
由于 CPA 模型下算法 A A A 可访问加密预言机 E n c e , d ( ⋅ ) Enc_{e,d}(\cdot) Ence,d(⋅),因此有:
CCA1
定义第一类选择密文攻击(CCA1)的实验 E x p t A , Π , z I N D − C C A 1 ( 1 λ , b ) Expt_{A,\Pi,z}^{IND-CCA1}(1^\lambda,b) ExptA,Π,zIND−CCA1(1λ,b),如图:
CCA2
定义第二类选择密文攻击(CCA1)的实验 E x p t A , Π , z I N D − C C A 2 ( 1 λ , b ) Expt_{A,\Pi,z}^{IND-CCA2}(1^\lambda,b) ExptA,Π,zIND−CCA2(1λ,b),如图:
Att
为了统一表示 { C P A , C C A 1 , C C A 2 } \{CPA,CCA1,CCA2\} {CPA,CCA1,CCA2},定义实验 E x p t A , Π , z A t t ( 1 λ , b ) Expt_{A,\Pi,z}^{Att}(1^\lambda,b) ExptA,Π,zAtt(1λ,b) 如图:
区分优势定义为
A d v A , Π I N D − A t t ( λ ) : = ∣ P r Π , A [ E x p t A , Π , z I N D − A t t ( 1 λ , 0 ) = 0 ] − P r Π , A [ E x p t A , Π , z I N D − A t t ( 1 λ , 1 ) = 1 ] ∣ : = 2 ∣ P r Π , A , b [ E x p t A , Π , z I N D − A t t ( 1 λ , U 1 ) = 1 ] − 1 2 ∣ \begin{aligned} Adv_{A,\Pi}^{IND-Att}(\lambda) &:= \left| \underset{\Pi,A}{Pr}\left[ Expt_{A,\Pi,z}^{IND-Att}(1^\lambda,0)=0 \right] - \underset{\Pi,A}{Pr}\left[ Expt_{A,\Pi,z}^{IND-Att}(1^\lambda,1)=1 \right] \right| \\ &:= 2\left| \underset{\Pi,A,b}{Pr}\left[ Expt_{A,\Pi,z}^{IND-Att}(1^\lambda,U_1)=1 \right] - \frac{1}{2} \right| \end{aligned} AdvA,ΠIND−Att(λ):=∣∣∣∣Π,APr[ExptA,Π,zIND−Att(1λ,0)=0]−Π,APr[ExptA,Π,zIND−Att(1λ,1)=1]∣∣∣∣:=2∣∣∣∣Π,A,bPr[ExptA,Π,zIND−Att(1λ,U1)=1]−21∣∣∣∣
Att-不可区分安全:(公钥、私钥)加密方案 Π = ( G e n , E n c , D e c ) \Pi = (Gen,Enc,Dec) Π=(Gen,Enc,Dec) 称为 Att - 密文不可区分的,其中 A t t = { C P A , C C A 1 , C C A 2 } Att=\{CPA,CCA1,CCA2\} Att={CPA,CCA1,CCA2},如果对于任意 PPT 的带 Oracles 的两阶段算法 A = ( A 1 , A 2 ) A = (A_1,A_2) A=(A1,A2),以及任意的 z ∈ { 0 , 1 } p o l y ( ⋅ ) z \in \{0,1\}^{poly(\cdot)} z∈{0,1}poly(⋅),有
A d v A , Π I N D − A t t ( λ ) ≤ n e g l ( λ ) Adv_{A,\Pi}^{IND-Att}(\lambda) \le negl(\lambda) AdvA,ΠIND−Att(λ)≤negl(λ)
Att-语义安全:(公钥、私钥)加密方案 Π = ( G e n , E n c , D e c ) \Pi = (Gen,Enc,Dec) Π=(Gen,Enc,Dec) 称为 Att - 语义安全的,其中 A t t = { C P A , C C A 1 , C C A 2 } Att=\{CPA,CCA1,CCA2\} Att={CPA,CCA1,CCA2},如果对于任意 PPT 的带 Oracles 的两阶段算法 A = ( A 1 , A 2 ) A = (A_1,A_2) A=(A1,A2),存在 PPT 算法 A ′ = ( A 1 ′ , A 2 ′ ) A'=(A'_1,A'_2) A′=(A1′,A2′),使得
当 λ \lambda λ 充分大,对于任意的 z ∈ { 0 , 1 } p o l y ( λ ) z \in \{0,1\}^{poly(\lambda)} z∈{0,1}poly(λ),有
P r Π , A , S [ v = f ( x ) : ( e , d ) ← G e n ( 1 λ ) ( ( S , h , f ) , σ ) ← A 1 E n c e , d ( ⋅ ) , O A t t 1 ( 1 λ , e , z ) c ← ( E n c e , d ( x ) , h ( x ) ) , x ← S ( U p o l y ( λ ) ) v ← A 2 E n c e , d ( ⋅ ) , O A t t 2 ( σ , c ) ] ≤ P r A ′ , S [ v = f ( x ) : ( ( S , h , f ) , σ ) ← A 1 ′ ( 1 λ , z ) x ← S ( U p o l y ( λ ) ) v ← A 2 ′ ( σ , 1 ∣ x ∣ , h ( x ) ) ] + n e g l ( λ ) \begin{aligned} &&\underset{\Pi,A,S}{Pr}\left[\begin{aligned} v=f(x): && (e,d) \leftarrow Gen(1^\lambda)\\ && ((S,h,f),\sigma) \leftarrow A_1^{Enc_{e,d}(\cdot),O_{Att}^1}(1^\lambda,e,z)\\ && c \leftarrow (Enc_{e,d}(x),\, h(x)),\, x \leftarrow S(U_{poly(\lambda)})\\ && v \leftarrow A_2^{Enc_{e,d}(\cdot),O_{Att}^2}(\sigma,c) \end{aligned}\right]\\ &\le &\underset{A',S}{Pr}\left[\begin{aligned} v=f(x): && ((S,h,f),\sigma) \leftarrow A_1'(1^\lambda,z)\\ && x \leftarrow S(U_{poly(\lambda)})\\ && v \leftarrow A_2'(\sigma,1^{|x|},h(x)) \end{aligned}\right] + negl(\lambda) \end{aligned} ≤Π,A,SPr⎣⎢⎢⎢⎢⎢⎡v=f(x):(e,d)←Gen(1λ)((S,h,f),σ)←A1Ence,d(⋅),OAtt1(1λ,e,z)c←(Ence,d(x),h(x)),x←S(Upoly(λ))v←A2Ence,d(⋅),OAtt2(σ,c)⎦⎥⎥⎥⎥⎥⎤A′,SPr⎣⎢⎡v=f(x):((S,h,f),σ)←A1′(1λ,z)x←S(Upoly(λ))v←A2′(σ,1∣x∣,h(x))⎦⎥⎤+negl(λ)对于任意的 λ , z \lambda,z λ,z, A 1 ′ ( 1 λ , z ) A_1'(1^\lambda,z) A1′(1λ,z) 与 A 1 E n c e , d ( ⋅ ) , O A t t 1 ( 1 λ , e , z ) A_1^{Enc_{e,d}(\cdot),O_{Att}^1}(1^\lambda,e,z) A1Ence,d(⋅),OAtt1(1λ,e,z) 输出的 ( S , h , f ) (S,h,f) (S,h,f) 计算不可区分(否则目标不一致,比较无意义)。
可以证明,
- (公钥、私钥)加密方案 Π = ( G e n , E n c , D e c ) \Pi = (Gen,Enc,Dec) Π=(Gen,Enc,Dec) 是 Att - 语义安全的,当仅当 Π \Pi Π 是 Att - 密文不可区分的。
- (公钥、私钥)加密方案 Π = ( G e n , E n c , D e c ) \Pi = (Gen,Enc,Dec) Π=(Gen,Enc,Dec) 是单消息 Att - 语义安全的,当仅当 Π \Pi Π 是多消息 Att - 语义安全的。
- (公钥、私钥)加密方案 Π = ( G e n , E n c , D e c ) \Pi = (Gen,Enc,Dec) Π=(Gen,Enc,Dec) 是单消息 Att - 密文不可区分的,当仅当 Π \Pi Π 是多消息 Att - 密文不可区分的。
签名方案
不可伪造性:签名方案 Π = ( G e n , S i g n , V e r ) \Pi = (Gen,Sign,Ver) Π=(Gen,Sign,Ver) 的选择消息攻击实验如下:
我们说 Π \Pi Π 是选择消息攻击下的存在性不可伪造(EUF-CMA)的,如果对于任意 PPT 敌手 A A A,当 λ \lambda λ 充分大,有
A d v A , Π E U F − C M A ( λ ) : = P r [ E x p t A , Π E U F − C M A ( 1 λ ) = 1 ] ≤ n e g l ( λ ) Adv_{A,\Pi}^{EUF-CMA}(\lambda) := Pr\left[ Expt_{A,\Pi}^{EUF-CMA}(1^\lambda) = 1 \right] \le negl(\lambda) AdvA,ΠEUF−CMA(λ):=Pr[ExptA,ΠEUF−CMA(1λ)=1]≤negl(λ)
强不可伪造性:签名方案 Π = ( G e n , S i g n , V e r ) \Pi = (Gen,Sign,Ver) Π=(Gen,Sign,Ver) 的(强)选择消息攻击实验如下:
我们说 Π \Pi Π 是选择消息攻击下的(强)存在性不可伪造(EUF-CMA)的,如果对于任意 PPT 敌手 A A A,当 λ \lambda λ 充分大,有
A d v A , Π E U F − C M A ( λ ) : = P r [ E x p t A , Π E U F − C M A ( 1 λ ) = 1 ] ≤ n e g l ( λ ) Adv_{A,\Pi}^{EUF-CMA}(\lambda) := Pr\left[ Expt_{A,\Pi}^{EUF-CMA}(1^\lambda) = 1 \right] \le negl(\lambda) AdvA,ΠEUF−CMA(λ):=Pr[ExptA,ΠEUF−CMA(1λ)=1]≤negl(λ)
MAC
不可伪造性:消息验证码 Π = ( G e n , M A C , V e r ) \Pi = (Gen,MAC,Ver) Π=(Gen,MAC,Ver) 的选择消息攻击实验如下:
我们说 Π \Pi Π 是选择消息攻击下的存在性不可伪造(EUF-CMA)的,如果对于任意 PPT 敌手 A A A,当 λ \lambda λ 充分大,有
A d v A , Π E U F − C M A ( λ ) : = P r [ E x p t A , Π E U F − C M A ( 1 λ ) = 1 ] ≤ n e g l ( λ ) Adv_{A,\Pi}^{EUF-CMA}(\lambda) := Pr\left[ Expt_{A,\Pi}^{EUF-CMA}(1^\lambda) = 1 \right] \le negl(\lambda) AdvA,ΠEUF−CMA(λ):=Pr[ExptA,ΠEUF−CMA(1λ)=1]≤negl(λ)
安全性归约(安全性定义 - 2)相关推荐
- 安全性归约(安全性定义 - 1)
继续 "安全性归约" 内容的整理.下面列出了各种安全性定义,方便查找. 文章目录 不可区分性 密码原语 OWF PRG PRF Hash 方案 不可区分性 概率总体:令 I I I ...
- 安全性配置-定义任务流节点
出处 http://www.prsm.com.cn/bbs/dispbbs.asp?boardID=14&ID=199&page=6 任务流中的每个表单即为一个节点.要包括在任务流中的 ...
- 密码 计算安全性 可证明安全性 无条件安全性
一个密码系统的安全性主要与两个方面的因素有关. (1)一个是所使用密码算法本身的保密强度.密码算法的保密强度取决于密码设计水平.破译技术等.可以说一个密码系统所使用密码算法的保密强度是该系统安全性的技 ...
- APP安全测试-数据安全性/通讯安全性/人机接口安全性
APP的安全测试点 -----------转摘某位大神,看过之后,觉得比一些介绍APP测试的书籍都要写的好,若是测试APP完全可以参考,并结合自己的工作,看是否有漏测或者自己工作需要改进的地方 数据安 ...
- android 7 ios 安全性,在安全性方面,安卓真的是垃圾!尽量都选择用iOS手机吧
说一下自己在安卓手机遇到的情况吧! 1. 我自己的体验:每次我在京东搜索过某商品,打开虎扑后推送的广告绝对是京东的那些商品广告,比如,我之前在京东搜索过"小米显示器.机械键盘.笔记本等&qu ...
- 流密码的语义安全性与PRG的安全性
PRG的安全性 PRG(Pseudo-random generators)即伪随机生成器.直观来说,PRG是一个高效的确定性算法,它以一个比特串作为输入,输出一个比特串,并且为了实用性一般情况下满足. ...
- 【思维导图总结——数据库系统概论】数据库安全性
数据库安全性 数据库系统概论--数据库安全性 数据库安全性 一.数据库安全性概述 二.数据库安全性控制 (一).计算机的安全模型 (二).数据库安全性控制的常用方法 1.用户身份鉴别与存取控制 2.自 ...
- 谈谈虚拟化及其安全性
虚拟化是硬件和软件工程的协作,以创建虚拟机(VM).这被认为是计算机硬件的抽象化,使单个物理机能够当作多个机器运行.没有虚拟机,单个操作系统将会占用所有的硬件资源,但是随着虚拟机的部署,具有各自独立虚 ...
- 『数据库』无聊到爆炸的数据库文章--数据库的安全性
『数据库』 朴实无华且枯燥的数据库教程–入门必看!(不收藏,真的吃亏了) 文章目录 计算机安全性概述 数据库安全性控制 视图机制 审计(Audit) 数据加密 统计数据库安全性 问题的提出 数据库的一 ...
最新文章
- Unable to open file dclusr60.lib解决方法
- OpenGL之矩阵的基本变换和矩阵堆栈
- git关联远程仓库和删除远程仓库
- 绘制课本中的根轨迹图与零极点分布图
- Ctrl与Caps Lock键的交换
- androidstudio新建项目中在布局文件中不显示title的方法
- 于变局中开新局!《2021中国SaaS市场研究报告》报告发布
- 使用Flash Pro CC 输出动画--html5-canvas
- git 删除和复制远程分支
- 再谈 document.documentElement 与 document.body 的 scrollWidth、offsetWidth、clientWidth
- matlab菜单的中文意思,matlab菜单制作
- C++之导入lib库
- Win10正式版怎么卸载IE浏览器?
- 膜拜性转帖: C++11有关的(现在用的编译器都是不太支持C++11的)
- oracle 19c ORA-00942: 表或视图不存在 ORA-02063: 紧接着 line
- 594. Longest Harmonious Subsequence
- vue如何通过键盘方向键切换input焦点
- Linux kermit配置及使用
- 高等数学18讲(19版)7.31(区间再现公式)
- 21day学通python epub_Python Day21