安全性归约(安全性定义 - 2)

书接上回 ψ(*`ー´)ψ

加密方案(被动攻击)

完美安全性:密文分布与明文分布相互独立,不同明文的密文是不可区分的,
{ 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):kGen,xXλ}{Enc(k,x;r):kGen,xXλ}

计算安全性:密文分布与明文分布在计算意义下相互独立,不同明文的密文是计算不可区分的,
{ 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):kGen,xXλ}c{Enc(k,x;r):kGen,xXλ}

语义安全

语义安全(私钥):私钥方案 ( 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λ),1Xλ,hλ(1λ,Xλ))=fλ(1λ,Xλ)]Xλ,APr[A(1λ,1Xλ,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λ),1Xλ,hλ(1λ,Xλ))cS(1Xλ,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λ),1Xλ,hλ(1λ,Xλ))=fλ(1λ,Xλ)]Xλ,APr[A(1λ,1Xλ,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λ),1Xλ,hλ(1λ,Xλ))cS(1Xλ,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},都有

  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λ),1Xλ,hλ(1λ,Xλ))=fλ(1λ,Xλ)]Xλ,APr[A(1λ,1Xλ,hλ(1λ,Xλ))=fλ(1λ,Xλ)]+negl(n)

  2. 公钥模型,
    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λ),1Xλ,hλ(1λ,Xλ))=fλ(1λ,Xλ)]Xλ,APr[A(1λ,1Xλ,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]:=2Gen,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,APr[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,x1Xλ,有
∣ 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,x1Xλ,有
∣ 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),使得

  1. λ \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,SPrv=f(x):(e,d)Gen(1λ)((S,h,f),σ)A1Ence,d()(1λ,e,z)c(Ence,d(x),h(x)),xS(Upoly(λ))vA2Ence,d()(σ,c)A,SPrv=f(x):((S,h,f),σ)A1(1λ,z)c(1x,h(x)),xS(Upoly(λ))vA2(σ,c)+negl(λ)

  2. 对于任意的 λ , 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,Π,zINDCPA(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,ΠINDCPA(λ):=Gen,Enc,APr[ExptA,Π,zINDCPA(1λ,0)=0]Gen,Enc,APr[ExptA,Π,zINDCPA(1λ,1)=1]:=2Gen,Enc,APr[ExptA,Π,zINDCPA(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,ΠINDCPA(λ)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,Π,zINDCCA1(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,Π,zINDCCA2(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,ΠINDAtt(λ):=Π,APr[ExptA,Π,zINDAtt(1λ,0)=0]Π,APr[ExptA,Π,zINDAtt(1λ,1)=1]:=2Π,A,bPr[ExptA,Π,zINDAtt(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,ΠINDAtt(λ)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),使得

  1. λ \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,SPrv=f(x):(e,d)Gen(1λ)((S,h,f),σ)A1Ence,d(),OAtt1(1λ,e,z)c(Ence,d(x),h(x)),xS(Upoly(λ))vA2Ence,d(),OAtt2(σ,c)A,SPrv=f(x):((S,h,f),σ)A1(1λ,z)xS(Upoly(λ))vA2(σ,1x,h(x))+negl(λ)

  2. 对于任意的 λ , 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,ΠEUFCMA(λ):=Pr[ExptA,ΠEUFCMA(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,ΠEUFCMA(λ):=Pr[ExptA,ΠEUFCMA(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,ΠEUFCMA(λ):=Pr[ExptA,ΠEUFCMA(1λ)=1]negl(λ)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值