CN115189878B - 一种基于秘密分享的共享数据排序方法及电子设备 - Google Patents
一种基于秘密分享的共享数据排序方法及电子设备 Download PDFInfo
- Publication number
- CN115189878B CN115189878B CN202211094814.7A CN202211094814A CN115189878B CN 115189878 B CN115189878 B CN 115189878B CN 202211094814 A CN202211094814 A CN 202211094814A CN 115189878 B CN115189878 B CN 115189878B
- Authority
- CN
- China
- Prior art keywords
- party
- shared
- data
- vector
- fragment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000012634 fragment Substances 0.000 claims abstract description 137
- 239000013598 vector Substances 0.000 claims abstract description 111
- 230000009466 transformation Effects 0.000 claims abstract description 51
- 238000012163 sequencing technique Methods 0.000 claims abstract description 15
- 230000005587 bubbling Effects 0.000 claims abstract description 4
- 238000013467 fragmentation Methods 0.000 claims description 6
- 238000006062 fragmentation reaction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 10
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000001174 ascending effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于秘密分享的共享数据排序方法及电子设备。该方法包括以下步骤:原始数据向量X以和共享分片存储于第一方和第二方,第一方持有共享分片向量X1,第二方持有共享分片向量X2;第一方、第二方联合从前至后依次判断共享分片向量X1中的两个相邻共享分片数据是否逆序、共享分片向量X2中对应的两个相邻共享分片数据是否逆序,如果共享分片向量中的两个相邻共享分片数据逆序,就交换这两个相邻共享分片数据的位置,第一方、第二方联合从前至后完成第一轮排序后,按照冒泡排序原理进行第二轮排序,如此循环,直到整个冒泡排序完成。本发明通过加密的线性变换进行加密比较,实现密文数据排序,计算和通信开销都较低。
Description
技术领域
本发明涉及数据排序技术领域,尤其涉及一种基于秘密分享的共享数据排序方法及电子设备。
背景技术
随着个人信息保护法的实施,传统的机器学习面临监管挑战,保护隐私的联邦学习开始兴起,秘密分享是联邦学习中常用到的方法。秘密分享技术是一种在一组参与者之间分配秘密的方法,通过这种技术,可以把秘密拆分成份额分散在多个参与者之间,使得持有份额的参与者在一定条件下可以联合恢复出原本的秘密。
共享数据排序常用于金融风控场景。在金融机构联合风控建模中,金融机构为了保护用户隐私,会采用全流程加密联邦学习建模,用于建模的特征数据(如:用户的个人信息数据、消费数据、贷款数据等)要基于秘密分享进行密态处理和存储,参与联邦建模的第一方、第二方分别持有特征数据的第一数据分片、第二数据分片,在建模过程中很多地方(如预处理阶段、模型训练阶段)都需要对共享数据(即第一数据分片、第二数据分片)做排序处理,比如:对年龄或者收入做排序,需要用到快速的密文比较排序算法。
现有的基于秘密分享的共享数据排序方法需要用到密文的布尔比较协议,其通信轮次和通信量都非常高,难以实现大规模商业应用。
发明内容
本发明为了解决上述技术问题,提供了一种基于秘密分享的共享数据排序方法及电子设备,其通过加密的线性变换进行加密比较,实现密文数据排序,计算和通信开销都较低,便于实现大规模商用。
为了解决上述问题,本发明采用以下技术方案予以实现:
本发明的一种基于秘密分享的共享数据排序方法,用于金融机构联合风控建模,原始数据向量X以和共享分片存储于第一方和第二方,第一方持有共享分片向量X1,第二方持有共享分片向量X2,包括以下步骤:
第一方、第二方联合对各自持有的共享分片向量进行冒泡排序;
所述冒泡排序中第一方、第二方联合判断共享分片向量X1中的某两个相邻共享分片数据是否逆序以及共享分片向量X2中对应的两个相邻共享分片数据是否逆序的方法如下:
S1:第一方随机生成随机数a1、随机数b1,第二方随机生成随机数a2、随机数b2;
S2:第一方、第二方依据秘密分享的乘法和加法协议,采用a1+a2的和作为线性变换的斜率、b1+b2的和作为线性变换的截距,联合计算出共享分片向量X1中的两个相邻共享分片数据对应的原始数据的线性变换结果、共享分片向量X2中的两个相邻共享分片数据对应的原始数据的线性变换结果;
S3:第一方根据共享分片向量X1中的两个相邻共享分片数据对应的原始数据的线性变换结果判断这两个相邻共享分片数据是否逆序;
第二方根据共享分片向量X2中的两个相邻共享分片数据对应的原始数据的线性变换结果判断这两个相邻共享分片数据是否逆序。
在本方案中,第一方、第二方联合从前至后依次判断共享分片向量X1中的两个相邻共享分片数据是否逆序、共享分片向量X2中对应的两个相邻共享分片数据是否逆序,如果共享分片向量中的两个相邻共享分片数据逆序,就交换这两个相邻共享分片数据的位置,第一方、第二方联合从前至后完成第一轮排序后,按照冒泡排序原理进行第二轮排序,如此循环,直到整个冒泡排序完成。
原始的共享分片向量X1、共享分片向量X2完成冒泡排序后得到新的共享分片向量X1、共享分片向量X2,新的共享分片向量X1、共享分片向量X2的和就是原始数据向量X按照冒泡排序后的结果。
判断共享分片向量X1中的某两个相邻共享分片数据是否逆序以及共享分片向量X2中对应的两个相邻共享分片数据是否逆序时,第一方、第二方依据秘密分享的乘法和加法协议,通过线性变换把每个共享分片数据对应的原始数据转换为对应的线性变换结果(即把原始数据映射到另外的一个线性空间),根据线性变换结果判断相邻共享分片数据是否逆序。整个过程中第一方、第二方都无法获知对方持有的共享分片向量的内容,也无法获知对方生成的随机数,无法推导出对方持有的共享分片向量的内容以及原始数据向量X的内容,保护了数据隐私。另外,线性变换的计算量小,通信开销低,可以满足低通信量、低带宽的场景,便于实现大规模商用。
作为优选,所述线性变换的公式为y=ax+b,
其中,a=a1+a2,b=b1+b2,x表示原始数据向量X中的原始数据,x=x1+x2,x1表示原始数据x在共享分片向量X1中对应的共享分片数据,x2表示原始数据x在共享分片向量X2中对应的共享分片数据,y表示原始数据x的线性变换结果。
作为优选,所述步骤S2中第一方、第二方联合计算出共享分片向量X1中的某个共享分片数据x1、共享分片向量X2中的某个共享分片数据x2对应的原始数据x的线性变换结果的方法如下,x=x1+x2:
N1:第一方、第二方采用秘密分享的乘法协议计算a2*x1,第一方得到分片数据C1,第二方得到分片数据C2,C1+C2= a2*x1;
第一方、第二方采用秘密分享的乘法协议计算a1*x2,第一方得到分片数据D1,第二方得到分片数据D2,D1+D2= a1*x2;
N2:第一方将a1*x1、分片数据C1、分片数据D1、随机数b1相加,得到中间结果G1,并发送给第二方;
第二方将a2*x2、分片数据C2、分片数据D2、随机数b2相加,得到中间结果G2,并发送给第一方;
N3:第一方、第二方分别将中间结果G1、中间结果G2相加得到最终结果G,最终结果G就是原始数据x的线性变换结果。
在步骤N1中,第一方、第二方采用秘密分享的乘法协议计算a2*x1(i),第一方得到分片数据C1,第二方得到分片数据C2,第一方、第二方采用秘密分享的乘法协议计算a1*x2(i),第一方得到分片数据D1,第二方得到分片数据D2,由于秘密分享的乘法协议原理使得这个过程中第一方无法获知a2的值、x2(i)的值,第二方无法获知a1的值、x1(i)的值。而在步骤N2中,第一方将a1*x1、分片数据C1、分片数据D1、随机数b1相加的值G1发送给第二方,这样第二方无法获知a1、b1、x1(i)的值;第二方将a2*x2、分片数据C2、分片数据D2、随机数b2相加的值G2发送给第一方,这样第一方无法获知a2、b2、x2(i)的值。最终,第一方、第二方只要将G1、G2相加就能获得原始数据x的线性变换结果的明文值,但是在整个计算线性变换结果的过程中,第一方不能获得也无法推导出a2、b2、x2(i)的值,第二方不能获得也无法推导出a1、b1、x1(i)的值,保护了数据隐私。由于本方法的加密的线性变换的计算量小,计算速度相较于秘密分享的布尔比较协议提升了8倍,通信开销低,可以满足低通信量、低带宽的场景,便于实现大规模商用。
作为优选,所述第一方、第二方每次判断共享分片向量X1中的某两个相邻共享分片数据是否逆序以及共享分片向量X2中对应的两个相邻共享分片数据是否逆序时都分别重新随机生成随机数a1、随机数b1、随机数a2、随机数b2。
每次判断是否逆序第一方、第二方都重新生成随机数,可以有效提高本方法的安全性,保证第一方、第二方都无法反推出对方持有的共享分片向量的内容以及原始数据向量X的内容。随机数a1、b1、a2、b2为大于20位的常数。
作为优选,整个冒泡排序过程中,第一方生成的所有随机数a1不重复、生成的所有随机数b1不重复,第二方生成的所有随机数a2不重复、生成的所有随机数b2不重复。
作为优选,所述随机数a1、随机数b1由第一方持有的随机数生成器生成,所述随机数a2、随机数b2由第二方持有的随机数生成器生成。
一种电子设备,包括存储器和处理器,所述存储器上存储有可执行代码,当所述可执行代码被处理器执行时,执行上述的一种基于秘密分享的共享数据排序方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种基于秘密分享的共享数据排序方法。
本发明的有益效果是:通过加密的线性变换进行加密比较,实现密文数据排序,计算和通信开销都较低,便于实现大规模商用。
附图说明
图1是实施例的判断共享分片向量中相邻共享分片数据是否逆序的流程图;
图2是举例的共享分片向量、随机数的数据表。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:本实施例的一种基于秘密分享的共享数据排序方法,用于金融机构联合风控建模,原始数据向量X以和共享分片存储于第一方和第二方,X={x(1), x(2),……x(n)},第一方持有共享分片向量X1,X1={x1(1), x1(2),……x1(n)},第二方持有共享分片向量X2,X2={x2(1), x2(2),……x2(n)},x(i)=x1(i)+x2(i),1≤i≤n,n为原始数据向量X中的数据个数,x(i)为原始数据向量X中的第i个数据,x1(i)为共享分片向量X1中的第i个共享分片数据,x2(i)为共享分片向量X2中的第i个共享分片数据,包括以下步骤:
第一方、第二方联合对各自持有的共享分片向量进行冒泡排序;
如图1所示,冒泡排序中第一方、第二方联合判断共享分片向量X1中的某两个相邻共享分片数据是否逆序以及共享分片向量X2中对应的两个相邻共享分片数据是否逆序的方法如下:
S1:第一方随机生成随机数a1、随机数b1,第二方随机生成随机数a2、随机数b2;
S2:第一方、第二方依据秘密分享的乘法和加法协议,采用a1+a2的和作为线性变换的斜率、b1+b2的和作为线性变换的截距,联合计算出共享分片向量X1中的两个相邻共享分片数据对应的原始数据的线性变换结果、共享分片向量X2中的两个相邻共享分片数据对应的原始数据的线性变换结果;
S3:第一方根据共享分片向量X1中的两个相邻共享分片数据对应的原始数据的线性变换结果判断这两个相邻共享分片数据是否逆序;
第二方根据共享分片向量X2中的两个相邻共享分片数据对应的原始数据的线性变换结果判断这两个相邻共享分片数据是否逆序。
步骤S2中第一方、第二方联合计算出共享分片向量X1中的第i个共享分片数据x1(i)、共享分片向量X2中的第i个共享分片数据x2(i)对应的原始数据x(i)的线性变换结果G(i)的方法如下,x(i)=x1(i)+x2(i):
N1:第一方、第二方采用秘密分享的乘法协议计算a2*x1(i),第一方得到分片数据C1,第二方得到分片数据C2,C1+C2= a2*x1(i);
第一方、第二方采用秘密分享的乘法协议计算a1*x2(i),第一方得到分片数据D1,第二方得到分片数据D2,D1+D2= a1*x2(i);
N2:第一方将a1*x1(i)、分片数据C1、分片数据D1、随机数b1相加,得到中间结果G1(i),并发送给第二方;
第二方将a2*x2(i)、分片数据C2、分片数据D2、随机数b2相加,得到中间结果G2(i),并发送给第一方;
N3:第一方、第二方分别将中间结果G1(i)、中间结果G2(i)相加得到最终结果G(i)。
在本方案中,初始时,原始数据向量X通过某些隐私计算组件拆分为加性秘密分享的两个共享分片向量X1、X2,第一方持有共享分片向量X1,第二方持有共享分片向量X2。第一方、第二方先判断共享分片向量X1中的前两个相邻共享分片数据x1(1)、x1(2)是否逆序,共享分片向量X2中对应的两个相邻共享分片数据x2(1)、x2(2)是否逆序,如果x1(1)与x1(2)逆序、x2(1)与x2(2)逆序,则交换x1(1)与x1(2)位置、x2(1)与x2(2)位置,如果不逆序就不交换位置,接着第一方、第二方判断新的x1(2)与x1(3)是否逆序、新的x2(2)与x2(3)是否逆序,如果逆序就交换两者的位置,第一方、第二方联合从前至后完成第一轮排序后,按照冒泡排序原理进行第二轮排序,如此循环,直到整个冒泡排序完成。随机数a1、b1、a2、b2为46位的常数。
判断共享分片向量X1中的某两个相邻共享分片数据是否逆序以及共享分片向量X2中对应的两个相邻共享分片数据是否逆序时,第一方、第二方依据秘密分享的乘法和加法协议,通过线性变换把每个共享分片数据对应的原始数据转换为对应的线性变换结果(即把原始数据映射到另外的一个线性空间),根据线性变换结果判断相邻共享分片数据是否逆序,即如果冒泡排序是要最终实现升序排序,则前一个共享分片数据对应的原始数据比后一个共享分片数据对应的原始数据大为逆序,如果冒泡排序是要最终实现降序排序,则前一个共享分片数据对应的原始数据比后一个共享分片数据对应的原始数据小为逆序。
上述方法中第一方、第二方联合计算出共享分片向量X1中的第i个共享分片数据x1(i)、共享分片向量X2中的第i个共享分片数据x2(i)对应的原始数据x(i)的线性变换结果G(i),
G(i)=G1(i)+G2(i)
=[a1*x1(i)+C1+D1+b1]+[a2*x2(i)+C2+D2+b2]
=a1*x1(i)+(C1+C2)+ (D1+D2)+a2*x2(i)+(b1+b2)
=a1*x1(i)+a2*x1(i)+a1*x2(i)+a2*x2(i)+(b1+b2)
=(a1+a2)*(x1(i)+x2(i))+(b1+b2),
将a1+a2记为a,b1+b2记为b,则G(i)=a*x(i)+b,可以看出G(i)是原始数据x(i)的线性变换结果。
即线性变换的公式为y=ax+b,
其中,a=a1+a2,b=b1+b2,x表示原始数据向量X中的原始数据,x=x1+x2,x1表示原始数据x在共享分片向量X1中对应的共享分片数据,x2表示原始数据x在共享分片向量X2中对应的共享分片数据,y表示原始数据x的线性变换结果。
在步骤N1中,第一方、第二方采用秘密分享的乘法协议计算a2*x1(i),第一方得到分片数据C1,第二方得到分片数据C2,第一方、第二方采用秘密分享的乘法协议计算a1*x2(i),第一方得到分片数据D1,第二方得到分片数据D2,由于秘密分享的乘法协议原理使得这个过程中第一方无法获知a2的值、x2(i)的值,第二方无法获知a1的值、x1(i)的值。而在步骤N2中,第一方将a1*x1、分片数据C1、分片数据D1、随机数b1相加的值G1发送给第二方,这样第二方无法获知a1、b1、x1(i)的值;第二方将a2*x2、分片数据C2、分片数据D2、随机数b2相加的值G2发送给第一方,这样第一方无法获知a2、b2、x2(i)的值。最终,第一方、第二方只要将G1、G2相加就能获得原始数据x的线性变换结果的明文值,最终用于比较大小的是共享分片数据对应的原始数据的线性变换结果,但是在整个计算线性变换结果的过程中,第一方不能获得也无法推导出a2、b2、x2(i)的值,第二方不能获得也无法推导出a1、b1、x1(i)的值,即整个过程中第一方、第二方都无法获知对方持有的共享分片向量的内容,也无法获知对方生成的随机数,无法推导出对方持有的共享分片向量的内容以及原始数据向量X的内容,保护了数据隐私。另外,本方法的加密的线性变换的计算量小,计算速度相较于秘密分享的布尔比较协议提升了8倍,通信开销低,可以满足低通信量、低带宽的场景,便于实现大规模商用。
原始的共享分片向量X1、共享分片向量X2完成冒泡排序后得到新的共享分片向量X1、共享分片向量X2,新的共享分片向量X1、共享分片向量X2的和就是原始数据向量X按照冒泡排序后的结果。
第一方、第二方每次判断共享分片向量X1中的某两个相邻共享分片数据是否逆序以及共享分片向量X2中对应的两个相邻共享分片数据是否逆序时都分别重新随机生成随机数a1、随机数b1、随机数a2、随机数b2。提高本方法的安全性,保证第一方、第二方都无法反推出对方持有的共享分片向量的内容以及原始数据向量X的内容。
整个冒泡排序过程中,第一方生成的所有随机数a1不重复、生成的所有随机数b1不重复,第二方生成的所有随机数a2不重复、生成的所有随机数b2不重复。随机数a1、随机数b1由第一方持有的随机数生成器生成,所述随机数a2、随机数b2由第二方持有的随机数生成器生成。
原始数据可以是个人信息数据、消费数据、贷款数据等,例如:用户的年龄、收入、每月话费、每月消费金额、每月还贷金额、欠款总额等数值数据。比如,第一方、第二方为不同的金融机构(可以是银行、证券公司、保险公司等),第一方、第二方进行联合风控建模,第一方、第二方分别持有用户收入的共享数据分片,两方要将各自持有的共享数据分片进行冒泡排序,完成冒泡排序后的共享数据可用于分析用户收入分布或分箱,从而用于后续模型训练。
举例说明:
原始数据向量X中记载着三个样本的年龄数据,即张三的年龄21、李四的年龄22、王五的年龄5,原始数据向量X以和共享分片存储于第一方和第二方,如图2所示,
X={x(1), x(2),x(3)}={21, 22,5},
第一方持有共享分片向量X1,
X1={x1(1), x1(2), x1(3)}={10, 16,1},
第二方持有共享分片向量X2,
X2={x2(1), x2(2), x2(3)}={11, 6,4}。
现需要将共享分片向量X1、共享分片向量X2按升序排序。
第一方、第二方先联合判断X1中的前两个共享分片数据x1(1)=10与x1(2)=16是否逆序、X2中的前两个共享分片数据x2(1)=11与x2(2)=6是否逆序。
先计算x1(1)、x2(1)对应的原始数据x(1)=21的线性变换结果,方法如下:
第一方生成随机数a1=81、b1=7,第二方生成随机数a2=13、b1=34;
第一方、第二方采用秘密分享的乘法协议计算a2*x1(1),第一方得到分片数据C1,第二方得到分片数据C2,C1+C2= a2* x1(1)=13*10=130;
第一方、第二方采用秘密分享的乘法协议计算a1*x2(1),第一方得到分片数据D1,第二方得到分片数据D2,D1+D2= a1*x2(1)=81*11=891;
第一方将a1*x1(1)、分片数据C1、分片数据D1、随机数b1相加,得到中间结果G1(1),并发送给第二方;
第二方将a2*x2(1)、分片数据C2、分片数据D2、随机数b2相加,得到中间结果G2(1),并发送给第一方;
第一方、第二方分别将中间结果G1(1)、中间结果G2(1)相加得到最终结果G(1),G(1)=a1*x1(1)+(C1+C2)+ (D1+D2)+a2*x2(1)+(b1+b2)=81*10+130+891+13*11+41=2015;
原始数据x(1)=21按照线性变换的公式y=ax+b进行线性变换的结果为y=(a1+a2)*x(1)+(b1+b2)=(81+13)*21+(7+34)=2015,与上述计算结果一致;
同理,计算出x1(2)、x2(2)对应的原始数据x(2)=22的线性变换结果为2019,2015小于2019,不是逆序,所以不用换位置。
接着,判断X1中的16与1是否逆序、X2中的6与4是否逆序,
第一方重新生成随机数a1=11、b1=45,第二方生成随机数a2=51、b1=17,同理计算出16、6对应的原始数据22的线性变换结果为1426,1、4对应的原始数据5的线性变换结果为372,1426大于372是逆序,交换位置,完成第一轮排序,新的X1={10, 1,16 },X2={11, 4,6}。
再进行第二轮排序,只需判断X1中的10与1是否逆序、X2中的11与4是否逆序,第一方重新生成随机数a1=9、b1=26,第二方生成随机数a2=95、b1=12,同理计算出10、11对应的原始数据21的线性变换结果为2222,1、4对应的原始数据5的线性变换结果为558,2222大于558是逆序,交换位置,完成第二轮排序,新的X1={1,10,16 },X2={4,11,6},整个冒泡排序完成。
新的X1={1,10,16 },X2={4,11,6}的和为{5,21,22},所以排序完后的共享分片向量X1、共享分片向量X2的和就是原始数据向量X按照冒泡排序后的结果。
本实施例的一种电子设备,包括存储器和处理器,存储器上存储有可执行代码,当所述可执行代码被处理器执行时,执行上述的一种基于秘密分享的共享数据排序方法。
本实施例的一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的一种基于秘密分享的共享数据排序方法。计算机可读存储介质例如可以是电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。
Claims (8)
1.一种基于秘密分享的共享数据排序方法,用于金融机构联合风控建模,原始数据向量X以和共享分片形式存储于第一方和第二方,第一方持有共享分片向量X1,第二方持有共享分片向量X2,其特征在于,包括以下步骤:
第一方、第二方联合对各自持有的共享分片向量进行冒泡排序;
所述冒泡排序中第一方、第二方联合判断共享分片向量X1中的某两个相邻共享分片数据是否逆序以及共享分片向量X2中对应的两个相邻共享分片数据是否逆序的方法如下:
S1:第一方随机生成随机数a1、随机数b1,第二方随机生成随机数a2、随机数b2;
S2:第一方、第二方依据秘密分享的乘法和加法协议,采用a1+a2的和作为线性变换的斜率、b1+b2的和作为线性变换的截距,联合计算出共享分片向量X1中的两个相邻共享分片数据对应的原始数据的线性变换结果、共享分片向量X2中的两个相邻共享分片数据对应的原始数据的线性变换结果;
S3:第一方根据共享分片向量X1中的两个相邻共享分片数据对应的原始数据的线性变换结果判断这两个相邻共享分片数据是否逆序;
第二方根据共享分片向量X2中的两个相邻共享分片数据对应的原始数据的线性变换结果判断这两个相邻共享分片数据是否逆序。
2.根据权利要求1所述的一种基于秘密分享的共享数据排序方法,其特征在于,所述线性变换的公式为y=ax+b,
其中,a=a1+a2,b=b1+b2,x表示原始数据向量X中的原始数据,x=x1+x2,x1表示原始数据x在共享分片向量X1中对应的共享分片数据,x2表示原始数据x在共享分片向量X2中对应的共享分片数据,y表示原始数据x的线性变换结果。
3.根据权利要求1或2所述的一种基于秘密分享的共享数据排序方法,其特征在于,所述步骤S2中第一方、第二方联合计算出共享分片向量X1中的某个共享分片数据x1、共享分片向量X2中的某个共享分片数据x2对应的原始数据x的线性变换结果的方法如下,x=x1+x2:
N1:第一方、第二方采用秘密分享的乘法协议计算a2*x1,第一方得到分片数据C1,第二方得到分片数据C2,C1+C2= a2*x1;
第一方、第二方采用秘密分享的乘法协议计算a1*x2,第一方得到分片数据D1,第二方得到分片数据D2,D1+D2= a1*x2;
N2:第一方将a1*x1、分片数据C1、分片数据D1、随机数b1相加,得到中间结果G1,并发送给第二方;
第二方将a2*x2、分片数据C2、分片数据D2、随机数b2相加,得到中间结果G2,并发送给第一方;
N3:第一方、第二方分别将中间结果G1、中间结果G2相加得到最终结果G,最终结果G就是原始数据x的线性变换结果。
4.根据权利要求1或2所述的一种基于秘密分享的共享数据排序方法,其特征在于,所述第一方、第二方每次判断共享分片向量X1中的某两个相邻共享分片数据是否逆序以及共享分片向量X2中对应的两个相邻共享分片数据是否逆序时都分别重新随机生成随机数a1、随机数b1、随机数a2、随机数b2。
5.根据权利要求1或2所述的一种基于秘密分享的共享数据排序方法,其特征在于,整个冒泡排序过程中,第一方生成的所有随机数a1不重复、生成的所有随机数b1不重复,第二方生成的所有随机数a2不重复、生成的所有随机数b2不重复。
6.根据权利要求1或2所述的一种基于秘密分享的共享数据排序方法,其特征在于,所述随机数a1、随机数b1由第一方持有的随机数生成器生成,所述随机数a2、随机数b2由第二方持有的随机数生成器生成。
7.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可执行代码,当所述可执行代码被处理器执行时,执行如权利要求1-6中任一权利要求所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211094814.7A CN115189878B (zh) | 2022-09-08 | 2022-09-08 | 一种基于秘密分享的共享数据排序方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211094814.7A CN115189878B (zh) | 2022-09-08 | 2022-09-08 | 一种基于秘密分享的共享数据排序方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115189878A CN115189878A (zh) | 2022-10-14 |
CN115189878B true CN115189878B (zh) | 2022-12-23 |
Family
ID=83523055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211094814.7A Active CN115189878B (zh) | 2022-09-08 | 2022-09-08 | 一种基于秘密分享的共享数据排序方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115189878B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115719094B (zh) * | 2023-01-06 | 2023-04-28 | 腾讯科技(深圳)有限公司 | 基于联邦学习的模型训练方法、装置、设备及存储介质 |
CN115801253B (zh) * | 2023-02-03 | 2023-04-18 | 蓝象智联(杭州)科技有限公司 | 一种用于安全多方计算的多方秘密分享方法及电子设备 |
CN116579021B (zh) * | 2023-07-12 | 2024-04-05 | 蓝象智联(杭州)科技有限公司 | 一种基于秘密分享的多方联合数据检索方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132194A (ja) * | 1998-10-22 | 2000-05-12 | Sony Corp | 信号符号化装置及び方法、並びに信号復号装置及び方法 |
BR0107496A (pt) * | 2001-04-19 | 2003-01-14 | Conselho Nacional Cnpq | Processo de transformação e co-transformação genética de leveduras |
CN1835586A (zh) * | 2005-12-29 | 2006-09-20 | 北京浦奥得数码技术有限公司 | 流密码生成器、随机数生成方法、加密系统及加密方法 |
CN105259572A (zh) * | 2015-07-23 | 2016-01-20 | 成都理工大学 | 基于地震多属性参数非线性自动分类的地震相计算方法 |
CN107273338A (zh) * | 2017-05-26 | 2017-10-20 | 宁波大学 | 一种基于差分进化算法的非线性独立成分分析方法 |
CN108647529A (zh) * | 2018-05-09 | 2018-10-12 | 上海海事大学 | 一种基于语义的多关键词排序搜索隐私保护系统及方法 |
CN113435101A (zh) * | 2021-04-01 | 2021-09-24 | 国网内蒙古东部电力有限公司 | 一种基于粒子群优化的支持向量机停电预测方法 |
CN113987255A (zh) * | 2021-12-30 | 2022-01-28 | 南湖实验室 | 基于联邦学习与秘密分享的多源密文图像检索方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2056528A1 (en) * | 1990-12-21 | 1992-06-22 | Kwok C. Tam | Parallel processing method and apparatus for reconstructing a three-dimensional computerized tomography (ct) image of an object from cone beam projection data or from planar integrals |
RU2103829C1 (ru) * | 1997-04-02 | 1998-01-27 | Государственное унитарное предприятие "Специализированный центр программных систем "Спектр" | Способ шифрования информации, представленной двоичным кодом |
US8925075B2 (en) * | 2011-11-07 | 2014-12-30 | Parallels IP Holdings GmbH | Method for protecting data used in cloud computing with homomorphic encryption |
CN108231201B (zh) * | 2018-01-25 | 2020-12-18 | 华中科技大学 | 一种疾病数据分析处理模型的构建方法、系统及应用方法 |
CN108650072B (zh) * | 2018-03-28 | 2021-04-20 | 杭州朔天科技有限公司 | 一种支持多种对称密码算法的芯片的抗攻击电路实现方法 |
CN112215165B (zh) * | 2020-10-13 | 2022-10-18 | 中山大学 | 一种同态加密下基于小波降维的人脸识别方法 |
-
2022
- 2022-09-08 CN CN202211094814.7A patent/CN115189878B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132194A (ja) * | 1998-10-22 | 2000-05-12 | Sony Corp | 信号符号化装置及び方法、並びに信号復号装置及び方法 |
BR0107496A (pt) * | 2001-04-19 | 2003-01-14 | Conselho Nacional Cnpq | Processo de transformação e co-transformação genética de leveduras |
CN1835586A (zh) * | 2005-12-29 | 2006-09-20 | 北京浦奥得数码技术有限公司 | 流密码生成器、随机数生成方法、加密系统及加密方法 |
CN105259572A (zh) * | 2015-07-23 | 2016-01-20 | 成都理工大学 | 基于地震多属性参数非线性自动分类的地震相计算方法 |
CN107273338A (zh) * | 2017-05-26 | 2017-10-20 | 宁波大学 | 一种基于差分进化算法的非线性独立成分分析方法 |
CN108647529A (zh) * | 2018-05-09 | 2018-10-12 | 上海海事大学 | 一种基于语义的多关键词排序搜索隐私保护系统及方法 |
CN113435101A (zh) * | 2021-04-01 | 2021-09-24 | 国网内蒙古东部电力有限公司 | 一种基于粒子群优化的支持向量机停电预测方法 |
CN113987255A (zh) * | 2021-12-30 | 2022-01-28 | 南湖实验室 | 基于联邦学习与秘密分享的多源密文图像检索方法 |
Non-Patent Citations (3)
Title |
---|
Use of probabilistic and deterministic measures to identify unfavorable earthquake records;Abbas MOUSTAFA等;《Journal of Zhejiang University(Science A:An International Applied Physics & Engineering Journal)》;20090515(第05期);全文 * |
武器装备情报研究定量分析方法及其应用;康崇禄;《情报学进展》;20031231(第00期);全文 * |
非线性存储方案设计问题――一个NP完全问题;佟冬等;《小型微型计算机系统》;20000508(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115189878A (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115189878B (zh) | 一种基于秘密分享的共享数据排序方法及电子设备 | |
CN114401079B (zh) | 多方联合信息价值计算方法、相关设备及存储介质 | |
Zhu et al. | A chaos-based symmetric image encryption scheme using a bit-level permutation | |
US7860245B2 (en) | Methods and systems for multi-party sorting of private values | |
CN108898025A (zh) | 基于双重置乱和dna编码的混沌图像加密方法 | |
CN108696666B (zh) | 基于拉丁方置乱的彩色图像加密方法 | |
CN116204912B (zh) | 基于全同态加密的数据处理方法和装置 | |
CN114611128B (zh) | 一种纵向联邦学习方法、装置、系统、设备及存储介质 | |
CN112288523B (zh) | 一种基于区块链的数值排名方法及装置 | |
CN113704800A (zh) | 基于混淆箱的数据分箱处理方法、装置、设备及存储介质 | |
CN115623139B (zh) | 一种基于三维魔方置乱与扩散的混沌图像加密方法 | |
CN107911572A (zh) | 基于分数傅里叶变换改进逻辑斯蒂混沌系统的图像加密方法 | |
CN112508722A (zh) | 一种基于零知识证明的保单信息验证方法和装置 | |
CN113886867B (zh) | 一种基于多源数据融合的贷款授信系统 | |
CN117131909A (zh) | 基于忆阻神经网络的同步控制及其在图像加密中的方法 | |
CN115842627A (zh) | 基于安全多方计算的决策树评估方法、装置、设备及介质 | |
CN112737772A (zh) | 私有集合交集数据的安全统计方法、终端设备及系统 | |
CN115801253B (zh) | 一种用于安全多方计算的多方秘密分享方法及电子设备 | |
CN113779624A (zh) | 一种基于智能合约的隐私数据分享方法 | |
CN117171779B (zh) | 基于交集保护的数据处理装置 | |
CN112861166B (zh) | 一种高效率安全多方计算方法 | |
Clark et al. | Secure and observable auditing of electronic voting systems using stock indices | |
CN115168910B (zh) | 一种基于秘密分享的共享数据等宽分箱方法 | |
CN116032639A (zh) | 基于隐私计算的消息推送方法及装置 | |
CN115564447A (zh) | 一种信用卡交易风险检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |