CN114036572A - 隐私求交的方法及装置 - Google Patents
隐私求交的方法及装置 Download PDFInfo
- Publication number
- CN114036572A CN114036572A CN202111436332.0A CN202111436332A CN114036572A CN 114036572 A CN114036572 A CN 114036572A CN 202111436332 A CN202111436332 A CN 202111436332A CN 114036572 A CN114036572 A CN 114036572A
- Authority
- CN
- China
- Prior art keywords
- data
- pieces
- party
- intersection
- privacy
- 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.)
- Pending
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Finance (AREA)
- Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Telephonic Communication Services (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Marketing (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
Abstract
本说明书实施例提供一种隐私求交方法及装置,在多方安全计算的隐私求交过程中,可以由进行隐私求交的两个数据方分别针对本地数据,利用标记码对预定数值的取模处理,以按照模值对数据进行区分。接着,两个数据方在安全方式下对得到的模值进行一次隐私求交,交集为相同模值,然后可以对相同模值下的数据进行隐私求交。该方式将数据的隐私求交过程拆分为至少两级,一级为对模值进行隐私求交,从而过滤出可能存在于与对方的交集中的数据,另一级对相同模值下的数据进行隐私求交,此时的数据量经过过滤已大大降低。这种方式可以降低隐私求交的数据处理量和复杂度,提高隐私求交的效率。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及隐私求交的方法及装置。
背景技术
安全多方计算(Multi-party Computation,可以简称为MPC)又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。例如,安全多方计算一个典型的应用是隐私求交。隐私求交(Private set intersection,PSI)可以理解为在基于隐私保护的前提下,确定多方之间的数据交集。隐私求交往往是多方协同训练机器学习算法以及做多头借贷等业务的核心。隐私求交的核心思想是在协议交互的最后,一方或是多方应该得到正确的交集,而且不会得到交集以外其他方数据集合中的其他任何数据。隐私求交的过程中,数据量和通信量的多少,直接影响着计算机资源使用量和隐私求交的效率。
发明内容
本说明书一个或多个实施例描述了一种隐私求交方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供一种隐私求交方法,用于在保护数据隐私的情况下,确定第一方持有的N条第一数据和第二方持有的M条第二数据的数据交集;所述方法包括:第一方利用一一对应于N条第一数据的N个标记码分别对数值L取模,得到对应于n个第一标识的n个模值;第二方利用一一对应于M条第二数据的M个标记码分别对数值L取模,得到对应于m个第二标识的m个模值;第一方、第二方对所述n个第一标识和所述m个第二标识执行隐私求交操作,得到所述n个第一标识和所述m个第二标识中的s个共同标识;第一方、第二方对各自与所述s个共同标识对应的P条第一数据、Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集。
在一个实施例中,所述隐私求交可以通过秘密分享、同态加密、混淆电路、不经意传输中的至少一种实现。
在一个实施例中,所述第一方、第二方对各自与所述s个共同标识对应的P条第一数据、Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集包括:第一方、第二方各自确定本地与所述s个共同标识对应的第一数据条数P、第二数据条数Q;第一方、第二方通过安全比较检测P和Q的差别是否满足预定条件;第一方、第二方基于检测结果对所述P条第一数据、Q条第二数据执行隐私求交操作。
在一个进一步的实施例中,所述预定条件为:所述预定条件为:P和Q中的较小值与较大值的比值大于第一阈值,或者较大值与较小值的比值小于第二阈值。
在一个实施例中,在P和Q不满足预定条件的情况下,所述第一方、第二方基于检测结果对所述P条第一数据、Q条第二数据执行隐私求交操作进一步包括:第一方将所述P条第一数据对应的P个标记码分别对数值L'取模,得到的p个模值对应p个第一标识;第二方将所述Q条第二数据对应的Q个标记码分别对数值L'取模,得到的q个模值对应q个第二标识;第一方、第二方对所述p个第一标识和所述q个第二标识执行隐私求交操作,得到所述p个第一标识和所述q个第二标识中相同的s'个共同标识;第一方、第二方对各自与所述s'个共同标识对应的a条第一数据、b条第二数据执行隐私求交操作,得到所述N条第一数据和所述M条第二数据的数据交集。
在一个实施例中,大小在N和M之间的整数。
在一个实施例中,L与N和M的乘积正相关。
在一个实施例中,单个标记码为相应的单条数据的哈希值、数据标识、数据标识的哈希值中的一项。
在一个实施例中,针对单个共同标识,第一方对应有至少一条第一数据,第二方对应有至少一条第二数据,所述第一方、第二方对各自与所述s个共同标识对应的P条第一数据、Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集包括:第一方、第二方针对s个共同标识,分别对相应的至少一条第一数据、至少一条第二数据进行隐私求交,得到所述数据交集的s个子集;第一方和/或第二方根据所述s个子集确定所述数据交集。
根据第二方面的实施例,提供一种隐私求交的方法,用于在保护数据隐私的情况下,确定第一方持有的N条第一数据和第二方持有的M条第二数据的数据交集;所述方法由所述第一方执行,包括:利用一一对应于N条第一数据的N个标记码分别对数值L取模,得到对应于n个第一标识的n个模值;基于所述n个第一标识与第二方的m个第二标识执行隐私求交操作,得到所述n个第一标识和所述m个第二标识中的s个共同标识,其中,所述m个第二标识与第二方利用一一对应于M条第二数据的M个标记码分别对数值L取模得到的m个模值相对应;和第二方针对与所述s个共同标识对应的P条第一数据和Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集。
在一个实施例中,所述和第二方针对与所述s个共同标识对应的P条第一数据和Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集包括:确定本地与所述s个共同标识对应的第一数据条数P;与第二方通过安全比较检测P和s个共同标识对应的第二数据条数Q的差别是否满足预定条件;基于检测结果,与第二方一起对P条第一数据、Q条第二数据执行隐私求交操作。
在一个实施例中,在P和Q不满足预定条件的情况下,所述基于检测结果,与第二方一起对P条第一数据、Q条第二数据执行隐私求交操作进一步包括:将所述P条第一数据对应的P个标记码分别对数值L'取模,得到的p个模值对应p个第一标识;与第二方对所述p个第一标识和q个第二标识执行隐私求交操作,得到所述p个第一标识和所述q个第二标识中相同的s'个共同标识,其中,q个第二标识与第二方将所述Q条第二数据对应的Q个标记码分别对数值L'取模得到的q个模值相对应;与第二方对各自对应于所述s'个共同标识的a条第一数据、b条第二数据执行隐私求交操作,得到所述N条第一数据和所述M条第二数据的数据交集。
在一个实施例中,针对单个共同标识,第一方对应有至少一条第一数据,第二方对应有至少一条第二数据,所述和第二方针对与所述s个共同标识对应的P条第一数据和Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集包括:与第二方针对s个共同标识,分别对相应的至少一条第一数据、至少一条第二数据进行隐私求交,得到所述数据交集的s个子集;根据所述s个子集确定所述数据交集。
根据第三方面,提供一种隐私求交的装置,用于在保护数据隐私的情况下,确定第一方持有的N条第一数据和第二方持有的M条第二数据的数据交集;所述装置设于所述第一方,包括:
降维单元,配置为利用一一对应于N条第一数据的N个标记码分别对数值L取模,得到对应于n个第一标识的n个模值;
第一隐私求交单元,配置为基于所述n个第一标识与第二方的m个第二标识执行隐私求交操作,得到所述n个第一标识和所述m个第二标识中的s个共同标识,其中,所述m个第二标识与第二方利用一一对应于M条第二数据的M个标记码分别对数值L取模得到的m个模值相对应;
第二隐私求交单元,配置为和第二方针对与所述s个共同标识对应的P条第一数据和Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集。
根据第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面的方法。
根据第五方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面的方法。
通过本说明书实施例提供的方法和装置,在多方安全计算的隐私求交过程中,可以由进行隐私求交的两个数据方分别针对本地数据,利用标记码对预定数值进行取模,以按照模值区分数据,如按照模值对数据分组或分区存储等。接着,两个数据方在安全方式下对得到的模值对应的区分标识进行隐私求交,得到两方相同的区分标识,并对相同区分标识下的数据进一步进行隐私求交。该方式将数据的隐私求交过程拆分为至少两级,一级为对数据的区分标识进行隐私求交,相当于找到可能与对方相同的数据,另一级针对彼此可能相同的数据进行隐私求交。可以理解,一方面,第一级隐私求交过程中的区分标识的数据量与初始的数据量相比可以大大减少,另一方面,针对相同区分标识下的数据进行隐私求交时数据量经过过滤已大大降低。如此,本说明书实施例提供的方法和装置可以大大降低隐私求交的数据处理量和复杂度,提高隐私求交的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书技术构思的隐私求交实施架构示意图;
图2示出根据一个实施例中两方交互的隐私求交方法流程图;
图3示出根据一个实施例的在一方实施的隐私求交方法流程图;
图4示出根据一个实施例中设于其中一方的隐私求交装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的技术方案进行描述。
首先,描述两个数据方的一个隐私求交场景。可以理解,隐私求交的目标是,在两个数据方相互不泄露本地业务数据隐私的情况下,由至少一个数据方获取两方业务数据的交集,即相同或相对应的业务数据。例如,在业务数据是银行信贷数据的情况下,两个银行可以作为隐私求交的两个数据方,确定的数据交集可以为相同的用户。银行用户例如可以通过手机号码、身份证号码等进行标识,则相应地,数据交集可以通过手机号码、身份证号码等标识的安全匹配确定。
作为一个隐私求交的示例,假设A、B为两个数据方,A方持有一组数据X,B方持有一组数据Y,则一种常规的隐私求交方法例如可以是B将数据Y的每一个元素y,都与A的数据X中的每一个元素x通过不经意伪随机函数进行隐私比较,进而得到X与Y的交集。假设数据X、Y中的元素均为n,则隐私求交的过程例如是:(1)A构造n个不经意伪随机函数的种子ki(i=0,1,2......n-1);(2)B对Y中的每一个元素y,执行一个对应不经意伪随机函数F,得到集合HB={F(ki,yi)|yi∈Y};(3)A对X中的每一个元素x,执行每一个不经意伪随机函数F,得到集合HA={F(ki,x)|x∈X};(4)A将集合HA发送给B,B确定HA和HB的交集,再将交集映射回Y,即可得到X与Y的交集。
这种方法虽然直观,但是开销很大,假设集合X、Y的元素数分别为|X|、|Y|,需要对比的数据量为O(|X|×|Y|),当集合大小|X|、|Y|增长时,隐私求交过程中的数据传输量增长很快。常规技术中,可以采用椭圆曲线迪菲赫尔曼加密(ECDH)、RSA等方式进行隐私求交,以减小网络开销,但需要对各项数据进行2次加密,计算量仍然至少为2(|X|+|Y|)个单位,在|X|、|Y|数量级较大的情况下,计算量仍然很大。
有鉴于此,本说明书提供一种降低基于多方安全计算的隐私求交复杂度的技术构思,减少数据处理量及通信量,提高隐私求交的效率。
图1示出了本说明书技术构思的一个具体实施架构。为了明确本说明书技术构思的效果,在图1中标示了具体数值,然而实践中,这些数值根据实际情况变化,而不受图中所标示数值的限制。如图1所示,在该具体实施架构中,假设了一个具体实施场景,数据方A(也可以称为第一方或A方)持有1万条(可扩展为N条,N为任意正整数)数据,数据方B(也可以称为第二方或B方)持有100万条(可扩展为M条,M为任意正整数)数据,使用常规方式隐私求交需要安全比较1万条数据和100万条数据,复杂度为1万×100万的隐私求交,在减少网络开销的隐私求交方式下,产生的较小的计算量例如为2×(1万+100万)个单位。
下面结合图2示出的一个实施例的隐私求交流程和图1示出的一个实施架构,进一步描述本说明书的技术构思。
图2示出的流程是两个数据方交互完成隐私求交过程的流程图。该图中涉及的第一方和第二方均可以是具有一定计算能力的计算机、设备或服务器,例如可以分别对应图1中的数据方A、数据方B。该流程在保护数据隐私的情况下,确定第一方持有的N条第一数据和第二方持有的M条第二数据的数据交集。以下参考图2详细介绍各个步骤。
本领域技术人员可以理解,在进行隐私求交时,第一方和第二方可以各自为本地数据通过协商一致的方式进行区分,如分组或分区存储等。参考数值L的作用是在相同数据对应相同区分标识的基础上限定各方最大区分标识数量。容易理解,数据对应的相关数值(本说明书中例如称为标记码)对参考数值L的可能模值为0至L-1,如果令这些模值对应数据的区分标识,则可以有效对数据进行区分,且两方的相同数据对应相同的区分标识。
如此,第一方和第二方首先可以协商参考数值L。两方可以利用安全计算方法在N、M之间的数值中随机指定一个数值,或者确定N、M的均值,或者确定一个与N、M乘积正相关的数值,作为参考数值L。在一个可选的实施例中,L还可以是固定值(如固定素数13),在另一个实施例中,L还可以由其中一方指定,本说明书对此不做限定。如图1中,参考数值L取10万。
在确定数值L之后,一方面,第一方通过步骤201,利用一一对应于N条第一数据的N个标记码分别对数值L取模,得到对应于n个第一标识的n个模值,另一方面,第二方通过步骤202,利用一一对应于M条第二数据的M个标记码分别对数值L取模,得到对应于m个第二标识的m个模值。
其中,步骤201和步骤202可以由第一方、第二方各自独立执行,两个步骤可以互不关联。例如他们可以并行执行,也可以由其中一方预先执行其中一个步骤。数据的标记码可以为数据的哈希值、数据标识或数据标识的哈希值等。其中,哈希值具有随机性,可以保证数据相对均匀地对应到各个区分标识。因此,将数据的哈希值或数据标识的哈希值作为标记码的情况下,第一方和第二方的哈希方法一致,以确保相同数据的哈希值一致。而数据标识如果以具有随机性的数值,且能保证在两方对相同数据通过一致的数值标识的情况下,也可以用于作为取模的数据。例如,第一方和第二方都通过具有唯一性的手机号码、身份证号标记其注册用户,由于手机号码、身份证号具有一定的随机性,可以用于对L取模区分的过程。
在标记码为哈希值的情况下,第一方和第二方可以预先协商哈希方法,以确保同样的数据对应同样的哈希值。标记码分别对数值L取模可以得到0至L-1之间的数值。单个第一标识对应有至少一条第一数据,单个第二标识对应有至少一条第二数据。第一标识可以看作对各条第一数据进行区分(如分组、分区等)的区分标识,第二标识可以看作对各条第二数据进行区分(如分组、分区等)的区分标识。
区分标识可以是数据的标记码对参考数值L取模得到的0至L-1之间的可能模值,也可以是与0至L-1一一对应的其他字符串标识。这样,第一方、第二方的数据均至多对应到0至L-1之间的L个区分标识。在一些实施例中,可以采用分组或分区存储等方式区分数据的情况下,区分标识可以为0至L-1之间的数值,则可以将数据对应区分标识存储,此时,第一标识、第二标识分别可以为第一方、第二方存入数据的分组或分区等区分标识。在一些实施例中,也可以不涉及分组或分区的概念,而仅仅是将数据按照对L取模的模值结果区分开来。或者说,对预先确定的数值L取模得到的模值一致的数据划分到一起。此时,第一标识/第二标识可以为第一方/第二方的数据标记码对L取模得到的0至L-1之间的模值对应的区分标识。
可以理解,由于单个数据方对L个模值对应的区分标识不一定被占满,因此,n、m均为小于或等于L的整数。如图1的具体示例中,假设协商的参考值L为10万,由于A方仅有1万条数据,因此,至多对应1万个区分标识,而B方持有100万条数据,至多对应10万个区分标识。
接着,在步骤203中,第一方、第二方对n个第一标识和m个第二标识执行隐私求交操作,得到n个第一标识和m个第二标识中的s个共同标识。其中,隐私求交的方式可以是已知的、未知的任意隐私求交方式。例如隐私求交可以通过秘密分享、同态加密、混淆电路、不经意传输等中的至少一种实现。
可以理解,交集数据是同时存在于第一方和第二方的数据,因此,在同样的数据区分过程中,在第一方和第二方,会对应到相同的区分标识(即不同模值)。进一步地,具有不同区分标识的数据必然是不同的,而具有相同区分标识的数据才具有相同的可能性。如果将第一方记录的区分标识和第二方的区分标识进行比较,则可以过滤掉对方不存在的区分标识对应的数据。例如第一方的10条数据对应区分标识“L-3”,而第二方无数据对应区分标识为“L-3”或无区分别标识“L-3”,则这10条数据一定不是两方的交集数据,从而可以在隐私求交过程中过滤掉。
因此,该步骤203中,可以进行一次区分标识的PSI(即隐私求交)。如此,将数据的隐私求交过程暂时转化为第一标识、第二标识的隐私求交。参考图1所示,通过A方的至多1万个(实际数量可以记为n)区分标识和B方的至多10万个(实际数量可以记为m)区分标识进行隐私求交。隐私求交的方法在此不再赘述。
容易理解,区分标识的隐私求交计算量远小于对数据直接隐私求交的计算量,尤其是两方数据量N和M相差较大(如相差2个或2个以上的数量级)的情况下。假设n个第一标识和m个第二标识中相同的标识数量为s,则可以得到s个共同标识。这里,s个共同标识可以由双方获取,以由双方确认可能与对方相同的数据。此次隐私求交的计算量根据隐私求交的方式不同而不同,为了进行对比,在图1中采用与前文1万条数据和100万条数据直接进行隐私求交一样的衡量机制,为至少2×(1万+10万)个单位。在图1中,假设区分标识的交集数量为5千个(实际数量s的取值范围为1至L-1)。
进一步地,在步骤204,第一方、第二方对各自与s个共同标识对应的P条第一数据、Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集。可以理解,第一方和第二方均可以按照区分标识的交集过滤本地数据。也就是过滤掉必然不和对方的数据相同的数据。更具体地,过滤掉不在区分标识交集中的其他区分标识对应的数据,或者仅获取区分标识交集对应的数据。如此,第一方未出现或为对应数据的区分标识在第二方对应的数据被过滤掉,而第二方未出现或为对应数据的区分标识在第一方对应的数据被过滤掉。因此,n个第一标识中不存在的单个第二标识,相应数据被过滤掉,同理,m个第二标识中不存在的单个第一标识,相应数据同样会被过滤掉。
可以理解,为了确保在第一次通过隐私求交时过滤掉部分数据,则区分后的数据不能过于集中,也不能过于分散,两种情形都不利于通过区分标识的隐私求交过滤数据。并且,在第一方和第二方的数据差距越大的情况下过滤效果越好。因此,前文双方协商L的过程中,令L在较小数量、较大数量之间进行平衡。例如L可以取N和M之间的数值,即大于较小数据量而小于较大数据量。在一个实施例中,L可以取N和M的均值。在另一个实施例中,L可以取与N、M乘积正相关的数,如(N·M)1/2等。
这里,可以假设第一方与s个共同标识可以对应有P条(如图1中为6千条)第一数据,第二方可以与s个共同标识对应有Q条(如图1中为5万条)第二数据。这样,对N条第一数据和M条第二数据的隐私求交过程,转化成P条第一数据、Q条第二数据的隐私求交。换句话说,这P条第一数据、Q条第二数据的数据交集即为N条第一数据和M条第二数据的数据交集。
在一个实施例中,第一方可以确定本地数据中与s个共同标识对应的P条第一数据,第二方可以确定本地数据中与s个共同标识对应的Q条第二数据,然后,第一方和第二方共同对P条第一数据和Q条第二数据确定数据交集。此时的计算复杂度为O(P×Q),计算量至少例如为2(P+Q)个单位,通信轮次至少为1。如图1中,A方和B方可以对过滤出的6千条数据和5万条数据进行隐私求交,得到数据交集。例如图1中示出的数据交集为1千条数据。同前,该次隐私求交的计算量例如为2×(6千+5万)个单位。
在另一个实施例中,第一方和第二方可以针对s个共同标识,进行s次隐私求交。假设第一方的s个共同标识对应的数据分别为p1、p2……ps条(p1+p2+……+ps=P),第一方的s个共同标识对应的数据分别为q1、q2……qs条(q1+q2+……+qs=Q),则第一方和第二方可以分别对p1条数据和q1条数据、p2条数据和q2条数据……进行隐私求交,得到数据交集的s个子集。之后,根据这s个子集可以得到数据交集,即为P条第一数据、Q条第二数据的数据交集。可以理解的是,这s个子集中可能存在空集。因此根据一个具体例子,可以将这s个子集过滤掉空集之后进行合并,得到数据交集。此时的计算复杂度为O(p1×q1)+O(p2×q2)+……+O(ps×qs),计算量例如少至2(P+Q),通信轮次如少至s。该实施例对s个共同标识对应的P条第一数据和Q条第二数据执行隐私求交操作的过程与前面的实施例相比,复杂度降低,但通信轮次增加。
在更多实施例中,第一方和第二方还可以利用其他方式对s个共同标识对应的P条第一数据、Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集,在此不再赘述。
值得说明的是,N条第一数据和M条第二数据的数据交集可以由第一方、第二方均获知,也可以由一方获知而另一方无法获知,根据隐私保护需求和/或业务需求而定,在此不做限定。
根据以上描述,在图1示出的具体例子中,直接对数据隐私求交的计算量约为2×(1万+100万)=202万单位,而采用本说明书的技术构思,计算量约为2×(1万+10万)+2×(6千+5万)=33.2万单位。相较而言,计算量降低一个数量级,远小于直接对数据进行隐私求交方式下的计算量。复杂度也大大降低。在以上过程中,计算量的比较在同样的隐私求交方式下进行,这是因为,本说明书的技术构思改进的是对数据隐私求交实施过程的架构,而不涉及数据隐私求交的具体数据设置细节。
可以理解的是,第一标识、第二标识的隐私求交过程是为了降低隐私求交的数据量,而隐私求交的数据量可以降低一次,也可以降低多次,视具体业务需求而定。如图1所示,经过一次降维之后,得到6千条数据对5万条数据隐私求交,此时,两方数据相差一个数量级,可以直接进行隐私求交。如果过滤后两方数据条数量仍悬殊,还可以进一步进行二次降维,也就是再次执行步骤201、步骤202和步骤203。
有鉴于此,在一个可能的设计中,第一方、第二方各自确定本地与所述s个共同标识对应的第一数据条数P、第二数据条数Q后,可以通过安全比较检测P和Q的差别是否满足预定条件,并基于检测结果对P条第一数据、Q条第二数据执行隐私求交操作。具体地,满足预定条件的话,可以认为降维成功,直接对P条第一数据和Q条第二数据进行隐私求交,否则,可以继续降维,直至满足预定条件。在一个实施例中,预定条件可以根据P和Q的比值确定,例如预定条件可以为:P和Q中的较小值与较大值的比值大于第一阈值(如1/10),或者较大值与较小值的比值小于第二阈值(如10)。在另一个实施例中,预定条件可以为,P和Q的数量级之差小于2。在其他实施例中,该预定条件还可以是其他条件,在此不再赘述。实践中,在第一方和第二方数据条数相差较大(例如相差2个及以上数量级)的情况下,降维效果尤其显著。
再次降维过程中,为了区别于前一次的取模结果,可以改变数值L或者数据的标记码。例如,在一个可选的实现方式中,可以将取模的参考值修改为L',L'的确定方式与L类似,在一个例子中例如为此时,第一方可以将P条第一数据对应的P个标记码分别对数值L'取模,得到的p个模值对应p个第一标识(同步骤201一致),第二方可以将Q条第二数据对应的Q个标记码分别对数值L'取模,得到的q个模值对应q个第二标识(同步骤202一致)。然后,第一方、第二方对p个第一标识和q个第二标识执行隐私求交操作,得到p个第一标识和q个第二标识中相同的s'个共同标识(同步骤203一致)。假设第一方与s'个共同标识对应的第一数据条数为a,第二方与s'个共同标识对应的第二数据条数为b,第一方、第二方可以对a条第一数据、b条第二数据执行隐私求交操作,得到的数据交集即为N条第一数据和M条第二数据的数据交集。
在图2示出的实施例中,基于被第一方和第二方的交互描述了本说明书实施架构下的实施流程,对于进行隐私求交的任一个数据方,如图2中的第一方或第二方,或者图1中的数据方A、数据方B而言,其执行的操作可以如图3所示。其中,图2中的第一方和第二方仅用于区分两个数据方,而对技术方案没有实质限定作用。因此,为了描述方便,假设图3示出的操作的执行方为第一方,则图3示出的隐私求交过程中单个数据方执行的流程包括:
步骤301,利用一一对应于N条第一数据的N个标记码分别对数值L取模,得到对应于n个第一标识的n个模值;
步骤302,基于n个第一标识与第二方的m个第二标识执行隐私求交操作,得到n个第一标识和m个第二标识中的s个共同标识,其中,m个第二标识与第二方利用一一对应于M条第二数据的M个标记码分别对数值L取模得到的m个模值相对应;
步骤303,和第二方针对与s个共同标识对应的P条第一数据、Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集。
第二方执行的操作流程与第一方相对,在此不再赘述。可以理解,图1示出的是本说明书的实施架构,图2示出的是本说明书实施架构下一个实施例中两方交互的隐私求交流程,因此,针对图1和图2的描述可以相互适应。图3示出的实施例可以是图1、图2中任一方在隐私求交过程中执行的架构,因此,针对图1、图2中相应数据方描述的方法同样适用于图3示出的流程,在此不再赘述。
基于以上描述的实施例中,本说明书提供的隐私求交方法,进行隐私求交的两个数据方,可以通过将本地数据按照针对预定数值的取模结果进行区分,这样,通过对两方得到的模数对应的区分标识的隐私求交,过滤不可能在两方一致的数据,从而仅对过滤后的数据进行隐私求交,大大降低数据量。如此,本说明书提供的隐私求交方法通过按模数进行区分的巧妙设置,以及先对区分标识进行隐私求交进行数据降维减量的实施架构,降低计算复杂度及数据计算量,提高隐私求交的效率。实验表明,对于两方数据量悬殊的情形,本说明书提供的技术构思效果尤其显著。
根据另一方面的实施例,还提供一种隐私求交的装置。用于在多方安全计算过程中,两个数据方进行隐私求交。该隐私求交的装置可以设于进行隐私求交的两个数据方的任意一方。进行隐私求交的两个数据方还可以看作一个进行隐私求交的系统。
图4示出了一个实施例的隐私求交装置400。如图4所示,装置400包括:
降维单元401,配置为利用一一对应于N条第一数据的N个标记码分别对数值L取模,得到对应于n个第一标识的n个模值;
第一隐私求交单元402,配置为基于n个第一标识与第二方的m个第二标识执行隐私求交操作,得到n个第一标识和m个第二标识中的s个共同标识,其中,m个第二标识与第二方利用一一对应于M条第二数据的M个标记码分别对数值L取模得到的m个模值相对应;
第二隐私求交单元403,配置为和第二方针对与s个共同标识对应的P条第一数据和Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集。
值得说明的是,图4所示的装置400与图3描述的方法相对应,图3的方法实施例中的相应描述同样适用于装置400,在此不再赘述。另外,本领域技术人员可以理解,第一隐私求交单元402和第二隐私求交单元403均用于与相对数据方进行隐私求交,区别在于针对的数据不同。这里,考虑到两次隐私求交的结果可能不同,例如第一次对模数的隐私求交结果在两方公开,而第二次隐私求交结果可能仅被一方获知,而示出了两个隐私求交单元401和402。在实践中,第一隐私求交单元402和第二隐私求交单元403可以表示同一个隐私求交单元,这样,装置400仅包括一个隐私求交单元,用于执行第一隐私求交单元402和第二隐私求交单元403的操作。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3等所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3等所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
Claims (16)
1.一种隐私求交的方法,用于在保护数据隐私的情况下,确定第一方持有的N条第一数据和第二方持有的M条第二数据的数据交集;所述方法包括:
第一方利用一一对应于N条第一数据的N个标记码分别对数值L取模,得到对应于n个第一标识的n个模值;
第二方利用一一对应于M条第二数据的M个标记码分别对数值L取模,得到对应于m个第二标识的m个模值;
第一方、第二方对所述n个第一标识和所述m个第二标识执行隐私求交操作,得到所述n个第一标识和所述m个第二标识中的s个共同标识;
第一方、第二方对各自与所述s个共同标识对应的P条第一数据、Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集。
2.根据权利要求1所述的方法,其中,所述隐私求交通过秘密分享、同态加密、混淆电路、不经意传输中的至少一种实现。
3.根据权利要求1所述的方法,其中,所述第一方、第二方对各自与所述s个共同标识对应的P条第一数据、Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集包括:
第一方、第二方各自确定本地与所述s个共同标识对应的第一数据条数P、第二数据条数Q;
第一方、第二方通过安全比较检测P和Q的差别是否满足预定条件;
第一方、第二方基于检测结果对P条第一数据、Q条第二数据执行隐私求交操作。
4.根据权利要求3所述的方法,其中,所述预定条件为:P和Q中的较小值与较大值的比值大于第一阈值,或者较大值与较小值的比值小于第二阈值。
5.根据权利要求3所述的方法,其中,在P和Q不满足预定条件的情况下,所述第一方、第二方基于检测结果对P条第一数据、Q条第二数据执行隐私求交操作进一步包括:
第一方将所述P条第一数据对应的P个标记码分别对数值L'取模,得到的p个模值对应p个第一标识;
第二方将所述Q条第二数据对应的Q个标记码分别对数值L'取模,得到的q个模值对应q个第二标识;
第一方、第二方对所述p个第一标识和所述q个第二标识执行隐私求交操作,得到所述p个第一标识和所述q个第二标识中相同的s'个共同标识;
第一方、第二方对各自与所述s'个共同标识对应的a条第一数据、b条第二数据执行隐私求交操作,得到所述N条第一数据和所述M条第二数据的数据交集。
6.根据权利要求1所述的方法,其中,L为大小在N和M之间的整数。
7.根据权利要求1或6所述的方法,其中,L与N和M的乘积正相关。
8.根据权利要求1所述的方法,其中,单个标记码为相应的单条数据的哈希值、数据标识、数据标识的哈希值中的一项。
9.根据权利要求1所述的方法,其中,针对单个共同标识,第一方对应有至少一条第一数据,第二方对应有至少一条第二数据,所述第一方、第二方对各自与所述s个共同标识对应的P条第一数据、Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集包括:
第一方、第二方针对s个共同标识,分别对相应的至少一条第一数据、至少一条第二数据进行隐私求交,得到所述数据交集的s个子集;
第一方和/或第二方根据所述s个子集确定所述数据交集。
10.一种隐私求交的方法,用于在保护数据隐私的情况下,确定第一方持有的N条第一数据和第二方持有的M条第二数据的数据交集;所述方法由所述第一方执行,包括:
利用一一对应于N条第一数据的N个标记码分别对数值L取模,得到对应于n个第一标识的n个模值;
基于所述n个第一标识与第二方的m个第二标识执行隐私求交操作,得到所述n个第一标识和所述m个第二标识中的s个共同标识,其中,所述m个第二标识与第二方利用一一对应于M条第二数据的M个标记码分别对数值L取模得到的m个模值相对应;
和第二方针对与所述s个共同标识对应的P条第一数据和Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集。
11.根据权利要求10所述的方法,其中,所述和第二方针对与所述s个共同标识对应的P条第一数据和Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集包括:
确定本地与所述s个共同标识对应的第一数据条数P;
与第二方通过安全比较检测P和s个共同标识对应的第二数据条数Q的差别是否满足预定条件;
基于检测结果,与第二方一起对P条第一数据、Q条第二数据执行隐私求交操作。
12.根据权利要求11所述的方法,其中,在P和Q不满足预定条件的情况下,所述基于检测结果,与第二方一起对P条第一数据、Q条第二数据执行隐私求交操作进一步包括:
将所述P条第一数据对应的P个标记码分别对数值L'取模,得到对应p个第一标识的p个模值;
与第二方对所述p个第一标识和q个第二标识执行隐私求交操作,得到所述p个第一标识和所述q个第二标识中相同的s'个共同标识,其中,q个第二标识与第二方将所述Q条第二数据对应的Q个标记码分别对数值L'取模得到的q个模值相对应;
与第二方对各自对应于所述s'个共同标识的a条第一数据、b条第二数据执行隐私求交操作,得到所述N条第一数据和所述M条第二数据的数据交集。
13.根据权利要求10所述的方法,其中,针对单个共同标识,第一方对应有至少一条第一数据,第二方对应有至少一条第二数据,所述和第二方针对与所述s个共同标识对应的P条第一数据和Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集包括:
与第二方针对s个共同标识,分别对相应的至少一条第一数据、至少一条第二数据进行隐私求交,得到所述数据交集的s个子集;
根据所述s个子集确定所述数据交集。
14.一种隐私求交的装置,用于在保护数据隐私的情况下,确定第一方持有的N条第一数据和第二方持有的M条第二数据的数据交集;所述装置设于所述第一方,包括:
降维单元,配置为利用一一对应于N条第一数据的N个标记码分别对数值L取模,得到对应于n个第一标识的n个模值;
第一隐私求交单元,配置为基于所述n个第一标识与第二方的m个第二标识执行隐私求交操作,得到所述n个第一标识和所述m个第二标识中的s个共同标识,其中,所述m个第二标识与第二方利用一一对应于M条第二数据的M个标记码分别对数值L取模得到的m个模值相对应;
第二隐私求交单元,配置为和第二方针对与所述s个共同标识对应的P条第一数据和Q条第二数据执行隐私求交操作,得到N条第一数据和M条第二数据的数据交集。
15.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求10-13中任一项的所述的方法。
16.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求10-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436332.0A CN114036572A (zh) | 2021-11-29 | 2021-11-29 | 隐私求交的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436332.0A CN114036572A (zh) | 2021-11-29 | 2021-11-29 | 隐私求交的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114036572A true CN114036572A (zh) | 2022-02-11 |
Family
ID=80145864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111436332.0A Pending CN114036572A (zh) | 2021-11-29 | 2021-11-29 | 隐私求交的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114036572A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114520721A (zh) * | 2022-03-22 | 2022-05-20 | 杭州博盾习言科技有限公司 | 多方安全计算隐私求交方法、装置、设备及存储介质 |
CN115422581A (zh) * | 2022-08-30 | 2022-12-02 | 北京火山引擎科技有限公司 | 一种数据处理方法及装置 |
WO2023241262A1 (zh) * | 2022-06-14 | 2023-12-21 | 胜斗士(上海)科技技术发展有限公司 | 数据求交方法及装置、设备和介质 |
-
2021
- 2021-11-29 CN CN202111436332.0A patent/CN114036572A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114520721A (zh) * | 2022-03-22 | 2022-05-20 | 杭州博盾习言科技有限公司 | 多方安全计算隐私求交方法、装置、设备及存储介质 |
CN114520721B (zh) * | 2022-03-22 | 2024-03-29 | 杭州博盾习言科技有限公司 | 多方安全计算隐私求交方法、装置、设备及存储介质 |
WO2023241262A1 (zh) * | 2022-06-14 | 2023-12-21 | 胜斗士(上海)科技技术发展有限公司 | 数据求交方法及装置、设备和介质 |
CN115422581A (zh) * | 2022-08-30 | 2022-12-02 | 北京火山引擎科技有限公司 | 一种数据处理方法及装置 |
CN115422581B (zh) * | 2022-08-30 | 2024-03-08 | 北京火山引擎科技有限公司 | 一种数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114036572A (zh) | 隐私求交的方法及装置 | |
US11256900B1 (en) | Facial recognition methods and apparatuses | |
US11101977B2 (en) | Data encryption and decryption | |
Lee et al. | Security enhancement on an RFID ownership transfer protocol based on cloud | |
EP3089398B1 (en) | Securing a cryptographic device | |
CN110719172A (zh) | 区块链系统中的签名方法、签名系统以及相关设备 | |
US7424114B2 (en) | Method for enhancing security of public key encryption schemas | |
US8582761B2 (en) | Cryptographic method with elliptical curves | |
CN110768782B (zh) | 基于非对称密钥池和ibs的抗量子计算rfid认证方法及系统 | |
CN115987512B (zh) | 基于不经意传输协议的数据处理方法、装置、系统及介质 | |
CN110516461B (zh) | 多通道图像加密方法、装置、存储介质及电子设备 | |
Ramakrishna et al. | A Novel Image Encryption using 3D Logistic Map and Improved Chirikov Map | |
CN113505348A (zh) | 一种数据的水印嵌入方法、验证方法及装置 | |
CN113987446A (zh) | 一种认证方法及装置 | |
Sarkar et al. | Cancelable biometric based key generation for symmetric cryptography | |
CN110826076B (zh) | 数据处理方法、装置、设备及系统 | |
CN106357662A (zh) | 一种基于mac地址的数据加密方法 | |
CN106992861B (zh) | 一种带有epc标签的rfid密钥无线生成方法及系统 | |
CN113761570A (zh) | 一种面向隐私求交的数据交互方法 | |
CN112446021A (zh) | 基于sm9加密的指纹认证方法、装置及相关设备 | |
Bosselaers et al. | SKID | |
CN115344893B (zh) | 基于文字特征识别的交易方法、装置及设备 | |
CN116244726A (zh) | 一种图像模糊匹配方法及装置 | |
Deshmukh et al. | Image and object encryption using multiplicative cipher and K-means clustering algorithm | |
CN106529616A (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 |