密文数据集交集计算方法、装置、系统、客户端、服务器及介质制造方法及图纸

技术编号:22597420 阅读:34 留言:0更新日期:2019-11-20 12:23
本发明专利技术公开了一种密文数据集交集计算方法、装置、系统、客户端、服务器及介质,所述方法包括:根据用户的公钥,对明文数据集进行加密,得到密文数据集,并将密文数据集发送给服务器;根据用户选择的授权级别,生成该授权级别的授权信息;将授权信息发送给服务器,以使服务器根据密文数据集和授权信息,计算得到中间值集,根据符合授权级别的两个用户的中间值集,将这两个用户的密文数据集进行交集计算,生成密文数据集交集,并将密文数据集交集发送给相应用户的客户端;接收服务器发送的密文数据集交集;根据用户输入的密文数据集交集和私钥,对密文数据集交集进行解密,得到明文数据集交集。本发明专利技术在确保安全性前提下,显著提高了灵活性。

Ciphertext data set intersection calculation method, device, system, client, server and media

The invention discloses a ciphertext data set intersection calculation method, device, system, client, server and medium, the method includes: encrypting the plaintext data set according to the public key of the user, obtaining the ciphertext data set, and sending the ciphertext data set to the server; generating the authorization information of the authorization level according to the authorization level selected by the user; sending the authorization information It is sent to the server so that the server can calculate the intermediate value set according to the ciphertext data set and authorization information. According to the intermediate value set of the two users who meet the authorization level, the ciphertext data sets of the two users are intersected and calculated to generate the ciphertext data set intersection, and the ciphertext data set intersection is sent to the client of the corresponding user; the ciphertext data set sent by the receiving server is intersected Set: decrypt the ciphertext data set intersection according to the ciphertext data set intersection and private key entered by the user to get the plaintext data set intersection. Under the premise of ensuring safety, the invention significantly improves flexibility.

【技术实现步骤摘要】
密文数据集交集计算方法、装置、系统、客户端、服务器及介质
本专利技术涉及一种密文数据集交集计算方法、装置、系统、客户端、服务器及介质,属于数据安全领域。
技术介绍
云存储是云计算中的一项重要服务,不但方便数据备份、数据共享、防止数据丢失,还可以有效降低数据的存储成本。随着云存储技术的发展以及近年来数据泄漏事故频发,用户更加关注云存储中数据的安全性。企业和用户上传到云上的数据可能是机密数据,如人事档案与医疗记录等。将数据加密后上传可以有效提高数据的安全性,但也因此破坏了数据原有的结构和特征。因此,对密文数据进行计算是困难的。由于数据挖掘、重复文件检验、基因检测中涉及集合交集计算,用于获取数据特征或标签以便分类,因此,需要实现对加密数据进行集合交集计算。目前,有两大类加密数据集交集计算方法,分别是两方计算协议与多方计算协议。前者,例如专利文献(公开号:CN109657489A,公开日2019年4月19日),要求用户直接参与计算,要求用户有足够的计算能力,且不方便转化为云上的版本。后者,例如专利文献(公开号:CN105812141A,公开日:2016年7月27日),为多个用户将数据加密后上传到云服务器中,并提供授权,由云服务器进行集合交集计算,并将加密后的计算结果返回给用户,用户在本地进行解密。但是,该类方法中用户提供的授权可以使云服务器自由地对该用户的所有数据进行集合交集计算,无法实现细粒度的授权,即无法让云服务器只对部分数据进行操作,也无法指定进行集合交集计算的用户。例如,第一用户、第二用户和第三用户均上传加密的基因数据到云服务器上,第一用户希望与第二用户进行亲子鉴定(该技术需要用到集合交集计算),因此需要提交授权给云服务器,但无法禁止云服务器将自己的数据与第三用户的数据进行集合交集操作。
技术实现思路
有鉴于此,本专利技术提供了一种密文数据集交集计算方法、装置、计算机设备及存储介质,其使用户可以选择允许服务器对指定密文数据集进行操作和指定进行密文数据集交集计算的用户,在确保安全性前提下,显著提高了灵活性。本专利技术的第一个目的在于提供一种密文数据集交集计算方法,其应用于客户端。本专利技术的第二个目的在于提供一种密文数据集交集计算方法,其应用于服务器。本专利技术的第三个目的在于提供一种密文数据集交集计算装置,其应用于客户端。本专利技术的第四个目的在于提供一种密文数据集交集计算装置,其应用于服务器。本专利技术的第五个目的在于提供一种密文数据集交集计算系统。本专利技术的第六个目的在于提供一种客户端。本专利技术的第七个目的在于提供一种服务器。本专利技术的第八个目的在于提供一种存储介质。本专利技术的第一个目的可以通过采取如下技术方案达到:一种密文数据集交集计算方法,应用于客户端,所述方法包括:生成用户的公钥和私钥;根据用户输入的明文数据集和公钥,对明文数据集进行加密,得到密文数据集,并将密文数据集发送给服务器,以使服务器将密文数据集存储在密文数据库中;根据用户选择的授权级别,生成该授权级别的授权信息;将授权信息发送给服务器,以使服务器从密文数据库获取密文数据集,根据密文数据集和授权信息,计算得到中间值集,根据符合授权级别的两个用户的中间值集,将这两个用户的密文数据集进行交集计算,生成密文数据集交集,并将密文数据集交集发送给相应用户的客户端;接收服务器发送的密文数据集交集;根据用户输入的密文数据集交集和私钥,对密文数据集交集进行解密,得到明文数据集交集。进一步的,所述根据用户选择的授权级别,生成该级别的授权信息,具体包括:当用户选择第一授权级别时,获取该用户的私钥,计算第一授权级别的授权信息,如下式:其中,yi为用户i的私钥中的一个元素,w为系统参数;当用户选择第二授权级别时,获取该用户的私钥和指定用户的公钥,计算第二授权级别的授权信息,如下式:其中,yi和zi为用户i的私钥中的两个元素,和为指定用户j的公钥中的两个元素;当用户选择第三授权级别时,获取该用户的私钥和指定密文数据集的每个密文数据,计算第三授权级别的授权信息,如下式:其中,yi为用户i的私钥中的一个元素,Ci,2为指定密文数据集中每个密文数据的一个元素;当用户选择第四授权级别时,获取该用户的私钥、指定用户的公钥和指定密文数据集的每个密文数据,计算第四授权级别的授权信息,如下式:其中,yi为用户i的私钥中的一个元素,为指定用户j的公钥中的一个元素,Ci,2为指定密文数据集中每个密文数据的一个元素,w为系统参数;所述第一授权级别是指允许服务器将所有密文数据集与所有用户的密文数据集进行交集计算;所述第二授权级别是指允许服务器将所有密文数据集与指定用户的密文数据集进行交集计算;所述第三授权级别是指允许服务器将指定密文数据集与所有用户的密文数据集进行交集计算;第四授权级别是指允许服务器将指定密文数据集与指定用户的密文数据集进行交集计算。本专利技术的第二个目的可以通过采取如下技术方案达到:一种密文数据集交集计算方法,应用于服务器,所述方法包括:接收客户端发送的密文数据集,并将密文数据集存储在密文数据库中;接收客户端发送的授权信息;其中,所述授权信息为根据用户选择的授权级别所生成的该授权级别的授权信息;从密文数据库获取密文数据集,根据密文数据集和授权信息,计算得到中间值集;根据符合授权级别的两个用户的中间值集,将这两个用户的密文数据集进行交集计算,生成密文数据集交集,并将密文数据集交集发送给相应用户的客户端。进一步的,所述根据密文数据集和授权信息,计算得到中间值集,具体包括:当用户选择第一授权级别时,根据密文数据集和第一授权级别的授权信息,计算得到中间值集;其中,中间值集中每个中间值的计算如下式:式中,Ci,2和Ci,4为用户i的密文数据集中每个密文数据的两个元素,Td1,i为用户i的第一授权级别的授权信息,Ti为用户i的中间值集中的每个中间值;当用户选择第二授权级别时,根据密文数据集和第二授权级别的授权信息,计算得到中间值集;其中,中间值集中每个中间值计算如下式:式中,Ci,2、Ci,3和Ci,4为用户i的密文数据集中每个密文数据的三个元素,Td2,i,jA、Td2,i,jB为用户i的第二授权级别的授权信息的两个元素,Ti为用户i的中间值集中的每个中间值;当用户选择第三授权级别时,根据密文数据集和第三授权级别的授权信息,计算得到中间值集;其中,中间值集中每个中间值计算如下式:式中,Ci,2和Ci,4为用户i的指定密文数据集中每个密文数据的两个元素,为用户i的第三授权级别的授权信息,Di为用户i的明文数据集中的每个明文数据,Ti为用户i的中间值集中的每个中间值;当用户选择第四授权级别时,根据密文数据集和第四授权级别的授权信息,计算得到中间本文档来自技高网
...

【技术保护点】
1.一种密文数据集交集计算方法,应用于客户端,其特征在于,所述方法包括:/n生成用户的公钥和私钥;/n根据用户输入的明文数据集和公钥,对明文数据集进行加密,得到密文数据集,并将密文数据集发送给服务器,以使服务器将密文数据集存储在密文数据库中;/n根据用户选择的授权级别,生成该授权级别的授权信息;/n将授权信息发送给服务器,以使服务器从密文数据库获取密文数据集,根据密文数据集和授权信息,计算得到中间值集,根据符合授权级别的两个用户的中间值集,将这两个用户的密文数据集进行交集计算,生成密文数据集交集,并将密文数据集交集发送给相应用户的客户端;/n接收服务器发送的密文数据集交集;/n根据用户输入的密文数据集交集和私钥,对密文数据集交集进行解密,得到明文数据集交集。/n

【技术特征摘要】
1.一种密文数据集交集计算方法,应用于客户端,其特征在于,所述方法包括:
生成用户的公钥和私钥;
根据用户输入的明文数据集和公钥,对明文数据集进行加密,得到密文数据集,并将密文数据集发送给服务器,以使服务器将密文数据集存储在密文数据库中;
根据用户选择的授权级别,生成该授权级别的授权信息;
将授权信息发送给服务器,以使服务器从密文数据库获取密文数据集,根据密文数据集和授权信息,计算得到中间值集,根据符合授权级别的两个用户的中间值集,将这两个用户的密文数据集进行交集计算,生成密文数据集交集,并将密文数据集交集发送给相应用户的客户端;
接收服务器发送的密文数据集交集;
根据用户输入的密文数据集交集和私钥,对密文数据集交集进行解密,得到明文数据集交集。


2.根据权利要求1所述的密文数据集交集计算方法,其特征在于,所述根据用户选择的授权级别,生成该级别的授权信息,具体包括:
当用户选择第一授权级别时,获取该用户的私钥,计算第一授权级别的授权信息,如下式:



其中,yi为用户i的私钥中的一个元素,w为系统参数;
当用户选择第二授权级别时,获取该用户的私钥和指定用户的公钥,计算第二授权级别的授权信息,如下式:



其中,yi和zi为用户i的私钥中的两个元素,和为指定用户j的公钥中的两个元素;
当用户选择第三授权级别时,获取该用户的私钥和指定密文数据集的每个密文数据,计算第三授权级别的授权信息,如下式:



其中,yi为用户i的私钥中的一个元素,Ci,2为指定密文数据集中每个密文数据的一个元素;
当用户选择第四授权级别时,获取该用户的私钥、指定用户的公钥和指定密文数据集的每个密文数据,计算第四授权级别的授权信息,如下式:



其中,yi为用户i的私钥中的一个元素,为指定用户j的公钥中的一个元素,Ci,2为指定密文数据集中每个密文数据的一个元素,w为系统参数;
所述第一授权级别是指允许服务器将所有密文数据集与所有用户的密文数据集进行交集计算;所述第二授权级别是指允许服务器将所有密文数据集与指定用户的密文数据集进行交集计算;所述第三授权级别是指允许服务器将指定密文数据集与所有用户的密文数据集进行交集计算;第四授权级别是指允许服务器将指定密文数据集与指定用户的密文数据集进行交集计算。


3.一种密文数据集交集计算方法,应用于服务器,其特征在于,所述方法包括:
接收客户端发送的密文数据集,并将密文数据集存储在密文数据库中;
接收客户端发送的授权信息;其中,所述授权信息为根据用户选择的授权级别所生成的该授权级别的授权信息;
从密文数据库获取密文数据集,根据密文数据集和授权信息,计算得到中间值集;
根据符合授权级别的两个用户的中间值集,将这两个用户的密文数据集进行交集计算,生成密文数据集交集,并将密文数据集交集发送给相应用户的客户端。


4.根据权利要求3所述的密文数据集交集计算方法,其特征在于,所述根据密文数据集和授权信息,计算得到中间值集,具体包括:
当用户选择第一授权级别时,根据密文数据集和第一授权级别的授权信息,计算得到中间值集;其中,中间值集中每个中间值的计算如下式:
Ti=Ci,4⊕H2(e(Ci,2,Td1,i))
式中,Ci,2和Ci,4为用户i的密文数据集中每个密文数据的两个元素,Td1,i为用户i的第一授权级别的授权信息,Ti为用户i的中间值集中的每个中间值;
当用户选择第二授权级别时,根据密文数据集和第二授权级别的授权信息,计算得到中间值集;其中,中间值集中每个中间值计算如下式:



Ti=Ci,4⊕H2(Si)
式中,Ci,2、Ci,3和Ci,4为用户i的密文数据集中每个密文数据的三个元素,...

【专利技术属性】
技术研发人员:黄琼王元昊肖媚燕苗莹刘文博
申请(专利权)人:华南农业大学
类型:发明
国别省市:广东;44

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

1