[发明专利]一种基于身份的分层广播加密方法有效

专利信息
申请号: 201410209022.9 申请日: 2014-05-16
公开(公告)号: CN103986574B 公开(公告)日: 2017-10-13
发明(设计)人: 刘建伟;周云雅;伍前红;刘巍然 申请(专利权)人: 北京航空航天大学
主分类号: H04L9/30 分类号: H04L9/30;H04L9/08
代理公司: 北京慧泉知识产权代理有限公司11232 代理人: 王顺荣,唐爱华
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种基于身份的分层广播加密方法,步骤如下1、PKG输入系统安全系数,输出初始化参数;2、PKG运行随机数生成算法,选择随机数;3、PKG运行双线性对运算,输出公钥,保留主密钥;4、加密方运行随机数生成算法、乘法和求幂运算,输出部分密文;5、加密方运行抗碰撞哈希函数;6、加密方运行乘法和求幂运算,输出完整密文;7、PKG或上级用户运行随机数生成算法,生成私钥所需的随机数;8、PKG或上级用户运行乘法和求幂运算,输出用户私钥;9、解密方运行抗碰撞哈希函数,验证密文的有效性,有效进行下一步骤,无效输出NULL;10、满足解密条件的用户,由用户私钥计算得到K;11、解密用户根据K,运行双线性对运算和乘法运算,输出明文。
搜索关键词: 一种 基于 身份 分层 广播 加密 方法
【主权项】:
一种基于身份的分层广播加密方法,其特征在于:该方法是由四个模块共11个步骤实现基本功能,各模块按照“初始化模块”→“数据加密模块”→“私钥生成模块”→“解密模块”顺序执行,其步骤如下:模块一:初始化模块私钥生成中心即PKG,在这一模块中将系统安全参数λ、用户分层结构的最大深度D和用户数量的最大值n+1作为输入,输出主密钥MSK和公钥PK;公钥PK可以公开,而主密钥MSK则需由PKG严格保密;该模块功能的具体实现分为三步:步骤1:PKG首先输入系统安全参数λ,然后运行算法输出两个阶数为合数N的群和一个双线性映射运算其中N=p1p2p3,p1,p2,p3分别是N的三个离散的大素数因子;步骤2:PKG运行随机数生成算法,随机选择阶数为p1的群中的一个生成元g,群中的一个元素h,阶数为p3的群中的一个元素X3以及ZN:{0,1,…,N‑1}域中的一个元素α作为随机指数;并对包括动态虚拟用户在内的所有n+1个用户随机分配群中的一个元素ui,i∈[1,n+1]内的整数;步骤3:最后PKG进行一次合数阶双线性对运算,得到群中的一个元素e(g,g)α;经过上述三个步骤得到的参数:(g,h,u1,...,un+1,X3,e(g,g)α)作为公钥能对外公开,gα作为主密钥由PKG保管;模块二:数据加密模块加密方在这一模块中将公钥PK和待加密的消息M以及接收密文用户的身份向量集合V作为输入,输出加密消息M后得到的密文CT;该模块功能的实现分三步:步骤4:加密方随机选择ZN:{0,1,…,N‑1}域中的一个元素作为指数β,完成1次乘法和2次求幂运算,得到:(C0,C2)←(gβ,e(g,g)αβ·M)对于接收用户的身份向量集合V,我们定义集合步骤5:加密方运行抗碰撞哈希函数H{·},计算得到其运行抗碰撞哈希函数H{·}的计算方法如下:哈希函数的输入是密文C0、C2,输出为映射到ZN:{0,1,…,N‑1}域中的元素,该哈希函数能从Pairing‑Based Cryptosystems函数包中的库函数中调用得到;步骤6:加密方完成多项式乘法和求幂运算,得到C1,最后的密文输出:CT=(C0,C1,C2),该密文是面向用户身份向量集合V∪{(IDn+1)}加密的;模块三:私钥生成模块该模块由两部分参与:一部分由PKG承担,模块输入某一用户的身份向量ID和主密钥MSK,生成对应的私钥SKID;另一部分由待生成私钥的用户的上层用户承担,代理PKG完成用户私钥的生成和分发任务;模块输入该上层用户的私钥SKID‘和下层用户的身份ID,输出ID对应的私钥SKID;由PKG承担的私钥生成功能具体分为两步实现:步骤7:PKG随机选择ZN:{0,1,…,N‑1}域中的一个元素r作为指数,运行随机选择两个群中的元素A0,A1;对于用户的身份向量ID,我们定义集合I={i:IDi∈SID},并对所有不在集合I中的用户随机分配群中的一个元素Uj,j∈[1,n+1]/I内的整数;步骤8:PKG完成多项式乘法和求幂运算,得到最后的用户私钥SKID←(gα(h·Πi∈IuiIDi)rA0,grA1,{ujrUj}j∈[1,n+1]/I)]]>由上级用户承担的私钥生成功能同样分为两步实现:步骤7*:上级用户首先随机选择ZN:{0,1,…,N‑1}域中的一个元素t作为指数,运行随机数生成算法随机选择两个群中的元素R0,R1,并对所有不在集合I中的用户随机分配群中的一个元素Tj,j∈[1,n+1]/I内的整数;步骤8*:上级用户由自身的私钥SKID‘出发,令a1=gr′A1′,经过多项式乘法和求幂运算能得到用户身份向量ID=(ID′,ID)对应的私钥SKID;SKID=(a0(biID)i∈I/I′(h·Πi∈IuiIDi)tR0,a1gtR1,{bjujtTj}j∈[1,n+1]/I)]]>模块四:解密模块解密用户在这一模块中,首先运行抗碰撞哈希函数H{·}验证密文的有效性,如果密文是有效的,则将接收密文用户的身份向量集合V∪{(IDn+1)}、加密消息M得到的密文CT和用户私钥SKID作为输入;如果满足条件ID∈V,则该模块输出正确的明文消息M;若密文无效,则系统输出NULL即无效符号;该模块功能的实现具体分为三步:步骤9:解密方首先验证密文的有效性,运行抗碰撞哈希函数H{·}:检测下列等式是否成立:若等式成立,进行如下步骤10、11,若不成立,系统输出NULL;其中,所述的“运行抗碰撞哈希函数H{·}”,其运行和计算的方法与步骤5中所述的相同;步骤10:对于满足ID∈Pref(V)条件的用户,由自身的私钥SKID首先计算得到步骤11:解密用户根据上步得到的K,进行两次双线性对运算和一次乘法运算,计算输出明文消息M:M=C2e(C1,a1)e(K,C0)]]>上述方案中解密模块的第一步,能进行公开验证;因为验证的输入为公钥参数和密文,均是对外公开的,因而身份的分层广播加密HIBBE方法能用于构造高级的安全协议;优化模式下的树形用户身份分层结构:所涉及的基于身份的分层广播加密方法,当用户分层结构深度为d时,每个用户私钥包括n‑d+2个元素,密文包括三个群元素;考虑到某些接收密文用户的数据存储能力受限的情况,我们在私钥长度和密文长度之间做出折衷,提出了优化模式下的树形用户身份分层结构;最原始的系统所有用户按照一棵树T的结构组织排列,树节点总数为n;我们对树T进行分割,分割为棵子树,每棵子树包含的节点数为ni个,内的整数;分割的原则为:①每棵子树的节点数尽量相等,即②所有子树尽量分享最少的高层节点;每棵子树均看做独立的HIBBE系统,正常运行本技术方案中的各功能模块;当广播加密密文时,若用户集合来自不同的子树,则向涉及到的所有访问结构树进行广播;通过上述优化,私钥的长度降至数量级,密文的长度增加至数量级;若我们令则密文和私钥的长度均变为数量级,大大减少了用户的存储负担。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410209022.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top