[发明专利]一种基于线性秘密共享的可验证外包属性基加密方法有效
申请号: | 201610498415.5 | 申请日: | 2016-06-28 |
公开(公告)号: | CN105933345B | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 聂旭云;孙剑飞;徐骏;苑晨;秦志光;钟婷 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于线性秘密共享的可验证外包属性基加密方法:本发明采用线性秘密共享(LSSS)的访问结构,支持用户的直接撤销,将代理重加密技术和外包解密技术相结合,当用户被撤销后,在保证云服务器得不到关于明文任何消息的前提下,实现了用户离线更新解密密钥、代理服务器自动更新密文、外包解密的可验证性等功能。此外,本发明涉及通信开销较低,便于带宽、资源受限的移动设备的使用。 | ||
搜索关键词: | 一种 基于 线性 秘密 共享 验证 外包 属性 加密 方法 | ||
【主权项】:
1.一种基于线性秘密共享的可验证外包属性基加密方法,其特征在于:A、云存储服务器(CSS)用来存储数据拥有者上传的数据且在云环境下能够动态更新重加密密文,使得数据拥有者能够离线实现数据的共享;B、外包解密服务器(D‑CSP)用来减少数据使用者的计算开销,将当前的传递的密文转化更加简单的密文,以帮助用户恢复原始明文;C、与传统的可验证外包方法相比,本方法采用在数据拥有者在加密数据阶段生成一个会话密钥,使用密钥获取函数技术KDF技术生成封装密钥和一个随机数,从而也大大减少数据拥有者和数据使用者的加解密开销;具体步骤实施如下:步骤1:系统参数/群组参数的建立算法SystemSetup(λ)/GroupSetup(PK):输入安全参数λ,选取素数阶为p的乘法群
以及双线性映射
其中g是
的生成元;可信权威机构TA随机选取a,α,
u,
其中
代表模p的整数乘法群,计算ga,gα,gβ,g1/β,e(g,g)α;选取两个抗碰撞的哈希函数![]()
以及一个密钥获取函数KDF,其长度
|key|为封装密钥的长度;生成系统的公开参数
系统的主密钥MK=(gα,β),并将g1/β发送给群管理员GM执行用户撤销操作;输入系统的公开参数PK,GM随机选取
计算gγ0,e(g,g)γ0,生成群组的主密钥GMK0=γ0,群组的公开参数GPK=(GID,gγ0,e(g,g)γ0),其中GID为群管理员身份,以及一个记录当前版本ver的字典Dic0,初始化为0状态;步骤2:生成群组成员证书算法CertGen(PK,UID,GMKver):GM根据用户的身份UID,利用当前的主密钥GMKver为群组中成员生成证书
其中γver为当前版本ver的随机数;步骤3:密钥生成算法KeyGen(PK,MK,S,GPKver,UID,δver):TA利用当前的群组公开参数GPKver通过
验证其证书是否合法;若验证通过,TA则随机选取r,t1,t2,
计算![]()
其中
表示用户的属性集;此外,TA还计算
设定用户解密密钥DSKver=(t1,t2,DSKS,DSKGID),并将当前元祖UPver=(UID,d1=H(UID),d2=g1/β)发送给GM;若证书验证不通过,生成错误信息,返回终止符号⊥;步骤4:数据加密算法
数据拥有者利用当前的群组公开参数GPKver,根据所选的访问结构
其中
表示访问矩阵,ρ表示行向量的映射关系;随机选取s1,
生成会话密钥SSK以及封装密钥
计算
d代表一个随机数,![]()
![]()
其中,λi表示数据拥有者随机选取的向量中第i个随机数与访问矩阵
中第i个行向量的乘积,
为一个随机数,ρ(1)和ρ(l)分别代表访问矩阵
中行向量
和行向量
通过映射关系ρ映射成的集合ρ(1)和集合ρ(l),输出
步骤5:群组参数更新及重加密密钥生成算法GroupUpdate(PK,GMKver,Dicver):当群组的任何成员离开了该群组,即该成员访问权限被撤销,GM随机选取
更新群组的公开参数
群组的主密钥GMKver+1=γver+1、元组
生成重加密密钥
Re‑Keyver→ver+1为当前版本为ver+1的重加密密钥,将UPver+1发送每一个群组成员,将Re‑Keyver→ver+1发送给云存储服务器CSS;步骤6:用户密钥更新算法UserUpdate(DSKver,UPver+1):群组成员可以离线更新各自的私钥,计算![]()
更新
及
,设定解密密钥为DSKver+1=(t1,t2,DSKS,DSKGID);步骤7:数据重加密算法ReEncrypt(CTver,Re‑Keyver→ver+1):云存储服务器CSS计算
更新密文
步骤8:转换密钥和恢复密钥的生成算法GenTKout(PK,DSKver+1):数据使用者随机选取
对其解密密钥进行密钥盲化
以及
其中数据拥有者自己保存恢复密钥RKver+1=(t′1,t′2),将转换密钥TKver+1=(DSK′S,DSK′GID)发送给外包解密服务器D‑CSP;步骤9:外包解密算法Transformout(CTver,TKver+1):D‑CSP计算![]()
![]()
将部分解密的密文
发送给数据使用者;步骤10:解密密文算法Decrypt(CT′,PKver+1):数据使用者使用自己的恢复密钥RKver+1=(t′1,t′2),计算![]()
然后计算封装密钥
如果
成立,则输出key;最后通过计算M=Cver+1·(key·E′2)‑1恢复消息M,否则验证不通过,输出终止符号⊥。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610498415.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种物联网终端管理方法、物联网服务器和网络服务器
- 下一篇:一种移动终端