一种细粒度策略的条件代理可重构加密方法技术

技术编号:24169671 阅读:63 留言:0更新日期:2020-05-16 02:32
本发明专利技术公开了一种细粒度策略的条件代理可重构加密方法,每个密文都会被信息拥有者用一组描述性语句或关键词标记,这些语句或关键词组合成了条件集合W,每个代理服务方的重加密密钥都与访问树T相关联;信息拥有者将信息加密后的第一层密文和根据访问树T生成的重加密密钥上传给代理服务方,当且仅当条件集合W满足该访问树T时,代理服务方运行重加密算法将对应的第一层密文重加密为第二层密文,以便信息请求者能够使用自己的私钥进行解密。因为每个重加密密钥都是根据访问树生成的,不满足访问树条件的其它密文不会被进行重加密,从而保证了本发明专利技术的细粒度。

【技术实现步骤摘要】
一种细粒度策略的条件代理可重构加密方法
本专利技术属于信息安全
,特别涉及了一种条件代理可重构加密方法。
技术介绍
代理重加密(proxyre-encryption)是密文间的一种密钥转换机制,在代理重加密中,一个半可信代理人通过代理授权人产生的转换密钥把用授权人的公钥加密的密文转化为用被授权人的公钥加密的密文,在这个过程中,代理人得不到数据的明文信息,从而实现了密文分享。针对代理重加密方法,近些年已经衍生出了多种改进方案。文献[Weng,J.,Deng,R.H.andChu,C,“Conditionalproxyre-encryptionsecureagainstchosen-ciphertextattack”,2009]引入了条件代理重加密的概念,提出一种只有满足一定条件的密文才能进行重构加密的算法。然而,先前所有的条件代理重加密方案有诸多限制,因为它们只允许代理重加密含有特定关键字的密文,但不允许任何布尔组合。但是简单的关键字条件通常会产生过于粗糙的结果,因此条件的布尔组合对于有效使用C-PRE是必不可少的。
技术实现思路
为了解决上述
技术介绍
提到的技术问题,本专利技术提供了一种细粒度策略的条件代理可重构加密方法。为了实现上述技术目的,本专利技术的技术方案为:一种细粒度策略的条件代理可重构加密方法,每个密文都会被信息拥有者用一组描述性语句或关键词标记,这些语句或关键词组合成了条件集合W,每个代理服务方的重加密密钥都与访问树T相关联;信息拥有者将信息加密后的第一层密文和根据访问树T生成的重加密密钥上传给代理服务方,当且仅当条件集合W满足该访问树T时,代理服务方运行重加密算法将对应的第一层密文重加密为第二层密文,以便信息请求者能够使用自己的私钥进行解密。进一步地,包括以下步骤:(1)系统参数初始化,生成公共参数;(2)信息拥有者和信息请求者分别请求生成公钥与私钥;(3)信息拥有者根据步骤(2)生成的私钥以及自己定义的访问树T来生成重加密密钥;(4)信息拥有者根据步骤(2)生成的公钥以及条件集合W来加密消息,输出密文;(5)如果条件集合W满足该访问树T时,代理服务方根据步骤(4)输出的密文以及步骤(3)生成的重加密密钥进行重构加密,输出重加密密文或错误符号;(6)信息请求者根据步骤(2)生成的公钥、私钥以及步骤(5)输出的重加密密文,得到明文或错误符号。进一步地,,在步骤(1)中,初始化系统安全系数λ和双线性映射参数(p,g,G1,G2,e),其中,p是一个素数,G1和G2是两个阶为p循环群,g是群G1的生成元,双线性映射e:G1×G1→G2;设H2:G2→{0,1}k、和是哈希函数,其中{0,1}*表示长度不为零的字符串,{0,1}k表示长度为k的字符串,表示G1\{1}。生成公共参数:(p,g,G1,G2,e,Z,H1,H2,H3,H4)其中,Z∈G1。进一步地,在步骤(2)中,用户i生成的私钥ski与公钥pki如下:ski=xipki=Xi其中,此处的用户i既能指代信息拥有者,也能指代信息请求者。进一步地,在步骤(3)中,给定用户i的私钥ski=xi、访问树T和用户j的私钥skj=xj;当且仅当条件集合W满足该访问树T时,输出一个重加密密钥并使用户i能够在条件集合W下重新加密密文,具体过程如下:首先为访问树T中的每个节点x选择一个多项式qx,这些多项式以自下而上的方式从根节点r开始按以下方式选择:设多项式qx的度数dx小于该节点的阈值kx,即dx=kx-1,对于根节点r,令qr(0)=xj-xi,qr(0)为多项式qr的初始值,且多项式qr由dr随机定义;对于任何其他节点x,设qx(0)=qp(x)(index(x)),并随机选择其他节点定义qx,其中,p(x)表示节点x的父节点,index(x)为节点x的值;当多项式确定后,对于每个叶节点x∈LNT和集合w=keyword(x),生成重加密密钥rki,T,j:rki,T,j=(a,b,T)a={ax:x∈LNT},b={bx:x∈LNT}其中,LNT表示叶节点集合,keyword(x)表示与叶节点x关联的条件,进一步地,在步骤(4)中,在条件集合W下,使用公钥pki对明文m进行加密,并输出第一级密文CTi:CTi=(A,B,C,D,E,F)其中,A=W,B=gs,C=Cw=H4(pki,w)s,D=e(Xi,Z)sR,F=H3(A,B,C,D,E)s,s=H1(m,R),w∈W,表示异或运算。进一步地,在步骤(5)中,对于所有w∈W,检验以下两等式是否成立:e(H4(pki,w),B)=e(Cw,g)e(H3(A,B,C,D,E),B)=e(F,g)如果上述两等式不成立,则输出错误符号;否则,定义一个递归算法NodeReEnc(CTi,rki,T,j,x),其输入为密文CTi,重加密密钥rki,T,j和节点x:(a)若x为叶节点,令w=keyword(x),如果w∈W,则:否则,输出错误符号⊥;(b)若x为非叶节点,对于x的所有子节点z,调用NodeReEnc(CTi,rki,T,j,z)并将输出存储到中间值Fz中;令Sx为任意kx大小的子节点z的集合,使得Fz≠⊥,若集合Sx不存在,则NodeReEnc(CTi,rki,T,j,z)返回错误符号⊥;否则,令Sx′={index(z):z∈Sx},计算节点x的中间值Fx:其中,为拉格朗日系数,并返回结果;第一级密文CTi通过计算下式被重加密:D′=Fr·D其中,Fr为根节点r对应的Fx值;则第二级密文CTj=(B,D′,E)。进一步地,在步骤(6)中,输入私钥skj和第二级密文CTj,信息请求者计算s=H1(m,R),并检验B=gs是否成立,如果成立,则输出明文m,否则输出错误符号。采用上述技术方案带来的有益效果:本专利技术支持更灵活的关键字条件组合,可以实现对加密密文的灵活控制,从而具有较强容错性。本专利技术每个重加密密钥都是根据访问树生成的,不满足访问树条件的其它密文不会被进行重加密,从而保证了方案的细粒度。实验证明,本专利技术的重加密时间花销更短,提升了方案的执行效率;本专利技术安全性高,具有CCA安全,即攻击者无法区分重新加密密文,无法恢复明文。附图说明图1是本专利技术的方法流程图;图2是实施例中模拟军事系统示意图。具体实施方式以下将结合附图,对本专利技术的技术方案进行详细说明。本专利技术设计了一种细粒度策略的条件代理可重构加密方法,每个密文都会被信息拥有者用一组描述性语句或关键词标记,这些语句或关键词组合成了条件集合W,每个代理服务方的重加密密钥都与访问树T相关联;信息拥有者将信息加密后的第一层密文和根据访问树T生本文档来自技高网...

【技术保护点】
1.一种细粒度策略的条件代理可重构加密方法,其特征在于:每个密文都会被信息拥有者用一组描述性语句或关键词标记,这些语句或关键词组合成了条件集合W,每个代理服务方的重加密密钥都与访问树T相关联;信息拥有者将信息加密后的第一层密文和根据访问树T生成的重加密密钥上传给代理服务方,当且仅当条件集合W满足该访问树T时,代理服务方运行重加密算法将对应的第一层密文重加密为第二层密文,以便信息请求者能够使用自己的私钥进行解密。/n

【技术特征摘要】
1.一种细粒度策略的条件代理可重构加密方法,其特征在于:每个密文都会被信息拥有者用一组描述性语句或关键词标记,这些语句或关键词组合成了条件集合W,每个代理服务方的重加密密钥都与访问树T相关联;信息拥有者将信息加密后的第一层密文和根据访问树T生成的重加密密钥上传给代理服务方,当且仅当条件集合W满足该访问树T时,代理服务方运行重加密算法将对应的第一层密文重加密为第二层密文,以便信息请求者能够使用自己的私钥进行解密。


2.根据权利要求1所述细粒度策略的条件代理可重构加密方法,其特征在于,包括以下步骤:
(1)系统参数初始化,生成公共参数;
(2)信息拥有者和信息请求者分别请求生成公钥与私钥;
(3)信息拥有者根据步骤(2)生成的私钥以及自己定义的访问树T来生成重加密密钥;
(4)信息拥有者根据步骤(2)生成的公钥以及条件集合W来加密消息,输出密文;
(5)如果条件集合W满足该访问树T时,代理服务方根据步骤(4)输出的密文以及步骤(3)生成的重加密密钥进行重构加密,输出重加密密文或错误符号;
(6)信息请求者根据步骤(2)生成的公钥、私钥以及步骤(5)输出的重加密密文,得到明文或错误符号。


3.根据权利要求2所述细粒度策略的条件代理可重构加密方法,其特征在于,在步骤(1)中,初始化系统安全系数λ和双线性映射参数(p,g,G1,G2,e),其中,p是一个素数,G1和G2是两个阶为p循环群,g是群G1的生成元,双线性映射e:G1×G1→G2;
设H2:G2→{0,1}k、和是哈希函数,其中{0,1}*表示长度不为零的字符串,{0,1}k表示长度为k的字符串,表示G1\{1}。生成公共参数:
(p,g,G1,G2,e,Z,H1,H2,H3,H4)
其中,Z∈G1。


4.根据权利要求3所述细粒度策略的条件代理可重构加密方法,其特征在于,在步骤(2)中,用户i生成的私钥ski与公钥pki如下:
ski=xi
pki=Xi
其中,此处的用户i既能指代信息拥有者,也能指代信息请求者。


5.根据权利要求4所述细粒度策略的条件代理可重构加密方法,其特征在于,在步骤(3)中,给定用户i的私钥ski=xi、访问树T和用户j的私钥skj=xj;当且仅当条件集合W满足该访问树T时,输出一个重加密密钥并使用户i能够在条件集合W下重新加密密文,具体过程如下:
首先为访问树T中的每个节点x选择一个多项式qx,这些多项式以自下而上的方式从根节点r开始按以下方式选择:
设多项式qx的度数dx小于该节点的阈值kx,即dx=kx-1,对于根节点r,令...

【专利技术属性】
技术研发人员:方黎明刘哲刘亮葛春鹏沈立胡跃龙殷常春李阳
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1