CN114817997A - 一种基于秘密分享的共享数据随机排序方法 - Google Patents
一种基于秘密分享的共享数据随机排序方法 Download PDFInfo
- Publication number
- CN114817997A CN114817997A CN202210721855.8A CN202210721855A CN114817997A CN 114817997 A CN114817997 A CN 114817997A CN 202210721855 A CN202210721855 A CN 202210721855A CN 114817997 A CN114817997 A CN 114817997A
- Authority
- CN
- China
- Prior art keywords
- vector
- party
- row
- matrix
- missing
- 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.)
- Granted
Links
Images
Classifications
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于秘密分享的共享数据随机排序方法。它包括以下步骤:原始数据向量X以和共享分片存储于第一方和第二方,第一方持有共享分片向量X0,第二方持有共享分片向量X1;第一方将1至n这n个数值随机排列生成随机向量f0,第二方将1至n这n个数值随机排列生成随机向量f1;第一方、第二方依据共享分片向量X0、随机向量f1进行一次置换洗牌操作,第一方得到向量b0,第二方得到向量P1;第一方、第二方依据共享分片向量X1、向量P1、随机向量f0、向量b0进行一次置换洗牌操作,第二方得到向量d1,第一方得到向量P0,P0(i)=X(f1(f0(i)))‑d1(i))。本发明将共享数据去标识化,共享数据后续可直接参与机器学习,降低了数据主体风险,计算和通信开销都较低。
Description
技术领域
本发明涉及数据共享技术领域,尤其涉及一种基于秘密分享的共享数据随机排序方法。
背景技术
随着个人信息保护法的实施,传统的机器学习面临监管挑战,隐私保护机器学习开始兴起。隐私保护机器学习的核心问题包括如何使用户id与用户数据脱钩,即用户数据的去标识化。去标识化是指个人信息经过处理,使其在不借助额外信息的情况下无法识别特定自然人的过程。
秘密分享的共享数据常用于金融风控场景的联邦学习。目前,发起方、参与方为了进行联邦学习,会先进行求交操作,找出交集的用户id,然后将自身持有的交集的用户id对应的特征数据以加性秘密分享的方式共享给另一方,这样双方就会知道每个共享数据与哪个用户id对应,即没有将用户数据去标识化,数据主体存在泄密风险。
发明内容
本发明为了解决上述技术问题,提供了一种基于秘密分享的共享数据随机排序方法,其将共享数据去标识化,共享数据后续可直接参与机器学习,降低了数据主体风险,计算和通信开销都较低,便于实现大规模商用。
为了解决上述问题,本发明采用以下技术方案予以实现:
本发明的一种基于秘密分享的共享数据随机排序方法,原始数据向量X以和共享分片存储于第一方和第二方,第一方持有共享分片向量X0,第二方持有共享分片向量X1,原始数据向量X中的数据个数为n,其特征在于,包括以下步骤:
S1:第一方将1至n这n个数值随机排列生成随机向量f0,第二方将1至n这n个数值随机排列生成随机向量f1;
S2:第一方、第二方依据共享分片向量X0、随机向量f1进行一次置换洗牌操作,第一方得到向量b0,第二方得到向量P1,所述向量b0与向量P1的和为共享分片向量X0按照随机向量f1重新排序后的结果;
S3:第一方、第二方依据共享分片向量X1、向量P1、随机向量f0、向量b0进行一次置换洗牌操作,第二方得到向量d1,第一方得到向量P0,所述向量d1与向量P0的和为原始数据向量X按照向量f1(f0)重新排序后的结果,所述向量f1(f0)为随机向量f1按照随机向量f0重新排序后的结果。
在本方案中,初始时,原始数据向量X通过某些隐私计算组件拆分为加性秘密分享的两个共享分片向量X0、X1,第一方持有共享分片向量X0,第二方持有共享分片向量X1,X={X(1), X(2),……X(n)},X0={X0(1), X0(2),……X0(n)},X1={X1(1), X1(2),……X1(n)},X(i)=X0(i)+X1(i),1≤i≤n,此时,共享分片向量X0、X1中的数据分片与用户ID还是绑定的,例如:原始数据向量X中的数据X(1)对应的用户ID为1,当数据X(1)被拆分为共享分片向量X0中的X0(1)、共享分片向量X1中的X1(1)后,X0(1)对应的用户ID还是1,X1(1)对应的用户ID还是1,即共享数据与原用户ID依然是绑定的,没有脱钩,当第一方、第二方将共享分片向量X0与共享分片向量X1相加后就可以还原出原始数据向量X。
接着,第一方将1至n这n个数值随机排列生成随机向量f0,f0={f0(1), f0(2),……f0(n)},第二方将1至n这n个数值随机排列生成随机向量f1,f1={f1(1), f1(2),……f1(n)}。第一方、第二方依据共享分片向量X0、随机向量f1进行一次置换洗牌操作,第一方得到向量b0,b0={b0(1),b0(2),……b0(n)},第二方得到向量P1,P1={P1(1), P1(2),……P1(n)},P1(i)=X0(f1(i))-b0(i);第一方、第二方依据共享分片向量X1、向量P1、随机向量f0、向量b0进行一次置换洗牌操作,第二方得到向量d1,d1={d1(1),d1(2),……d1(n)},第一方得到向量P0,P0={P0(1), P0(2),……P0(n)},P0(i)=X(f1(f0(i)))-d1(i)。
共享分片向量X0、共享分片向量X1经过上述方法置换洗牌后,最终,第一方持有向量P0、第二方持有向量d1,第一方、第二方将向量P0、向量d1相加后得到向量X(f1(f0(i))),即得到了将原始数据向量X重新排序后的向量X(f1(f0(i))),由于,第一方不知道随机向量f1,第二方不知道随机向量f0,所以双方都无法还原出向量X(f1(f0(i)))与原始数据向量X之间的顺序对应关系,一般用于机器学习的数据是非常多的,存在大量的重复数据,所以通过本方法随机排序后,第一方、第二方只能共同持有原始数据向量X内的数据,但都无法还原出原始数据向量X的顺序,即无法推导出原始数据向量X内的数据与哪个用户ID对应,将数据与用户ID实现了脱钩,降低了数据主体风险。
本方法的计算复杂度是n2,由于本方法采用的是加减运算,复杂度系数更小,实际计算需求会少,而通信量仅为茫然可穿刺矩阵(opv)传输的部分为nlog2n,当n=10000时,数据规模也仅有14万,综合性能优,所以本方法计算和通信开销都较低,便于实现大规模商用。
第一方、第二方可直接使用重新随机排序后的向量P0、向量d1进行金融风控场景的联邦学习,还可配合解密出向量X(f1(f0(i)))内的一些数据,使用X(f1(f0(i)))内的一些数据进行求均值、和值等运算进行数据分析,由于X(f1(f0(i))) 与原始数据向量X之间的顺序对应关系第一方、第二方都无法知道,X(f1(f0(i)))内的数据一般都有几万甚至几百万个,存在大量的重复数据,所以第一方、第二方无法知道X(f1(f0(i)))内的数据与用户ID的对应关系,从而保护了用户隐私。
作为优选,所述步骤S2包括以下步骤:
S21:第一方生成n×n的茫然可穿刺矩阵D1,对茫然可穿刺矩阵D1的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量a0,a0={a0(1),a0(2),……a0(n)},a0(i)表示第i列元素对应的求和值,对茫然可穿刺矩阵D1的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量b0,b0={b0(1),b0(2),……b0(n)},b0(i)表示第i行元素对应的求和值的负数;
S22:第一方、第二方依据n选n-1的不经意传输协议、随机向量f1内的数值将第一方的茫然可穿刺矩阵D1的每一行元素发送到第二方,第二方得到茫然可穿刺矩阵D1每一行除了缺位元素之外的其他所有元素,将缺位元素记为0,从而得到n×n的缺位矩阵E;
S23:第二方对缺位矩阵E的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量a1,a1={a1(1),a1(2),……a1(n)},a1(i)表示第i列元素对应的求和值,对缺位矩阵E的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量b1,b1={b1(1),b1(2),……b1(n)},b1(i)表示第i行元素对应的求和值的负数;
S24:第一方将共享分片向量X0、向量a0相加计算出向量G0,G0={G0(1),G0(2),……G0(n)},G0(i)=X0(i)+a0(i),第一方将向量G0发送给第二方;
S25:第二方根据向量G0、随机向量f1、向量a1、向量b1计算出向量P1,P1={P1(1), P1(2),……P1(n)},
P1(i)=G0(f1(i))-a1(f1(i))-b1(i)=X0(f1(i))+a0(f1(i))-a1(f1(i))-b1(i)=X0(f1(i))-b0(i)。
第一方、第二方依据n选n-1的不经意传输协议、随机向量f1内的第i个数值f1(i)将第一方的茫然可穿刺矩阵D1的第i行元素发送到第二方,第二方得到茫然可穿刺矩阵D1第i行除了第f1(i)个元素之外的其他所有元素,第f1(i)个元素为缺位元素,将缺位元素记为0。
由于a0(f1(i))-a1(f1(i))的值就是缺位矩阵E的第f1(i)列的缺位元素原先的数值,第f1(i)列的缺位元素就是缺位矩阵E第i行的第f1(i)个元素,则a0(f1(i))-a1(f1(i))-b1(i)的值就是b0(i)的负数,即a0(f1(i))-a1(f1(i))-b1(i)=-b0(i),所以,
P1(i)=G0(f1(i))-a1(f1(i))-b1(i)=X0(f1(i))+a0(f1(i))-a1(f1(i))-b1(i)=X0(f1(i))-b0(i)。
作为优选,所述步骤S22中n×n的缺位矩阵E为:
作为优选,所述步骤S23中计算第i列元素对应的求和值a1(i)的公式如下:
所述步骤S23中计算第i行元素对应的求和值的负数b1(i)的公式如下:
作为优选,所述步骤S3包括以下步骤:
S31:第二方生成n×n的茫然可穿刺矩阵D2,对茫然可穿刺矩阵D2的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量c1,c1={c1(1),c1(2),……c1(n)},c1(i)表示第i列元素对应的求和值,对茫然可穿刺矩阵D2的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量d1,d1={d1(1),d1(2),……d1(n)},d1(i)表示第i行元素对应的求和值的负数;
S32:第一方、第二方依据n选n-1的不经意传输协议、随机向量f0内的数值将第二方的茫然可穿刺矩阵D2的每一行元素发送到第一方,第一方得到茫然可穿刺矩阵D2每一行除了缺位元素之外的其他所有元素,将缺位元素记为0,从而得到n×n的缺位矩阵F;
S33:第一方对缺位矩阵F的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量c0,c0={c0(1),c0(2),……c0(n)},c0(i)表示第i列元素对应的求和值,对缺位矩阵F的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量d0,d0={d0(1),d0(2),……d0(n)},d0(i)表示第i行元素对应的求和值的负数;
S34:第二方根据向量P1、共享分片向量X1、随机向量f1、向量c1计算出向量G1,G1={G1(1),G1(2),……G1(n)},
G1(i)=P1(i)+X1(f1(i))+c1(i)=X0(f1(i))-b0(i)+X1(f1(i))+c1(i)=X(f1(i))-b0(i)+c1(i),
第二方将向量G1发送给第一方;
S35:第一方根据向量G1、随机向量f0、向量c0、向量d0、向量b0计算出向量P0,P0={P0(1), P0(2),……P0(n)},
P0(i)=G1(f0(i))-c0(f0(i))-d0(i)-b0(f0(i))=X(f1(f0(i)))-b0(f0(i))+c1(f0(i))-c0(f0(i))-d0(i)-b0(f0(i))=X(f1(f0(i)))-d1(i);
最终,第一方持有向量P0,第二方持有向量d1。
第一方、第二方依据n选n-1的不经意传输协议、随机向量f0内的第i个数值f0(i)将第二方的茫然可穿刺矩阵D2的第i行元素发送到第一方,第一方得到茫然可穿刺矩阵D2第i行除了第f0(i)个元素之外的其他所有元素,第f0(i)个元素为缺位元素,将缺位元素记为0。
由于c1(f0(i))-c0(f0(i)) 的值就是缺位矩阵F的第f0(i)列的缺位元素原先的数值,第f0(i)列的缺位元素就是缺位矩阵F第i行的第f0(i)个元素,则c1(f0(i))-c0(f0(i))-d0(i)的值就是d1(i)的负数,即c1(f0(i))-c0(f0(i))-d0(i)=-d1(i),另外第一方还持有向量b0、随机向量f0,则第一方知道b0(f0(i))的数值,所以P0(i)=G1(f0(i))-c0(f0(i))-d0(i)-b0(f0(i))=X(f1(f0(i)))-b0(f0(i))+c1(f0(i))-c0(f0(i))-d0(i)-b0(f0(i))=X(f1(f0(i)))-d1(i)。
作为优选,所述步骤S32中n×n的缺位矩阵F为:
作为优选,所述步骤S33中计算第i列元素对应的求和值c0(i)的公式如下:
所述步骤S33中计算第i行元素对应的求和值的负数d0(i) 的公式如下:
本发明的有益效果是:将共享数据去标识化,共享数据后续可直接参与机器学习,降低了数据主体风险,计算和通信开销都较低,便于实现大规模商用。
附图说明
图1是实施例的流程图;
图2是举例的原始数据向量X以及共享分片向量X0、X1的关系图;
图3是随机向量f0、随机向量f1的数据表;
图4是茫然可穿刺矩阵D1、向量a0、向量b0的关系图;
图5是缺位矩阵E、向量a1、向量b1的关系图;
图6是向量P1的数据表;
图7是茫然可穿刺矩阵D2、向量c1、向量d1的关系图;
图8是缺位矩阵F、向量c0、向量d0的关系图;
图9是向量P0、向量d1以及复合结果X(f1(f0(i)))的关系图;
图10是始数据向量X、复合结果X(f1(f0(i)))的关系图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:本实施例的一种基于秘密分享的共享数据随机排序方法,如图1所示,原始数据向量X以和共享分片存储于第一方和第二方,X={X(1), X(2),……X(n)},第一方持有共享分片向量X0,X0={X0(1), X0(2),……X0(n)},第二方持有共享分片向量X1,X1={X1(1),X1(2),……X1(n)},X(i)=X0(i)+X1(i),1≤i≤n,n为原始数据向量X中的数据个数,X(i)为原始数据向量X中的第i个数据,X0(i)为共享分片向量X0中的第i个数据,X1(i)为共享分片向量X1中的第i个数据,包括以下步骤:
S1:第一方将1至n这n个数值随机排列生成随机向量f0,f0={f0(1), f0(2),……f0(n)},第二方将1至n这n个数值随机排列生成随机向量f1,f1={f1(1), f1(2),……f1(n)},f0(i)为随机向量f0中的第i个数值,f1(i)为随机向量f1中的第i个数值;
S2:第一方、第二方依据共享分片向量X0、随机向量f1进行一次置换洗牌操作,第一方得到向量b0,b0={b0(1),b0(2),……b0(n)},第二方得到向量P1,P1={P1(1), P1(2),……P1(n)},P1(i)= X0(f1(i))-b0(i),b0(i)为向量b0中的第i个数据,P1(i)为向量P1中的第i个数据;
S3:第一方、第二方依据共享分片向量X1、向量P1、随机向量f0、向量b0进行一次置换洗牌操作,第二方得到向量d1,d1={d1(1),d1(2),……d1(n)},第一方得到向量P0,P0={P0(1), P0(2),……P0(n)},P0(i)=X(f1(f0(i)))-d1(i),P0(i)为向量P0中的第i个数据,d1(i)为向量d1中的第i个数据。
步骤S2包括以下步骤:
S21:第一方生成n×n的茫然可穿刺矩阵D1,对茫然可穿刺矩阵D1的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量a0,a0={a0(1),a0(2),……a0(n)},a0(i)表示第i列元素对应的求和值,对茫然可穿刺矩阵D1的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量b0,b0={b0(1),b0(2),……b0(n)},b0(i)表示第i行元素对应的求和值的负数;
S22:第一方、第二方依据n选n-1的不经意传输协议、随机向量f1内的数值将第一方的茫然可穿刺矩阵D1的每一行元素发送到第二方,第二方得到茫然可穿刺矩阵D1每一行除了缺位元素之外的其他所有元素,将缺位元素记为0,从而得到n×n的缺位矩阵E;
n×n的缺位矩阵E为:
第一方、第二方依据n选n-1的不经意传输协议、随机向量f1内的第i个数值f1(i)将第一方的茫然可穿刺矩阵D1的第i行元素发送到第二方,第二方得到茫然可穿刺矩阵D1第i行除了第f1(i)个元素之外的其他所有元素,第f1(i)个元素为缺位元素,将缺位元素记为0;
S23:第二方对缺位矩阵E的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量a1,a1={a1(1),a1(2),……a1(n)},a1(i)表示第i列元素对应的求和值,对缺位矩阵E的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量b1,b1={b1(1),b1(2),……b1(n)},b1(i)表示第i行元素对应的求和值的负数;
计算第i列元素对应的求和值a1(i)的公式如下:
计算第i行元素对应的求和值的负数b1(i)的公式如下:
S24:第一方根据共享分片向量X0、向量a0计算出向量G0,G0={G0(1),G0(2),……G0(n)},G0(i)=X0(i)+a0(i),G0(i)为向量G0中的第i个数据,第一方将向量G0发送给第二方;
S25:第二方根据向量G0、随机向量f1、向量a1、向量b1计算出向量P1,P1={P1(1), P1(2),……P1(n)},
P1(i)=G0(f1(i))-a1(f1(i))-b1(i)=X0(f1(i))+a0(f1(i))-a1(f1(i))-b1(i)=X0(f1(i))-b0(i)。
步骤S3包括以下步骤:
S31:第二方生成n×n的茫然可穿刺矩阵D2,对茫然可穿刺矩阵D2的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量c1,c1={c1(1),c1(2),……c1(n)},c1(i)表示第i列元素对应的求和值,对茫然可穿刺矩阵D2的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量d1,d1={d1(1),d1(2),……d1(n)},d1(i)表示第i行元素对应的求和值的负数;
S32:第一方、第二方依据n选n-1的不经意传输协议、随机向量f0内的数值将第二方的茫然可穿刺矩阵D2的每一行元素发送到第一方,第一方得到茫然可穿刺矩阵D2每一行除了缺位元素之外的其他所有元素,将缺位元素记为0,从而得到n×n的缺位矩阵F;
n×n的缺位矩阵F为:
第一方、第二方依据n选n-1的不经意传输协议、随机向量f0内的第i个数值f0(i)将第二方的茫然可穿刺矩阵D2的第i行元素发送到第一方,第一方得到茫然可穿刺矩阵D2第i行除了第f0(i)个元素之外的其他所有元素,第f0(i)个元素为缺位元素,将缺位元素记为0;
S33:第一方对缺位矩阵F的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量c0,c0={c0(1),c0(2),……c0(n)},c0(i)表示第i列元素对应的求和值,对缺位矩阵F的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量d0,d0={d0(1),d0(2),……d0(n)},d0(i)表示第i行元素对应的求和值的负数;
计算第i列元素对应的求和值c0(i)的公式如下:
计算第i行元素对应的求和值的负数d0(i) 的公式如下:
S34:第二方根据向量P1、共享分片向量X1、随机向量f1、向量c1计算出向量G1,G1={G1(1),G1(2),……G1(n)},G1(i)为向量G1中的第i个数据,
G1(i)=P1(i)+X1(f1(i))+c1(i)=X0(f1(i))-b0(i)+X1(f1(i))+c1(i)=X(f1(i))-b0(i)+c1(i),
第二方将向量G1发送给第一方;
S35:第一方根据向量G1、随机向量f0、向量c0、向量d0、向量b0计算出向量P0,P0={P0(1), P0(2),……P0(n)},
P0(i)=G1(f0(i))-c0(f0(i))-d0(i)-b0(f0(i))=X(f1(f0(i)))-b0(f0(i))+c1(f0(i))-c0(f0(i))-d0(i)-b0(f0(i))=X(f1(f0(i)))-d1(i);
最终,第一方持有向量P0,第二方持有向量d1。
在本方案中,初始时,原始数据向量X通过某些隐私计算组件拆分为加性秘密分享的两个共享分片向量X0、X1,第一方持有共享分片向量X0,第二方持有共享分片向量X1,此时,共享分片向量X0、X1中的数据分片与用户ID还是绑定的,例如:原始数据向量X中的数据X(1)对应的用户ID为1,当数据X(1)被拆分为共享分片向量X0中的X0(1)、共享分片向量X1中的X1(1)后,X0(1)对应的用户ID还是1,X1(1)对应的用户ID还是1,即共享数据与原用户ID依然是绑定的,没有脱钩,当第一方、第二方将共享分片向量X0与共享分片向量X1相加后就可以还原出原始数据向量X。
共享分片向量X0、共享分片向量X1经过本方法随机排序后,最终,第一方持有向量P0、第二方持有向量d1,第一方、第二方将向量P0、向量d1相加后得到向量X(f1(f0(i))),即得到了将原始数据向量X重新排序后的向量X(f1(f0(i))),由于,第一方不知道随机向量f1,第二方不知道随机向量f0,所以双方都无法还原出向量X(f1(f0(i)))与原始数据向量X之间的顺序对应关系,一般用于机器学习的数据是非常多的,存在大量的重复数据,所以通过本方法随机排序后,第一方、第二方只能共同持有原始数据向量X内的数据,但都无法还原出原始数据向量X的顺序,即将数据与用户ID实现了脱钩,降低了数据主体风险。
本方法的计算复杂度是n2,由于本方法采用的是加减运算,复杂度系数更小,实际计算需求会少,而通信量仅为茫然可穿刺矩阵(opv)传输的部分为nlog2n,当n=10000时,数据规模也仅有14万,综合性能优,所以本方法计算和通信开销都较低,便于实现大规模商用。
第一方、第二方可直接使用重新随机排序后的向量P0、向量d1进行金融风控场景的联邦学习,还可配合解密出向量X(f1(f0(i)))内的一些数据,使用X(f1(f0(i)))内的一些数据进行求均值、和值等运算进行数据分析,由于X(f1(f0(i))) 与原始数据向量X之间的顺序对应关系第一方、第二方都无法知道,X(f1(f0(i)))内的数据一般都有几万甚至几百万个,存在大量的重复数据,所以第一方、第二方无法知道X(f1(f0(i)))内的数据与用户ID的对应关系,从而保护了用户隐私。
举例说明:
原始数据向量X={X(1), X(2), X(3), X(4), X(5), X(6), X(7),X(8)}= {1100,1101, 1102, 1103, 1104, 1105, 1106, 1107},第一方持有共享分片向量X0,第二方持有共享分片向量X1,如图2所示,共享分片向量X0与共享分片向量X1相加可以还原出原始数据向量X。
由于原始数据向量X内有8个数据,所以,第一方将1至8这8个数值随机排列生成随机向量f0,f0={f0(1), f0(2),……f0(8)} ={7,5,4,1,2,8,6,3},第二方将1至8这8个数值随机排列生成随机向量f1,f1={f1(1), f1(2),……f1(8)}={1,4,3,5,2,6,7, 8},如图3所示。
第一方生成8×8的茫然可穿刺矩阵D1,对茫然可穿刺矩阵D1的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量a0,对茫然可穿刺矩阵D1的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量b0,如图4所示。例如图4中,茫然可穿刺矩阵D1的第一列元素的求和值为15329059524,向量a0的第一个数据a0(1)为15329059524,茫然可穿刺矩阵D1的第一行元素的求和值的负数为-20223698873,向量b0的第一个数据b0(1)为-20223698873。
第一方、第二方依据8选7的不经意传输协议、随机向量f1内的数值将第一方的茫然可穿刺矩阵D1的每一行元素发送到第二方,第二方得到茫然可穿刺矩阵D1每一行除了缺位元素之外的其他所有元素,将缺位元素记为0,从而得到n×n的缺位矩阵E,第二方对缺位矩阵E的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量a1,对缺位矩阵E的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量b1,如图5所示。由于f1={1,4,3,5,2,6,7, 8},从图5中可以看到,茫然可穿刺矩阵D1的第一行的缺位元素位于1行1列,第二行的缺位元素位于2行4列,第三行的缺位元素位于3行3列,第四行的缺位元素位于4行5列,第五行的缺位元素位于5行2列,第六行的缺位元素位于6行6列,第七行的缺位元素位于7行7列,第八行的缺位元素位于8行8列,即第i行的缺位元素位于第i行的第f1(i)列。
第一方根据共享分片向量X0、向量a0计算出向量G0,G0={G0(1),G0(2),……G0(8)},G0(i)=X0(i)+a0(i),第一方将向量G0发送给第二方,第二方根据向量G0、随机向量f1、向量a1、向量b1计算出向量P1,P1={P1(1), P1(2),……P1(n)},向量P1的值如图6所示。从图4、图5中可以看出a0(f1(i))-a1(f1(i))的值就是缺位矩阵E的第f1(i)列的缺位元素原先的数值,第f1(i)列的缺位元素就是缺位矩阵E第i行的第f1(i)个元素,则a0(f1(i))-a1(f1(i))-b1(i)的值就是b0(i)的负数,即a0(f1(i))-a1(f1(i))-b1(i)=-b0(i),所以,
P1(i)=G0(f1(i))-a1(f1(i))-b1(i)=X0(f1(i))+a0(f1(i))-a1(f1(i))-b1(i)=X0(f1(i))-b0(i)。例如:a0(f1(2))-a1(f1(2))的值为a0(4)-a1(4)=17572726836-16088366586=1484360250,就是缺位矩阵E的第4列的缺位元素原先的数值,第4列的缺位元素就是缺位矩阵E第2行的第4个元素,所以a0(f1(2))-a1(f1(2))-b1(2)=a0(4)-a1(4)-b1(2)= 1484360250+14166402122=15650762372,就是b0(2)的负数值,所以P1(2)= X0(f1(2))-b0(2)= X0(4)-b0(2)=171463691+15650762372=17365399287,与图6中的数值一致。
第二方生成8×8的茫然可穿刺矩阵D2,对茫然可穿刺矩阵D2的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量c1,对茫然可穿刺矩阵D2的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量d1,如图7所示。例如图7中,茫然可穿刺矩阵D2的第一列元素的求和值为19236352818,向量c1的第一个数据c1(1)为19236352818,茫然可穿刺矩阵D2的第一行元素的求和值的负数为-18831864544,向量d1的第一个数据d1 (1)为-18831864544。
第一方、第二方依据8选7的不经意传输协议、随机向量f0内的数值将第二方的茫然可穿刺矩阵D2的每一行元素发送到第一方,第一方得到茫然可穿刺矩阵D2每一行除了缺位元素之外的其他所有元素,将缺位元素记为0,从而得到n×n的缺位矩阵F,第一方对缺位矩阵F的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量c0,对缺位矩阵F的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量d0,如图8所示。由于f0={7,5,4,1,2,8,6,3},从图8中可以看到,茫然可穿刺矩阵D2的第一行的缺位元素位于1行7列,第二行的缺位元素位于2行5列,第三行的缺位元素位于3行4列,第四行的缺位元素位于4行1列,第五行的缺位元素位于5行2列,第六行的缺位元素位于6行8列,第七行的缺位元素位于7行6列,第八行的缺位元素位于8行3列,即第i行的缺位元素位于第i行的第f0(i)列。
第二方根据向量P1、共享分片向量X1、向量c1计算出向量G1,G1={G1(1),G1(2),……G1(8)},G1(i)=P1(i)+X1(f1(i))+c1(i)=X0(f1(i))-b0(i)+X1(f1(i))+c1(i)=X(f1(i))-b0(i)+c1(i),第二方将向量G1发送给第一方。第一方根据向量G1、随机向量f0、向量c0、向量d0、向量b0计算出向量P0,P0={P0(1), P0(2),……P0(n)},
从图7、图8中可以看出c1(f0(i))-c0(f0(i)) 的值就是缺位矩阵F的第f0(i)列的缺位元素原先的数值,第f0(i)列的缺位元素就是缺位矩阵F第i行的第f0(i)个元素,则c1(f0(i))-c0(f0(i))-d0(i)的值就是d1(i)的负数,即c1(f0(i))-c0(f0(i))-d0(i)=-d1(i),另外第一方还持有向量b0、随机向量f0,则第一方知道b0(f0(i))的数值,所以P0(i)=G1(f0(i))-c0(f0(i))-d0(i)-b0(f0(i))=X(f1(f0(i)))-b0(f0(i))+c1(f0(i))-c0(f0(i))-d0(i)-b0(f0(i))=X(f1(f0(i)))-d1(i),向量P0的值如图9所示。
例如:c1(f0(2))-c0(f0(2))的值为c1(5)-c0(5)=16922434711-13655402903=3267031868,即就是缺位矩阵F的第5列的缺位元素原先的数值,第5列的缺位元素就是缺位矩阵F第2行的第5个元素,所以c1(f0(2))-c0(f0(2))-d0(2)=c1(5)-c0(5)-d0(2)=3267031868+15503761035=18770792903,就是d1(2)的负数值,所以P0(2)= X(f1(f0(2)))-d1(2)=X(2)-d1(2)=1101+18770792903=18770794004,与图9中的数值一致。
共享分片向量X0、共享分片向量X1经过本方法随机排序后,最终,如图9所示,第一方持有向量P0、第二方持有向量d1,第一方、第二方将向量P0、向量d1相加后得到向量X(f1(f0(i))),即得到了将原始数据向量X重新排序后的向量X(f1(f0(i))),由于,第一方不知道随机向量f1,第二方不知道随机向量f0,所以双方都无法还原出向量X(f1(f0(i)))与原始数据向量X之间的顺序对应关系。
原始数据向量X、复合结果X(f1(f0(i)))的关系,如图10所示,从图10中可看出第一方、第二方将向量P0、向量d1相加后得到向量X(f1(f0(i)))是将数据向量X中的数据按照向量f1(f0(i))重新进行了排序,由于,第一方不知道随机向量f1,第二方不知道随机向量f0,所以双方都无法还原出向量X(f1(f0(i)))与原始数据向量X之间的顺序对应关系,即第一方、第二方都无法知道或反推出向量X(f1(f0(i)))中的数据与用户ID之间的对应关系,即将数据与用户ID实现了脱钩,降低了数据主体风险。
Claims (7)
1.一种基于秘密分享的共享数据随机排序方法,原始数据向量X以和共享分片存储于第一方和第二方,第一方持有共享分片向量X0,第二方持有共享分片向量X1,原始数据向量X中的数据个数为n,其特征在于,包括以下步骤:
S1:第一方将1至n这n个数值随机排列生成随机向量f0,第二方将1至n这n个数值随机排列生成随机向量f1;
S2:第一方、第二方依据共享分片向量X0、随机向量f1进行一次置换洗牌操作,第一方得到向量b0,第二方得到向量P1,所述向量b0与向量P1的和为共享分片向量X0按照随机向量f1重新排序后的结果;
S3:第一方、第二方依据共享分片向量X1、向量P1、随机向量f0、向量b0进行一次置换洗牌操作,第二方得到向量d1,第一方得到向量P0,所述向量d1与向量P0的和为原始数据向量X按照向量f1(f0)重新排序后的结果,所述向量f1(f0)为随机向量f1按照随机向量f0重新排序后的结果。
2.根据权利要求1所述的一种基于秘密分享的共享数据随机排序方法,其特征在于,所述步骤S2包括以下步骤:
S21:第一方生成n×n的茫然可穿刺矩阵D1,对茫然可穿刺矩阵D1的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量a0,对茫然可穿刺矩阵D1的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量b0;
S22:第一方、第二方依据n选n-1的不经意传输协议、随机向量f1内的数值将第一方的茫然可穿刺矩阵D1的每一行元素发送到第二方,第二方得到茫然可穿刺矩阵D1每一行除了缺位元素之外的其他所有元素,将缺位元素记为0,从而得到n×n的缺位矩阵E;
S23:第二方对缺位矩阵E的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量a1,对缺位矩阵E的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量b1;
S24:第一方将共享分片向量X0、向量a0相加计算出向量G0,第一方将向量G0发送给第二方;
S25:第二方根据向量G0、随机向量f1、向量a1、向量b1计算出向量P1。
5.根据权利要求2或3或4所述的一种基于秘密分享的共享数据随机排序方法,其特征在于,所述步骤S3包括以下步骤:
S31:第二方生成n×n的茫然可穿刺矩阵D2,对茫然可穿刺矩阵D2的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量c1,对茫然可穿刺矩阵D2的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量d1;
S32:第一方、第二方依据n选n-1的不经意传输协议、随机向量f0内的数值将第二方的茫然可穿刺矩阵D2的每一行元素发送到第一方,第一方得到茫然可穿刺矩阵D2每一行除了缺位元素之外的其他所有元素,将缺位元素记为0,从而得到n×n的缺位矩阵F;
S33:第一方对缺位矩阵F的每一列元素求和得到每一列元素对应的求和值,所有求和值构成向量c0,对缺位矩阵F的每一行元素求和得到每一行元素对应的求和值,所有求和值的负数构成向量d0;
S34:第二方根据向量P1、共享分片向量X1、随机向量f1、向量c1计算出向量G1,第二方将向量G1发送给第一方;
S35:第一方根据向量G1、随机向量f0、向量c0、向量d0、向量b0计算出向量P0,最终,第一方持有向量P0,第二方持有向量d1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210721855.8A CN114817997B (zh) | 2022-06-24 | 2022-06-24 | 一种基于秘密分享的共享数据随机排序方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210721855.8A CN114817997B (zh) | 2022-06-24 | 2022-06-24 | 一种基于秘密分享的共享数据随机排序方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114817997A true CN114817997A (zh) | 2022-07-29 |
CN114817997B CN114817997B (zh) | 2022-09-23 |
Family
ID=82520561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210721855.8A Active CN114817997B (zh) | 2022-06-24 | 2022-06-24 | 一种基于秘密分享的共享数据随机排序方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817997B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168910A (zh) * | 2022-09-08 | 2022-10-11 | 蓝象智联(杭州)科技有限公司 | 一种基于秘密分享的共享数据等宽分箱方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210054422A (ko) * | 2019-11-05 | 2021-05-13 | 주식회사 아톰릭스랩 | 다자간 보안컴퓨팅을 이용하여 샤미르 비밀정보 조각이 유실된 단말에 비밀정보 조각을 복구하는 방법 |
CN113065145A (zh) * | 2021-03-25 | 2021-07-02 | 上海海洋大学 | 一种基于秘密共享和随机扰动的隐私保护线性回归方法 |
CN114153808A (zh) * | 2022-02-09 | 2022-03-08 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
CN114172648A (zh) * | 2022-02-10 | 2022-03-11 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
CN114282256A (zh) * | 2022-03-04 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序打乱方法和恢复方法 |
CN114282076A (zh) * | 2022-03-04 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
-
2022
- 2022-06-24 CN CN202210721855.8A patent/CN114817997B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210054422A (ko) * | 2019-11-05 | 2021-05-13 | 주식회사 아톰릭스랩 | 다자간 보안컴퓨팅을 이용하여 샤미르 비밀정보 조각이 유실된 단말에 비밀정보 조각을 복구하는 방법 |
CN113065145A (zh) * | 2021-03-25 | 2021-07-02 | 上海海洋大学 | 一种基于秘密共享和随机扰动的隐私保护线性回归方法 |
CN114153808A (zh) * | 2022-02-09 | 2022-03-08 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
CN114172648A (zh) * | 2022-02-10 | 2022-03-11 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
CN114282256A (zh) * | 2022-03-04 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序打乱方法和恢复方法 |
CN114282076A (zh) * | 2022-03-04 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
Non-Patent Citations (2)
Title |
---|
叶从欢等: "可扩展的社交多媒体安全分享方法研究", 《重庆邮电大学学报(自然科学版)》 * |
吴畏等: "MANET环境下的密钥预共享安全引导模型", 《华中科技大学学报(自然科学版)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168910A (zh) * | 2022-09-08 | 2022-10-11 | 蓝象智联(杭州)科技有限公司 | 一种基于秘密分享的共享数据等宽分箱方法 |
CN115168910B (zh) * | 2022-09-08 | 2022-12-23 | 蓝象智联(杭州)科技有限公司 | 一种基于秘密分享的共享数据等宽分箱方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114817997B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116204912B (zh) | 基于全同态加密的数据处理方法和装置 | |
CN113065145B (zh) | 一种基于秘密共享和随机扰动的隐私保护线性回归方法 | |
CN114817958B (zh) | 一种基于联邦学习的模型训练方法、装置、设备及介质 | |
CN113095514A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN116506124B (zh) | 多方隐私求交系统及方法 | |
CN114817997B (zh) | 一种基于秘密分享的共享数据随机排序方法 | |
CN115189878A (zh) | 一种基于秘密分享的共享数据排序方法及电子设备 | |
WO2021227959A1 (zh) | 保护数据隐私的多方联合训练对象推荐模型 | |
CN111368336A (zh) | 基于秘密共享的训练方法、装置、电子设备及存储介质 | |
Liu et al. | Algebraic attacks on round-reduced Keccak | |
CN114448598A (zh) | 密文压缩方法、密文解压缩方法、装置、设备和存储介质 | |
CN116561787A (zh) | 视觉图像分类模型的训练方法、装置及电子设备 | |
CN115733602A (zh) | 一种用于非平衡隐私集合求交的方法和装置 | |
CN114362948A (zh) | 一种高效的联邦衍生特征逻辑回归建模方法 | |
CN114912132A (zh) | 一种基于模型转换实现隐私保护卷积神经网络推理的方法 | |
CN116861994A (zh) | 一种抗拜占庭攻击的隐私保护联邦学习方法 | |
Braverman | A hard-to-compress interactive task? | |
CN116743376A (zh) | 基于高效密文混淆技术的多方秘密分享数据隐私比较方法 | |
JP7297131B2 (ja) | 分散型機械学習モデルのトレーニング方法、装置、機器および媒体 | |
CN115134114B (zh) | 基于离散混淆自编码器的纵向联邦学习攻击防御方法 | |
CN116402159A (zh) | 联邦学习方法、预测方法、装置、电子设备及存储介质 | |
CN114756815A (zh) | 一种多方安全计算的三元组生成方法和系统 | |
CN114358323A (zh) | 联邦学习环境中基于第三方高效皮尔森系数计算方法 | |
CN113626841A (zh) | 基于多方安全计算的选择问题处理方法 | |
CN111882744A (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 |