买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于不经意传输协议的安全多方数据排序方法_电子科技大学_202310283158.3 

申请/专利权人:电子科技大学

申请日:2023-03-22

公开(公告)日:2024-04-02

公开(公告)号:CN116471051B

主分类号:H04L9/40

分类号:H04L9/40;H04L9/08;H04L9/30

优先权:

专利状态码:有效-授权

法律状态:2024.04.02#授权;2023.08.08#实质审查的生效;2023.07.21#公开

摘要:本发明公开了一种基于不经意传输协议的安全多方数据排序方法,首先,各参与方在离线阶段生成系统参数;其次,各参与方执行隐私保护的多方排序生成排序请求;而后,云服务器收到来自各参与方的排序请求,执行加密多项式的聚合;最后,参与方收到来自云服务器的密文,恢复参与方的私有数据集相对应的排序结果。本发明编码算法可以将一个数据集编码成一个多项式,实现对不同数据集的排序。根据编码方法提出了保护隐私的多方多数据排序方案。每个参与者都可以以隐私保护的方式得到其数据的排序后果,各参与方的数据及相应的排序结果不受其他各方的保护,实现了有效的通信以及计算。

主权项:1.一种基于不经意传输协议的安全多方数据排序方法,其特征在于,包括以下步骤:S1:初始化:各参与方在离线阶段生成公共系统参数SP;S2:排序请求生成:各参与方执行隐私保护多方排序请求的排序请求生成;S1.1:云服务器S选择一个安全参数λ,并根据λ生成双线性映射e:G×G→GT,G中的两个生成元g和h;之后,云服务器S随机选择作为系统密钥并计算同时,选择一个hash函数H:GT→{0,1}l,生成SHE同态加密算法的私钥SKs={P,L};选择Rm;S1.2:参与方U1,U2,…,Um分别随机选择γ[i]构造之后,所有参与方合作生成Γ的秘密共享,参与方Ui获得Γ的秘密份额ri,满足m表示参与方个数,Ui表示第i个参与方;S1.3:云服务器S发布公共系统参数SP={e,g,h,g1,g2,…,gn,h1,h2,…,hn,H,R}S2.1:Ui以自己的私有数据集Di={di1,di2,…,dik}作为选择集;基于Di,公共系统参数SP,Ui选择随机数计算: S2.2:以选择集Di、基数R、正整数n为输入,参与者Ui调用基本编码算法生成n阶多项式pi;然后,以n阶多项式pi为输入,Ui调用多项式加密算法生成加密多项式Epi={R,n,BVi};S2.3:根据n阶多项式pi的系数向量Vi和加密多项式Epi的系数向量EVi,Ui调用解密多项式生成算法得到一个解密多项式Dpi;之后,通过SHE同态加密算法,Ui加密Dpi得到密文EDpi,为了保护隐私,Ui利用SHE同态特性加上混淆ri,得到EDp*i=EDpi+ri;S2.4:Ui将生成的排序请求发送至云服务器S;S3:加密多项式聚合:云服务器S收到来自各参与方的排序请求,执行加密多项式的聚合;当收到来自m个参与者的排序请求T={T1,T2,…,Tm},云服务器S执行以下步骤进行加密多项式的聚合:S3.1:基于T,系统参数SP,云服务器S执行不经意传输协议的验证算法检查是否成立,若成立,则验证通过;否则,验证失败,协议终止;S3.2:云服务器S聚合加密多项式Epi和SHE密文EDp*i,即和之后,以Ep作为输入,云服务器S调用排序多项式生成算法生成相应的排序多项式ESp;S3.3:云服务器S使用SHE的私钥SKs={P,L}解密EDp*,即EDp+Γ,得到解密多项式Dp*=Dp+Γ;之后,云服务器S解构Dp*为{R,n,DV*}:Dp*=DV*[1]·R1+DV*[2]·R2+…+DV*[n]·RnS3.4:云服务器S选择随机数并按如下算法计算密文C0i:S3.5:云服务器S分别发送Ci={Ci0,Cij,ESp}给Ui;S4:排序结果恢复:参与方收到来自云服务器S的密文,恢复参与方的私有数据集相对应的排序结果;所述解密多项式生成算法为:以加密多项式Ep为输入,排序多项式生成算法将会输出加密的排序多项式ESp;为了对加密的排序多项式ESp进行解密,解密多项式生成算法根据多项式p的系数向量V和加密多项式的系数向量EV生成解密多项式Dp,具体过程如下:输入:多项式p的系数向量V和加密多项式的系数向量EV;输出:解密多项式Dp;根据V和EV,一个n×n的矩阵M可按照以下算法生成: 根据以下算法生成排序多项式的Dp的系数向量DV: 根据DV,解密多项式同时,Dp还可以表示为{R,n,DV}所述排序多项式生成算法为:当把数据集D编码到多项式排序多项式生成算法根据多项式p进一步生成相对应的排序多项式Sp,在排序多项式中,第i阶的项Ri的系数即为数据i的排序结果,同时,以多项式p的密文Ep为输入,排序多项式算法可以根据Ep进一步生成加密的排序多项式ESp,排序多项式生成算法具体过程如下:输入:一个多项式p=V[1]·R1+V[2]·R2+V[3]R3+…+V[n]·Rn或加密多项式Ep;输出:排序多项式Sp或加密的排序多项式ESp;基于{R,n,V},可以根据以下算法生成排序多项式Sp的系数向量sr: 按照如下算法生成多项式p对应的排序多项式Sp: 根据{R,n,V}和加密多项式Ep,可按照以下算法生成相应的加密排序多项式ESp: 其中:sr*[1]=1基本编码算法为:以一个大小为k的数据集D为输入,输出是一个多项式p,目的是将数据集D中的k个数据映射到多项式p中,其中,n为数据集D中数据的取值范围上限;具体算法细节如下:输入:一个数据集D,基数R以及数据域[1,n];输出:一个多项式p;根据数据集D,按照如下方式生成一个长度为n的比特向量V: 其中,i∈[1,n]以R为多项式的基数、V[i]作为多项式第i阶的项的系数,即多项式中第i阶的项为V[i]·Ri最后得到多项式p为其中,V是多项式p的系数向量;一个单变量的n阶多项式的计算转化为n个线性表达式的和;具体过程如下:多项式fx=anxn+an-1xn-1+…+a1x+a0可以转化为:fx=···anx+an-1x+···+a3x+a2x+a1x+a0因此,多项式fx在x0处的评估值fx0可以通过以下序列得到:r1=anx0+an-1r2=r1x0+an-2······rn=rn-1x0+a0rn即为fx0的值;所述多项式加密算法为:多项式表示为一个三元组R,n,V,R是多项式基数,n是多项式的阶数,V是系数向量,对于一个多项式,R和n是公开的参数,因此,通过对多项式p的系数向量进行加密来实现对多项式的加密;输入:多项式p输出:伪随机函数F的输出值Fkr和多项式p的密文Ep={R,n,EV};将多项式p表示为{R,n,V},即p=V[1]·R1+V[2]·R2+V[3]R3+…+V[n]·Rn选择为随机函数F,生成随机值k∈{0,1}n,以k,V和一个随机值r∈{0,1}n为F的输入,F输出伪随机比特向量BV=Fkr,然后,通过BV对多项式p的系数向量进行加密,得到加密系数向量EV,即根据上述得到的加系数向量EV生成多项式p的密文Ep=EV[1]·R1+EV[2]·R2+...+EV[n]·Rn。

全文数据:

权利要求:

百度查询: 电子科技大学 一种基于不经意传输协议的安全多方数据排序方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。