CN114817997A - 一种基于秘密分享的共享数据随机排序方法 - Google Patents

一种基于秘密分享的共享数据随机排序方法 Download PDF

Info

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
Application number
CN202210721855.8A
Other languages
English (en)
Other versions
CN114817997B (zh
Inventor
王玥
吴泽成
刘文博
马煜翔
冯黎明
邢冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lanxiang Zhilian Hangzhou Technology Co ltd
Original Assignee
Lanxiang Zhilian Hangzhou Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lanxiang Zhilian Hangzhou Technology Co ltd filed Critical Lanxiang Zhilian Hangzhou Technology Co ltd
Priority to CN202210721855.8A priority Critical patent/CN114817997B/zh
Publication of CN114817997A publication Critical patent/CN114817997A/zh
Application granted granted Critical
Publication of CN114817997B publication Critical patent/CN114817997B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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为:
Figure 461315DEST_PATH_IMAGE001
缺位矩阵E的第i行的缺位元素为
Figure 438499DEST_PATH_IMAGE002
Figure 834845DEST_PATH_IMAGE003
表示第i行的第f1(i)个元素,f1(i) 表示随机向量f1内的第i个数值,1≤i≤n。
作为优选,所述步骤S23中计算第i列元素对应的求和值a1(i)的公式如下:
Figure 258523DEST_PATH_IMAGE004
,1≤j≤n,
所述步骤S23中计算第i行元素对应的求和值的负数b1(i)的公式如下:
Figure 373109DEST_PATH_IMAGE005
作为优选,所述步骤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为:
Figure 888404DEST_PATH_IMAGE006
缺位矩阵F的第i行的缺位元素为
Figure 404836DEST_PATH_IMAGE007
Figure 996486DEST_PATH_IMAGE007
表示第i行的第f0(i)个元素,f0(i) 表示随机向量f0内的第i个数值,1≤i≤n。
作为优选,所述步骤S33中计算第i列元素对应的求和值c0(i)的公式如下:
Figure 332789DEST_PATH_IMAGE008
,1≤j≤n,
所述步骤S33中计算第i行元素对应的求和值的负数d0(i) 的公式如下:
Figure 917354DEST_PATH_IMAGE009
本发明的有益效果是:将共享数据去标识化,共享数据后续可直接参与机器学习,降低了数据主体风险,计算和通信开销都较低,便于实现大规模商用。
附图说明
图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为:
Figure 288293DEST_PATH_IMAGE001
缺位矩阵E的第i行的缺位元素为
Figure 300111DEST_PATH_IMAGE002
Figure 608864DEST_PATH_IMAGE003
表示第i行的第f1(i)个元素,
第一方、第二方依据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)的公式如下:
Figure 997120DEST_PATH_IMAGE010
,1≤j≤n,
计算第i行元素对应的求和值的负数b1(i)的公式如下:
Figure 222565DEST_PATH_IMAGE005
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为:
Figure 139705DEST_PATH_IMAGE006
缺位矩阵F的第i行的缺位元素为
Figure 716180DEST_PATH_IMAGE007
Figure 393280DEST_PATH_IMAGE007
表示第i行的第f0(i)个元素;
第一方、第二方依据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)的公式如下:
Figure 207653DEST_PATH_IMAGE011
,1≤j≤n,
计算第i行元素对应的求和值的负数d0(i) 的公式如下:
Figure 826853DEST_PATH_IMAGE009
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
3.根据权利要求2所述的一种基于秘密分享的共享数据随机排序方法,其特征在于,所述步骤S22中n×n的缺位矩阵E为:
Figure 632046DEST_PATH_IMAGE001
缺位矩阵E的第i行的缺位元素为
Figure 669272DEST_PATH_IMAGE002
Figure 151069DEST_PATH_IMAGE002
表示第i行的第f1(i)个元素,f1(i)表示随 机向量f1内的第i个数值,1≤i≤n。
4.根据权利要求3所述的一种基于秘密分享的共享数据随机排序方法,其特征在于,所述步骤S23中计算第i列元素对应的求和值a1(i)的公式如下:
Figure 564733DEST_PATH_IMAGE003
,1≤j≤n,
所述步骤S23中计算第i行元素对应的求和值的负数b1(i)的公式如下:
Figure 182796DEST_PATH_IMAGE004
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
6.根据权利要求5所述的一种基于秘密分享的共享数据随机排序方法,其特征在于,所述步骤S32中n×n的缺位矩阵F为:
Figure 410165DEST_PATH_IMAGE005
缺位矩阵F的第i行的缺位元素为
Figure 379258DEST_PATH_IMAGE006
Figure 331033DEST_PATH_IMAGE006
表示第i行的第f0(i)个元素,f0(i)表示 随机向量f0内的第i个数值,1≤i≤n。
7.根据权利要求6所述的一种基于秘密分享的共享数据随机排序方法,其特征在于,所述步骤S33中计算第i列元素对应的求和值c0(i)的公式如下:
Figure 69182DEST_PATH_IMAGE007
,1≤j≤n,
所述步骤S33中计算第i行元素对应的求和值的负数d0(i) 的公式如下:
Figure 713790DEST_PATH_IMAGE008
CN202210721855.8A 2022-06-24 2022-06-24 一种基于秘密分享的共享数据随机排序方法 Active CN114817997B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168910A (zh) * 2022-09-08 2022-10-11 蓝象智联(杭州)科技有限公司 一种基于秘密分享的共享数据等宽分箱方法

Citations (6)

* Cited by examiner, † Cited by third party
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 支付宝(杭州)信息技术有限公司 一种基于秘密分享的排序方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
叶从欢等: "可扩展的社交多媒体安全分享方法研究", 《重庆邮电大学学报(自然科学版)》 *
吴畏等: "MANET环境下的密钥预共享安全引导模型", 《华中科技大学学报(自然科学版)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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