一种满足前向安全的短密文身份基加密方法

文档序号:8474981阅读:1499来源:国知局
一种满足前向安全的短密文身份基加密方法
【技术领域】
[0001] 本发明涉及一种满足前向安全的短密文身份基加密方法,它可以有效降低由私钥 泄露带来的安全威胁,属于公钥加密体制领域。 (二)
【背景技术】
[0002] 在数字化高度发展的今天,信息安全逐渐成为一项重要议题,而数据加密则是保 证信息安全的一项重要手段。现代数据加密体系包含两种基本加密体制:对称加密和非对 称加密。其中,非对称加密又称公钥加密,加密者和解密者在通信过程中使用非对称密钥对 数据进行加解密操作,无需事先进行密钥协商,降低了对通信信道的安全性要求。因此,公 钥加密得到了广泛的应用。
[0003] 在传统的公钥加密体制中,认证中心需要事先对每个用户进行注册认证,并为其 分发相应的公钥证书,这在一定程度上增加了通信开销;另外,随着系统中用户的增多,公 钥证书的数量也将增大,这增加了认证中心服务器的存储负担;而且公钥证书的撤销与恢 复也是一个比较复杂的问题。综上,公钥证书的管理成为制约传统公钥加密体制进一步发 展的瓶颈。
[0004] 身份基加密(Identity-Based Encryption,简称IBE)是近些年提出的一种公钥 加密体制,与上述传统公钥加密体制不同的是,它无需使用公钥证书。在IBE体制中,用户 的公钥是其身份信息(例如:邮箱地址和电话号码等),这就避免了上述传统公钥加密体制 中由公钥证书带来的一系列问题。
[0005] 早在1984年,Shamir就提出了 IBE的概念,但是直到2001年Boneh和Franklin 才给出了第一个实用的IBE方案。此后IBE得到迅速发展,大量方案相继提出,这些IBE方 案的安全性往往建立在保证私钥绝对安全的基础上。然而,在诸如空天信息网络等开放环 境中,对于应用在卫星等非安全设备上的IBE算法来说,私钥泄露将是一个不可避免的问 题。实际上,对于攻击者来说,窃取合法用户的私钥比攻破IBE算法要简单得多。在绝大多 数的IBE体制中,如果用户私钥被泄露,其安全性假设都将失效,整个加密系统的安全也将 受到威胁。因此,私钥泄露成为威胁IBE系统最大的安全隐患。
[0006] 令IBE算法满足前向安全可以有效降低上述由私钥泄露带来的损失,因为在公钥 加密体制领域,前向安全的含义是:即使攻击者窃取了某合法用户当前时刻的私钥,该攻 击者仍然无法对先前时刻发送给该用户的密文消息进行解密。前向安全的概念最初是由 Gunther在密钥交换协议中提出的,之后Anderson提出了在非交互场景中实现前向安全的 想法。1999年,Bellare和Miner提出了第一个实用的前向安全签名算法,之后各国学者相 继提出了大量满足前向安全的签名算法。然而满足前向安全的加密方案却不是很多,直到 2003年,Bellare和Yee提出了第一个满足前向安全的对称加密算法,同年Canetti、Halevi 和Katz提出了第一个满足前向安全的公钥加密算法。在IBE体制领域,Ya〇、Fazi〇、D 〇diS 和Lysyanskaya于2004年提出了第一个满足前向安全的分层IBE算法,但是该算法的计 算复杂度较高,加解密效率较低,密文和私钥的长度均随时间片数的增加而增大;2011年, Yu、Kong、Cheng、Hao和Fan提出了一种密文较短的前向安全IBE算法,但是该算法仅仅满 足选择明文安全;2012年,Lu和Li提出了一种构造前向安全IBE算法的通用模型,相应的 算法虽然密文长度固定且满足选择密文安全,但是在解密过程中需要验证环节,效率较低。
[0007] 基于以上考虑,本发明提出了一种满足前向安全的短密文身份基加密方法。在该 方法中,密文更短且长度固定,加解密的计算开销更小,解密过程无需验证环节,效率更高, 另外该方法满足自适应选择密文安全。本发明涉及的主要技术为分层身份基加密技术、二 叉树加密技术、复合阶双线性群上的对称双线性映射。
[0008] 分层身份基加密(Hierarchical Identity-Based Encryption,简称 HIBE)是最初 由Horwitz和Lynn于2002年提出的一种IBE方案。与一般的IBE体制不同的是,在HIBE 中,用户是按层组织分布的,其身份信息(即公钥)与所处的层次有关,除了最底层用户外, 每一层用户都可以为下一层用户分发私钥,从而降低了中央私钥生成机构的负担,也便于 大型组织机构的管理。HIBE包含5个基本算法,即系统初始化、私钥生成算法、私钥导出算 法、加密算法、解密算法。其基本过程如下:1)系统初始化:将安全参数k作为输入,输出公 共参数PK和主密钥MK,其中公共参数PK用来生成和导出用户私钥以及加密消息,并公布给 系统中的所有用户,主密钥MK用来生成最高层用户的私钥,并由中央私钥生成机构秘密保 存。2)私钥生成算法:将公共参数PK、主密钥MK、第d层某用户的身份矢量I作为输入,输 出该用户的私钥SKp 3)私钥导出算法:将公共参数PK、第d层某用户(假设其身份矢量为 I)的私钥SK1、第d+Ι层某用户的第d+Ι层身份I作为输入,输出该第d+Ι层用户(其身份 矢量为I :1)的私钥SK1:1。4)加密算法:将公共参数PK、明文M、第d层某用户的身份矢量I 作为输入,输出密文C (只有身份矢量为I及其前缀的用户能够对该密文C进行解密)。5) 解密算法:将公共参数PK、密文C和私钥为输入,如果该密文C对应的身份矢量I与 该私钥应的身份矢量I相同,则输出正确明文M。注意,这里要求密文对应的身份矢 量与解密私钥对应的身份矢量完全匹配,如果某用户/机构的身份矢量是密文身份矢量的 前缀(即该用户的层次比密文指定接收者高),则该用户可以首先循环调用私钥导出算法, 利用自己的私钥生成相应的解密私钥,然后再对密文进行解密。
[0009] 二叉树加密(Binary Tree Encryption,BTE)可以看做是一种特殊的HIBE加密技 术,最初由Canetti、Halevi和Katz于2003年提出。类似HIBE,BTE也包含一个树结构, 且每个节点对应一个私钥,内部节点可以使用自己的私钥为子节点分发私钥。与HIBE唯一 不同的是,BTE使用的树结构是二叉树,即一个内部节点w的子节点有且仅有2个,分别记 做wO和wl。BTE包含5个基本算法:系统初始化、私钥生成算法、私钥导出算法、加密算法、 解密算法。其基本过程如下:1)系统初始化:将安全参数k作为输入,输出公共参数PK和 主密钥MK,其中公共参数PK用来生成和导出各节点私钥以及加密消息,并公布给系统中的 各个节点,主密钥MK用来生成各BTE树的根节点私钥,并由私钥生成机构保管。2)私钥生 成算法:将公共参数PK、主密钥MK、某个用户的身份id作为输入,输出该用户对应的BTE树 Tid(假设其树深为1)的根私钥skid|e。3)私钥导出算法:将公共参数PK、某个BTE树T id的 某个内部节点的标识id|? e {Ο,?Γ1及其私钥SkidlJt为输入,输出2个子节点的私钥 Skid|tJ0、skid|tJl〇 4)加密算法:将公共参数ΡΚ、指定解密者身份id及其对应的BTE树中的某 个指定解密节点的标识id|〇 e {Ο,?Ρ1、明文M作为输入,输出密文C(只有该指定节点 id| ω能够对密文C进行解密)。5)解密算法:将公共参数PK、解密节点的标识id| ω e {〇, 及其私钥Skidlu、密文C作为输入,如果该密文C与该私钥skid|ji应的节点标识相同, 则该算法输出正确明文M。注意,这里要求密文与解密私钥对应的节点标识完全匹配,如果 某节点的标识是密文指定节点标识的前缀(即该节点是密文指定节点的祖先节点),则该 节点可以首先循环调用私钥导出算法,利用自己的私钥生成相应的解密私钥,然后再对密 文进行解密。
[0010] 复合阶双线性群上的对称双线性映射是双线性映射的一种。最初,双线性映射是 作为一种攻击手段应用在密码学的安全性证明中的,2001年Boneh和Franklin首次将其 应用于身份基加密体制中,后来越来越多的学者将双线性映射应用到密码学的协议和方案 中。复合阶双线性群首先是由Boneh、Goh、Nissim于2005年提出的,相应的对称双线性映 射的定义如下:设G tl和G 两个阶数均为q = p lP2p3的乘法循环群(其中p i、p2、p3分别是 3个不同的素数),如果映射e AXGtl= G i同时满足以下条件:1)双线性:对于Vwj G G0, a,b e Zq,都有e(ua,vb) = e(u,v)ab;2)非退化性
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1