来自 Weil 配对的基于身份的加密外文翻译资料

 2023-03-14 07:03

出现在 SIAM J. of Computing, Vol。32, No. 3, pp. 586-615, 2003。本文的扩展摘要出现在 Proceedings of Crypto 2001,第 2139 卷,计算机科学讲义,第 213-229 页,Springer-Verlag,2001。

来自 Weil 配对的基于身份的加密

丹·博内[1][1]马修·富兰克林dagger;[2]

dabo@cs.stanford.edu franklin@cs.ucdavis.edu

摘要

我们提出了一个功能齐全的基于身份的加密方案(IBE)。该方案假设计算 DiffieHellman 问题的一个变体,在随机预言模型中选择了密文安全性。我们的系统基于组之间的双线性映射。椭圆曲线上的 Weil 配对就是这种映射的一个例子。我们给出了基于安全身份的加密方案的精确定义,并给出了此类系统的几种应用。

简介

基于身份的加密应用

基于身份的加密的最初动机是帮助部署公钥基础设施。在本节中,我们将展示其他几个不相关的应用程序。

撤销公钥

公钥证书包含预设的到期日期。在 IBE 系统中,可以通过让 Alice 使用公钥加密发送给 Bob 的电子邮件来完成密钥过期:“bob@company.com k current-year”。这样做,Bob 只能在当年使用他的私钥。Bob 每年需要从 PKG 获取新的私钥。因此,我们得到了年度私钥到期的效果。请注意,与现有的 PKI 不同,Alice 不需要每次 Bob 刷新他的私钥时都从 Bob 那里获取新的证书。

通过使用“bob@company.com k current-date”加密 Bob 的电子邮件,可以潜在地使这种方法更加精细 。这迫使 Bob 每天都获得一个新的私钥。

这在 PKG 由公司维护的公司 PKI 中是可能的。使用这种方法,密钥撤销非常简单:当 Bob 离开公司并且他的密钥需要被撤销时,公司 PKG 会被指示停止为 Bob 的电子邮件地址颁发私钥。结果,Bob 无法再阅读他的电子邮件。有趣的特性是 Alice 不需要与任何第三方证书目录通信来获取 Bob 的日常公钥。因此,基于身份的加密是实现临时公钥的一种非常有效的机制。另请注意,这种方法使 Alice 能够将消息发送到未来:Bob 只能在 Alice 指定的日期解密电子邮件(参见 [38, 12],了解使用更强安全性向未来发送消息的方法模型)。

管理用户凭据。对上述讨论的简单扩展使我们能够使用 IBE 系统管理用户凭据。假设 Alice 使用公钥加密发给 Bob 的邮件:“bob@company.com k current-year kclearance =secret”。然后 Bob 只有在指定日期获得秘密许可时才能阅读电子邮件。因此,使用 PKG 很容易授予和撤销用户凭证。

解密密钥的委托

IBE 系统的另一个应用是解密能力的委托。我们给出两个示例应用程序。在这两个应用程序中,用户 Bob 都扮演着 PKG 的角色。Bob 运行设置算法来生成他自己的 IBE 系统参数 params 和他自己的主密钥。在这里,我们将 params 视为 Bob 的公钥。Bob 为他的公钥参数从 CA 获取证书。当 Alice 希望向 Bob 发送邮件时,她首先从 Bob 的公钥证书中获取 Bob 的公钥参数。请注意,Bob 是唯一知道他的主密钥的人,因此此设置没有密钥托管。

  1. 委托给笔记本电脑。假设 Alice 使用当前日期作为 IBE 加密密钥加密发给 Bob 的邮件(她使用 Bob 的参数作为 IBE 系统参数)。由于 Bob 拥有主密钥,他可以提取与此 IBE 加密密钥对应的私钥,然后解密消息。现在,假设 Bob 去旅行了 7 天。通常,鲍勃会将他的私钥放在他的笔记本电脑上。如果笔记本电脑被盗,私钥就会被泄露。当使用 IBE 系统时,Bob 可以简单地在他的笔记本电脑上安装对应于 7 天旅行的七个私钥。如果笔记本电脑被盗,只有这 7 天的私钥会被泄露。万能钥匙安然无恙。这类似于Goldreich 等人考虑的签名方案的委托场景。[23]。
  2. 职责委派。假设 Alice 使用主题行作为 IBE 加密密钥来加密发给 Bob 的邮件。Bob 可以使用他的主密钥解密邮件。现在,假设 Bob 有几个助手,每个助手负责不同的任务(例如,一个是“采购”,另一个是“人力资源”等)。Bob 给他的每个助手一个对应于助手职责的私钥。然后,每个助手都可以解密主题行属于其职责范围的消息,但它不能解密要发送给其他助手的消息。请注意,Alice 仅从 Bob (params) 获得一个公钥,她使用该公钥发送带有她选择的任何主题行的邮件。邮件只能由负责该主题的助理阅读。

更一般地说,IBE 可以简化管理大量公钥的安全系统。系统可以从用户名中导出这些公钥,或者简单地使用整数 1 ,...,n作为不同的公钥,而不是存储一个大的公钥数据库。

我们基于身份的加密方案

我们分阶段描述我们的方案。首先,我们给出一个基本的基于身份的加密方案,该方案对自适应选择密文攻击并不安全。描述基本方案的唯一原因是为了使演示更容易理解。我们在 4.2 节中描述的完整方案扩展了基本方案,以在随机预言模型中获得针对自适应选择密文攻击 (IND-ID-CCA) 的安全性。在 4.3 节中,我们放宽了对哈希函数的一些要求。

本节中的演示使用满足 BDH 假设的任意 BDH 参数生成器G。在第 5 节中,我们描述了一个使用 Weil 配对的具体 IBE 系统。

基本识别

为了解释我们的 IBE 系统的基本思想,我们描述了以下简单的方案,称为 BasicIdent。我们通过描述四种算法来展示该方案:Setup、Extract、Encrypt、Decrypt。我们让k是给定设置算法的安全参数。我们让G是一些 BDH 参数生成器。

设置:给定一个安全参数k isin; Z ,算法工作如下:

第 1 步:在输入k上运行G以生成素数q、两个组 G 1 、q阶G 2和一个可接受的双线性映射e ^ : G 1 times; G 1 → G 2。选择一个随机生成器P isin; G 1

第 2 步:随机选择一个 并设置P pub = sP

第 3 步:选择加密哈希函数。为某个n选择一个密码散列函数H 2 : G 2 → { 0 , 1 } n。安全分析将H 1 ,H 2视为随机预言机。消息空间是M = { 0 , 1 } n。密文空间是 系统参数 params = h q, G 1 , G 2 ,e,n,P,P ^ pub ,H 1 ,H 2我。万能钥匙是。

提取:对于给定的字符串 ID isin; { 0 , 1 } lowast;算法执行: (1) 计算,并且

(2) 设置私钥d ID 为d ID = sQ ID 其中s是主密钥。

加密:要在公钥 ID 下加密M isin; M ,请执行以下操作: (1) 计算Q ID = H 1 (ID) isin;选择一个随机数,并且 (3) 将密文设置为

在哪里

解密:令C = h U,V i isin; C为使用公钥 ID 加密的密文。要使用私钥 计算解密C :

V oplus; H 2 ( e ^ ( d ID ,U )) = M

至此,BasicIdent 的描述就完成了。我们首先验证一致性。当一切都按上述计算时,我们有:

  1. 在加密期间, M与以下的哈希进行按位异或:。
  2. 在解密过程中, V与以下哈希值进行按位异或: e ^ ( d ID ,U )。在加密和解密期间使用的这些掩码是相同的,因为:

e ^ ( d ID ,U ) = e ^ ( sQ ID ,rP ) = e ^ ( Q ID ,P ) sr = e ^ ( Q ID ,P pub ) r = g ID r

因此,在加密之后应用解密会根据需要生成原始消息M。BasicIdent 的性能考虑在第 5 节中讨论。请注意,算法加密中g ID的值与要加密的消息无关。因此,无需在后续加密时重新计算 g ID 到相同的公钥 ID。

安全。接下来,我们研究这个基本方案的安全性。以下定理表明 BasicIdent 是一种语义安全的基于身份的加密方案 (IND-ID-CPA),假设 BDH 在G生成的组中是困难的。

定理 4.1。假设散列函数 H 1 ,H 2是随机预言机。然后BasicIdent是一个语义安全的基于身份的加密方案( IND-ID-CPA ),假设 BDH 在G生成的组中是困难的。具体来说,假设有一个IND-ID-CPA对手A对BasicIdent方案具有优势。假设A最多对 H 2 进行 q E gt; 0私钥提取查询和 q H 2 gt; 0哈希查询。然后有一个算法B在G生成的组中解决 BDH至少具有以下优势:

进阶

这里 e asymp; 2 71是自然对数的底。B的运行时间为 O ( time ( A ))

为了证明这个定理,我们首先定义了一个相关的公钥加密方案(不是基于身份的方案),称为 BasicPub。BasicPub 由三种算法描述:keygen、加密、解密。

keygen:给定一个安全参数k isin; Z ,算法工作如下:

步骤 1:在输入k上运行G以生成两个素数阶组 G 1 G 2和双线性映射e ^ : G 1 times; G 1 → G 2。令q为 G 1 , G 2的阶数。选择一个随机生成器P isin; G 1

第 2 步:随机选择一个 并设置P pub = sP。随便挑一个。

第 3 步:为某个n选择一个密码散列函数H 2 : G 2 → { 0 , 1 } n

第四步:公钥为h q, G 1 , G 2 ,e,n,P,P ^ pub ,Q ID ,H 2 i 。私钥是。加密:加密

剩余内容已隐藏,支付完成后下载完整资料


英语原文共 31 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[596184],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。