算法描述啦啦啦

算法描述

定义

定义7.(PKE 公钥加密方案)一个公钥加密方案(PKE)包括如下三个PPT算法:KeyGen, Encrypt 和 Decrypt。

  1. KeyGen(1^k): 密钥生成算法输入安全参数1^k,输出公私钥对(pk, sk)。

  2. Encrypt(pk, m): 加密算法输入公钥pk 和加密消息m ∈ M,输出密文c。

  3. Decrypt(sk, c): 解密算法输入私钥sk 和密文c;输出加密消息m 或者 ⊥(解密失败)。

正确性 如果 ϵ 是一个可忽略数值函数,对所有的 m ∈ M,满足

Pr[(pk, sk) ← KeyGen(1^k) : C ← Encrypt(pk, m); Decrypt(sk, c) = m] > 1 - ϵ(λ)

则 PKE 方案正确性得以保证。

定义8.

(PKE δ-correctness[21])
如果

\mathbb{E}\left[ \max_{m \in \mathcal{M}} \Pr[\text{PKE.Dec}(sk, c) \ne m : c \leftarrow \text{PKE.Enc}(pk, m)] \right] \le \delta,

这里的期望取遍 (pk, sk) \leftarrow \text{PKE.KeyGen}() ,则一个消息空间为 \mathcal{M} 的公钥加密方案 PKE 是 δ-correctness。

定义9. (KEM 密钥封装方案)一个密钥封装方案(KEM)包括如下三个PPT算法:KeyGen, Encaps 和 Decaps。

KeyGen(1^k): 密钥生成算法输入安全参数1^k,输出公私钥对 (pk, sk)。

Encaps(pk): 封装算法输入公钥 pk,输出密文 c 和封装密钥 K。

Decaps(sk, c): 解封算法输入私钥 sk 和密文 c,输出封装密钥 K。

正确性 如果 ϵ 是一个可忽略数值函数,满足

Pr[(pk, sk) ← KeyGen(1^k) : (c, K) ← Encaps(pk); Decaps(sk, c) = K] > 1 - ϵ(λ)

则 KEM 方案正确性得以保证。

定义10. (PKE 的 IND-CPA 安全度)设 PKE = (KeyGen, Encrypt, Decrypt) 为公钥加密方案。定义敌手A与挑战者之间的实验:

实验 \text{IND-CPA}^b_{\text{PKE}, A}(k) :

  • 挑战者运行 (pk, sk) \leftarrow \text{KeyGen}(\text{params}),将 pk 给 A;
  • 敌手 A 输出相同长度消息 (m_0, m_1);
  • 挑战者计算 \text{Encrypt}(pk, m_b) ,并将结果给 A;
  • A 输出比特 (b’); 挑战者将 (b’) 作为实验输出。
  • 敌手 A 破解 IND-CPA 安全的 PKE 的优势定义为

\text{Adv}^{\text{IND-CPA}}{PKE,A} = \left| \Pr[\text{IND-CPA}^1{PKE,A}(k) = 1] - \Pr[\text{IND-CPA}^0_{\text{PKE}, A}(k) = 1]\right|

则如果对任意多项式时间敌手 A 和任意 (k),设 ϵ 是可忽略数值函数,满足

\text{Adv}^{\text{IND-CPA}}_{\text{PKE}, A} \le ϵ(k)

我们称 PKE 为 IND-CPA 安全的。

定义11. (KEM 的 IND-CCA 安全度)设 KEM = (KeyGen, Encaps, Decaps) 为密钥封装方案。定义敌手 A 与挑战者之间的实验:

实验 \text{IND-CCA}^b_{\text{KEM}, A}(k):

  • 挑战者运行 (pk, sk) \leftarrow \text{KeyGen}(\text{params}),将 pk 给 A;

  • A 可访问解封示谕器 \text{Decaps}(sk, \cdot);

  • 挑战者计算 (c^{} , K_0^{} )\leftarrow \text{Encaps}(pk) 以及K_1^* \leftarrow K
    挑战者将 ((c^, K_b^)) 给 (A);

  • A 可以接着访问解封示谕器,但不允许访问密文 (c^*);最终 (A) 输出比特 b’ 。挑战者将 b’ 作为实验输出。

在量子随机谕示模型下,挑战者可另外运行随机谕示器。敌手 A 破解 IND-CCA 安全的 KEM 的优势定义为

\text{Adv}^{\text{IND-CCA}}{KEM,A} = \left| \Pr[\text{IND-CCA}^1{KEM,A}(k) = 1] - \Pr[\text{IND-CCA}^0_{\text{KEM}, A}(k) = 1] \right|

则如果对任意多项式时间敌手 A 和任意 k,设 ϵ 是可忽略数值函数,满足

\text{Adv}^{\text{IND-CCA}}_{\text{KEM}, A} \le ϵ(k),

我们称 KEM 为 IND-CCA 安全的。

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值