• 安全性归约(安全性定义 - 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 )

    PrXλ,Gen,Enc,A[A(1λ,Enc(Gen(1λ),Xλ),1|Xλ|,hλ(1λ,Xλ))=fλ(1λ,Xλ)]PrXλ,A[A(1λ,1|Xλ|,hλ(1λ,Xλ))=fλ(1λ,Xλ)]+negl(n)" role="presentation">PrXλ,Gen,Enc,A[A(1λ,Enc(Gen(1λ),Xλ),1|Xλ|,hλ(1λ,Xλ))=fλ(1λ,Xλ)]PrXλ,A[A(1λ,1|Xλ|,hλ(1λ,Xλ))=fλ(1λ,Xλ)]+negl(n)
    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 )

    PrXλ,Gen,Enc,A[A(1λ,G1(1λ),Enc(G1(1λ),Xλ),1|Xλ|,hλ(1λ,Xλ))=fλ(1λ,Xλ)]PrXλ,A[A(1λ,1|Xλ|,hλ(1λ,Xλ))=fλ(1λ,Xλ)]+negl(n)" role="presentation">PrXλ,Gen,Enc,A[A(1λ,G1(1λ),Enc(G1(1λ),Xλ),1|Xλ|,hλ(1λ,Xλ))=fλ(1λ,Xλ)]PrXλ,A[A(1λ,1|Xλ|,hλ(1λ,Xλ))=fλ(1λ,Xλ)]+negl(n)
    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 )

      PrX¯λ,Gen,Enc,A[A(1λ,Enc(Gen(1λ),X¯λ),1|X¯λ|,hλ(1λ,X¯λ))=fλ(1λ,X¯λ)]PrX¯λ,A[A(1λ,1|X¯λ|,hλ(1λ,X¯λ))=fλ(1λ,X¯λ)]+negl(n)" role="presentation">PrX¯λ,Gen,Enc,A[A(1λ,Enc(Gen(1λ),X¯λ),1|X¯λ|,hλ(1λ,X¯λ))=fλ(1λ,X¯λ)]PrX¯λ,A[A(1λ,1|X¯λ|,hλ(1λ,X¯λ))=fλ(1λ,X¯λ)]+negl(n)
      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 )

      PrX¯λ,Gen,Enc,A[A(1λ,G1(1λ),Enc(G1(1λ),X¯λ),1|X¯λ|,hλ(1λ,X¯λ))=fλ(1λ,X¯λ)]PrX¯λ,A[A(1λ,1|X¯λ|,hλ(1λ,X¯λ))=fλ(1λ,X¯λ)]+negl(n)" role="presentation">PrX¯λ,Gen,Enc,A[A(1λ,G1(1λ),Enc(G1(1λ),X¯λ),1|X¯λ|,hλ(1λ,X¯λ))=fλ(1λ,X¯λ)]PrX¯λ,A[A(1λ,1|X¯λ|,hλ(1λ,X¯λ))=fλ(1λ,X¯λ)]+negl(n)
      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 ∣

    AdvA,ΠIND(λ):=|PrGen,Enc,A[ExptA,ΠIND(1λ,0)=0]PrGen,Enc,A[ExptA,ΠIND(1λ,1)=1]|:=2|PrGen,Enc,A[ExptA,ΠIND(1λ,U1)=1]12|" role="presentation">AdvA,ΠIND(λ):=|PrGen,Enc,A[ExptA,ΠIND(1λ,0)=0]PrGen,Enc,A[ExptA,ΠIND(1λ,1)=1]|:=2|PrGen,Enc,A[ExptA,ΠIND(1λ,U1)=1]12|
    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}" role="presentation">\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[
      v=f(x):((S,h,f),σ)A1(1λ,z)c(1|x|,h(x)),xS(Upoly(λ))vA2(σ,c)" role="presentation">v=f(x):((S,h,f),σ)A1(1λ,z)c(1|x|,h(x)),xS(Upoly(λ))vA2(σ,c)
      \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 ∣

    AdvA,ΠINDCPA(λ):=|PrGen,Enc,A[ExptA,Π,zINDCPA(1λ,0)=0]PrGen,Enc,A[ExptA,Π,zINDCPA(1λ,1)=1]|:=2|PrGen,Enc,A[ExptA,Π,zINDCPA(1λ,U1)=1]12|" role="presentation">AdvA,ΠINDCPA(λ):=|PrGen,Enc,A[ExptA,Π,zINDCPA(1λ,0)=0]PrGen,Enc,A[ExptA,Π,zINDCPA(1λ,1)=1]|:=2|PrGen,Enc,A[ExptA,Π,zINDCPA(1λ,U1)=1]12|
    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 ∣

    AdvA,ΠINDAtt(λ):=|PrΠ,A[ExptA,Π,zINDAtt(1λ,0)=0]PrΠ,A[ExptA,Π,zINDAtt(1λ,1)=1]|:=2|PrΠ,A,b[ExptA,Π,zINDAtt(1λ,U1)=1]12|" role="presentation">AdvA,ΠINDAtt(λ):=|PrΠ,A[ExptA,Π,zINDAtt(1λ,0)=0]PrΠ,A[ExptA,Π,zINDAtt(1λ,1)=1]|:=2|PrΠ,A,b[ExptA,Π,zINDAtt(1λ,U1)=1]12|
    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}" role="presentation">\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[
      v=f(x):((S,h,f),σ)A1(1λ,z)xS(Upoly(λ))vA2(σ,1|x|,h(x))" role="presentation">v=f(x):((S,h,f),σ)A1(1λ,z)xS(Upoly(λ))vA2(σ,1|x|,h(x))
      \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(λ)

  • 相关阅读:
    wordpress子比主题文章翻译api接口
    [数据结构]——单链表超详细总结
    springboot基于javaweb的课堂考勤系统设计与实现毕业设计源码142335
    网络-笔记
    零基础入门初学 Python 需要安装哪些软件?
    la3_系统调用(上)
    【ppt技巧】给ppt文件设置带有密码的只读模式
    验证了一遍CVAT的安装(Windows 11)
    基于Nodejs的电博客管理系统的设计和实现
    微信小程序使用CryptoJS加密PassWord(MD5)
  • 原文地址:https://blog.csdn.net/weixin_44885334/article/details/127814873