针对Leveled全同态密钥分配方法组成比例

技术编号:16460069 阅读:67 留言:0更新日期:2017-10-26 00:33
本发明专利技术属于数据共享技术领域,公开了一种针对Leveled全同态密钥分配方法,包括:密钥生成中心KGC为群成员计算签名公私钥并公开系统参数;密钥生成中心KGC给群成员分发签名密钥群成员进行群共享密钥的协商;中间结点利用群共享密钥进行同态密钥参数的共享,每一个群成员利用同态密钥参数进行计算,完成同态密钥的分配。本发明专利技术实现了同态密钥在群用户中的共享,群以外的用户无法得到该密钥,可用于群用户共享隐私数据的检索中。

A fully homomorphic key distribution method for Leveled

The invention belongs to the technical field of data sharing, discloses a Leveled for fully homomorphic key distribution methods, including the key generation center for KGC group members and public private key signature calculation of system parameters; the key generation center to distribute KGC group member signature key group member group shared key negotiation; sharing intermediate nodes using the group shared key homomorphic encryption parameters, each group member using the homomorphic key parameters were calculated, the homomorphism key assignment complete. The invention realizes the sharing of homomorphic keys in group users, and the users outside the group can not obtain the key, which can be used for the sharing of privacy data in group users.

【技术实现步骤摘要】
针对Leveled全同态密钥分配方法
本专利技术属于数据共享
,尤其涉及一种针对Leveled全同态密钥分配方法。
技术介绍
用户隐私数据检索是指用户将自己的隐私数据存储到不可信的第三方服务器上,例如云服务器。为了在不泄露隐私数据的前提下,完成对数据的检索工作,这里不仅需要对数据加密,而且要对加密数据进行一定的处理,同态加密算法正好满足这种需求。若多个用户参与完成共享数据检索工作,同态加密算法使用的前提是必须实现多用户之间的同态密钥的共享。在群用户共享隐私数据检索中,现有的方案只是针对单个的检索用户来说,每个用户有一套自己独特的密钥系统,相互之间没有任何干预,对于群用户共享的隐私数据来说,这样的方式将导致每个用户都必须有一对公私钥,这不仅增加密钥管理的负担,同时给利用同态加密的检索技术带来复杂的处理。与此同时,已有的密钥协商和分配技术只是利用同态的性质来完成,针对同态加密算法的密钥分配的技术尚未出现。以上的问题不利于密文检索技术的发展和使用。综上所述,现有技术存在的问题是:对于多个用户共享的数据,在检索时依旧需要每个用户持有不同的检索密钥,由此带来密钥管理的负担;在基于同态的密文检索技术中,密文运算需要对应同一个公钥,多个密钥使检索十分困难。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种针对Leveled全同态密钥分配方法。本专利技术是这样实现的,一种针对Leveled全同态密钥分配方法,所述针对Leveled全同态密钥分配方法包括以下步骤:(1)密钥生成中心KGC为群成员计算签名公私钥并公开系统参数;(2)密钥生成中心KGC给群成员分发签名密钥;(3)群成员进行群共享密钥的协商;(4)中间结点利用群共享密钥进行同态密钥参数的共享,每一个群成员利用同态密钥参数进行计算,最后完成同态密钥的分配。进一步,所述针对Leveled全同态密钥分配方法具体包括以下步骤:(1)系统初始化:(1a)密钥生成中心KGC运行Sig_Gen(1λ)算法,为群成员ui生成签名和验证所需的密钥,其中λ表示安全参数;(1b)密钥生成中心KGC选择素数p,q满足p=2q+1,并构造有限域其中表示整数集合;(1c)密钥生成中心KGC生成乘法循环群计算其子群并选取Gq的生成元g;(1d)密钥生成中心KGC选取整数集合上的离散高斯分布χ;(1e)密钥生成中心KGC公开系统参数(2)签名密钥分发(2a)密钥生成中心KGC通过安全信道将签名密钥(SKi,HKi,TKi)发送给对应的群成员ui;(2b)密钥生成中心KGC公布所有群成员的验证密钥(PKi,HKi);(3)群共享密钥协商采用星型群密钥协商结构,假设有T个群成员,各自身份信息为{ID0,...,IDi,...,IDT-1},选取计算能力强的群成员作为中间结点u0,其余的群成员ui(i=1,2...T-1)作为低能量结点;(3a)每个低能量结点ui本地计算步骤如下:(3a1)每个低能量结点ui选择随机数预先计算随机数xi的逆元并且按照下式计算本地验证元素δi:其中,PK0表示中间结点u0的公钥,p表示模数,mod表示模操作;(3a2)每个低能量结点ui按照下式计算中间值yi和结点ui的签名值σi:σi=Sign(SKi,yi||IDi);其中,g表示子群Gq的生成元,Sign(·)表示Shamir-Tauman签名算法,SKi表示低能量结点ui的私钥,IDi表示低能量结点ui的身份信息,||表示级联操作;(3a3)每个低能量结点ui得到一组本地数据(xi,xi-1,δi,yi,σi),并将签名(yi,σi)发送给中间结点u0;(3b)中间结点u0计算步骤如下:(3b1)对每一个签名(yi,σi),中间结点u0运行Verify(PKi,yi,σi)算法,检查低能量结点ui的签名值σi的正确性,其中,PKi表示ui的公钥,若ui的签名值σi正确,则继续步骤(3b2);否则,拒绝ui的请求;(3b2)中间结点u0随机选择秘密值按照下式计算部分群密钥M:其中,SK0表示u0的私钥;(3b3)对于i=1,2,...T-1,中间结点u0计算公开值zi和线上验证元素δi':(3b4)中间结点u0按照下式计算检测值C和群共享密钥K:其中,H(·)表示单向哈希函数,表示异或操作,表示连乘操作;(3b5)中间结点u0将检测值C、公开值zi和线上验证元素δi',(i=1,2,...T-1)进行广播;(3c1)每一个低能量结点ui在接收到步骤(3b5)的数据以后,验证如下等式是否成立:δi=δi';若等式成立,则继续步骤(3c2),否则,中断本次密钥协商;(3c2)每个低能量结点ui按照下式计算部分验证群密钥M':(3c3)每个低能量结点ui按照下式计算哈希值C':(3c4)每个低能量结点ui验证如下等式是否成立:C=C';若等式成立,则继续步骤(3c5),否则,中断本次密钥协商;(3c5)每个低能量结点ui计算群验证共享密钥K':中间结点和每个低能量结点得到相同的群共享密钥K=K';(4)Leveled全同态密钥分配Leveled全同态计算深度为L,密钥分配步骤如下:(4a1)中间结点u0选取L+1个n维部分私钥向量s'j←χn,(j=0,1,...L),令私钥向量sj=(1,s'j),将L+1个私钥向量sj表示为一个私钥矩阵P,其中,χ表示离散高斯分布;(4a2)中间结点u0选取均匀随机分布的N行n列矩阵和N维的误差向量e←χN,其中,表示有限域;(4a3)中间结点u0利用群共享密钥K,进行如下公式的计算:E1=E(K,P);E2=E(K,e);其中,E1表示私钥矩阵密文,E2表示误差密文,E(·)表示AES对称加密算法;(4a4)中间结点u0将(E1,E2,A')进行广播;(4b1)每个低能量结点ui收到中间结点u0的广播信息,解密得到私钥矩阵P和误差向量e;(4b2)每个低能量结点ui取出私钥矩阵的第一行,s0=(1,s'0),按照下式计算部分公钥b:b=A's'0+2e;(4b3)每个低能量结点得到共享公钥A如下:A=[b||-A'];其中,||表示级联操作。(4c)中间结点u0进行步骤(4b2)的操作,可计算得到共享公钥A。进一步,所述(1a)中的密钥生成中心KGC运行Sig_Gen(1λ)算法包括如下步骤:(1a1)先为每一个群成员ui随机选择私钥按下式计算公钥PKi:(1a2)运行陷门哈希族的密钥生成算法得到哈希密钥HKi和陷门密钥TKi;(1a3)最终群成员ui的签名密钥是(SKi,HKi,TKi),验证密钥(PKi,HKi)。进一步,所述(3a2)中的Shamir-Tauman签名算法是通过将任意普通的签名算法和陷门哈希相结合形成的在线/离线签名算法,包括如下步骤:签名分为两个阶段:离线:(a)选择随机数对计算哈希值其中表示消息空间,表示随机种子选取空间,h(·)表示随机哈希函数;(b)运行普通签名算法S,利用私钥SKi对哈希值进行签名,输出离线签名(c)存储随机数对(fi',ri'),哈希值和离线签名∑i;在线:(a)取出离线阶段步骤(c)存储的内容;(b)寻找使其满足(c)最终的签名值为σi=(r,∑i)。进一步,所述(3b1)中的中间结点u0运行Verify(PK本文档来自技高网...
针对Leveled全同态密钥分配方法

【技术保护点】
一种针对Leveled全同态密钥分配方法,其特征在于,所述针对Leveled全同态密钥分配方法包括以下步骤:(1)密钥生成中心KGC为群成员计算签名公私钥并公开系统参数;(2)密钥生成中心KGC给群成员分发签名密钥;(3)群成员进行群共享密钥的协商;(4)中间结点利用群共享密钥进行同态密钥参数的共享,每一个群成员利用同态密钥参数进行计算,最后完成同态密钥的分配。

【技术特征摘要】
1.一种针对Leveled全同态密钥分配方法,其特征在于,所述针对Leveled全同态密钥分配方法包括以下步骤:(1)密钥生成中心KGC为群成员计算签名公私钥并公开系统参数;(2)密钥生成中心KGC给群成员分发签名密钥;(3)群成员进行群共享密钥的协商;(4)中间结点利用群共享密钥进行同态密钥参数的共享,每一个群成员利用同态密钥参数进行计算,最后完成同态密钥的分配。2.如权利要求1所述的针对Leveled全同态密钥分配方法,其特征在于,所述针对Leveled全同态密钥分配方法具体包括以下步骤:(1)系统初始化:(1a)密钥生成中心KGC运行Sig_Gen(1λ)算法,为群成员ui生成签名和验证所需的密钥,其中λ表示安全参数;(1b)密钥生成中心KGC选择素数p,q满足p=2q+1,并构造有限域其中表示整数集合;(1c)密钥生成中心KGC生成乘法循环群计算其子群并选取Gq的生成元g;(1d)密钥生成中心KGC选取整数集合上的离散高斯分布χ;(1e)密钥生成中心KGC公开系统参数(2)签名密钥分发(2a)密钥生成中心KGC通过安全信道将签名密钥(SKi,HKi,TKi)发送给对应的群成员ui;(2b)密钥生成中心KGC公布所有群成员的验证密钥(PKi,HKi);(3)群共享密钥协商采用星型群密钥协商结构,假设有T个群成员,各自身份信息为{ID0,...,IDi,...,IDT-1},选取计算能力强的群成员作为中间结点u0,其余的群成员ui(i=1,2...T-1)作为低能量结点;(3a)每个低能量结点ui本地计算步骤如下:(3a1)每个低能量结点ui选择随机数预先计算随机数xi的逆元并且按照下式计算本地验证元素δi:其中,PK0表示中间结点u0的公钥,p表示模数,mod表示模操作;(3a2)每个低能量结点ui按照下式计算中间值yi和结点ui的签名值σi:σi=Sign(SKi,yi||IDi);其中,g表示子群Gq的生成元,Sign(·)表示Shamir-Tauman签名算法,SKi表示低能量结点ui的私钥,IDi表示低能量结点ui的身份信息,||表示级联操作;(3a3)每个低能量结点ui得到一组本地数据(xi,xi-1,δi,yi,σi),并将签名(yi,σi)发送给中间结点u0;(3b)中间结点u0计算步骤如下:(3b1)对每一个签名(yi,σi),中间结点u0运行Verify(PKi,yi,σi)算法,检查低能量结点ui的签名值σi的正确性,其中,PKi表示ui的公钥,若ui的签名值σi正确,则继续步骤(3b2);否则,拒绝ui的请求;(3b2)中间结点u0随机选择秘密值按照下式计算部分群密钥M:其中,SK0表示u0的私钥;(3b3)对于i=1,2,...T-1,中间结点u0计算公开值zi和线上验证元素δi':(3b4)中间结点u0按照下式计算检测值C和群共享密钥K:其中,H(·)表示单向哈希函数,表示异或操作,表示连乘操作;(3b5)中间结点u0将检测值C、公开值zi和线上验证元素δi',(i=1,2,...T-1)进行广播;(3c1)每一个低能量结点ui在接收到步骤(3b5)的数据以后,验证如下等式是否成立:δi=δi';若...

【专利技术属性】
技术研发人员:高军涛王丹妮王笠燕王誉晓李雪莲
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1