CN114722049B - 一种多方数据交集计算方法、装置及电子设备 - Google Patents
一种多方数据交集计算方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114722049B CN114722049B CN202210537199.6A CN202210537199A CN114722049B CN 114722049 B CN114722049 B CN 114722049B CN 202210537199 A CN202210537199 A CN 202210537199A CN 114722049 B CN114722049 B CN 114722049B
- Authority
- CN
- China
- Prior art keywords
- sample
- samples
- intersection
- ciphertext
- data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种多方数据交集计算方法、装置和电子设备,涉及多方安全计算技术领域和隐私计算技术领域,包括:执行针对多个第一样本对多个第二样本的索引列的匿踪查询;向第一参与方设备发送匿踪查询结果,使得第一参与方设备按照匿踪查询结果,向密文计算节点发送存在交集的各第一样本的密文样本特征数据;接收行信息乱序表;将接收的第二参与方设备发送的多个第二样本的密文样本特征数据,按照行信息乱序表中的顺序进行排列;从排列后的多个第二样本的密文样本特征数据中,按照行信息乱序表,获取作为交集的各第二样本的密文样本特征数据。采用该方法,解决了在多方数据求交集的计算过程中如何实现不暴露交集数据给所有参与方的问题。
Description
技术领域
本申请涉及多方安全计算技术领域和隐私计算技术领域,尤其涉及一种多方数据交集计算方法、装置和电子设备。
背景技术
随着隐私计算技术的广泛应用,联合建模的需求也越来越多。联合建模的前提是参与建模的各方数据均已对齐,目前常用的数据对齐方案是:先使用安全求交技术,将属于多个参与方的多组数据的交集ID返回给参与建模的各方,各方在明文上进行数据对齐。这样做的一个问题是,参与建模的各方均知道样本交集。
在某些特定场景下,建模发起方可能不希望泄露交集给其他参与方,因为这有可能会泄露建模发起方的用户信息。例如,银行希望使用外部数据源进行评分卡建模,如果暴露交集ID给外部数据源,那外部数据源将能够获知该银行具有哪些客户,这对有些银行来说是不可接受的。
发明内容
本申请实施例提供一种多方数据交集计算方法、装置和电子设备,用以解决现有技术中存在的在多方数据求交集的计算过程中无法实现不暴露交集数据给所有参与方的问题。
本申请实施例提供一种多方数据交集计算方法,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述方法,包括:
通过与第一参与方设备和第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
向所述第一参与方设备发送所述匿踪查询结果,使得所述第一参与方设备按照所述匿踪查询结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
接收所述第一参与方设备发送的行信息乱序表,所述行信息乱序表为所述第一参与方设备按照所述匿踪查询结果生成的,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列;
从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供一种多方数据交集计算方法,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述方法,包括:
通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
接收所述密文计算节点发送的所述匿踪查询结果;
按照所述匿踪查询结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
向所述密文计算节点发送所述行信息乱序表,使得所述密文计算节点将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供一种多方数据交集计算方法,应用于第二参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述方法,包括:
在自身持有的多个第二样本的第二样本数据中添加索引列,每个第二样本的索引列的信息为该第二样本在第二样本数据中所在行的行信息;
通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
向所述密文计算节点发送多个第二样本的密文样本特征数据,使得所述密文计算节点获取多个第二样本的行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置,并将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供一种多方数据交集计算方法,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述方法,包括:
针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,得到隐私求交结果,所述隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
向所述第一参与方设备发送所述隐私求交结果,使得所述第一参与方设备按照所述隐私求交结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
分别针对每个第二参与方设备执行如下步骤:
通过与第一参与方设备和该第二参与方设备之间的信息交互,基于存在交集的所述各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对所述各第一样本对该多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
向所述第一参与方设备发送该匿踪查询结果,使得所述第一参与方设备按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
接收所述第一参与方设备发送的所述行信息乱序表;
将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列;
从排列后的该多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供一种多方数据交集计算方法,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述方法,包括:
针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,使得所述密文计算节点得到隐私求交结果,所述隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
接收所述密文计算节点发送的所述隐私求交结果;
按照所述隐私求交结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
分别针对每个第二参与方设备执行如下步骤:
通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于存在交集的所述各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对所述各第一样本对该多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
接收所述密文计算节点发送的所述匿踪查询结果;
按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
向所述密文计算节点发送所述行信息乱序表,使得所述密文计算节点将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的该多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供一种多方数据交集计算装置,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述装置,包括:
匿踪查询模块,用于通过与第一参与方设备和第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
结果发送模块,用于向所述第一参与方设备发送所述匿踪查询结果,使得所述第一参与方设备按照所述匿踪查询结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
乱序表接收模块,用于接收所述第一参与方设备发送的行信息乱序表,所述行信息乱序表为所述第一参与方设备按照所述匿踪查询结果生成的,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
样本数据排列模块,用于将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列;
特征数据获取模块,用于从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供一种多方数据交集计算装置,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述装置,包括:
匿踪查询模块,用于通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
结果接收模块,用于接收所述密文计算节点发送的所述匿踪查询结果;
特征数据发送模块,用于按照所述匿踪查询结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
乱序表生成模块,用于按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
乱序表发送模块,用于向所述密文计算节点发送所述行信息乱序表,使得所述密文计算节点将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供一种多方数据交集计算装置,应用于第二参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述装置,包括:
索引列添加模块,用于在自身持有的多个第二样本的第二样本数据中添加索引列,每个第二样本的索引列的信息为该第二样本在第二样本数据中所在行的行信息;
匿踪查询模块,用于通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
特征数据发送模块,用于向所述密文计算节点发送多个第二样本的密文样本特征数据,使得所述密文计算节点获取多个第二样本的行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置,并将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供一种多方数据交集计算装置,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述装置,包括:
隐私求交模块,用于针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,得到隐私求交结果,所述隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
求交结果发送模块,用于向所述第一参与方设备发送所述隐私求交结果,使得所述第一参与方设备按照所述隐私求交结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
匿踪查询模块,用于分别针对每个第二参与方设备执行如下步骤:
通过与第一参与方设备和该第二参与方设备之间的信息交互,基于存在交集的所述各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对所述各第一样本对该多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
查询结果发送模块,用于向所述第一参与方设备发送该匿踪查询结果,使得所述第一参与方设备按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
乱序表接收模块,用于接收所述第一参与方设备发送的所述行信息乱序表;
样本数据排列模块,用于将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列;
特征数据获取模块,用于从排列后的该多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供一种多方数据交集计算装置,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述装置,包括:
隐私求交模块,用于针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,使得所述密文计算节点得到隐私求交结果,所述隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
求交结果接收模块,用于接收所述密文计算节点发送的所述隐私求交结果;
特征数据发送模块,用于按照所述隐私求交结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
匿踪查询模块,用于分别针对每个第二参与方设备执行如下步骤:
通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于存在交集的所述各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对所述各第一样本对该多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
查询结果接收模块,用于接收所述密文计算节点发送的所述匿踪查询结果;
乱序表生成模块,用于按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
乱序表发送模块,用于向所述密文计算节点发送所述行信息乱序表,使得所述密文计算节点将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的该多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一应用于密文计算节点的多方数据交集计算方法,或者,实现上述任一应用于第一参与方设备的多方数据交集计算方法,或者,实现上述任一应用于第二参与方设备的多方数据交集计算方法。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一应用于密文计算节点的多方数据交集计算方法,或者,实现上述任一应用于第一参与方设备的多方数据交集计算方法,或者,实现上述任一应用于第二参与方设备的多方数据交集计算方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一应用于密文计算节点的多方数据交集计算方法,或者,执行上述任一应用于第一参与方设备的多方数据交集计算方法,或者,执行上述任一应用于第二参与方设备的多方数据交集计算方法。
本申请有益效果包括:
本申请实施例提供的方法中,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,在数据交集计算的过程中,第一参与方设备、第二参与方设备和密文计算节点三者之间通过信息交互,基于多个第一样本和多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,密文计算节点和第一参与方设备得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值,使得第一参与方设备可以按照匿踪查询结果,向密文计算节点发送存在交集的各第一样本的密文样本特征数据,然后密文计算节点获取行信息乱序表,并将接收的第二参与方设备发送的多个第二样本的密文样本特征数据,按照行信息乱序表中的顺序进行排列,作为交集的各第二样本的行信息位于行信息乱序表中的指定位置,密文计算节点从排列后的多个第二样本的密文样本特征数据中,按照行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。从而针对第一参与方设备和第二参与方设备各自持有的样本数据,计算出样本交集,并得到作为交集的样本的样本特征数据,并且,在数据交集计算过程中,只有第一参与方设备能够获知样本交集,第二参与方设备无法获知样本交集,即解决了在多方数据求交集的计算过程中如何实现不暴露交集数据给所有参与方的问题。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为本申请实施例提供的应用于密文计算节点的多方数据交集计算方法的流程图;
图2为本申请实施例提供的应用于第一参与方设备的多方数据交集计算方法的流程图;
图3为本申请实施例提供的应用于第二参与方设备的多方数据交集计算方法的流程图;
图4为本申请实施例提供的多方数据交集计算方法的流程图;
图5为本申请另一实施例提供的应用于密文计算节点的多方数据交集计算方法的流程图;
图6为本申请另一实施例提供的应用于第一参与方设备的多方数据交集计算方法的流程图;
图7为本申请实施例提供的应用于密文计算节点的多方数据交集计算装置的结构示意图;
图8为本申请实施例提供的应用于第一参与方设备的多方数据交集计算装置的结构示意图;
图9为本申请实施例提供的应用于第二参与方设备的多方数据交集计算装置的结构示意图;
图10为本申请另一实施例提供的应用于密文计算节点的多方数据交集计算装置的结构示意图;
图11为本申请另一实施例提供的应用于第一参与方设备的多方数据交集计算装置的结构示意图;
图12为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了给出在多方数据求交集的计算过程中不暴露交集数据给所有参与方的实现方案,本申请实施例提供了一种多方数据交集计算方法、装置和电子设备,以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本申请实施例提供一种多方数据交集计算方法,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,如图1所示,该方法,包括:
步骤11、通过与第一参与方设备和第二参与方设备之间的信息交互,基于多个第一样本和多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
步骤12、向第一参与方设备发送匿踪查询结果,使得第一参与方设备按照匿踪查询结果,向密文计算节点发送存在交集的各第一样本的密文样本特征数据;
步骤13、接收第一参与方设备发送的行信息乱序表,行信息乱序表为第一参与方设备按照匿踪查询结果生成的,作为交集的各第二样本的行信息位于行信息乱序表中的指定位置;
步骤14、将接收的第二参与方设备发送的多个第二样本的密文样本特征数据,按照行信息乱序表中的顺序进行排列;
步骤15、从排列后的多个第二样本的密文样本特征数据中,按照行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
相应的,本申请实施例还提供一种多方数据交集计算方法,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,如图2所示,该方法,包括:
步骤21、通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于多个第一样本和多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
步骤22、接收密文计算节点发送的匿踪查询结果;
步骤23、按照匿踪查询结果,向密文计算节点发送存在交集的各第一样本的密文样本特征数据;
24、按照匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于行信息乱序表中的指定位置;
25、向密文计算节点发送行信息乱序表,使得密文计算节点将接收的第二参与方设备发送的多个第二样本的密文样本特征数据,按照行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
相应的,本申请实施例还提供一种多方数据交集计算方法,应用于第二参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,如图3所示,该方法,包括:
步骤31、在自身持有的多个第二样本的第二样本数据中添加索引列,每个第二样本的索引列的信息为该第二样本在第二样本数据中所在行的行信息;
步骤32、通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于多个第一样本和多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
步骤33、向密文计算节点发送多个第二样本的密文样本特征数据,使得密文计算节点获取多个第二样本的行信息乱序表,作为交集的各第二样本的行信息位于行信息乱序表中的指定位置,并将接收的第二参与方设备发送的多个第二样本的密文样本特征数据,按照行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
采用本申请实施例提供的上述方法,针对第一参与方设备和第二参与方设备各自持有的样本数据,计算出样本交集,并得到作为交集的样本的样本特征数据,并且,在数据交集计算过程中,只有第一参与方设备能够获知样本交集,第二参与方设备无法获知样本交集,即解决了在多方数据求交集的计算过程中如何实现不暴露交集数据给所有参与方的问题。
下面结合附图,用具体实施例对本申请提供的上述方法进行详细描述。
本申请实施例提供的一种多方数据交集计算方法,应用于密文计算节点、第一参与方设备和第二参与方设备,用于针对第一参与方设备和第二参与方设备持有的数据计算交集,其中,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,如图4所示,该方法可以包括如下步骤:
步骤41、第二参与方设备在自身持有的多个第二样本的第二样本数据中添加索引列,其中,每个第二样本的索引列的信息为该第二样本在第二样本数据中所在行的行信息。
下面举例说明:
第二样本ID | 样本特征数据V3 | 样本特征数据V4 |
abc5 | 789 | 882 |
abc6 | 147 | 756 |
abc1 | 789 | 357 |
abc9 | 147 | 238 |
abc11 | 789 | 569 |
abc54 | 147 | 130 |
表1:多个第二样本的第二样本数据
上述表1中,包括6个第二样本,每个第二样本具有样本唯一标识(ID),样本特征数据V3和V4,在上述表1中添加索引列,添加索引列后的第二样本数据如下表2所示:
第二样本ID | 索引列index | 样本特征数据V3 | 样本特征数据V4 |
abc5 | 0 | 789 | 882 |
abc6 | 1 | 147 | 756 |
abc1 | 2 | 789 | 357 |
abc9 | 3 | 147 | 238 |
abc11 | 4 | 789 | 569 |
abc54 | 5 | 147 | 130 |
表2:多个第二样本的第二样本数据
从上述表2中可见,每个第二样本的索引列的信息为该第二样本在第二样本数据中所在行的行信息。
步骤42、密文计算节点、第一参与方设备和第二参与方设备,三者之间通过信息交互,基于多个第一样本和多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值。
下面举例说明:
第一样本ID | 样本特征数据V1 | 样本特征数据V2 |
abc1 | 123 | 235 |
abc2 | 456 | 190 |
abc3 | 123 | 179 |
abc4 | 456 | 569 |
abc5 | 123 | 358 |
abc6 | 456 | 398 |
表3:多个第一样本的第一样本数据
上述表3中,包括6个第一样本,每个第一样本具有样本唯一标识(ID),样本特征数据V1和V2。
在执行针对多个第一样本对多个第二样本的索引列的匿踪查询后,得到匿踪查询结果,可以如下表4所示:
第一样本ID | 索引列index |
abc1 | 2 |
abc2 | -1 |
abc3 | -1 |
abc4 | -1 |
abc5 | 0 |
abc6 | 1 |
表4:匿踪查询结果
针对上述表1和表3中的样本ID,相比较可知,多个第一样本和多个第二样本的样本交集包括样本abc1、样本abc5和样本abc6,共计3个样本,从上述表4中可见,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,即样本abc1、样本abc5和样本abc6的结果信息分别为2、0和1,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值,即样本abc2、样本abc3和样本abc4的结果信息均为-1。
本步骤中,匿踪查询结果由密文计算节点获得。
本申请实施例中,上述匿踪查询结果中可以不包括样本唯一标识,上述表4中包括样本唯一标识,用于更清楚的展示对应关系。
步骤43、密文计算节点向第一参与方设备发送匿踪查询结果。
步骤44、第一参与方设备在接收到匿踪查询结果后,可以基于匿踪查询结果获知自身持有的多个第一样本中,哪些第一样本为与多个第二样本之间的交集样本,从而可以向密文计算节点发送存在交集的各第一样本的密文样本特征数据。
按照上述表1和表3所示,存在交集的各第一样本的样本特征数据如下表5所示:
第一样本ID | 样本特征数据V1 | 样本特征数据V2 |
abc1 | 123 | 235 |
abc5 | 123 | 358 |
abc6 | 456 | 398 |
表5:存在交集的第一样本的样本特征数据
在上述表5中,以明文的样本特征数据为例进行描述,实际发送的为密文样本特征数据。
本申请实施例中,上述表5中可以不包括样本唯一标识,上述表5中包括样本唯一标识,用于更清楚的展示对应关系。
步骤45、第一参与方设备在接收到匿踪查询结果后,还可以按照匿踪查询结果生成行信息乱序表,其中,行信息乱序表中包括多个第二样本的行信息,并且,作为交集的各第二样本的行信息位于行信息乱序表中的指定位置。
例如,作为交集的各第二样本的行信息,在行信息乱序表中位于其他各第二样本的行信息之前,并且各行信息所表示的第二样本的顺序与发送的存在交集的第一样本的顺序相同,按照上述举例说明的各表所示,行信息乱序表可以为P = [2, 0, 1, 3, 4, 5],其中,作为交集的第二样本abc1、第二样本abc5和第二样本abc6的行信息分别为2、0和1,位于其他各第二样本的行信息3、4和5之前。
步骤46、第一参与方设备向密文计算节点发送行信息乱序表。
本申请实施例中,上述步骤45和46,与上述步骤44之间,没有严格的先后顺序。
步骤47、第二参与方设备向密文计算节点发送持有的多个第二样本的密文样本特征数据。
本申请实施例中,上述步骤44-46,与上述步骤47之间,没有严格的先后顺序。
步骤48、密文计算节点在接收到行信息乱序表后,将接收的第二参与方设备发送的多个第二样本的密文样本特征数据,按照行信息乱序表中的顺序进行排列。
按照上述表2所示的第二样本的第二样本数据,以及行信息乱序表P = [2, 0, 1,3, 4, 5],重新排列后的第二样本数据如下表6所示:
第二样本ID | 索引列index | 样本特征数据V3 | 样本特征数据V4 |
abc1 | 2 | 789 | 357 |
abc5 | 0 | 789 | 882 |
abc6 | 1 | 147 | 756 |
abc9 | 3 | 147 | 238 |
abc11 | 4 | 789 | 569 |
abc54 | 5 | 147 | 130 |
表6:重新排列后的多个第二样本的第二样本数据
从表6中可见,多个第二样本的第二样本数据已经按照行信息乱序表重新排列,比较表5和表6可知,作为交集的样本abc1、样本abc5和样本abc6,均位于表中的相同位置。
步骤49、密文计算节点从排列后的多个第二样本的密文样本特征数据中,按照行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
当作为交集的各第二样本的行信息,在行信息乱序表中位于其他各第二样本的行信息之前时,本步骤中,可以先获取多个第一样本中存在交集的各第一样本的数量,然后从排列后的多个第二样本的密文样本特征数据中,获取前该数量个第二样本的密文样本特征数据。
按照上述表5和表6所示,多个第一样本中存在交集的各第一样本的数量为3,则从表6中获取前3个第二样本的密文样本特征数据。
本申请实施例中,还可以将存在交集的各第一样本的密文样本特征数据,与作为交集的各第二样本的密文样本特征数据,对应进行拼接,得到第一样本和第二样本中交集样本的完整的密文样本特征数据。
按照上述各表中的示例,得到的交集样本的完整的密文样本特征数据如下表7所示:
样本ID | 样本特征数据V1 | 样本特征数据V2 | 样本特征数据V3 | 样本特征数据V4 |
abc1 | 123 | 235 | 789 | 357 |
abc5 | 123 | 358 | 789 | 882 |
abc6 | 456 | 398 | 147 | 756 |
表7:交集样本的完整的密文样本特征数据
采用本申请实施例提供的上述图4所示方法,能够针对第一参与方设备和第二参与方设备各自持有的样本数据,计算出样本交集,并得到作为交集的样本的样本特征数据,以及进行数据对齐,并且,在数据交集计算过程中,只有第一参与方设备能够获知样本交集,第二参与方设备无法获知样本交集,即解决了在多方数据求交集的计算过程中如何实现不暴露交集数据给所有参与方的问题。
本申请实施例提供的上述方法,可以应用于两个参与方的数据交集计算以及数据对齐,本申请实施例还提供了针对超过两个的多个参与方的数据交集计算方法,可以先针对多个参与方进行多方隐私求交计算,再基于得到的隐私求交结果,将其中一个参与方作为第一参与方,分别与其他每个参与方(作为第二参与方)之间,按照与上述方法类似的步骤流程计算数据交集,以及数据对齐,下面对此进行描述。
本申请实施例提供一种多方数据交集计算方法,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,如图5所示,包括:
步骤51、针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,得到隐私求交结果,隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
步骤52、向第一参与方设备发送隐私求交结果,使得第一参与方设备按照隐私求交结果,向密文计算节点发送存在交集的各第一样本的密文样本特征数据;
分别针对每个第二参与方设备执行如下步骤:
步骤53、通过与第一参与方设备和该第二参与方设备之间的信息交互,基于存在交集的各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对各第一样本对该多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
步骤54、向第一参与方设备发送该匿踪查询结果,使得第一参与方设备按照匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于行信息乱序表中的指定位置;
步骤55、接收第一参与方设备发送的行信息乱序表;
步骤56、将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照行信息乱序表中的顺序进行排列;
步骤57、从排列后的该多个第二样本的密文样本特征数据中,按照行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
进一步的,还包括如下步骤:
将存在交集的各第一样本的密文样本特征数据,与多个第二参与方设备各自持有的作为交集的各第二样本的密文样本特征数据,对应进行拼接,得到存在交集的各第一样本的完整的密文样本特征数据。
相应的,本申请实施例还提供一种多方数据交集计算方法,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,如图6所示,包括:
步骤61、针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,使得密文计算节点得到隐私求交结果,隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
步骤62、接收密文计算节点发送的隐私求交结果;
步骤63、按照隐私求交结果,向密文计算节点发送存在交集的各第一样本的密文样本特征数据;
分别针对每个第二参与方设备执行如下步骤:
步骤64、通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于存在交集的各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对各第一样本对该多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
步骤65、接收密文计算节点发送的匿踪查询结果;
步骤66、按照匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于行信息乱序表中的指定位置;
步骤67、向密文计算节点发送行信息乱序表,使得密文计算节点将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照行信息乱序表中的顺序进行排列,以及从排列后的该多个第二样本的密文样本特征数据中,按照行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请实施例提供的上述图5和图6所示方法,其中部分步骤的详细处理过程,可以参照上述图1-图4中的对应步骤,在此不再详细描述。
采用本申请实施例提供的上述图5和图6所示方法,能够针对多个参与方设备各自持有的样本数据,计算出样本交集,并得到作为交集的样本的样本特征数据,以及进行数据对齐,并且,在数据交集计算过程中,只有一个参与方设备能够获知样本交集,其他各参与方设备均无法获知样本交集,即解决了在多方数据求交集的计算过程中如何实现不暴露交集数据给所有参与方的问题。
基于同一发明构思,根据本申请上述实施例提供的应用于密文计算节点的多方数据交集计算方法,相应地,本申请另一实施例还提供了一种多方数据交集计算装置,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,其结构示意图如图7所示,具体包括:
匿踪查询模块71,用于通过与第一参与方设备和第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
结果发送模块72,用于向所述第一参与方设备发送所述匿踪查询结果,使得所述第一参与方设备按照所述匿踪查询结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
乱序表接收模块73,用于接收所述第一参与方设备发送的行信息乱序表,所述行信息乱序表为所述第一参与方设备按照所述匿踪查询结果生成的,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
样本数据排列模块74,用于将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列;
特征数据获取模块75,用于从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
进一步的,特征数据获取模块75,还用于将存在交集的各第一样本的密文样本特征数据,与作为交集的各第二样本的密文样本特征数据,对应进行拼接,得到第一样本和第二样本中交集样本的完整的密文样本特征数据。
进一步的,作为交集的各第二样本的行信息,在所述行信息乱序表中位于其他各第二样本的行信息之前;
特征数据获取模块75,具体用于获取所述多个第一样本中存在交集的各第一样本的数量;并从排列后的多个第二样本的密文样本特征数据中,获取前所述数量个第二样本的密文样本特征数据。
基于同一发明构思,根据本申请上述实施例提供的应用于第一参与方设备的多方数据交集计算方法,相应地,本申请实施例提供一种多方数据交集计算装置,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,其结构示意图如图8所示,包括:
匿踪查询模块81,用于通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
结果接收模块82,用于接收所述密文计算节点发送的所述匿踪查询结果;
特征数据发送模块83,用于按照所述匿踪查询结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
乱序表生成模块84,用于按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
乱序表发送模块85,用于向所述密文计算节点发送所述行信息乱序表,使得所述密文计算节点将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
进一步的,作为交集的各第二样本的行信息,在所述行信息乱序表中位于其他各第二样本的行信息之前,使得所述密文计算节点获取所述多个第一样本中存在交集的各第一样本的数量,并从排列后的多个第二样本的密文样本特征数据中,获取前所述数量个第二样本的密文样本特征数据。
基于同一发明构思,根据本申请上述实施例提供的应用于第二参与方设备的多方数据交集计算方法,相应地,本申请实施例提供一种多方数据交集计算装置,应用于第二参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,其结构示意图如图9所示,包括:
索引列添加模块91,用于在自身持有的多个第二样本的第二样本数据中添加索引列,每个第二样本的索引列的信息为该第二样本在第二样本数据中所在行的行信息;
匿踪查询模块92,用于通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
特征数据发送模块93,用于向所述密文计算节点发送多个第二样本的密文样本特征数据,使得所述密文计算节点获取多个第二样本的行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置,并将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
上述各模块的功能可对应于图1至图4所示流程中的相应处理步骤,在此不再赘述。
基于同一发明构思,根据本申请上述实施例提供的应用于密文计算节点的多方数据交集计算方法,相应地,本申请实施例还提供一种多方数据交集计算装置,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,其结构示意图如图10所示,包括:
隐私求交模块101,用于针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,得到隐私求交结果,所述隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
求交结果发送模块102,用于向所述第一参与方设备发送所述隐私求交结果,使得所述第一参与方设备按照所述隐私求交结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
匿踪查询模块103,用于分别针对每个第二参与方设备执行如下步骤:
通过与第一参与方设备和该第二参与方设备之间的信息交互,基于存在交集的所述各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对所述各第一样本对该多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
查询结果发送模块104,用于向所述第一参与方设备发送该匿踪查询结果,使得所述第一参与方设备按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
乱序表接收模块105,用于接收所述第一参与方设备发送的所述行信息乱序表;
样本数据排列模块106,用于将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列;
特征数据获取模块107,用于从排列后的该多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
特征数据获取模块107,还用于将存在交集的各第一样本的密文样本特征数据,与所述多个第二参与方设备各自持有的作为交集的各第二样本的密文样本特征数据,对应进行拼接,得到存在交集的各第一样本的完整的密文样本特征数据。
基于同一发明构思,根据本申请上述实施例提供的应用于第一参与方设备的多方数据交集计算方法,相应地,本申请实施例还提供一种多方数据交集计算装置,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,其结构示意图如图11所示,包括:
隐私求交模块111,用于针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,使得所述密文计算节点得到隐私求交结果,所述隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
求交结果接收模块112,用于接收所述密文计算节点发送的所述隐私求交结果;
特征数据发送模块113,用于按照所述隐私求交结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
匿踪查询模块114,用于分别针对每个第二参与方设备执行如下步骤:
通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于存在交集的所述各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对所述各第一样本对该多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
查询结果接收模块115,用于接收所述密文计算节点发送的所述匿踪查询结果;
乱序表生成模块116,用于按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
乱序表发送模块117,用于向所述密文计算节点发送所述行信息乱序表,使得所述密文计算节点将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的该多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
本申请的实施例所提供的上述各装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要上述各装置具有上述功能,都应该在本申请的保护范围之内。
本申请实施例提供一种电子设备,如图12所示,包括处理器121和机器可读存储介质122,所述机器可读存储介质122存储有能够被所述处理器121执行的机器可执行指令,所述处理器121被所述机器可执行指令促使:实现上述任一应用于密文计算节点的多方数据交集计算方法,或者,实现上述任一应用于第一参与方设备的多方数据交集计算方法,或者,实现上述任一应用于第二参与方设备的多方数据交集计算方法。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一应用于密文计算节点的多方数据交集计算方法,或者,实现上述任一应用于第一参与方设备的多方数据交集计算方法,或者,实现上述任一应用于第二参与方设备的多方数据交集计算方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一应用于密文计算节点的多方数据交集计算方法,或者,执行上述任一应用于第一参与方设备的多方数据交集计算方法,或者,执行上述任一应用于第二参与方设备的多方数据交集计算方法。
上述电子设备中的机器可读存储介质可以包括随机存取存储器(Random AccessMemory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质,计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种多方数据交集计算方法,其特征在于,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述方法,包括:
通过与第一参与方设备和第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
向所述第一参与方设备发送所述匿踪查询结果,使得所述第一参与方设备按照所述匿踪查询结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
接收所述第一参与方设备发送的行信息乱序表,所述行信息乱序表为所述第一参与方设备按照所述匿踪查询结果生成的,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列;
从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
2.如权利要求1所述的方法,其特征在于,还包括:
将存在交集的各第一样本的密文样本特征数据,与作为交集的各第二样本的密文样本特征数据,对应进行拼接,得到第一样本和第二样本中交集样本的完整的密文样本特征数据。
3.如权利要求1所述的方法,其特征在于,作为交集的各第二样本的行信息,在所述行信息乱序表中位于其他各第二样本的行信息之前;
所述从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据,包括:
获取所述多个第一样本中存在交集的各第一样本的数量;
从排列后的多个第二样本的密文样本特征数据中,获取前所述数量个第二样本的密文样本特征数据。
4.一种多方数据交集计算方法,其特征在于,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述方法,包括:
通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
接收所述密文计算节点发送的所述匿踪查询结果;
按照所述匿踪查询结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
向所述密文计算节点发送所述行信息乱序表,使得所述密文计算节点将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
5.如权利要求4所述的方法,其特征在于,作为交集的各第二样本的行信息,在所述行信息乱序表中位于其他各第二样本的行信息之前,使得所述密文计算节点获取所述多个第一样本中存在交集的各第一样本的数量,并从排列后的多个第二样本的密文样本特征数据中,获取前所述数量个第二样本的密文样本特征数据。
6.一种多方数据交集计算方法,其特征在于,应用于第二参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述方法,包括:
在自身持有的多个第二样本的第二样本数据中添加索引列,每个第二样本的索引列的信息为该第二样本在第二样本数据中所在行的行信息;
通过与密文计算节点之间的信息交互,以及密文计算节点与第一参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
向所述密文计算节点发送多个第二样本的密文样本特征数据,使得所述密文计算节点获取多个第二样本的行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置,并将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
7.一种多方数据交集计算方法,其特征在于,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述方法,包括:
针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,得到隐私求交结果,所述隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
向所述第一参与方设备发送所述隐私求交结果,使得所述第一参与方设备按照所述隐私求交结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
分别针对每个第二参与方设备执行如下步骤:
通过与第一参与方设备和该第二参与方设备之间的信息交互,基于存在交集的所述各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对所述各第一样本对该多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
向所述第一参与方设备发送该匿踪查询结果,使得所述第一参与方设备按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
接收所述第一参与方设备发送的所述行信息乱序表;
将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列;
从排列后的该多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
8.如权利要求7所述的方法,其特征在于,还包括:
将存在交集的各第一样本的密文样本特征数据,与所述多个第二参与方设备各自持有的作为交集的各第二样本的密文样本特征数据,对应进行拼接,得到存在交集的各第一样本的完整的密文样本特征数据。
9.一种多方数据交集计算方法,其特征在于,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述方法,包括:
针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,使得密文计算节点得到隐私求交结果,所述隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
接收所述密文计算节点发送的所述隐私求交结果;
按照所述隐私求交结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
分别针对每个第二参与方设备执行如下步骤:
通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于存在交集的所述各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对所述各第一样本对该多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
接收所述密文计算节点发送的所述匿踪查询结果;
按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
向所述密文计算节点发送所述行信息乱序表,使得所述密文计算节点将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的该多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
10.一种多方数据交集计算装置,其特征在于,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述装置,包括:
匿踪查询模块,用于通过与第一参与方设备和第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
结果发送模块,用于向所述第一参与方设备发送所述匿踪查询结果,使得所述第一参与方设备按照所述匿踪查询结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
乱序表接收模块,用于接收所述第一参与方设备发送的行信息乱序表,所述行信息乱序表为所述第一参与方设备按照所述匿踪查询结果生成的,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
样本数据排列模块,用于将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列;
特征数据获取模块,用于从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
11.一种多方数据交集计算装置,其特征在于,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述装置,包括:
匿踪查询模块,用于通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
结果接收模块,用于接收所述密文计算节点发送的所述匿踪查询结果;
特征数据发送模块,用于按照所述匿踪查询结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
乱序表生成模块,用于按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
乱序表发送模块,用于向所述密文计算节点发送所述行信息乱序表,使得所述密文计算节点将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
12.一种多方数据交集计算装置,其特征在于,应用于第二参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,第二参与方设备持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述装置,包括:
索引列添加模块,用于在自身持有的多个第二样本的第二样本数据中添加索引列,每个第二样本的索引列的信息为该第二样本在第二样本数据中所在行的行信息;
匿踪查询模块,用于通过与密文计算节点之间的信息交互,以及密文计算节点与第一参与方设备之间的信息交互,基于所述多个第一样本和所述多个第二样本的样本唯一标识,执行针对多个第一样本对多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,对于在第二样本中存在交集的第一样本,该第一样本的结果信息为作为交集的第二样本在第二样本数据中所在行的行信息,对于在第二样本中不存在交集的第一样本,该第一样本的结果信息为预设值;
特征数据发送模块,用于向所述密文计算节点发送多个第二样本的密文样本特征数据,使得所述密文计算节点获取多个第二样本的行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置,并将接收的所述第二参与方设备发送的多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
13.一种多方数据交集计算装置,其特征在于,应用于密文计算节点,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述装置,包括:
隐私求交模块,用于针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,得到隐私求交结果,所述隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
求交结果发送模块,用于向所述第一参与方设备发送所述隐私求交结果,使得所述第一参与方设备按照所述隐私求交结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
匿踪查询模块,用于分别针对每个第二参与方设备执行如下步骤:
通过与第一参与方设备和该第二参与方设备之间的信息交互,基于存在交集的所述各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对所述各第一样本对该多个第二样本的索引列的匿踪查询,得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
查询结果发送模块,用于向所述第一参与方设备发送该匿踪查询结果,使得所述第一参与方设备按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
乱序表接收模块,用于接收所述第一参与方设备发送的所述行信息乱序表;
样本数据排列模块,用于将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列;
特征数据获取模块,用于从排列后的该多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
14.一种多方数据交集计算装置,其特征在于,应用于第一参与方设备,第一参与方设备持有第一样本数据,第一样本数据包括多个第一样本的样本唯一标识和样本特征数据,多个第二参与方设备各自持有第二样本数据,第二样本数据包括多个第二样本的样本唯一标识和样本特征数据,所述装置,包括:
隐私求交模块,用于针对第一参与方设备和多个第二参与方设备进行多方隐私求交计算,使得密文计算节点得到隐私求交结果,所述隐私求交结果表示第一参与方设备与多个第二参与方设备之间的各交集样本;
求交结果接收模块,用于接收所述密文计算节点发送的所述隐私求交结果;
特征数据发送模块,用于按照所述隐私求交结果,向所述密文计算节点发送存在交集的各第一样本的密文样本特征数据;
匿踪查询模块,用于分别针对每个第二参与方设备执行如下步骤:
通过与密文计算节点之间的信息交互,以及密文计算节点与第二参与方设备之间的信息交互,基于存在交集的所述各第一样本和该第二参与方设备持有的多个第二样本的样本唯一标识,执行针对所述各第一样本对该多个第二样本的索引列的匿踪查询,使得密文计算节点得到匿踪查询结果,其中,该多个第二样本的索引列的信息为每个第二样本在第二样本数据中所在行的行信息,所述匿踪查询结果中,每个第一样本的结果信息为对应作为交集的第二样本在第二样本数据中所在行的行信息;
查询结果接收模块,用于接收所述密文计算节点发送的所述匿踪查询结果;
乱序表生成模块,用于按照所述匿踪查询结果,生成行信息乱序表,作为交集的各第二样本的行信息位于所述行信息乱序表中的指定位置;
乱序表发送模块,用于向所述密文计算节点发送所述行信息乱序表,使得所述密文计算节点将接收的该第二参与方设备发送的该多个第二样本的密文样本特征数据,按照所述行信息乱序表中的顺序进行排列,以及从排列后的该多个第二样本的密文样本特征数据中,按照所述行信息乱序表中作为交集的各第二样本的行信息所位于的指定位置,获取作为交集的各第二样本的密文样本特征数据。
15.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-3任一所述的方法,或者,实现权利要求4-5任一所述的方法,或者,实现权利要求6所述的方法,或者,实现权利要求7-8所述的方法,或者,实现权利要求9所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-3任一所述的方法,或者,实现权利要求4-5任一所述的方法,或者,实现权利要求6所述的方法,或者,实现权利要求7-8所述的方法,或者,实现权利要求9所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210537199.6A CN114722049B (zh) | 2022-05-18 | 2022-05-18 | 一种多方数据交集计算方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210537199.6A CN114722049B (zh) | 2022-05-18 | 2022-05-18 | 一种多方数据交集计算方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114722049A CN114722049A (zh) | 2022-07-08 |
CN114722049B true CN114722049B (zh) | 2022-08-12 |
Family
ID=82230910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210537199.6A Active CN114722049B (zh) | 2022-05-18 | 2022-05-18 | 一种多方数据交集计算方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114722049B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969128B (zh) * | 2022-07-28 | 2022-10-28 | 翼方健数(北京)信息科技有限公司 | 一种基于安全多方计算技术的隐匿查询方法、系统和存储介质 |
CN115688167B (zh) * | 2022-10-13 | 2023-09-26 | 北京沃东天骏信息技术有限公司 | 匿踪查询方法、装置和系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210249A (zh) * | 2019-06-13 | 2019-09-06 | 上海富数科技有限公司 | 基于数据混淆实现匿踪查询功能的系统及其方法 |
CN113489583A (zh) * | 2021-09-07 | 2021-10-08 | 华控清交信息科技(北京)有限公司 | 一种多方隐私求交中的数据处理方法、装置及电子设备 |
CN113657616A (zh) * | 2021-09-02 | 2021-11-16 | 京东科技信息技术有限公司 | 联邦学习模型的更新方法和装置 |
CN114091067A (zh) * | 2021-11-24 | 2022-02-25 | 中国银联股份有限公司 | 一种样本对齐方法、装置、设备及存储介质 |
CN114143000A (zh) * | 2021-11-29 | 2022-03-04 | 百保(上海)科技有限公司 | 基于不经意传输协议与秘密分享的匿踪查询方法及装置 |
CN114329527A (zh) * | 2021-12-17 | 2022-04-12 | 阿里巴巴(中国)有限公司 | 交集数据获取方法、设备和系统 |
CN114374518A (zh) * | 2021-12-08 | 2022-04-19 | 神州融安数字科技(北京)有限公司 | 具有交集计数的psi获取交集信息的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8000949B2 (en) * | 2001-06-18 | 2011-08-16 | Genego, Inc. | Methods for identification of novel protein drug targets and biomarkers utilizing functional networks |
US20180010874A1 (en) * | 2016-01-19 | 2018-01-11 | Oss Suppressors Llc | Firearm flash hider |
US11128636B1 (en) * | 2020-05-13 | 2021-09-21 | Science House LLC | Systems, methods, and apparatus for enhanced headsets |
-
2022
- 2022-05-18 CN CN202210537199.6A patent/CN114722049B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210249A (zh) * | 2019-06-13 | 2019-09-06 | 上海富数科技有限公司 | 基于数据混淆实现匿踪查询功能的系统及其方法 |
CN113657616A (zh) * | 2021-09-02 | 2021-11-16 | 京东科技信息技术有限公司 | 联邦学习模型的更新方法和装置 |
CN113489583A (zh) * | 2021-09-07 | 2021-10-08 | 华控清交信息科技(北京)有限公司 | 一种多方隐私求交中的数据处理方法、装置及电子设备 |
CN114091067A (zh) * | 2021-11-24 | 2022-02-25 | 中国银联股份有限公司 | 一种样本对齐方法、装置、设备及存储介质 |
CN114143000A (zh) * | 2021-11-29 | 2022-03-04 | 百保(上海)科技有限公司 | 基于不经意传输协议与秘密分享的匿踪查询方法及装置 |
CN114374518A (zh) * | 2021-12-08 | 2022-04-19 | 神州融安数字科技(北京)有限公司 | 具有交集计数的psi获取交集信息的方法及装置 |
CN114329527A (zh) * | 2021-12-17 | 2022-04-12 | 阿里巴巴(中国)有限公司 | 交集数据获取方法、设备和系统 |
Non-Patent Citations (2)
Title |
---|
Privacy-Preserving Linear Region Search Service;Hua Zhang 等;《IEEE Transactions on Services Computing》;20171127;第14卷(第1期);207-221 * |
隐私计算发展综述;闫树 等;《信息通信技术与政策》;20210615;第47卷(第6期);1-11 * |
Also Published As
Publication number | Publication date |
---|---|
CN114722049A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114722049B (zh) | 一种多方数据交集计算方法、装置及电子设备 | |
KR102652551B1 (ko) | 분산 조정을 사용한 스마트 계약 실행 | |
CN108900533B (zh) | 一种共享数据隐私保护方法、系统、终端及介质 | |
CN108111314B (zh) | 数字证书的生成和校验方法及设备 | |
Cramer et al. | Secure multiparty computation | |
JP6034927B1 (ja) | 秘密計算システム、秘密計算装置、およびプログラム | |
CN110597925A (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
CN112000744B (zh) | 一种签名方法及相关设备 | |
CN102103639A (zh) | 数据验证方法和装置 | |
CN112968881B (zh) | 区块链匿名投票方法、计算机设备和存储介质 | |
CN113489583B (zh) | 一种多方隐私求交中的数据处理方法、装置及电子设备 | |
CN106599725B (zh) | 图数据发布的随机化隐私保护方法 | |
CN110868286A (zh) | 一种基于区块链智能合约生成随机数的方法 | |
CN114282076A (zh) | 一种基于秘密分享的排序方法和系统 | |
CN110941834B (zh) | 多方计算、数据审计、数据处理方法、系统及设备 | |
CN108710658B (zh) | 一种数据记录的存储方法及装置 | |
CN109859041B (zh) | 基于区块链的基金交易实时更新方法及系统、电子设备 | |
CN112039893B (zh) | 私密交易处理方法、装置、电子设备及可读存储介质 | |
CN114900334B (zh) | Nft权限控制方法、系统、计算机可读存储介质及终端设备 | |
CN114282255B (zh) | 一种基于秘密分享的排序序列合并方法和系统 | |
CN115187272A (zh) | 食品溯源信息的存证方法和装置 | |
CN112036884A (zh) | 一种签名方法及相关设备 | |
CN112615895A (zh) | 投票结果的生成与统计方法、装置及电子设备 | |
CN112905705A (zh) | 基于区块链的数据生命周期管理系统 | |
Ronge | Security and Privacy of Cryptocurrency Signatures |
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 |