[发明专利]一种可实现密钥共享和差错控制的压缩感知加密方法有效
申请号: | 201810549669.4 | 申请日: | 2018-05-31 |
公开(公告)号: | CN108881186B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 高军涛;张鹏;贾文娟;李雪莲 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L9/32;H04L9/30 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种可实现密钥共享和差错控制的压缩感知加密方法,其实现步骤为:1.云服务器注册向半诚实注册中心RC注册;2.用户向半诚实注册中心RC注册;3.预处理待加密数据;4.利用压缩感知方法对待加密数据进行加密;5.密文差错控制处理;6.对用户间匿名身份认证;7会话密钥分发;8.会话密钥分发;9.云服务器认证订阅用户;10.差错控制恢复密文数据;11.对密文进行解密;12.撤销用户和云服务器;13.恢复撤消用户和云服务器;14.增加新用户和云服务器。本发明保证信号数据能量的不可区分性和用户间密钥的安全共享,解决了丢失密文数据包超过一半时无法正确解密的问题。 | ||
搜索关键词: | 一种 实现 密钥 共享 差错 控制 压缩 感知 加密 方法 | ||
【主权项】:
1.一种可实现密钥共享和差错控制的压缩感知加密方法,其特征在于,计算用户的匿名身份认证值和认证信息,利用匿名身份认证方法和信息认证方法验证匿名身份和认证信息的合法性,对通过认证的用户计算会话秘钥,利用密文差错控制算法,用户计算每组分组数据长度和移位长度,得到差错处理的密文数据;该方法的具体步骤包括如下:(1)云服务器向半诚实注册中心RC注册:(1a)云服务器将公开身份信息值发送给半诚实注册中心RC;(1b)按照下式,半诚实注册中心RC计算每个云服务器的匿名身份值:
其中,st表示第t个云服务器的匿名身份值,H2(·)表示半诚实注册中心RC选取的安全抗碰撞哈希函数,x表示半诚实注册中心RC在有限域
上随机选取的秘密值,
表示半诚实注册中心RC利用随机选取的大素数n生成的有限域,g表示有限域
的生成元,IDt表示第t个云服务器的待注册公开身份信息值;(1c)半诚实注册中心RC将云服务器匿名身份值存储到已注册云服务器集合中;(2)用户向半诚实注册中心RC注册:(2a)利用待注册身份信息值公式,每个待注册用户计算待注册身份信息值;(2b)利用待认证身份信息值公式,每个待注册用户计算待认证身份信息值;(2c)按照下式,计算每个待注册用户的验证身份信息值,半诚实注册中心RC将验证身份信息值发送给每个待注册用户:Fk=Vk+rk·Phk=H1(Rk)其中,Fk表示第k个待注册用户的验证信息值,rk表示半诚实注册中心RC随机选取的用于计算第k个待注册用户验证信息的验证秘密值,P表示加法循环群G1的生成元,G1表示阶为p的加法循环群,hk表示第k个待注册用户的验证信息的哈希值,H1(·)表示半诚实注册中心RC选取的不同于H2(·)安全抗碰撞哈希函数;(2d)按照下式,计算每个待注册用户的匿名身份值,半诚实注册中心RC将匿名身份值发送给每个待注册用户:
sk=H2(pk·PGk)其中,pk表示第k个待注册用户的认证身份信息值,IDk表示第k个待注册用户的公开身份信息值,sk表示第k个待注册用户匿名身份值;(2e)半诚实注册中心RC将每个待注册用户匿名身份认证值存储到已注册用户集合中;(2f)利用身份信息验证方法,每个待注册用户验证半诚实注册中心RC发送的验证身份信息值是否成立,若是,则执行(2g),否则,身份信息认证失败;(2g)利用私钥公式,每个待注册用户计算私钥;(3)预处理待加密数据:(3a)输入待加密数据,注册用户对输入的待加密数据进行一维信号处理;(3b)注册用户利用SVD测量矩阵生成方法,生成测量矩阵;(3c)注册用户依次记录稀疏向量中非零元素,获得稀疏向量支撑集;(3d)注册用户利用置换支撑集生成方法,生成稀疏向量的置换支撑集;(3e)注册用户利用规范稀疏公式,计算待加密数据的规范稀疏值;(4)利用压缩感知方法对待加密数据进行加密:(4a)按照下式,注册用户计算待加密数据的加密密文:
其中,y表示待加密数据的加密密文,Φ表示测量矩阵,Ψ表示稀疏矩阵,θ表示待加密数据的稀疏值,||·||2表示2范数操作;(4a)按照下式,注册用户计算稀疏数据的能量加密密文:
其中,c表示稀疏数据的能量加密密文,
表示异或操作,K1表示伪随机函数Γ生成的能量加密密钥;(5)密文差错控制处理:(5a)根据下式,注册用户计算每组分组数据长度:
其中,m表示分组数据长度,α表示注册用户根据差错控制的需求设置的差错率,t表示数据分组个数;(5b)用密文除以分组数据个数,得到分组数据的移位长度;(5c)注册用户将差错控制处理后的压缩密文、能量加密密文、稀疏向量支撑集打包发送至云服务器;(6)对用户间进行匿名身份认证:(6a)订阅用户向上传加密数据用户发送数据订阅请求;(6b)按照下式,计算临时身份认证信息参数,上传加密数据用户将临时身份认证信息参数发送给订阅用户:bi=H3(Fi||ai·P||Ti||vaild period)其中,bi表示上传加密数据的第i个用户的临时认证信息参数,H3(·)表示半诚实注册中心RC选择的不同于H1(·)和H2(·)的抗碰撞安全哈希函数,||表示级联操作,ai表示上传加密数据的第i个用户选择的临时秘密值,Ti表示上传加密数据的第i个用户的当前时间戳,vaild period表示认证合法时间段;(6c)按照下式,计算临时身份认证信息值,上传加密数据用户将临时身份认证信息值发送给订阅用户:di=(ai+bi)‑1·xi其中,di表示上传加密数据的第i个用户的临时认证信息值,(·)‑1表示求逆操作,xi表示上传加密数据的第i个用户的私钥;(6d)按照下式,计算匿名身份认证信息值,上传加密数据用户将匿名身份认证信息值发送给订阅用户:
其中,ti表示上传加密数据的第i个用户的匿名身份认证信息值;(6e)按照下式,订阅用户计算上传加密数据用户的匿名身份认证值:
其中,Ci表示上传加密数据的第i个用户的匿名身份认证值,C表示半诚实注册中心RC在有限域上随机选取的用户匿名认证值,λ表示半诚实注册中心RC在有限域
上随机选取秘密值,N表示注册用户和云无服务器总数,Π表示连乘操作;(6f)订阅用户验证上传加密数据用户的匿名身份认证值是否等于半诚实注册中心RC公布的用户匿名认证值,若是,则执行步骤(6g),否则,身份认证失败;(6g)采用信息认证方法,订阅用户对通过匿名身份认证的上传加密数据用户验证信息;(6h)按照下式,计算临时身份认证信息参数,订阅用户将临时身份认证信息参数发送给上传加密数据用户:bi=H3(Fj||aj·P||Tj||vaild period)其中,bj表示第j个订阅用户的临时认证信息参数,aj表示第j个订阅用户选择的临时秘密值,Tj表示第j个订阅用户的当前时间戳;(6i)按照下式,计算临时身份认证信息值,订阅用户将临时身份认证信息值发送给上传加密数据用户:dj=(aj+bj)‑1·xj其中,dj表示第j个订阅用户的临时认证信息值,xj表示第j个订阅用户的私钥;(6j)按照下式,计算匿名身份认证信息值,订阅用户将匿名身份认证信息值发送给上传加密数据用户:
其中,tj表示第j个订阅用户的匿名身份认证信息值;(6k)按照下式,上传加密数据用户计算订阅用户的匿名身份认证值:
其中,Cj表示第j个订阅用户的匿名身份认证值;(6l)上传加密数据用户验证订阅用户的匿名身份认证值是否等于半诚实注册中心RC公布的的匿名认证值,若是,则执行步骤(6m),否则,身份认证失败;(6m)采用信息认证方法,上传加密数据用户验证通过匿名身份认证的订阅用户的验证信息;(7)会话密钥分发:(7a)按照下式,订阅用户计算通过匿名身份认证上传加密数据用户的会话密钥:Sk=H1(aj·Xi)其中,Sk表示订阅用户计算的会话密钥;(7b)按照下式,上传加密数据用户计算通过匿名身份认证订阅用户的会话密钥:Sk=H1(ai·Xj)其中,Sk表示上传加密数据计算的会话密钥;(8)解密密钥分发:(8a)按照下式,上传加密数据用户计算加密之后的能量加密秘钥:
其中,K′1表示加密的能量加密秘钥;(8b)上传加密数据用户将加密的能量加密秘钥和置换函数打包发送给订阅用户,完成解密密钥的分发;(9)云服务器认证订阅用户:(9a)订阅用户向云服务器发送订阅请求;(9b)订阅用户将匿名身份信息发送给云服务器;(9c)按照下式,云服务器计算订阅用户的匿名身份信息值:
其中,Cj表示订阅用户的匿名身份信息值;(9d)云服务器验证验证订阅用户的匿名身份认证值是否等于半诚实注册中心RC公布的的匿名认证值,若是,则执行步骤(9e),否则,身份认证失败;(9e)采用压缩感知重构方法,计算规范稀疏数据和能量加密函数,云服务器将规范稀疏数据和能量加密函数发送给订阅用户;(10)差错控制恢复密文数据:(10a)对订阅用户在接收云服务器数据的过程中丢失了前(d‑1)组连续数据包的情况,订阅用户获取从d组到d+(t‑1)组连续数据,提取后d组数据的Lk位元素、第d组数据的全部元素和剩余组数据中Lk位元素就可以恢复出全部密文数据,其中Lk表示分组数据中后k位数据;(10b)对订阅用户在接收云服务器数据的过程中丢失了任意连续(d‑1)组数据包的情况,订阅用户从丢失数据的下一组d'开始获取从d'组到2d'‑t(mod t)组数据,提取第d'组数据的全部元素和剩余组数据中Lk位元素就可以恢复出全部的原始密文数据,其中,mod表示取模操作;(11)对密文进行解密:(11a)订阅用户利用置换支撑集生成方法,获得还原的置换稀疏向量支撑集;(11b)按照下式,订阅用户计算解密的能量加密函数:
其中,
表示计算的解密能量加密函数;(11c)按照下式,订阅用户计算原始数据:
其中,
表示规范稀疏值;(12)撤销用户和云服务器:(12a)半诚实注册中心RC将撤销的过期用户集合或云服务器集合的注册身份信息从匿名身份认证函数中移出;(12b)按照下式,半诚实注册中心RC更改匿名身份认证函数:
其中,C1(x)表示更改的匿名身份认证函数,C'表示从有限域中选择的不同与C的匿名身份认证值,λ'表示半诚实注册中心RC在有限域
上随机选取秘密值;(12c)半诚实注册中心RC广播匿名身份认证函数完成撤销操作,其它用户或云服务器的密钥和身份信息保持不变;(13)恢复撤销用户和云服务器:(13a)当撤销云服务器发出恢复请求时,按照步骤(2)半诚实注册中心RC将要恢复云服务器对应的身份信息加入匿名身份认证函数完成恢复撤销用户操作,未被撤销的云服务器不需要更新身份认证信息;(13b)当撤销用户发出恢复请求时,按照步骤(3)半诚实注册中心RC将要恢复用户对应的身份信息加入匿名身份认证函数完成恢复撤销用户操作,未被撤销的用户不需要更新身份认证信息;(14)增加新用户和云服务器:(14a)当新云服务器发出注册请求时,按照步骤(2)半诚实注册中心将新云服务器的注册身份信息加入匿名身份认证函数完成增加新云服务器操作,其它云服务器的密钥和身份信息保持不变;(14b)当新用户发出注册请求时,按照步骤(3)半诚实注册中心将新用户的注册身份信息加入匿名身份认证函数完成增加新用户操作,其它用户的密钥和身份信息保持不变。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810549669.4/,转载请声明来源钻瓜专利网。