[发明专利]一种抗密钥克隆、密钥滥用的基于属性加密方法在审
申请号: | 201710381730.4 | 申请日: | 2017-05-25 |
公开(公告)号: | CN107241191A | 公开(公告)日: | 2017-10-10 |
发明(设计)人: | 张文芳;袁超;王小敏 | 申请(专利权)人: | 西南交通大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30;H04L9/08 |
代理公司: | 成都博通专利事务所51208 | 代理人: | 陈树明 |
地址: | 610031 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种抗密钥克隆、密钥滥用的基于属性加密方法,其主要操作是A、系统初始化;B、属性私钥生成;属性授权中心利用用户的属性集合与自身参数生成对应的属性私钥,并向身份授权中心发送用户的属性集合与属性安全参数;C、身份私钥生成身份授权中心利用收到的属性安全参数与自身参数生成对应的身份私钥;D、加密消息发送者通过系统公共参数对消息进行加密处理;E、解密用户利用自身的属性集合,属性安全参数与身份安全参数,对密文进行解密操作。该方法保证当解密用户的属性集与消息密文的属性集的交集满足特定约束条件,且用户的属性集与生成私钥所用的属性集对应一致时,方可解密密文,能有效抵抗密文克隆、密钥滥用导致的安全隐患。 | ||
搜索关键词: | 一种 密钥 克隆 滥用 基于 属性 加密 方法 | ||
【主权项】:
一种抗密钥克隆、密钥滥用的基于属性加密方法,其具体操作步骤是:A、系统初始化A1、系统内的属性集合记为P,属性集合P内的所有属性的个数为K×N,对所有属性从1开始进行编号,属性集合P内包含的元素即为与具体属性相对应的数值编号;系统内包括一个中心授权机构CAP,K个属性授权中心AAk以及一个身份授权中心IA;系统将属性集合P分为K个属性子集P1,P2,…Pk…,PK,每个属性子集Pk内包括N个属性,Pk={pk,1,pk,2,…pk,n…,pk,N},其中,pk,n为第k个属性子集Pk中的第n个元素,其值为(k‑1)N+n;系统将第k个属性子集Pk的N个属性分配给第k个属性授权中心AAk管理;A2、中心授权机构CAP选取一个素数阶为q的循环群G1,对循环群G1进行双线性对运算得到循环群G2,中心授权机构CAP在q阶整数群Zq中选取一个随机数,作为系统的主秘密s;在q阶整数群Zq中选取一个随机数作为属性秘密s0,且s0<s;再在q阶整数群Zq中选取一个随机数作为系统门限值D;中心授权机构CAP计算出身份秘密s1,s1=s‑s0,发送给身份授权中心IA;并算出系统公钥Y0,Y0=e(g,g)s,其中,g为循环群G1上的生成元,e()表示双线性对运算;中心授权机构CAP选取一个D‑1阶多项式r(x),且选取的多项式r(x)的常数项r(0)为属性秘密s0,即r(0)=s0;令自变量x的值为1,2,…k…,K,分别计算出多项式的值r(1),r(2),…r(k)…,r(K),将这些多项式的值依次分发给系统内的K个属性授权中心AA1,AA2,…AAk…,AAK,作为其子秘密;中心授权机构CAP在q阶整数群Zq中选取一个随机数作为第k组第n个属性公钥生成参数tk,n;进而得到第k组所有属性的属性公钥生成参数tk,1,tk,2,…tk,n…,tk,N,并发送给第k个属性授权中心AAk;随后,中心授权机构CAP利用该属性公钥生成参数tk,n计算出第k组第n个属性公钥Tk,n,进而得到第k组所有属性的属性公钥Tk,1,Tk,2,…Tk,n…,Tk,N,并发送给第k个属性授权中心AAk;A3、第k个属性授权中心AAk将接收到的子秘密r(k)及第k组属性公钥生成参数tk,1,tk,2,…tk,n…,tk,N作为其私钥;将接收到的第k组属性公钥Tk,1,Tk,2,…Tk,n…,Tk,N作为其公钥;A4、身份授权中心IA将接收到的身份秘密s1作为其私钥,并计算出身份公钥Y1,作为其公钥;B、属性私钥的生成B1、属性子集合为PU的用户U向第k个属性授权中心AAk申请属性私钥;B2、第k个属性授权中心AAk在q阶整数群Zq中选取一个随机数作为属性门限dk,并选取一个dk‑1阶多项式q(x),且选取的多项式q(x)的常数项q(0)为子秘密r(k),即q(0)=r(k);随后,第k个属性授权中心AAk取其管理的第k个属性子集Pk与用户的属性子集合PU相交的属性交集Pk∩U,Pk∩U=PU∩Pk,并为属性交集Pk∩U内的每个属性元素p生成一个随机数kp,p∈Pk∩U,其中,∈表示集合中的属于关系;将该随机数kp作为用户U的属性安全参数,令多项式q(x)的自变量x的值为属性元素p,并计算出多项式q(x)的值q(p);然后,将用户U的各属性安全参数kp与用户U的属性子集合PU一起发送给身份授权中心IA;B3、第k个属性授权中心AAk找出属性交集Pk∩U内属性元素p在第k个属性子集Pk中对应的元素pk,n,利用属性公钥生成参数tk,n计算得到第一个属性私钥即主属性密钥Dk,n,利用属性公钥生成参数tk,n与用户U的属性安全参数kp,计算得到第二个属性私钥即属性一致参数Dn,C、身份密钥生成C1、身份授权中心IA收到第k个属性授权中心AAk发送的用户的属性安全参数kp与用户的属性子集合PU后,根据B3步的对应关系,找出其对应的元素pk,n,再将收到的所有属性安全参数kp相加得到用户的身份安全参数k′,pk,n∈PU;随后,身份授权中心IA统计收到的用户属性集PU内元素个数d,并将身份安全参数k′与身份授权中心IA的私钥s1随机分为d份,每一份的值记作混淆属性安全参数与身份子秘密f(pk,n),即∑f(pk,n)=s1,pk,n∈PU;C2、身份授权中心IA利用用户U的属性子集合PU,混淆属性安全参数与身份子秘密f(pk,n)为用户U生成其身份私钥pk,n∈PU;D、加密D1、数据发送者S在q阶整数群Zq中选取一个随机数作为加密混淆参数s2,并选取密文属性集PC,作为解密密文的约束条件;D2、数据发送者S发送的信息记作M,利用系统公钥Y0计算主密文E,利用之前生成的加密混淆参数s2计算加密混淆密文E′,利用属性公钥Tk,n与加密混淆参数计算属性密文Ek,n,E、解密E1、用户U执行解密操作,找出用户U的属性子集合PU与第k个属性授权中心AAk下对应的密文属性子集相交的交集属性元素pk,并对交集属性元素pk对应的主属性密钥Dk,n与属性密文Ek,n执行双线对运算,计算得到子秘密恢复参数s2,n,E2、若在第k个属性授权中心AAk下,有属性门限dk个交集属性元素pk,用户U即根据拉格朗日插值算法,恢复出多项式q(x)的常数项q(0),进而得到子秘密解密参数er(k),E3、用户U找出系统门限值D个属性授权中心AAk,这些属性授权中心AAk管理下的密文属性子集与用户U的属性子集合PU交集内属性元素的个数大于属性门限dk;然后用户U根据这些属性授权中心AAk的子秘密解密参数er(k),用拉格朗日插值算法,恢复出属性秘密s0,进而得到属性秘密解密参数E4、用户U对属性一致参数Dn与属性密文Ek,n做双线对操作,计算得到属性相关参数ek′,pk,n∈PU,其中,∏表示连乘运算;再将属性相关参数ek′与E3步中得到的属性秘密解密参数做相乘操作,得到系统主秘密属性部分参数E5、用户U利用自身的属性子集合PU内的元素pk,n与身份私钥计算得到身份相关参数pk,n∈PU,并对身份相关参数与加密混淆密文E′做双线对操作,得到系统主秘密身份部分参数pk,n∈PU;E6、用户U将得到的系统主秘密属性部分参数与系统主秘密身份部分参数做相乘操作,得到解密密钥D,E7、用户U即可以利用解密密钥D成功恢复出消息明文M,
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西南交通大学,未经西南交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710381730.4/,转载请声明来源钻瓜专利网。
- 上一篇:一种生物有机肥及其制备方法
- 下一篇:一种大白菜肥料及其制备方法