一种基于不经意传输协议的安全多方数据排序方法技术

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

【技术实现步骤摘要】
一种基于不经意传输协议的安全多方数据排序方法


[0001]本专利技术涉及计算机科学与
,尤其涉及一种基于不经意传输协议的安全多方数据排序方法。

技术介绍

[0002]随着大数据的快速发展,个人的数据量也不断激增。数以亿万计的数据为基于大数据的商业应用提供了重要的支撑,同时也引发了大量的数据安全问题。为了保护数据的安全和隐私,安全多方计算技术(SecureMultipartyComputation,SMC)得到了广泛的应用。安全多方计算是指分别拥有隐私数据x1,x2,

,x
n
的n个实体共同参与计算函数f(x1,x2,

,x
n
)的输出,计算完成之后,每个参与者除了得到f(x1,x2,

,x
n
)的输出之外,得不到其他任何关于隐私数据x1,x2,

,x
n
的信息。安全多方计算是一种交互式协议,用于计算参与方之间的某些功能。根据参与方的不同,安全多方计算可以分为两方计算和多方计算。比如,隐私集合求交、隐私信息的检索、秘密共享以及安全多方多数据排序。其中,安全多方多数据排序是安全多方计算中的最重要的功能需求之一。对于一个数据序列A,排序是指将A中的所有数据按照从小到大的顺序排成一个序列,进而确定A中所有数据x在整个序列中的位置。公开数据的排序算法目前已经发展得非常成熟了,然而,对私有数据得排序目前仍在发展当中,相关成果和研究较少。
[0003]1983年,Ajtai等人[16]提出了一种渐近运算时间排序网络,称为AKS排序网络,它支持多个数据的排序,比较复杂度为O(m
·
logm),其中,m是输入份额的数目。然而,由于该算法的常数因子很高,因此并不实用。Goodrich[17]提出的支持多数据排序的不经意排序,被调用的shell排序.类似于排序网络,数据

不经意排序也被有效地应用于SMC协议.虽然随机shell排序返回一个高概率的正确输出,但它需要O(m)轮交互和O(mlogm)比较,这将显著增加通信和计算开销.同时,广告信息可能会在多个交叉口被泄露。在2020年,Li等人[18]设计了一种安全的多方多数据排序方案。在它们的协议中,所有的参与者都应该构造一个n
×
m密文矩阵,其中,n是数据域,m是参与者的数目。协议O(n
·
m)的通信开销对参与者来说是相当繁重的。
[0004]除了理论研究外,相关研究人员还对SMC的性能进行了评估。Wang等人[1]对一些已有的排序算法的实验结果发表了报告,它们的实现基于FairplaySMC系统[2]。Batcher的归并排序[3]和随机希尔排序[4]在256个输入值下的运行时间分别约为3000和6200秒。Jonsson等人[5]研究了一种隐藏排序协议输入值数目的通用技术。它们的实现采用了一种称为矢量化的技术进行了优化,并在210秒内实现了向矢量化的Batcher归并排序中心16384个秘密共享值。除了效率低下的特点外,上述这些方案存在的另一个问题是安全性较差,即,只有数据拥有者的身份是混淆的,数据本身的隐私并没有得到保护。
[0005]综合以上分析,设计出高效的、隐私保护的多方多数据排序方案是十分有必要的。

技术实现思路

[0006]本专利技术的目的是要提供一种基于不经意传输协议的安全多方数据排序方法。并基于该算法和改进的k

out

of

n不经意传输协议设计了高效的隐私保护的多方多数据排序方案。
[0007]为达到上述目的,本专利技术是按照以下技术方案实施的:
[0008]本专利技术包括以下步骤:
[0009]S1:初始化:各参与方在离线阶段生成系统参数;
[0010]S2:排序请求生成:各参与方执行隐私保护的多方排序生成排序请求;
[0011]S3:加密多项式聚合:云服务器收到来自各参与方的排序请求,执行加密多项式的聚合;
[0012]S4:排序结果恢复:参与方收到来自云服务器的密文,恢复参与方的私有数据集相对应的排序结果。
[0013]本专利技术的有益效果是:
[0014]本专利技术是一种基于不经意传输协议的安全多方数据排序方法,与现有技术相比,本专利技术设计了一种基于多项式的编码方法。这种编码算法可以将一个数据集编码成一个多项式,具体来讲,多项式的每个项的指数部分表示数据本身,而该项的系数则表示数据出现的个数。因此,多个数据集可以通过相应的多项式加法实现对不同数据集的排序。
[0015]根据所设计的基于多项式的编码方法,提出了一种保护隐私的多方多数据排序方案。每个参与者都可以以隐私保护的方式得到其数据的排序后果,即,每个参与方的数据以及对应的排序结果无法被其他实体得到,同时,用户的恶意行为也可以被检测到。
[0016]各参与方的数据及相应的排序结果不受其他各方的保护。此外,可以检测到任何参与者的恶意行为。该方案实现了有效的通信。以及计算。在沟通方面,每个只发送一个三元组信息给云服务器,它的成本非常小

传输带宽。在计算中方面,每个方面参与者只执行轻量级计算,例如,多项式构造与异或运算。
附图说明
[0017]图1是本专利技术的系统模型图;
[0018]图2是本专利技术的多项式加密算法;
[0019]图3是本专利技术的解密多项式生成算法实例;
[0020]图4是本专利技术的实验数据图。
具体实施方式
[0021]下面结合附图以及具体实施例对本专利技术作进一步描述,在此专利技术的示意性实施例以及说明用来解释本专利技术,但并不作为对本专利技术的限定。
[0022]如图1

3所示:本专利技术基于多项式的编码算法包括四个子算法,分别为1)基本编码算法;2)多项式加密算法;3)排序多项式生成算法和4)解密多项式生成算法。
[0023]基本编码算法:
[0024]基本编码算法以一个大小为k的数据集D为输入,输出是一个n阶多项式p。此算法的目的是将数据集D中的k个数据映射到n阶多项式p中。其中,n为数据集D中数据的取值范
围上限。具体算法细节如下所示:
[0025]输入:一个数据集D,基数R以及数据域[1,n]。
[0026]输出:一个多项式p(实际上是多项式评估结果)。
[0027](1)根据数据集D,按照如下方式生成一个长度为n的比特向量V:
[0028][0029]其中,i∈[1,n]。
[0030](2)以R为多项式的基数、V[i]作为多项式第i阶的项的系数,即多项式中第i阶的项为V[i]·
R
i
。最后得到多项式p为其中,V是多项式p的系数向量。
[0031]需要注意的是,在生成多项式时,最直接的方法时先计算每个项,然后再对所有项求和。但是,这种直接的方法往往效率非常低。因此本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于不经意传输协议的安全多方数据排序方法,其特征在于,包括以下步骤:S1:初始化:各参与方在离线阶段生成系统参数;S2:排序请求生成:各参与方执行隐私保护的多方排序生成排序请求;S3:加密多项式聚合:云服务器收到来自各参与方的排序请求,执行加密多项式的聚合;S4:排序结果恢复:参与方收到来自云服务器的密文,恢复参与方的私有数据集相对应的排序结果。2.根据权利要求1所述的基于不经意传输协议的安全多方数据排序方法,其特征在于:所述步骤S1具体包括以下步骤:S1.1:云服务器S选择一个安全参数λ,并根据λ生成双线性映射e:G
×
G

G
T
,G中的两个生成元g和h;之后,S随机选择作为系统密钥并计算同时,选择一个hash函数H:G
T

{0,1}
l
,生成SHE同态加密算法的私钥SK
s
={p,L};选择R>m;S1.2:参与方U1,U2,

,U
m
分别随机选择γ[i]构造之后,所有参与方合作生成Γ的秘密共享,参与方U
i
获得Γ的秘密份额r
i
,满足m表示参与方个数,U
i
表示第i个参与方;S1.3:云服务器S发布公共系统参数SP={e,g,h,g1,g2,

,g
n
,h1,h2,

,h
n
,H,R}。3.根据权利要求2所述的基于不经意传输协议的安全多方数据排序方法,其特征在于:所述步骤S2具体包括以下步骤:S2.1:U
i
以自己的私有数据集D
i
={d
i1
,d
i2
,

,d
ik
}作为选择集;基于D
i
,系统参数SP,U
i
选择随机数计算:计算:S2.2:以D
i
正整数R,n为输入,参与者U
i
调用基本编码算法生成多项式pi;然后,以pi为输入,U
i
调用多项式加密算法生成加密多项式Ep
i
={R,n,BV
i
};S2.3:根据多项式p
i
的系数向量V
i
和加密多项式Ep
i
的系数向量EV
i
,U
i
调用解密多项式生成算法得到一个解密多项式Dp
i
;之后,通过SHE同态加密算法,U
i
加密Dp
i
得到密文E(Dp
i
),为了保护隐私,U
i
利用SHE同态特性加上混淆ri,得到E(Dp
*i
)=E(Dp
i
+r
i
)。S2.4:U
i
将生成的排序请求发送至云服务器S。4.根据权利要求3所述的基于不经意传输协议的安全多方数据排序方法,其特征在于:所述步骤S3具体包括以下步骤:当收到来自m个参与者的排序请求T={T1,T2,

,T
m
},其中,},其中,云服务器S执行以下步骤进行加密多项式的聚合:S3.1:基于T,系统参数SP,S执行不经意传输协议(OT)的验证算法检查
是否成立,若成立,则验证通过;否则,验证失败,协议终止;S3.2:S聚合加密多项式Epi和SHE密文E(Dp
*i
),即和之后,以Ep作为输入,云服务器S调用排序多项式生成算法生成相应的排序多项式ESp;S3.3:云服务器S使用SHE的私钥SK
s
={p,L}解密E(Dp
*
),即E(Dp+Γ),得到解密多项式Dp
*
=Dp+Γ;之后,S解构Dp
*
为{R,n,DV}:Dp
*
=DV
*
[1]
·
R1+DV
*
[2]
·
R2+

+DV
*
[n]
·
R
n
S3.4:云服务器S选择随机数并按如下算法计算密文C
0i
:S3.5:云服务器S分别发送C
i
={C
i0
,C
ij
,ES
p
}给U
i
。5.根据权利要求4所述的基于不经意传输协议的安全多方数据排序方法,其特征在于:所述步骤S4具体包括以下步骤:当收到来自云服务器S的C
i
={C
i0
,C
ij
,ES
p
},U
i
恢复数据即D
i
相对应的排序结果SR
i
;D
i
是参与方Ui的私有数据集,具体过程如下:S4.1:U
i
重构ESp=sr*[1]
·
R1+sr*[2]

【专利技术属性】
技术研发人员:李雄商帅王保锦易珂来汪小芬杨浩淼张小松
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1