一种可实现密钥共享和差错控制的压缩感知加密方法与流程

文档序号:16062410发布日期:2018-11-24 12:19阅读:179来源:国知局

本发明属于信息安全技术领域,更进一步涉及密码技术领域中的一种可实现密钥共享和差错控制的压缩感知加密方法。本发明以压缩感知为基础,提出了一种可用于多个云服务器中用户间密钥的安全共享,可差错控制的安全加密方法。

背景技术

压缩感知(cs)加密方法主要用于提高数据的安全性,同时降低存储、处理和传输成本。利用压缩感知不但可以节省大量采样时间和空间资源,而且也可以用来加密传输数据,因此可以保证数据的安全性。现有的压缩感知加密方法经常联合多种加密算法来提高系统的安全性。一些将压缩感知同流密码、索引置乱、混沌映射算法等技术相结合来实现加密算法的安全性。解密时利用相同的流密码秘钥,索引矩阵,映射算法恢复出原始数据。这些方法在一定程度上可以提高压缩感知加密算法的安全性能,但是这些方法都是基于单个云服务器条件下的加密算法设计,不能实现多云服务器中数据的加密与传输。而且也无法实现多云服务器环境下用户间秘钥的安全共享。

zyushu和zjiantao在其发表的论文“computationoutsourcingmeetslossychannel:securesparserobustnessdecodingserviceinmulti-clouds”(ieeetransactionsonbigdata,2017)中提出了一种基于多个云服务器外包存储的压缩感知加密方法。该方法的主要步骤是:(1)系统初始化时,用户首先将稀疏的二维信号转化为稀疏的一维信号,并获取对应的稀疏集。(2)加密时,用户先选取一个安全参数,利用密钥生成算法生成一个置换向量和加密向量,然后利用置换向量交换对应的稀疏集,最后利用加密向量分组加密稀疏置换之后的元素,将稀疏集合加密数据上传到多云服务器。(3)解密时,多云服务器接收到用户的解密需求后,将所需密文发送给用户,此时只有拥有解密向量的用户才可以正确解密密文,没有解密向量的非法者无法得到真正明文,同时保证了在丢失一半数据包的情况下仍具有较好的恢复性能。但是,该方法仍然存在的不足之处是:该方法属于丢失数据包不超过全部数据一半的解决方案,一旦丢失密文数据包超过全部数据一半就无法保证恢复效果,因此导致超出一半数据丢失时无法正确解密,并且没有实现用户间密钥的安全共享,无法防止多云服务器将用户上传密钥泄露出去的问题,同时没有考虑能量泄露的问题,信号数据容易遭到能量攻击,无法保证信号数据能量的不可区分性,在实际应用中会造成严重的安全问题。

西安电子科技大学在其申请的专利文献“基于压缩感知和索引置乱的图像加密方法”(申请号2001510705403.0,申请公布号cn105306779a)中提出了一种基于压缩感知和索引置乱的图像加密方法。该方法的主要步骤是:(1)对原始图像在正交基下展开,得到稀疏系数。(2)用logistic序列控制构造测量矩阵。(3)用测量矩阵对稀疏系数进行测量,得到测量值。(4)用logistic序列对测量值进行置乱,得到置乱后的测量值。(5)将置乱后的测量值进行量化作为密文传输。该方法存在的不足之处是:该方法构建过程只考虑了秘钥的生成,没有考虑到用户间密钥的安全分发问题,并且没有考虑到密文传输过程中数据包丢失的问题,因此导致密文无法正确解密,它并不能使用于多个云服务器中的数据和图像的安全加密。



技术实现要素:

本发明的目的在于针对上述现有技术的不足,提出一种可实现密钥共享和差错控制的压缩感知加密方法,以满足压缩感知的特点,保证密文传输过程中出现数据包丢失时,仍可以正确解密密文,实现了多云服务器环境下用户间秘钥的安全分发问题,提高系统整体的安全性能。

为实现上述目的,本发明采用的技术方案包括以下步骤:

(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·p

hk=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||vaildperiod)

其中,bi表示上传加密数据的第i个用户的临时认证信息参数,h3(·)表示半诚实注册中心rc选择的不同于h1(·)和h2(·)的抗碰撞安全哈希函数,||表示级联操作,ai表示上传加密数据的第i个用户选择的临时秘密值,ti表示上传加密数据的第i个用户的当前时间戳,vaildperiod表示认证合法时间段;

(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||vaildperiod)

其中,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)按照下式,上传加密数据用户计算加密之后的能量加密秘钥:

其中,k1'表示加密的能量加密秘钥;

(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(modt)组数据,提取第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)半诚实注册中心将新用户的注册身份信息加入匿名身份认证函数完成增加新用户操作,其它用户的密钥和身份信息保持不变。

本发明与现有技术相比具有如下优点:

第一,由于本发明计算稀疏数据的能量加密密文,可防止密文能量泄露的问题,保证了密文的安全性,克服了现有压缩感知加密技术中,信号数据容易遭到能量攻击的缺点,保证信号数据能量的不可区分性,使得本发明的整体安全性能更加突出。

第二,由于本发明差错控制恢复密文数据,克服了现有压缩感知加密技术中,丢失密文数据包超过一半的情况下无法保证恢复效果缺点,使得本发明差错处理性能更强大。

第三,由于本发明对用户间匿名身份认证,设计了会话密钥分发和解密密钥分发,克服了现有压缩感知加密方案中,多云服务器将用户上传密钥泄露出去的问题,保证了用户间密钥的安全共享,使得本发明中密钥的安全性更高。

附图说明

图1是本发明的流程图;

图2是本发明压缩感知加密和密文差错控制处理步骤的流程图。

具体实施方式

下面结合附图,对本发明作进一步详细的描述。

参照图1,对实现本发明的具体步骤作进一步详细的描述。

步骤1,云服务器向半诚实注册中心rc注册。

云服务器将公开身份信息值发送给半诚实注册中心rc。

按照下式,半诚实注册中心rc计算每个云服务器的匿名身份值:

其中,st表示第t个云服务器的匿名身份值,h2(·)表示半诚实注册中心rc选取的安全抗碰撞哈希函数,x表示半诚实注册中心rc在有限域上随机选取的秘密值,表示半诚实注册中心rc利用随机选取的大素数n生成的有限域,g表示有限域的生成元,idt表示第t个云服务器的待注册公开身份信息值。

半诚实注册中心rc将云服务器匿名身份值存储到已注册云服务器集合中。

步骤2,用户向半诚实注册中心rc注册。

利用待注册身份信息值公式,每个待注册用户计算待注册身份信息值。

所述待注册身份信息值公式如下:

其中,pgk表示第k个待注册用户的待注册身份信息值,pwk表示第k个待注册用户随机选取的待注册身份秘密值,g表示乘法法循环群g2的生成元,g2表示阶为p的乘法循环群,p表示半诚实注册中心rc随机选取的不同于n的大素数。

利用待认证身份信息值公式,每个待注册用户计算待认证身份信息值。

所述待认证身份信息值公式如下:

vk=ek·p

其中,vk表示第k个待注册用户的待认证身份信息值,ek表示第k个待注册用户随机选取的待认证身份秘密值,p表示加法循环群g1的生成元,g1表示阶为p的加法循环群。

按照下式,计算每个待注册用户的验证身份信息值,半诚实注册中心rc将验证身份信息值发送给每个待注册用户:

fk=vk+rk·p

hk=h1(rk)

其中,fk表示第k个待注册用户的验证信息值,rk表示半诚实注册中心rc随机选取的用于计算第k个待注册用户验证信息的验证秘密值,p表示加法循环群g1的生成元,g1表示阶为p的加法循环群,hk表示第k个待注册用户的验证信息的哈希值,h1(·)表示半诚实注册中心rc选取的不同于h2(·)安全抗碰撞哈希函数。

按照下式,计算每个待注册用户的匿名身份值,半诚实注册中心rc将匿名身份值发送给每个待注册用户:

sk=h2(pk·pgk)

其中,pk表示第k个待注册用户的认证身份信息值,idk表示第k个待注册用户的公开身份信息值,sk表示第k个待注册用户匿名身份值。

半诚实注册中心rc将每个待注册用户匿名身份认证值存储到已注册用户集合中。

利用身份信息验证方法,每个待注册用户验证半诚实注册中心rc发送的验证身份信息值是否成立,若是,则继续执行,否则,身份信息认证失败。

所述身份信息验证方法是的具体步骤如下:

按照下式,待注册用户计算验证等式:

其中,表示第k个待注册用户私钥的部分秘密值,ppub表示半诚实注册中心rc的公钥参数。

待注册用户验证验证等式是否相等,若是,身份信息验证成立,否则,身份信息验证失败。

利用私钥公式,每个待注册用户计算私钥。

所述私钥公式如下:

其中,x是半诚实注册中心rc在有限域随机选取的主私钥,xk表示第k个待注册用户私钥。

步骤3,预处理待加密数据。

输入待加密数据,注册用户对输入的待加密数据进行一维信号处理。

注册用户利用svd测量矩阵生成方法,生成测量矩阵。

所述svd测量矩阵生成方法如下:

注册用户通过学习方法得到稀疏矩阵。

按照下式,注册用户对稀疏矩阵进行奇异值分解:

ψ=uλvt

其中,ψ表示通过学习得到的大小为n×m稀疏矩阵,u,v分别表示稀疏矩阵经过奇异分解得到的矩阵,t表示转置操作。

按照下式,注册用户生成测量矩阵:

其中,φ表示提取的大小为m×n测量矩阵,ul表示由矩阵u的前l列组成的矩阵,l的取值与压缩感知数据的压缩值m相等。

注册用户依次记录稀疏向量中非零元素,获得稀疏向量支撑集。

注册用户利用置换支撑集生成方法,生成稀疏向量的置换支撑集。

所述置换支撑集生成方法如下:

注册用户从大小为n的的向量空间中随机选取s个不同的元素,放入向量空间pl(l=1,k,s)中获得置换向量,其中s表示稀疏向量个数。

按照下式,注册用户计算稀疏向量的置换支撑集:

s(pl)=s(sv(l))

其中,s(pl)表示稀疏向量的置换支撑集,sv(l)表示稀疏向量空间第l组元素。

注册用户利用规范稀疏公式,计算待加密数据的规范稀疏值。

所述规范稀疏公式如下:

其中,θ表示待加密数据的稀疏值,x表示待加密数据,表示待加密数据的规范稀疏值,||·||2表示2范数操作。

参照图2,对实现本发明所适用的压缩感知加密和密文差错控制处理具体步骤作进一步详细的描述:

步骤4,利用压缩感知方法对待加密数据进行加密。

按照下式,注册用户计算待加密数据的加密密文:

其中,y表示待加密数据的加密密文,φ表示测量矩阵,ψ表示稀疏矩阵,θ表示待加密数据的稀疏值,||·||2表示2范数操作。

按照下式,注册用户计算稀疏数据的能量加密密文:

其中,c表示稀疏数据的能量加密密文,表示异或操作,k1表示伪随机函数γ生成的能量加密密钥。

步骤5,密文差错控制处理。

根据下式,注册用户计算每组分组数据长度:

其中,m表示分组数据长度,α表示注册用户根据差错控制的需求设置的差错率,t表示数据分组个数。

用密文除以分组数据个数,得到分组数据的移位长度。

注册用户将差错控制处理后的压缩密文、能量加密密文、稀疏向量支撑集打包发送至云服务器。

步骤6,对用户间进行匿名身份认证。

订阅用户向上传加密数据用户发送数据订阅请求。

按照下式,计算临时身份认证信息参数,上传加密数据用户将临时身份认证信息参数发送给订阅用户:

bi=h3(fi||ai·p||ti||vaildperiod)

其中,bi表示上传加密数据的第i个用户的临时认证信息参数,h3(·)表示半诚实注册中心rc选择的不同于h1(·)和h2(·)的抗碰撞安全哈希函数,||表示级联操作,ai表示上传加密数据的第i个用户选择的临时秘密值,ti表示上传加密数据的第i个用户的当前时间戳,vaildperiod表示认证合法时间段。

按照下式,计算临时身份认证信息值,上传加密数据用户将临时身份认证信息值发送给订阅用户:

di=(ai+bi)-1·xi

其中,di表示上传加密数据的第i个用户的临时认证信息值,(·)-1表示求逆操作,xi表示上传加密数据的第i个用户的私钥。

按照下式,计算匿名身份认证信息值,上传加密数据用户将匿名身份认证信息值发送给订阅用户:

其中,ti表示上传加密数据的第i个用户的匿名身份认证信息值。

按照下式,订阅用户计算上传加密数据用户的匿名身份认证值:

其中,ci表示上传加密数据的第i个用户的匿名身份认证值,c表示半诚实注册中心rc在有限域上随机选取的用户匿名认证值,λ表示半诚实注册中心rc在有限域上随机选取秘密值,n表示注册用户和云无服务器总数,∏表示连乘操作。

订阅用户验证上传加密数据用户的匿名身份认证值是否等于半诚实注册中心rc公布的用户匿名认证值,若是,则执行步骤(6g),否则,身份认证失败。

采用信息认证方法,订阅用户对通过匿名身份认证的上传加密数据用户验证信息;

所述信息认证方法的具体步骤如下:

按照下式,接收用户计算临时认证信息:

bi=h3(fi||xi||ti||vaildperiod)

hi=h1(fi)

其中,bi,hi表示发送用户临时认证信息。

按照下式,接收用户验证认证信息:

di(xi+bip)=hi·ppub

其中,di表示发送用户的临时认证信息,如果等式成立,则发送用户信息认证成功,否则,信息认证失败。

按照下式,计算临时身份认证信息参数,订阅用户将临时身份认证信息参数发送给上传加密数据用户:

bi=h3(fj||aj·p||tj||vaildperiod)

其中,bj表示第j个订阅用户的临时认证信息参数,aj表示第j个订阅用户选择的临时秘密值,tj表示第j个订阅用户的当前时间戳。

按照下式,计算临时身份认证信息值,订阅用户将临时身份认证信息值发送给上传加密数据用户:

dj=(aj+bj)-1·xj

其中,dj表示第j个订阅用户的临时认证信息值,xj表示第j个订阅用户的私钥。

按照下式,计算匿名身份认证信息值,订阅用户将匿名身份认证信息值发送给上传加密数据用户:

其中,tj表示第j个订阅用户的匿名身份认证信息值。

按照下式,上传加密数据用户计算订阅用户的匿名身份认证值:

其中,cj表示第j个订阅用户的匿名身份认证值。

上传加密数据用户验证订阅用户的匿名身份认证值是否等于半诚实注册中心rc公布的的匿名认证值,若是,则执行步骤(6m),否则,身份认证失败。

采用信息认证方法,上传加密数据用户验证通过匿名身份认证的订阅用户的验证信息。

所述信息认证方法的具体步骤如下:

按照下式,接收用户计算临时认证信息:

bi=h3(fi||xi||ti||vaildperiod)

hi=h1(fi)

其中,bi,hi表示发送用户临时认证信息。

按照下式,接收用户验证认证信息:

di(xi+bip)=hi·ppub

其中,di表示发送用户的临时认证信息,如果等式成立,则发送用户信息认证成功,否则,信息认证失败。

步骤7,会话密钥分发。

按照下式,订阅用户计算通过匿名身份认证上传加密数据用户的会话密钥:

sk=h1(aj·xi)

其中,sk表示订阅用户计算的会话密钥。

按照下式,上传加密数据用户计算通过匿名身份认证订阅用户的会话密钥:

sk=h1(ai·xj)

其中,sk表示上传加密数据计算的会话密钥。

步骤8,解密密钥分发。

按照下式,上传加密数据用户计算加密之后的能量加密秘钥:

其中,k1'表示加密的能量加密秘钥。

上传加密数据用户将加密的能量加密秘钥和置换函数打包发送给订阅用户,完成解密密钥的分发。

步骤9,云服务器认证订阅用户。

订阅用户向云服务器发送订阅请求。

订阅用户将匿名身份信息发送给云服务器。

按照下式,云服务器计算订阅用户的匿名身份信息值:

其中,cj表示订阅用户的匿名身份信息值。

云服务器验证验证订阅用户的匿名身份认证值是否等于半诚实注册中心rc公布的的匿名认证值,若是,则继续执行,否则,身份认证失败。

采用压缩感知重构方法,计算规范稀疏数据和能量加密函数,云服务器将规范稀疏数据和能量加密函数发送给订阅用户。

所述压缩感知重构方法的具体步骤如下:

云服务器构建恢复稀疏数据的凸优化算法:

其中,min表示取最小值操作,||·||1表示1范数,ε表示可容许的最大残差值。

计算规范稀疏数据:

其中,表示计算出规范稀疏数据,rec表示凸优化算法。

步骤10,差错控制恢复密文数据。

对订阅用户在接收云服务器数据的过程中丢失了前(d-1)组连续数据的情况,订阅用户获取从d组到d+(t-1)组连续数据,提取后d组数据的lk位元素、第d组数据的全部元素和剩余组数据中lk位元素就可以恢复出全部密文数据,其中lk表示分组数据中后k位数据。

对订阅用户在接收云服务器数据的过程中丢失了任意连续(d-1)组数据的情况,订阅用户从丢失数据的下一组d'开始获取从d'组到2d'-t(modt)组数据,提取第d'组数据的全部元素和剩余组数据中lk位元素就可以恢复出全部的原始密文数据,其中,mod表示取模操作。

步骤11,对密文进行解密。

订阅用户利用置换支撑集生成方法,获得还原的置换稀疏向量支撑集。

中所述置换支撑集生成方法如下:

注册用户从大小为n的的向量空间中随机选取s个不同的元素,放入向量空间pl(l=1,k,s)中获得置换向量,其中s表示稀疏向量个数。

按照下式,注册用户计算稀疏向量的置换支撑集:

s(pl)=s(sv(l))

其中,s(pl)表示稀疏向量的置换支撑集,sv(l)表示稀疏向量空间第l组元素。

按照下式,订阅用户计算解密的能量加密函数:

其中,表示计算的解密能量加密函数。

按照下式,订阅用户计算原始数据:

其中,表示规范稀疏值。

步骤12,撤销用户和云服务器。

半诚实注册中心rc将撤销的过期用户集合或云服务器集合的注册身份信息从匿名身份认证函数中移出。

按照下式,半诚实注册中心rc更改匿名身份认证函数:

其中,c1(x)表示更改的匿名身份认证函数,c'表示从有限域中选择的不同与c的匿名身份认证值,λ'表示半诚实注册中心rc在有限域上随机选取秘密值。

半诚实注册中心rc广播匿名身份认证函数完成撤销操作,其它用户或云服务器的密钥和身份信息保持不变。

步骤13,恢复撤销用户和云服务器。

当撤销云服务器发出恢复请求时,按照步骤(2)半诚实注册中心rc将要恢复云服务器对应的身份信息加入匿名身份认证函数完成恢复撤销用户操作,未被撤销的云服务器不需要更新身份认证信息。

当撤销用户发出恢复请求时,按照步骤(3)半诚实注册中心rc将要恢复用户对应的身份信息加入匿名身份认证函数完成恢复撤销用户操作,未被撤销的用户不需要更新身份认证信息。

步骤14,增加新用户和云服务器。

当新云服务器发出注册请求时,按照步骤(2)半诚实注册中心将新云服务器的注册身份信息加入匿名身份认证函数完成增加新云服务器操作,其它云服务器的密钥和身份信息保持不变。

当新用户发出注册请求时,按照步骤(3)半诚实注册中心将新用户的注册身份信息加入匿名身份认证函数完成增加新用户操作,其它用户的密钥和身份信息保持不变。

参照图2,本发明所适用的压缩感知加密和密文差错控制处理的流程图。其中,进行加密数据阶段用户利用预处理生成测量矩阵、能量加密密文和置换支撑集,对规范稀疏数据加密得到加密密文;最后对密文进行差错控制处理;将能量加密密文,置换支撑集,差错控制处理的密文打包发送到云服务器中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1