CN111539535B - 基于隐私保护的联合特征分箱方法及装置 - Google Patents
基于隐私保护的联合特征分箱方法及装置 Download PDFInfo
- Publication number
- CN111539535B CN111539535B CN202010502513.8A CN202010502513A CN111539535B CN 111539535 B CN111539535 B CN 111539535B CN 202010502513 A CN202010502513 A CN 202010502513A CN 111539535 B CN111539535 B CN 111539535B
- Authority
- CN
- China
- Prior art keywords
- values
- binning
- sequence
- tag
- feature
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供了一种基于隐私保护的联合特征分箱方法及装置。双方各自存储有隐私数据。标签持有方将同态加密后的N个第一加密标签值和生成的范围证明发送至特征持有方;特征持有方在基于范围证明验证通过后将N个第一加密标签值与N个特征值进行关联,并对N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列和N个第二加密标签值构成的第二序列,并将第二序列发送至标签持有方;标签持有方对第二序列中的第二加密标签值进行解密,得到各个初始分箱中的原始标签值,并基于此进行特征分箱,得到第一分箱结果,并发送至特征持有方;特征持有方再根据第一分箱结果对N个特征值进行分箱。
Description
技术领域
本说明书一个或多个实施例涉及数据处理技术领域,尤其涉及一种基于隐私保护的联合特征分箱方法及装置。
背景技术
分箱是机器学习建模中对特征进行处理的一种方法。对一个特征进行分箱,是对该特征的特征值值构成的集合(可能很大)进行分组,并将每一组视为一个类别值,也就是将集合中的很多值,聚合成少数个类别值。例如,对于年龄这个特征来说,各个样本中所有年龄的取值从1到50构成一个离散值集合,对该集合进行分组后可能得到以下3个分箱,年龄值从1到15构成一个分箱,从16到35构成一个分箱,从35到50构成一个分箱。对特征进行分箱,能够将连续变量离散化,将多状态的离散变量少状态化。分箱之后的特征,能够为模型训练带来很多性能提升,例如能够更易于对模型的快速迭代、提高模型稳定性、减少模型过拟合等。
分箱方法分为无监督分箱和有监督分箱。在无监督分箱中,对特征进行分箱时不需要依据样本标签。而在有监督分箱中,需要结合样本标签对特征进行分箱。
在有监督分箱中,一种应用场景是,样本的特征和标签分布在不同的持有方中,并且每个持有方对各自的数据存在隐私保护的要求,不会将自身数据进行明文输出。但是,两方为了联合训练模型等目的,又需要对特征进行有监督的分箱。因此,希望能有改进的方案,可以在特征和标签分布在不同方的场景下实现对特征的有监督分箱,同时保证隐私数据的隐私性和安全性。
发明内容
本说明书一个或多个实施例描述了一种基于隐私保护的联合特征分箱方法及装置,以在特征和标签分布在不同方的场景下实现对特征的有监督分箱,同时保证隐私数据的隐私性和安全性。具体的技术方案如下。
第一方面,提供了一种基于隐私保护的联合特征分箱方法,通过特征持有方执行,所述特征持有方存储有N个样本的第一特征的特征值,所述N个样本的原始标签值存储在标签持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述方法包括:
获取所述标签持有方发送的按照所述既定顺序排列的N个第一加密标签值,以及对应的范围证明;其中,在约定情况下,每个第一加密标签值是使用公钥对对应的原始标签值同态加密后得到;
基于所述范围证明,验证所述N个第一加密标签值对应的原始标签值的值处于所述指定范围内;
当验证通过时,基于所述既定顺序,将所述N个第一加密标签值分别与所述第一特征的N个特征值进行关联,得到关联关系;
对所述N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列,并基于所述关联关系,处理得到按照所述更新顺序排列的N个第二加密标签值构成的第二序列;
至少将所述第二序列发送至所述标签持有方,以使所述标签持有方至少基于所述第二序列进行特征分箱,得到第一分箱结果;
接收所述标签持有方发送的所述第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱,得到特征分箱结果。
第二方面,实施例提供了一种基于隐私保护的联合特征分箱方法,通过标签持有方执行,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述方法包括:
使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于所述N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值和所述范围证明发送至所述特征持有方;
接收所述特征持有方至少发送的第二序列,其在所述特征持有方基于所述范围证明验证通过后发送;所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
使用与所述公钥对应的私钥,将所述第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照所述更新顺序排列的N个原始标签值;
至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
将所述第一分箱结果发送至所述特征持有方。
第三方面,实施例提供了一种基于隐私保护的联合特征分箱方法,通过标签持有方执行,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述方法包括:
使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于所述N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
接收所述特征持有方至少发送的所述第二序列,其在所述特征持有方基于所述范围证明验证通过后发送,所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
使用与所述公钥对应的私钥,将所述第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照所述更新顺序排列的N个原始标签值;
至少基于按照所述更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
将所述第一分箱结果发送至所述特征持有方。
第四方面,实施例提供了一种基于隐私保护的联合特征分箱装置,部署在特征持有方中,所述特征持有方存储有N个样本的第一特征的特征值,所述N个样本的原始标签值存储在标签持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述装置包括:
获取模块,配置为,获取所述标签持有方发送的按照所述既定顺序排列的N个第一加密标签值,以及对应的范围证明;其中,在约定情况下,每个第一加密标签值是使用公钥对对应的原始标签值同态加密后得到;
验证模块,配置为,基于所述范围证明,验证所述N个第一加密标签值对应的原始标签值的值处于所述指定范围内;
关联模块,配置为,当所述验证模块验证通过时,基于所述既定顺序,将所述N个第一加密标签值分别与所述第一特征的N个特征值进行关联,得到关联关系;
重排模块,配置为,对所述N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列,并基于所述关联关系,处理得到按照所述更新顺序排列的N个第二加密标签值构成的第二序列;
第一发送模块,配置为,至少将所述第二序列发送至所述标签持有方,以使所述标签持有方至少基于所述第二序列进行特征分箱,得到第一分箱结果;
第一接收模块,配置为,接收所述标签持有方发送的所述第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第一分箱模块,配置为,按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱,得到特征分箱结果。
第五方面,实施例提供了一种基于隐私保护的联合特征分箱装置,部署在标签持有方中,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述装置包括:
加密模块,配置为,使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于所述N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值和所述范围证明发送至所述特征持有方;
第二接收模块,配置为接收所述特征持有方至少发送的第二序列,其在所述特征持有方基于所述范围证明验证通过后发送;所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块,配置为,使用与所述公钥对应的私钥,将所述第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照所述更新顺序排列的N个原始标签值;
第二分箱模块,配置为,至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块,配置为将所述第一分箱结果发送至所述特征持有方。
第六方面,实施例提供了一种基于隐私保护的联合特征分箱装置,部署在标签持有方中,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述装置包括:
加密模块,配置为,使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于所述N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值和所述范围证明发送至所述特征持有方;
第二接收模块,配置为接收所述特征持有方至少发送的所述第二序列,其在所述特征持有方基于所述范围证明验证通过后发送,所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块,配置为,使用与所述公钥对应的私钥,将所述第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照所述更新顺序排列的N个原始标签值;
第三分箱模块,配置为,至少基于按照所述更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块,配置为将所述第一分箱结果发送至所述特征持有方。
第七方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第三方面中任一项所述的方法。
第八方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第三方面中任一项所述的方法。
根据本说明书实施例提供的方法和装置,标签持有方将第一加密标签值与范围证明发送至特征持有方,特征持有方在基于范围证明验证通过后将特征值与加密标签值进行关联,并对特征值重新排序,将重排序之后的加密标签值发送至标签持有方。这样,标签持有方通过解密,可以得到更新排序后的原始标签值,并基于此执行进一步的特征分箱操作,并将得到的第一分箱结果发送至特征持有方。整个交互过程没有发送任何明文数据,同时实现了对特征的有监督分箱,同态加密也尽可能保证了隐私数据的隐私性和安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为一个实施例提供的两方之间进行分箱的交互流程示意图;
图3为特征持有方中相等特征值所在位置和第一分箱编号的示意图;
图4为图2中步骤S260的一种迭代实施流程示意图;
图5为另一个实施例提供的两方之间进行分箱的交互流程示意图;
图6为基于拆分的迭代分箱过程示意图;
图7为一个实施例提供的部署在特征持有方的分箱装置的示意性框图;
图8为一个实施例提供的部署在标签持有方的分箱装置的示意性框图;
图9为另一个实施例提供的部署在标签持有方的分箱装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。其中,特征持有方10存储有N个样本的第一特征的特征值,标签持有方20存储有该N个样本的原始标签值,在两方中,该N个样本均按照既定顺序排列。其中,N为自然数。该N个样本可以作为模型测试集中的样本,也可以作为模型训练集中的样本,本说明书对此不作限定。
上述第一特征,可以是样本的多个特征中的任意一个。例如,每个样本可以是以下业务对象之一:用户、商品、商户和事件等。当样本是商品时,样本的特征可以包括:价格、销量等,样本的标签可以包括高销量商品、中销量商品、低销量商品等类别;当样本是用户时,样本的特征可以包括:用户年龄、收入、消费额等,样本的标签可以包括针对某个客户端的使用频率值。第一特征的特征值可以是离散型特征值,也可以是连续型特征值。样本的标签可以是分类标签,也可以是非分类标签,即数值标签。
在风险控制场景中,样本的特征可以包括用户数据。用户可以划分为有风险用户(异常用户)和无风险用户(正常用户),该用户数据是需要保密的隐私数据。在这种场景下,样本的标签可以是分类标签,该样本所在的数据集可以用于训练风险控制模型。
特征持有方10存储有N个样本的样本标识和对应的第一特征的特征值(即特征数据),图1中示例性地将第一特征的特征值采用xx来代替。标签持有方20存储有N个样本的样本标识和对应的标签值(即标签数据),图1中示例性地将标签的取值采用yy来代替。特征持有方10和标签持有方可以共享样本排序。N个样本按照既定顺序排列可以理解为,特征持有方10对样本的排序和标签持有方20对标签的排序可以使得:特征持有方10的第n条样本和标签持有方20的第n个标签匹配成带标签的一条完整样本,n为小于等于N的一个值。比如说特征持有方10的第1条样本用来描述用户A的特征(如年龄大小、学历高低、月消费金额等等),标签持有方20的第1个标签用来描述用户A是否属于高风险用户(如“1”表示高风险用户,“0”表示非高风险用户),特征持有方10的第1条样本和标签持有方20的第1个标签构成了一条描述用户A的带标签的样本。又例如,特征持有方10的第16条样本用来描述用户P的特征(如年龄大小、学历高低、月消费金额等等),标签持有方20的第16个标签用来描述用户P是否属于高风险用户(如“1”表示高风险用户,“0”表示非高风险用户),特征持有方10的第16条样本和标签持有方20的第16个标签构成了一条描述用户P的带标签的样本。上述特征数据和标签数据均属于隐私数据。
当样本的特征和标签分布在不同的持有方中,并且每个持有方对各自的数据存在隐私保护的要求,不会将自身数据进行明文输出时,为了实现对特征的有监督分箱,又***露各方的隐私数据,本说明书实施例提供了一种两方联合的分箱方法。参见图1中示出的交互过程,标签持有方20对原始标签值进行同态加密,得到第一加密标签值,并确定第一加密标签值的范围证明,将第一加密标签值和范围证明发送至特征持有方10;特征持有方10在基于范围证明对第一加密标签值验证通过之后,对特征值重排序,并根据特征值和接收的第一加密标签值之间的关联关系,处理得到更新顺序的第二加密标签值,将更新顺序的第二加密标签值发送至标签持有方20;标签持有方20基于接收的信息进行进一步的特征分箱操作,得到第一分箱结果,并将其发送至特征持有方10;特征持有方10基于第一分箱结果,对更新顺序的特征值进行分箱,得到特征分箱结果。可见,整个交互过程没有任何明文数据的发送,同时实现了对特征的有监督分箱,采用的同态加密也尽可能保证了隐私数据的隐私性和安全性。
图1中,特征持有方10中得到的每个分箱(分箱1、分箱2和分箱3)可以包含不同数量的样本,一般来说不同分箱中的样本也是不重叠的。该特征分箱结果仅为一种示例,具体应用中的特征分箱结果可以包含不同数量的分箱以及每个分箱中有不同的样本。
当特征持有方中包含有样本的多个特征时,可以针对每一个特征,采用本说明书实施例的分箱方法,通过与特征持有方的交互,实现对该特征的有监督分箱。当样本的多个特征分布在不同的特征持有方中时,可以由待分箱的特征所在的特征持有方与标签持有方采用本说明书实施例的方式执行。
下面结合图1所示的场景示意图,对本说明书实施例进行更详细的说明。
图2为一实施例提供的基于隐私保护的有监督特征分箱方法的流程示意图,该方法通过特征持有方10和标签持有方20交互执行。特征持有方10存储有N个样本的第一特征的特征值,N个样本的原始标签值存储在标签持有方20中。N个原始标签值的值处于指定范围内,双方共享该指定范围。双方可以预先设定标签在指定范围[0,k-1]内,k为大于1的整数,当然也可以预先设定标签值在[0,k]或其他指定范围内取值;该指定范围也可以是指定整数范围值内,例如N个原始标签值可以在[0,k-1]或[0,k]表示的整数范围内取整数值。例如,分类标签属于二分类时,N个原始标签值可以在0和1之间取值,则指定范围可以是[0,1]。或者,分类标签属于三分类时,N个原始标签值可以在0、1、2之间取值,则指定范围可以是[0,2]。双方中,N个样本按照既定顺序排列,该既定顺序可以是样本标识(Identification,ID)从小到大的顺序或者从大到小的顺序,也可以是指定字典中显示的样本标识顺序。该方法包括以下步骤S210~S280。
步骤S210,标签持有方20使用公钥Key1将N个原始标签值分别同态加密为对应的第一加密标签值,例如将原始标签值yy同态加密为E(yy),基于该N个第一加密标签值生成范围证明,并将按照上述既定顺序排列的N个第一加密标签值和范围证明发送至特征持有方10。特征持有方10可以接收标签持有方20发送的按照既定顺序排列的N个第一加密标签值以及对应的范围证明。
上述范围证明,用于证明N个第一加密标签值对应的原始标签值的值处于指定范围内。针对原始标签值,采用同态加密的方式将其加密为对应的第一加密标签值,是标签持有方20和特征持有方10相互约定的数据处理方式。当标签持有方20在约定情况下,可以对原始标签值按照指定的同态加密算法进行同态加密,而且不会在第一加密标签值对应的明文中添加任何标记。标签持有方20为了证明自身确实是按照约定方式进行加密得到了N个第一加密标签值,所以基于该N个第一加密标签值生成该范围证明。
当然,还有一种可能的情况,恶意者或者冒充者不按照上述约定的方式进行加密,也得到N个精心编造的第一加密标签值,并将其发送至特征持有方10,以套取特征持有方10中的隐私数据。如果恶意者或者冒充者没有该范围证明,或者只有冒充的范围证明,则无法套取特征持有方10的隐私数据。
标签持有方20在向特征持有方10发送N个第一加密标签值和对应的范围证明时,可以同时或者说连续地对N个第一加密标签值和对应的范围证明进行发送,也可以将N个第一加密标签值与对应的范围证明分开发送。关于范围证明的具体生成和发送过程,在本实施例的最后有更详细的说明。
特征持有方10也可以先向标签持有方20发送数据获取请求,标签持有方20在接收到该数据获取请求时,使用公钥Key1将N个原始标签值同态加密为对应的第一加密标签值,即执行步骤S210。
在本步骤中,标签持有方20可以直接生成用于同态加密的公钥Key1和对应的私钥Key2,也可以直接获取预先生成的公钥Key1和私钥Key2。
N个原始标签值的取值可以包含在指定范围值之内,各个具体取值可能会出现多次。例如,原始标签值可以在[0,1,2,3,4]范围内取值,N个原始标签值中,上述范围内的各个取值会出现多次。但是,标签持有方20使用公钥分别对N个原始标签值一一进行同态加密,能够使得得到的所有第一加密标签值互不相同,使得特征持有方无法根据按照既定顺序排列的N个第一加密标签值的取值来推测标签持有方中的隐私数据。可见,这种加密方式能够更好地对标签持有方的标签值进行保密,尽可能***露任何隐私数据。关于同态加密的具体实施过程,在本实施例的最后对其进行详细说明。
步骤S220,特征持有方10基于上述范围证明,验证该N个第一加密标签值对应的原始标签值的值处于上述指定范围内;当验证通过时,基于既定顺序,将N个第一加密标签值分别与第一特征的N个特征值进行关联,得到关联关系。
具体的,标签持有方20基于所述范围证明,验证N个第一加密标签值对应的原始标签值的值处于指定范围内时,可以对范围证明进行计算处理,根据计算处理结果验证各个第一加密标签值对应的原始标签值的值是否均处于指定范围内,如果均处于,则验证通过。当验证通过时,认为N个第一加密标签值是按照约定的方式加密得到,提示环境安全,可以继续执行后续步骤;当验证失败时,认为环境危险,暂停或拒绝执行后续步骤。关于对验证该N个第一加密标签值对应的原始标签值的值是否处于上述指定范围内的详细说明,可以参见本实施例之后的详细说明。
其中,当验证通过时认为N个第一加密标签值是按照约定的方式加密得到,可以包含多层含义,即标签持有方采用了指定的同态加密算法、对原始标签值、进行了正确的同态加密。
特征值持有方10中预先存储有按照既定顺序排列的N个特征值,直接将按照既定顺序排列的N个特征值分别与对应的第一加密标签值进行关联即可。例如,表1示出特征持有方10中第一特征的N个特征值与对应的第一加密标签值的关联关系。
表1
样本ID | 1 | 2 | 3 | 4 | 5 | 6 | … | N |
特征值 | xx | xx | xx | xx | xx | xx | … | xx |
第一加密标签值 | E(yy) | E(yy) | E(yy) | E(yy) | E(yy) | E(yy) | … | E(yy) |
其中,xx为特征值的具体取值,yy为原始标签值的具体取值,各个特征值的取值是不同的,各个原始标签值的取值也是不同的,各个第一加密标签值互不相同。
对特征值和第一加密标签值进行关联,能够得到样本ID、特征值、第一加密标签值之间的对应关系。
步骤S230,特征持有方10对N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列,并基于上述关联关系,处理得到按照更新顺序排列的N个第二加密标签值构成的第二序列。步骤S240,特征持有方10至少将第二序列发送至标签持有方20,标签持有方20接收特征持有方10至少发送的第二序列。
在一种实施方式中,上述按照更新顺序排列的N个第二加密标签值,可以直接等于按照更新顺序排列的N个第一加密标签值,即第二加密标签值等于对应的第一加密标签值。在另一种实施方式中,还可以对第一加密标签值进行处理,得到对应的第二加密标签值,进而得到按照更新顺序排列的N个第二加密标签值。在这种实施方式中,第二加密标签值并不等于对应的第一加密标签值。这种实施方式的具体实施过程在本实施例之后的其他实施例中详细说明。对第一加密标签值进行处理,得到对应的第二加密标签值的步骤,可以在对N个特征值重新排序之前执行,也可以在其之后或同时执行。
第一特征的类型可以包含连续型和离散型。其中,离散型的特征包括取值存在大小顺序关系的特征,例如年龄特征、身高特征等。对于连续型的特征,包括例如营业收入、交易次数等特征。
按照值大小进行的排序,包括按照值从大到小进行排序和按照值从小到大进行排序,具体的排序方式择一实施即可。
由于样本ID、特征值、第一加密标签值之间存在对应关系,当对N个特征值按照值大小重新排序之后,可以得到重新排序之后的特征值序列和第二加密标签值序列,即得到按照更新顺序排列的N个特征值构成的第一序列,以及按照更新顺序排列的N个第二加密标签值构成的第二序列。
例如,参见表1,在每一列中,样本ID、特征值、第一加密标签值形成关联关系,在对表1中的N个特征值进行重新排序之后,表1中的多个列变换位置,得到表2所示按照更新顺序排列的N个特征值,以及对应的第一加密标签值、第二加密标签值和原始标签值。并且,每一列对应更新顺序后的一个位置。其中,特征持有方10拥有更新顺序后的各个位置,以及样本ID、特征值、第一加密标签值和第二加密标签值,并不拥有原始标签值。表2最后一行列出的原始标签值仅仅是为了说明原始标签值与第一加密标签值和第二加密标签值之间的对应关系。
表2
更新顺序后的各个位置 | 位置1 | 位置2 | 位置3 | 位置4 | … | 位置N |
样本ID | 5 | 22 | 3 | 55 | … | 14 |
特征值 | xx | xx | xx | xx | … | xx |
第一加密标签值 | E(yy) | E(yy) | E(yy) | E(yy) | … | E(yy) |
第二加密标签值 | E′(yy) | E′(yy) | E′(yy) | E′(yy) | E′(yy) | E′(yy) |
原始标签值 | yy | yy | yy | yy | yy | yy |
特征持有方10将第二序列发送至标签持有方20,实际上该第二序列中携带了更新顺序后的各个位置。
特征持有方10还可以判断N个特征值中是否存在相等特征值,如果不存在,则直接将第二序列发送至标签持有方20;如果存在相等特征值,则可以基于第一序列中的N个特征值,确定上述更新顺序中相等特征值所在位置,将第二序列以及更新顺序中相等特征值所在位置发送至标签持有方20。在对特征值进行分箱时,相等特征值应被划分至同一分箱中,而不应被划分至不同分箱中。因此,当N个特征值中存在相等特征值时,特征持有方10还可以将该更新顺序中相等特征值所在位置发送至标签持有方20。
第一序列中的N个特征值中,可能存在多组相等特征值,例如,第五个和第六个特征值相等,第九和第十个特征值相等,诸如此类。
参见图3所示特征分箱示意图,其中第一特征为营业收入,对多个特征值按照值从小到大重新排序后参见图3前两行所示,这些更新顺序后的特征值中存在6组相等特征值,整体上,这些更新顺序后的特征值可以划分成7组,每个组的编号以及其中包含的相等特征值位置如图3所示。
由于第一序列和第二序列中各个位置是对应的,因此上述更新顺序中相等特征值所在位置也与第二序列中的位置相对应。
更新顺序中相等特征值所在位置可以采用以下方式中的任意一种表示:
更新顺序中位置之间存在预设间隔符,用于标记相同特征值所在位置;
或者,更新顺序中的各个位置采用一维位图表示,各个位置中相等特征值位置采用一维位图中的指定数值分布规则区分。该一维位图可以包含N个位,对应于每个位置。
在第一序列或第二序列的更新顺序中可以共包括N个位置,各个位置可以采用其他信息进行表示,例如可以采用0或者1、a等等字符表示,并在不同特征值中间加入预设间隔符,当相邻位置中间不存在预设间隔符时说明该相邻位置对应的特征值相等。
结合图3所示的例子,更新顺序中相等特征值所在位置可以表示为:00-0-0000-00-000-00-00。其中,0代表各个位置,-为预设间隔符。或者表示为:01,02—03—04,05,06,07—08,09—10,11,12—13,14-15,16。其中,每个位置采用连续的两位数字序号表示,不同特征值的位置之间采用“—”隔开。
当采用位图表示,结合图3所示的例子,更新顺序中的各个位置可以采用以下一维位图表示:0010000110001100。其中,每个数字表示一个位置,相邻的相同数字表示相同特征值所在位置,相邻的不同数字表示不同特征值所在位置。更新顺序中的各个位置还可以采用以下一维位图表示:0011000101001010。其中,从左到右,当遇到下一个不同特征值时,采用1来表示不同特征值之间的跳转。
不管采用上述哪种方式表示更新顺序中的各个位置,其都不会泄露特征持有方中存储的任何特征数据,以及特征数据之间的任何分布规律。
步骤S250,标签持有方20使用与公钥Key1对应的私钥Key2,将第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照更新顺序排列的N个原始标签值。在解密时,可以采用与上述同态加密采用的算法对应的解密算法,使用私钥Key2对第二加密标签值进行解密。当第二加密标签值等于对应的第一加密标签值时,可以采用私钥Key2直接对第二加密标签值进行解密,得到对应的原始标签值。
步骤S260,标签持有方20至少基于按照更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出更新顺序中各个位置所对应的第一分箱。步骤S270,标签持有方20将第一分箱结果发送至特征持有方10,特征持有方10接收标签持有方20发送的第一分箱结果。
当标签持有方20直接接收到特征持有方10发送的第二序列时,认为特征持有方10中的N个特征值的取值互不相同。这种情况下,标签持有方20可以直接将按照更新顺序排列的N个原始标签值确定为N个初始分箱,针对该N个初始分箱进行相邻分箱合并操作,得到第一分箱结果。
当标签持有方20除了接收到特征持有方10发送的第二序列之外,还接收到更新顺序中相等特征值所在位置时,认为特征持有方10中的N个特征值的取值存在相同特征值。这种情况下,标签持有方20可以针对更新顺序中相对特征值所在位置,确定按照更新顺序排列的N个原始标签值对应的初始分箱,针对各个初始分箱进行相邻分箱合并操作,得到第一分箱结果。
第一分箱结果示出更新顺序中各个位置所对应的第一分箱,可以理解为,第一分箱结果示出按照更新顺序排列的每个特征值所在位置对应的第一分箱,也示出按照更新顺序排列的每个原始标签值所在位置对应的第一分箱。第一序列、第二序列以及按照更新顺序排列的N个原始标签值,其三者的位置是相互对应的。
标签持有方20基于按照更新顺序排列的N个原始标签值,进行相邻分箱合并操作时,可以采用卡方分箱的方式进行相邻分箱合并操作,也可以采用其他基于合并的分箱方法。
其中,卡方分箱是一种对变量自底向上的(即基于合并的)数据离散化方法,依赖于统计中的卡方检验,将具有最小卡方值的相邻区间合并在一起,直到满足确定的停止条件,其分箱的基本思想是判断相邻的两个区间是否有分布差异。
第一分箱结果可以采用以下方式中的任一种表示:
更新顺序中位置之间存在预设间隔符,用于区分不同的相邻第一分箱;
或者,更新顺序中的各个位置采用一维位图表示,各个位置所对应的不同第一分箱采用一维位图中的指定数值分布规则区分。该一维位图可以包含N个位,对应于每个位置。
针对以上两种方式的具体说明可以参见步骤S230中结合图3的说明,此处不再赘述。参见图3中最后一行给出的第一分箱结果。采用上述方式发送第一分箱结果,能够减少发送的数据量,提高数据传输效率。除了采用上述内容介绍的方式表示第一分箱结果之外,标签持有方20也可以将按照更新顺序排列的N个第二加密标签值以及对应的第一分箱发送至特征持有方10。
不管采用上述哪种方式表示第一分箱结果,其都不会泄露标签持有方中存储的任何标签数据,以及标签数据之间的任何分布规律。
步骤S280,特征持有方10按照第一分箱结果,对第一序列中各个位置的特征值进行分箱,得到特征分箱结果。特征持有方10,可以将第一分箱结果中的各个位置分别与第一序列中的各个位置进行对应,将第一分箱结果中每个位置的第一分箱确定为第一序列中对应位置的特征值的分箱。按照这种方式,可以确定特征持有方10中每个样本的该第一特征属于哪个分箱。
由上述内容可见,本实施例中,标签持有方对原始标签值进行同态加密,并生成范围证明,将加密标签值和范围证明发送至特征持有方,特征持有方在基于范围证明验证通过时将特征值与加密标签值进行关联,并对特征值重新排序,将重排序之后的加密标签值发送至标签持有方。这样,标签持有方通过解密,可以得到更新排序后的原始标签值,并基于此执行进一步的特征分箱操作,并将得到的第一分箱结果发送至特征持有方。整个交互过程没有发送任何明文数据,同时实现了对特征的有监督分箱,同态加密也尽可能保证了隐私数据的隐私性和安全性。
在本说明书的另一实施例中,上述步骤S210中,标签持有方20基于N个第一加密标签值生成范围证明时,可以基于N个第一加密标签值采用Bulletproof算法生成范围证明。Bulletproof算法是一种有效的零知识范围证明框架,其所提供的范围证明方法可以用来证明一个加密数据对应的原始数据的取值在一定的范围之内。
在本实施例中,可以利用范围证明,来验证N个第一加密标签值对应的原始标签值是否处于指定范围内。进一步的,可以验证N个第一加密标签值对应的原始标签值是否处于指定整数范围内,例如验证是否处于[0,k-1]表示的整数范围内。举个例子,当k取5时,[0,k-1]表示的整数范围是0到4这个整数范围。
下面结合Bulletproof算法,针对范围证明的生成和验证过程,对步骤S210和步骤S220中的相关内容进行说明。
在一种实施方式中,标签持有方20基于N个第一加密标签值生成范围证明时,可以针对N个第一加密标签值的整体生成一个范围证明。特征持有方10基于该一个范围证明,验证N个第一加密标签值分别对应的N个原始标签值是否均处于指定范围内。
在另一种实施方式中,标签持有方20也可以将N个第一加密标签值分成m批,针对每批第一加密标签值生成一个范围证明,得到m个范围证明。特征持有方10接收到该m个范围证明时,可以基于预先设定好的对应规则,基于范围证明对对应批次的第一加密标签值进行验证。例如,设定好的对应规则可以是,针对按照既定顺序排列的N个第一加密标签值,将其按顺序平均分成m批;在发送范围证明时,也按照m批的顺序进行发送。m取[1,N]之间的整数,当m取1时,对应的方案即是,针对每个第一加密标签值均生成一个范围证明。
在一种实施方式中,标签持有方20可以在得到N个第一加密标签值和对应的范围证明之后,将N个第一加密标签值和对应的范围证明同时或者说连续地发送至特征持有方10。
在另一种实施方式中,标签持有方20可以先将N个第一加密标签值发送至特征持有方10,与特征持有方10进行其他数据(例如挑战数)的交互之后,再基于N个第一加密标签值和交互的其他数据生成范围证明,并将该范围证明发送至特征持有方10。其中,挑战数可以为多个。挑战数可以由特征持有方10或者标签持有方20来生成。挑战数可以随机生成。
下面以标签持有方20针对m个第一加密标签值生成一个范围证明为例进行说明。标签持有方,可以基于m个第一加密标签值和对应的原始标签值,采用上述同态加密时的私钥Key2、公钥Key1,以及指定范围,生成一个范围证明。在该过程中,还可以采用上述同态加密算法对相应数值进行同态加密。另外,在上述过程中,还可以加入对挑战数的利用。
特征持有方10在基于该范围证明,验证m个第一加密标签值对应的原始标签值的值是否处于指定范围内时,基于m个第一加密标签值和指定范围,并利用同态加密及公钥Key1,构造第一结果和第二结果,并验证第一结果与第二结果是否相等,当相等时认为验证通过,不相等时,验证失败。
上述生成范围证明的过程和基于范围证明的验证过程均是基于Bulletproof算法进行。在此基础上,还可以对实施过程进行相应的改进,得到不同的实施方式。
标签持有方20在对每一个原始标签值进行同态加密时,还可以随机生成加密随机数r,使用公钥Key1和该加密随机数r对原始标签值进行同态加密运算,得到第一加密标签值。例如,在Paillier算法中,可以采用公式对原始标签值m进行加密,得到第一加密标签值C。其中,m为明文,C为密文;Key1为公钥,一般是两个很大的素数的乘积;r为加密随机数,mod为求余函数。由于每次生成的加密随机数r均不相同,因此每次对原始标签值进行同态加密,都会得到不同的加密标签值。这样即保证了所有的加密标签值互不相同。
本说明书中的同态加密算法还可以采用ElGamal算法。该算法在对原始标签值m进行同态加密时,首先将明文m进行分组,使得每个明文分组的长度小于一定值,然后针对每个明文分组,分别确定加密随机数,基于公式计算和,得到第一加密标签值。其中,t为分组的总数目,g、y、p为该加密算法的公钥,mod为求余函数。
ElGamal算法的加密过程需要两次模指数运算和一次模乘积运算,解密过程需要模指数运算、求逆运算和模乘积运算各一次。每次加密运算需要选择一个随机数,所以密文既依赖于明文,又依赖于选择的随机数,故对于同一个明文,不同次加密生成的密文不同。
在本说明书的另一实施例中,特征持有方10在步骤S230中基于关联关系,处理得到按照所述更新顺序排列的N个第二加密标签值构成的第二序列时,可以按照以下步骤执行:
针对N个第一加密标签值中的任意一个第一加密标签值,使用公钥Key1将预设的0值同态加密为加密随机数E(0),并将加密随机数E(0)与第一加密标签值E(yy)同态相加,得到对应的第二加密标签值E(0+yy),基于上述关联关系,确定按照更新顺序排列的N个第二加密标签值构成的第二序列。本实施例中将加密随机数E(0)与第一加密标签值E(yy)同态相加,是指同态加操作。
针对每个第一加密标签值,会对预设的0值进行一次同态加密。基于上文对同态加密算法的加密过程的描述,每次在加密时,都会生成一个加密随机数r,使用公钥Key1和该加密随机数r对0值进行同态加密,得到的加密随机数会随着加密随机数r的不同而不同。也就是说,针对不同的第一加密标签值加密得到的加密随机数E(0)也是不同的,实现在不同的第一加密标签值上叠加不同的加密随机数E(0),进而能够实现对第一加密标签值的干扰处理。
特征持有方10对每个第一加密标签值进行上述处理之后,能够避免将第一加密标签值直接发送至标签持有方20,进而避免标签持有方20根据第一加密标签值的更新顺序,与其自身生成的第一加密标签值的既定顺序进行比对,从中推测出部分特征值信息。即便标签持有方20在第一加密标签值中植入特殊标记,上述针对第一加密标签值的处理操作也能对该特征标记进行混淆,使得标签持有方20无法根据接收的信息推测得到特征持有方的任何隐私信息。
对第一加密标签值进行这样的处理之后,特征持有方10在步骤S240中发送的第二序列则是由按照更新顺序排列的N个第二加密标签值组成。标签持有方20可以接收到由按照更新顺序排列的N个第二加密标签值组成的第二序列。
因此,在步骤S250中,标签持有方20可以使用与上述公钥Key1对应的私钥Key2,将第二序列中的N个第二加密标签值直接进行同态解密,得到对应的原始标签值,这样就得到了按照更新顺序排列的N个原始标签值。
并且,如果标签持有方20没有在第一加密标签值中加入任何特殊标记,其可以顺利地解密得到正确的原始标签值。
在本实施例中,特征持有方给第一加密标签值叠加上加密随机数,既使得标签持有方能够从第二加密标签值解密得到原始标签值,也使得标签持有方无法获取特征持有方的任何隐私数据规律,并消除标签持有方可能添加的特殊标记,因此提高了特征持有方的数据隐私性和安全性。
在本说明书的另一实施例中,在没有接收到特征持有方10发送的更新顺序中相等特征值所在位置时,认为N个特征值中不存在相等特征值。标签持有方20在执行步骤S260时,即至少基于按照更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果时,可以按照图4所示流程示意图进行。其包括以下步骤S261~S264。
步骤S261,将按照更新顺序排列的N个原始标签值对应的每个位置作为一个初始分箱,得到N个初始分箱。本实施例可以对应于特征持有方10中的N个特征值互不相同的情况。
步骤S262,基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出更新顺序中各个位置所对应的更新分箱。更新分箱结果也可以采用采用步骤S230中给出的方式进行表示,此处对其表示方式不再赘述。
步骤S263,当各个更新分箱不满足预设分箱条件时,将更新分箱作为初始分箱,返回执行步骤S262。
步骤S264,当各个更新分箱满足预设分箱条件时,将更新分箱结果确定为第一分箱结果。
在本实施例中,基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,可以采用卡方分箱的方式进行相邻分箱合并操作,也可以采用其他基于合并的分箱方式。下面以卡方分箱为例对其进行详细介绍。
在采用卡方分箱的方式进行相邻分箱合并操作时,可以基于各个初始分箱中的原始标签值,依次确定每一对相邻初始分箱的卡方值,得到多个卡方值,将最小卡方值对应的一对相邻初始分箱进行合并。在第一次迭代中,初始分箱即为更新顺序排列的N个原始标签值对应的N个初始分箱。在第二次及以后的迭代中,初始分箱为上一次迭代中的更新分箱。
例如,针对顺序排列的初始分箱1、初始分箱2、初始分箱3……初始分箱7,可以依次确定初始分箱1和初始分箱2的卡方值,初始分箱2和初始分箱3的卡方值,初始分箱3和初始分箱4的卡方值,初始分箱4和初始分箱5的卡方值,初始分箱5和初始分箱6的卡方值,以及初始分箱6和初始分箱7的卡方值,得到6个卡方值,并将这6个卡方值中的最小卡方值对应的相邻初始分箱进行合并,假设初始分箱1和初始分箱2的卡方值为最小卡方值,则在本轮迭代中将初始分箱1和初始分箱2进行合并。
在确定每一对相邻初始分箱的卡方值时,可以采用如下方式。以原始标签值包含两个取值为例(原始标签值1和原始标签值2,例如分别为0和1,即二分类)进行说明,针对每一对相邻初始分箱,例如初始分箱1和初始分箱2,统计表3中的各个参量。
表3
原始标签值1 | 原始标签值2 | ||
初始分箱1 | A11 | A12 | R1 |
初始分箱2 | A21 | A22 | R2 |
C1 | C2 |
其中,A11表示初始分箱1中属于原始标签值1的样本数目,A12表示初始分箱1中属于原始标签值2的样本数目,A21表示初始分箱2中属于原始标签值1的样本数目,A22表示初始分箱2中属于原始标签值2的样本数目,R1表示初始分箱1中的样本数目,R1= A11+A12,R2表示初始分箱2中的样本数目,R2= A21+A22,C1表示两个分箱中属于原始标签值1的样本数目,C2表示两个分箱中属于原始标签值2的样本数目,C1= A11+A21,C2= A12+A22。A11、A21、A12和A22可以理解为实际频数。
然后,基于表3中的各个参量确定各个期望频数E11、E12、E21和E22,见表4。
表4
原始标签值1 | 原始标签值2 | |
初始分箱1 | E11=(R1/N)*C1 | E12=(R1/N)*C2 |
初始分箱2 | E21=(R2/N)*C1 | E22=(R2/N)*C2 |
其中,N为样本的总数目。利用上述两个表格(表3和表4)中的数据,采用以下公式(1)计算初始分箱1和初始分箱2的卡方值:
利用上述方式可以求得每一对相邻初始分箱的卡方值,更新分箱结果,并可以判断更新分箱结果是否满足预设分箱条件,如果不满足,则执行步骤S263,继续迭代;如果满足,则执行步骤S264,结束迭代并确定第一分箱结果。
上述预设分箱条件可以包括:多个更新分箱的总数目达到预设数目。预设数目可以根据经验值确定,预设数目可以是某个具体的值,也可以为取值范围,例如可以是5或者8之间的某个数值,或者其他的大于1的数值,也可以是类似于[5,8]这样的范围值。当预设数目取范围值时,判断多个更新分箱的总数目是否达到预设数目,可以理解为判断多个更新分箱的总数目是否位于预设数目对应的范围值之中。
在步骤S262中,在任意一次迭代中,可以直接确定更新分箱的总数目,并判断该总数目是否达到预设数目。
或者,当采用卡方分箱的方式进行相邻分箱合并操作时,预设分箱条件可以包括:多个更新分箱中任意一对更新分箱的卡方值大于预设阈值。预设阈值可以根据经验值确定。
在步骤S262中,在第一次迭代之后的任意一次迭代中,在得到更新分箱结果之后,还可以在本次迭代中计算任意一对更新后的相邻分箱的卡方值,并判断每一对相邻初始分箱的卡方值是否小于预设阈值,如果小于,则将更新分箱作为初始分箱,进入下一次迭代,如果不小于,则将更新分箱结果确定为第一分箱结果,结束迭代。
在另一种实施方式中,也可以在上述卡方分箱的基础上,对其实施流程进行修改,例如基于各个初始分箱中的原始标签值,依次针对相邻的三个初始分箱计算其卡方值,得到多个卡方值,将最小卡方值对应的相邻三个初始分箱进行合并。当然,上述相邻的三个初始分箱也可以替换为相邻的四个初始分箱、五个初始分箱等等。当合并时的粒度不同时,分箱合并精度也不同,计算效率也随之不同。粒度越小时,分箱合并精度越高,计算量越大,效率相对较低。
在本实施例中,标签持有方基于第二序列,便可以在本地进行分箱,使得基于标签的有监督分箱能够顺利实现。
在本实施例的另一实施方式中,标签持有方20除了接收到特征持有方发送的第二序列之外,还接收到特征持有方10发送的更新顺序中相等特征值所在位置。在标签持有方20执行步骤S260时,即至少基于按照更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果时,可以按照如下流程进行,具体包括步骤1a~4a。
步骤1a,基于更新顺序中相等特征值所在位置,确定按照更新顺序排列的N个原始标签值对应的初始分箱。本实施例可以对应于特征值持有方10中的N个特征值中存在相等特征值的情况。
具体的,本步骤可以基于更新顺序中相等特征值所在位置,针对按照更新顺序排列的N个原始标签值,将不同特征值所在位置的原始标签值划分至不同初始分箱,将相同特征值所在位置的原始标签值划分至相同初始分箱。
例如,结合图3所示例子对本步骤进行说明。针对图3中16个样本对应的16个位置,按照从左到右的顺序分别为第1位置至第16位置。标签持有方20接收到了更新顺序中相等特征值所在位置,也就是接收到了表示以下数据的信息:图3中第1和第2位置为相等特征值,第4至第7位置为相等特征值,第8位置和第9位置为相等特征值,第10至第12位置为相等特征值,第13和第14位置为相等特征值,第15和第16位置为相等特征值。
以上的更新顺序中的各个位置与按照更新顺序排列的N个原始标签值所在的位置是一一对应的。因此,可以针对按照更新顺序排列的N个原始标签值,将第1和第2位置的原始标签值划分至初始分箱1,将第3位置的原始标签值划分至初始分箱2,将第4至第7位置的原始标签值划分至初始分箱3,将第8位置和第9位置的原始标签值划分至初始分箱4,将第10至第12位置的原始标签值划分至初始分箱5,将第13和第14位置的原始标签值划分至初始分箱6,将第15和第16位置的原始标签值划分至初始分箱7。以这种方式确定的初始分箱,即能够实现后续的分箱结果不将相等特征值划分至不同分箱。
步骤2a,基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出更新顺序中各个位置所对应的更新分箱。
步骤3a,当各个更新分箱不满足预设分箱条件时,将更新分箱作为初始分箱,返回执行步骤2a。
步骤4a,当各个更新分箱满足预设分箱条件时,将更新分箱结果确定为第一分箱结果。
本实施例的各个步骤中,除了步骤1a之外,其他的步骤,例如步骤2a~步骤4a与图4所示实施例完全相同,具体说明可以参见图4所示实施例中对应的步骤S262~步骤S264的描述,此处不再赘述。
上述各个实施例提供了特征分箱中基于合并的分箱方法。基于同样的发明构思,在样本的特征和标签分布在不同的持有方中,并且每个持有方对各自的数据存在隐私保护的要求,不会将自身数据进行明文输出的应用场景下,本说明书实施例还提供了另一套两方联合的分箱方法,其基于拆分分箱进行。在该实施例中,标签持有方20对原始标签值进行同态加密,得到第一加密标签值,并确定第一加密标签值的范围证明,将第一加密标签值和范围证明发送至特征持有方10;特征持有方10在基于范围证明对第一加密标签值验证通过之后,对特征值重新排序,并根据特征值和接收的第一加密标签值之间的关联关系,处理得到更新顺序的第二加密标签值,将更新顺序的第二加密标签值发送至标签持有方20;标签持有方20基于接收的信息进行分箱拆分操作,得到第一分箱结果,并将其发送至特征持有方10;特征持有方10基于第一分箱结果,对更新顺序的特征值进行分箱,得到特征分箱结果。可见,整个交互过程也没有任何明文数据的发送,同时实现了对特征的有监督分箱,采用的同态加密也尽可能保证了隐私数据的隐私性和安全性。具体过程可参见图5所示实施例。
图5为实施例提供的一种基于隐私保护的有监督特征分箱方法,通过特征持有方10执行,特征持有方存储有N个样本的第一特征的特征值,N个样本的原始标签值存储在标签持有方20中,N个原始标签值的值处于指定范围内,N个样本按照既定顺序排列。所述方法包括以下步骤S510~S580。
步骤S510,标签持有方20使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值和该范围证明发送至所述特征持有方,特征持有方10可以接收标签持有方20发送的按照既定顺序排列的N个第一加密标签值和对应的范围证明。
步骤S520,特征持有方10基于上述范围证明,验证N个第一加密标签值对应的原始标签值的值处于所述指定范围内;当验证通过时基于既定顺序,将N个第一加密标签值分别与第一特征的N个特征值进行关联,得到关联关系。
步骤S530,特征持有方10对N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列,并基于上述关联关系,处理得到按照更新顺序排列的N个第二加密标签值构成的第二序列。
步骤S540,特征持有方10至少将第二序列发送至标签持有方20,标签持有方20接收特征持有方10至少发送的第二序列。
特征持有方10还可以判断N个特征值中是否存在相等特征值,如果不存在,则直接将第二序列发送至标签持有方20;如果存在相等特征值,则可以基于第一序列中的N个特征值,确定上述更新顺序中相等特征值所在位置,将第二序列以及更新顺序中相等特征值所在位置发送至标签持有方20。在对特征值进行分箱时,相等特征值应被划分至同一分箱中,而不应被划分至不同分箱中。因此,当N个特征值中存在相等特征值时,特征持有方10还可以将该更新顺序中相等特征值所在位置发送至标签持有方20。
步骤S550,标签持有方20使用与公钥对应的私钥,将第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照更新顺序排列的N个原始标签值。当第二加密标签值等于对应的第一加密标签值时,可以采用私钥直接对第二加密标签值进行解密,得到对应的原始标签值。
上述步骤S510~S550的具体实施方式可以分别与步骤S210~S250中描述的相同,具体说明可以参照步骤S210~S250,此处不再赘述。
步骤S560,标签持有方20至少基于按照更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出更新顺序中各个位置所对应的第一分箱。
步骤S570,标签持有方20将第一分箱结果发送至特征持有方10,特征持有方10接收标签持有方20发送的第一分箱结果,其中示出更新顺序中各个位置所对应的第一分箱。
标签持有方20基于第二序列中按照更新顺序排列的N个原始标签值进行拆分分箱操作时,可以采用Best-KS分箱的方式进行,也可以采用其他基于拆分的分箱方法,例如基于最小熵的分箱方法。
Best-KS(Kolmogorov-Smirnov)分箱可以用于评估模型区分风险的能力,其可以描述特征数据分布在不同区间时不同标签的累计样本之间的差距,是一种自顶向下(基于拆分的)数据离散化方法。
第一分箱结果可以采用步骤S270中给出的方式进行表示,具体实施方式可以参见步骤S270中的说明,此处不再赘述。
步骤S580,特征持有方10按照第一分箱结果,对第一序列中各个位置的特征值进行分箱,得到特征分箱结果。本步骤的具体说明可以参见步骤S280,此处不再赘述。
由上述内容可见,本实施例中,标签持有方可以与特征持有方之间,通过同态加密、同态解密交互加密后的标签值,且该过程在基于范围证明的验证通过时进行;并基于此执行进一步的拆分分箱操作,将得到的第一分箱结果发送至特征持有方。整个交互过程没有发送任何明文数据,同时实现了对特征的有监督分箱,同态加密也尽可能保证了隐私数据的隐私性和安全性。
在本说明书的另一实施例中,特征持有方10在步骤S530中基于上述关联关系,处理得到按照更新顺序排列的N个第二加密标签值构成的第二序列时,可以按照以下步骤执行:
针对N个第一加密标签值中的任意一个第一加密标签值,使用公钥Key1将预设的0值同态加密为加密随机数E(0),并将加密随机数E(0)与第一加密标签值E(yy)同态相加,得到第二加密标签值E(0+yy),基于上述关联关系,确定按照更新顺序排列的N个第二加密标签值构成的第二序列。其他说明可以参照前文实施例。
对第一加密标签值进行这样的处理之后,特征持有方10在步骤S540中发送的第二序列则是由按照更新顺序排列的N个第二加密标签值组成。标签持有方20可以接收到由按照更新顺序排列的N个第二加密标签值组成的第二序列。
在步骤S550中,标签持有方20可以使用与上述公钥Key1对应的私钥Key2,将第二序列中的N个第二加密标签值直接解密,得到对应的原始标签值。
在本实施例中,特征持有方给第一加密标签值叠加上加密随机数,既使得标签持有方能够从第二加密标签值解密得到原始标签值,也使得标签持有方无法获取特征持有方的任何隐私数据规律,并消除标签持有方可能添加的特殊标记,因此提高了特征持有方的数据隐私性和安全性。
在本说明书的另一实施例中,在没有接收到特征持有方10发送的更新顺序中相等特征值所在位置时,认为N个特征值中不存在相等特征值。标签持有方20在至少基于按照更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果时,即步骤S560可以按照以下迭代流程进行,其具体包括以下步骤1b~4b。
步骤1b,将按照更新顺序排列的N个原始标签值视为一个初始分箱。
步骤2b,针对任意一个初始分箱,基于该初始分箱中的原始标签值,确定该初始分箱的拆分点,以该拆分点对该初始分箱进行拆分分箱,得到更新分箱结果,其中示出更新顺序中各个位置所对应的更新分箱。
步骤3b,当各个更新分箱不满足预设分箱条件时,将更新分箱作为初始分箱,返回执行步骤2b。
步骤4b,当各个更新分箱满足预设分箱条件时,将更新分箱结果确定为第一分箱结果。
初始时,初始分箱为一个,经过第一次迭代之后,初始分箱被分成2个更新分箱。第二次迭代中,初始分箱为2个,并且被分成4个更新分箱,后续分箱过程依此进行,直至划分的更新分箱满足预设分箱条件。预设分箱条件包括:多个更新分箱的总数目达到预设数目。
参见图6所示的基于拆分的分箱过程示意图。其中,在第一次迭代中,营业收入的所有特征值构成第一分箱,从第一分箱中确定拆分点1,以该拆分点1对第一分箱进行拆分分箱,得到分箱1和分箱2。在第二次迭代中,分别以分箱1和分箱2作为第一分箱,确定分箱1的拆分点2和分箱2的拆分点3。拆分点2为样本5和样本8之间的点,拆分点3为样本15和样本12之间的点。分别以拆分点2和拆分点3对分箱1和分箱2进行拆分,得到分箱3至分箱6。当分箱的总数目达到预设数目时,停止迭代。
在本实施例中,步骤2b中基于初始分箱中的原始标签值,确定该初始分箱的拆分点时,可以采用Best-KS分箱的方式进行,也可以采用其他基于拆分的分箱方法。下面以Best-KS分箱为例对其进行详细介绍。
在确定每个初始分箱的拆分点时,针对任意一个初始分箱,以该初始分箱中每一对相邻原始标签值之间的点作为待选拆分点,将该初始分箱划分成两个子分箱,基于两个子分箱中的原始标签值,采用Best-KS算法确定两个子分箱的KS和值,作为该待选拆分点对应的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为该初始分箱的拆分点。
每一个初始分箱均采用上述操作确定其拆分点。
例如,已知某公司采购额的5个特征值互不相同,从左至右依次为,样本3-11,样本2-13,样本5-23,样本1-24,样本4-25,则可以以采购额的所有5个特征值作为初始分箱,在第一次迭代中,以初始分箱中每一对相邻原始标签值之间的点作为待选拆分点,即从左到右,样本3与样本2之间的点为一个待选拆分点,样本2和样本5之间的点为一个待选拆分点……共4个待选拆分点。每一个待选拆分点都可以将初始分箱划分成两个子分箱。例如,对于样本5和样本1之间的待选拆分点,可以将初始分箱划分成左右两个子分箱,即由特征值11、11、23构成的子分箱1和由特征值24和25构成的子分箱2。在基于两个子分箱1和2中的原始标签值,确定两个子分箱1和2的KS和值时,可以统计以下参量n11、n12、n21和n22,并采用公式| n12/n2-n11/n1|计算子分箱1的KS值,采用公式|n22/n2-n21/n1|计算子分箱2的KS值,然后再求两个子分箱的KS和值。| |为取绝对值符号。
其中,n11为子分箱1中标签值为1的样本数目,n12为子分箱1中标签值为0的样本数目,n21为子分箱2中标签值为1的样本数目,n22为子分箱2中标签值为0的样本数目,n1为初始分箱中标签值为1的总样本数目,n2为初始分箱中标签值为0的总样本数目。上述例子中以标签值包括0和1的二分类为例进行说明,根据该说明可以得到三分类、四分类等更多分类时的实施方式。以上给出了确定一个待选拆分点对应的特征区分度的一种实施方式,据此可以得到其他3个待选拆分点的特征区分度,每一个待选拆分点对应一种拆分方式,从多个待选拆分点中选择最大特征区分度对应的待选拆分点,即选择了针对初始分箱的一种拆分方式。
上述步骤1b~4b所示的实施例仅仅是步骤S560的一种实施方式。在另一种实施方式中,还可以对步骤3b进行修改,例如,当各个更新分箱不满足预设分箱条件时,从各个更新分箱中选择部分更新分箱作为初始分箱,返回执行步骤2b。
在本实施例的另一实施方式中,标签持有方20除了接收到特征持有方发送的第二序列之外,还接收到特征持有方10发送的更新顺序中相等特征值所在位置。标签持有方20至少基于按照更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果时,即步骤S560可以按照以下迭代流程进行,其具体包括以下步骤1c~4c。
步骤1c,将按照更新顺序排列的N个原始标签值视为一个初始分箱。
步骤2c,针对任意一个初始分箱,基于更新顺序中相等特征值所在位置和该初始分箱中的原始标签值,确定该初始分箱中不位于相等特征值之间位置的拆分点,以该拆分点对初始分箱进行拆分分箱,得到更新分箱结果,其中示出更新顺序中各个位置所对应的更新分箱。
步骤3c,当各个更新分箱不满足预设分箱条件时,将更新分箱作为初始分箱,返回执行步骤2c。
步骤4c,当各个更新分箱满足预设分箱条件时,将更新分箱结果确定为第一分箱结果。预设分箱条件包括:多个更新分箱的总数目达到预设数目。
初始时,初始分箱为一个,经过第一次迭代之后,初始分箱被分成2个更新分箱。第二次迭代中,初始分箱为2个,并且被分成4个更新分箱,后续分箱过程依此进行,直至划分的更新分箱满足预设分箱条件。预设分箱条件包括:多个更新分箱的总数目达到预设数目。
在本实施例中,步骤2c中基于更新顺序中相等特征值所在位置和该初始分箱中的原始标签值,确定该初始分箱中不位于相等特征值之间位置的拆分点时,可以采用Best-KS分箱的方式进行,也可以采用其他基于拆分的分箱方法。下面以Best-KS分箱为例对其进行详细介绍。
针对任意一个初始分箱,基于更新顺序中相等特征值所在位置,以该初始分箱中除相等特征值所在位置之外的其他位置中,每一对相邻原始标签值之间的点分别作为待选拆分点,将该初始分箱划分成对应的两个子分箱,基于两个子分箱中的原始标签值,采用Best-KS算法确定所述两个子分箱的KS和值,作为对应的待选拆分点的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为所述初始分箱的拆分点。
每一个初始分箱均采用上述操作确定其拆分点。
例如,以图6所示的营业收入为例,从左至右共有16个位置,即共16个样本,每个样本对应一个位置,其中可见多组相等特征值。初始时,16个特征值所在位置整体作为一个初始分箱,在第一次迭代中,将样本7和样本5之间的点,将样本5和样本8之间的点,将样本9和样本3之间的点,将样本11和样本10之间的点,将样本15和样本12之间的点,将样本13和样本16之间的点,共6个点作为分别作为待选拆分点。每一个待选拆分点都可以将初始分箱划分成两个子分箱。在基于任意一个待选拆分点对应的两个子分箱1和2中的原始标签值,确定两个子分箱1和2的KS和值时,可以统计以下参量n11、n12、n21和n22,并采用公式| n12/n2-n11/n1|计算子分箱1的KS值,采用公式|n22/n2-n21/n1|计算子分箱2的KS值,然后再求两个子分箱的KS和值。| |为取绝对值符号。
其中,n11为子分箱1中标签值为1的样本数目,n12为子分箱1中标签值为0的样本数目,n21为子分箱2中标签值为1的样本数目,n22为子分箱2中标签值为0的样本数目,n1为初始分箱中标签值为1的总样本数目,n2为初始分箱中标签值为0的总样本数目。上述例子中以标签值包括二分类为例进行说明,根据该说明可以得到三分类、四分类等更多分类时的实施方式。以上给出了确定一个待选拆分点对应的特征区分度的一种实施方式,据此可以得到其他5个待选拆分点的特征区分度,每一个待选拆分点对应一种拆分方式,从多个待选拆分点中选择最大特征区分度对应的待选拆分点,即选择了针对初始分箱的一种拆分方式。
上述步骤1c~4c所示的实施例仅仅是步骤S560的一种实施方式。在另一种实施方式中,还可以对步骤3c进行修改,例如,当各个更新分箱不满足预设分箱条件时,从各个更新分箱中选择部分更新分箱作为初始分箱,返回执行步骤2c。
图5和图6实施例中的相关说明可以参见图2所示实施例中的相关表述,各个实施例之间可以相互参照。
在上述多个实施例中,每个步骤可能包含多个子操作步骤,本说明书的各个实施例中,在没有明确说明的情况下以及不存在逻辑上的先后关系的情况,每个步骤中的多个子操作步骤之间的先后执行顺序是可变的。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图7为实施例提供的基于隐私保护的联合特征分箱装置的一个示意性框图。该装置700部署在特征持有方中,特征持有方可以为各种具有计算处理能力的计算机、集群或者设备。特征持有方存储有N个样本的第一特征的特征值,N个样本的原始标签值存储在标签持有方中,N个原始标签值的值处于指定范围内,N个样本按照既定顺序排列。该装置实施例与图2所示的方法实施例相对应。该装置700包括:
获取模块710,配置为,获取所述标签持有方发送的按照所述既定顺序排列的N个第一加密标签值,以及对应的范围证明;其中,在约定情况下,每个第一加密标签值是使用公钥对对应的原始标签值同态加密后得到;
验证模块720,配置为,基于所述范围证明,验证所述N个第一加密标签值对应的原始标签值的值处于所述指定范围内;
关联模块730,配置为,当验证模块720验证通过时,基于所述既定顺序,将所述N个第一加密标签值分别与所述第一特征的N个特征值进行关联,得到关联关系;
重排模块740,配置为,对所述N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列,并基于所述关联关系,处理得到按照所述更新顺序排列的N个第二加密标签值构成的第二序列;
第一发送模块750,配置为,至少将所述第二序列发送至所述标签持有方,以使所述标签持有方至少基于第二序列进行相邻分箱合并操作,得到第一分箱结果;
第一接收模块760,配置为,接收所述标签持有方发送的所述第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第一分箱模块770,配置为,按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱,得到特征分箱结果。
在一种具体实施方式中,验证模块720,具体配置为:
对所述范围证明进行计算处理,根据计算处理结果验证各个第一加密标签值对应的原始标签值的值是否均处于所述指定范围内,如果均处于,则验证通过。
在一种具体实施方式中,重排模块740,基于所述关联关系,处理得到按照所述更新顺序排列的N个第二加密标签值构成的第二序列时,包括:
针对所述N个第一加密标签值中的任意一个第一加密标签值,使用所述公钥将预设的0值同态加密为加密随机数,并将所述加密随机数与所述第一加密标签值同态相加,得到对应的第二加密标签值;
基于所述关联关系,确定按照所述更新顺序排列的N个第二加密标签值构成的第二序列。
在一种具体实施方式中,第一发送模块750,配置为,在N个特征值中不存在相等特征值的情况下,直接将所述第二序列发送至所述标签持有方。
在一种具体实施方式中,第一发送模块760,配置为,在所述N个特征值中存在相等特征值的情况下,基于所述第一序列中的N个特征值,确定所述更新顺序中相等特征值所在位置,将所述第二序列以及所述更新顺序中相等特征值所在位置发送至所述标签持有方。
在一种具体实施方式中,所述第一分箱模块770,具体配置为:
将所述第一分箱结果中的各个位置分别与所述第一序列中的各个位置进行对应,将所述第一分箱结果中每个位置的第一分箱确定为所述第一序列中对应位置的特征值的分箱。
在一种具体实施方式中,更新顺序中相等特征值所在位置采用以下方式中的一种表示:
所述更新顺序中位置之间存在预设间隔符,用于标记相同特征值所在位置;
所述更新顺序中的各个位置采用一维位图表示,各个位置中相等特征值位置采用所述一维位图中的指定数值分布规则区分。
图8为实施例提供的基于隐私保护的联合特征分箱装置的一种示意性框图。该装置800部署在标签持有方中,标签持有方可以为各种具有计算处理能力的计算机、集群或者设备。标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列。该装置实施例与图2所示方法实施例相对应。该装置800包括:
加密模块810,配置为使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于所述N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值和该范围证明发送至所述特征持有方;
第二接收模块820,配置为接收所述特征持有方至少发送的第二序列,其在特征持有方基于所述范围证明验证通过后发送;所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块830,配置为,使用与所述公钥对应的私钥,将所述第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照更新顺序排列的N个原始标签值;
第二分箱模块840,配置为,至少基于按照更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块850,配置为将所述第一分箱结果发送至所述特征持有方。
在一种具体实施方式中,加密模块810,基于所述N个第一加密标签值生成范围证时,包括,基于所述N个第一加密标签值,采用Bulletproof算法生成范围证明。
在一种具体实施方式中,第二分箱模块840,具体配置为:
将按照所述更新顺序排列的N个原始标签值对应的每个位置作为一个初始分箱,得到N个初始分箱;
基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为所述初始分箱,返回执行基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
在一种具体实施方式中,除了接收到所述特征持有方发送的第二序列之外,还接收到所述特征持有方发送的所述更新顺序中相等特征值所在位置;所述第二分箱模块840,具体配置为:
基于所述更新顺序中相等特征值所在位置,确定按照所述更新顺序排列的N个原始标签值对应的初始分箱;
基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为初始分箱,返回执行所述基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
在一种具体实施方式中,第二分箱模块840,基于所述更新顺序中相等特征值所在位置,确定按照所述更新顺序排列的N个原始标签值对应的初始分箱时,包括:
基于所述更新顺序中相等特征值所在位置,针对按照所述更新顺序排列的N个原始标签值,将不同特征值所在位置的原始标签值划分至不同初始分箱,将相同特征值所在位置的原始标签值划分至相同初始分箱。
在一种具体实施方式中,第二分箱模块840,基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作时,包括:
基于各个初始分箱中的原始标签值,依次确定每一对相邻初始分箱的卡方值,得到多个卡方值,将最小卡方值对应的一对相邻初始分箱进行合并。
在一种具体实施方式中,所述预设分箱条件包括:多个更新分箱的总数目达到预设数目;或者,当采用卡方分箱的方式进行相邻分箱合并操作时,多个更新分箱中任意一对更新分箱的卡方值大于预设阈值。
图9为实施例提供的另一种基于隐私保护的联合特征分箱装置的示意性框图。该装置900部署在标签持有方中,该标签持有方可以为各种具有计算处理能力的计算机、集群或者设备。所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列。该装置实施例与图5所示方法实施例相对应。所述装置900包括:
加密模块910,配置为,使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于所述N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值和所述范围证明发送至所述特征持有方;
第二接收模块920,配置为接收所述特征持有方至少发送的所述第二序列,其在所述特征持有方基于所述范围证明验证通过后发送,所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块930,配置为,使用与所述公钥对应的私钥,将所述第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照所述更新顺序排列的N个原始标签值;
第三分箱模块940,配置为,至少基于按照更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块950,配置为将所述第一分箱结果发送至所述特征持有方。
在一种具体实施方式中,加密模块910,基于所述N个第一加密标签值生成范围证明时,包括,基于所述N个第一加密标签值,采用Bulletproof算法生成范围证明。
在一种具体实施方式中,第三分箱模块940,具体配置为:
将按照所述更新顺序排列的N个原始标签值视为一个初始分箱;
针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点,以所述拆分点对所述初始分箱进行拆分分箱,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为所述初始分箱,返回执行所述针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
在一种具体实施方式中,第三分箱模块940,针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点时,包括:
针对任意一个初始分箱,以所述初始分箱中每一对相邻原始标签值之间的点分别作为待选拆分点,将所述初始分箱划分成对应的两个子分箱,基于所述两个子分箱中的原始标签值,采用Best-KS算法确定所述两个子分箱的KS和值,作为对应的待选拆分点的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为所述初始分箱的拆分点。
在一种具体实施方式中,除了接收到所述特征持有方发送的第二序列之外,还接收到所述特征持有方发送的所述更新顺序中相等特征值所在位置;第三分箱模块940,具体配置为:
将按照所述更新顺序排列的N个原始标签值视为一个初始分箱;
针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置和所述初始分箱中的原始标签值,确定所述初始分箱中不位于相等特征值之间位置的拆分点,以所述拆分点对所述初始分箱进行拆分分箱,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为所述初始分箱,返回执行所述针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
在一种具体实施方式中,第三分箱模块940,针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置和所述初始分箱中的原始标签值,确定所述初始分箱中不位于相等特征值之间位置的拆分点时,包括:
针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置,以所述初始分箱中除相等特征值所在位置之外的其他位置中,每一对相邻原始标签值之间的点分别作为待选拆分点,将所述初始分箱划分成对应的两个子分箱,基于所述两个子分箱中的原始标签值,采用Best-KS算法确定所述两个子分箱的KS和值,作为对应的待选拆分点的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为所述初始分箱的拆分点。
在一种实施方式中,预设分箱条件包括:多个更新分箱的总数目达到预设数目。
上述各个装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1至图6任一项所述的方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1至图6任一项所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (26)
1.一种基于隐私保护的联合特征分箱方法,通过特征持有方执行,所述特征持有方存储有N个样本的第一特征的特征值,所述N个样本的原始标签值存储在标签持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述方法包括:
获取所述标签持有方发送的按照所述既定顺序排列的N个第一加密标签值,以及对应的范围证明;其中,在约定情况下,每个第一加密标签值是使用公钥对对应的原始标签值同态加密后得到;
基于所述范围证明,验证所述N个第一加密标签值对应的原始标签值的值处于所述指定范围内;
当验证通过时,基于所述既定顺序,将所述N个第一加密标签值分别与所述第一特征的N个特征值进行关联,得到关联关系;
对所述N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列,并基于所述关联关系,处理得到按照所述更新顺序排列的N个第二加密标签值构成的第二序列;
至少将所述第二序列发送至所述标签持有方,以使所述标签持有方至少基于所述第二序列进行特征分箱,得到第一分箱结果;
接收所述标签持有方发送的所述第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱,得到特征分箱结果。
2.根据权利要求1所述的方法,所述基于所述范围证明,验证所述N个第一加密标签值对应的原始标签值的值处于所述指定范围内的步骤,包括:
对所述范围证明进行计算处理,根据计算处理结果验证各个第一加密标签值对应的原始标签值的值是否均处于所述指定范围内,如果均处于,则验证通过。
3.根据权利要求1所述的方法,所述基于所述关联关系,处理得到按照所述更新顺序排列的N个第二加密标签值构成的第二序列的步骤,包括:
针对所述N个第一加密标签值中的任意一个第一加密标签值,使用所述公钥将预设的0值同态加密为加密随机数,并将所述加密随机数与所述第一加密标签值同态相加,得到对应的第二加密标签值;
基于所述关联关系,确定按照所述更新顺序排列的N个第二加密标签值构成的第二序列。
4.根据权利要求1所述的方法,在所述N个特征值中不存在相等特征值的情况下,所述至少将所述第二序列发送至所述标签持有方的步骤,包括:直接将所述第二序列发送至所述标签持有方。
5.根据权利要求1所述的方法,在所述N个特征值中存在相等特征值的情况下,所述至少将所述第二序列发送至所述标签持有方的步骤,包括:
基于所述第一序列中的N个特征值,确定所述更新顺序中相等特征值所在位置,将所述第二序列以及所述更新顺序中相等特征值所在位置发送至所述标签持有方。
6.根据权利要求1所述的方法,所述按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱的步骤,包括:
将所述第一分箱结果中的各个位置分别与所述第一序列中的各个位置进行对应,将所述第一分箱结果中每个位置的第一分箱确定为所述第一序列中对应位置的特征值的分箱。
7.根据权利要求1所述的方法,所述更新顺序中相等特征值所在位置采用以下方式中的一种表示:
所述更新顺序中位置之间存在预设间隔符,用于标记相同特征值所在位置;
所述更新顺序中的各个位置采用一维位图表示,各个位置中相等特征值位置采用所述一维位图中的指定数值分布规则区分。
8.一种基于隐私保护的联合特征分箱方法,通过标签持有方执行,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述方法包括:
使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于所述N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值和所述范围证明发送至所述特征持有方;
接收所述特征持有方至少发送的第二序列,其在所述特征持有方基于所述范围证明验证通过后发送;所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
使用与所述公钥对应的私钥,将所述第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照所述更新顺序排列的N个原始标签值;
至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
将所述第一分箱结果发送至所述特征持有方。
9.根据权利要求8所述的方法,所述基于所述N个第一加密标签值生成范围证明的步骤,包括:
基于所述N个第一加密标签值,采用Bulletproof算法生成范围证明。
10.根据权利要求8所述的方法,所述至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果的步骤,包括:
将按照所述更新顺序排列的N个原始标签值对应的每个位置作为一个初始分箱,得到N个初始分箱;
基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为初始分箱,返回执行所述基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
11.根据权利要求8所述的方法,其中,除了接收到所述特征持有方发送的第二序列之外,还接收到所述特征持有方发送的所述更新顺序中相等特征值所在位置;所述至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作的步骤,包括:
基于所述更新顺序中相等特征值所在位置,确定按照所述更新顺序排列的N个原始标签值对应的初始分箱;
基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为初始分箱,返回执行所述基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
12.根据权利要求11所述的方法,所述基于所述更新顺序中相等特征值所在位置,确定按照所述更新顺序排列的N个原始标签值对应的初始分箱的步骤,包括:
基于所述更新顺序中相等特征值所在位置,针对按照所述更新顺序排列的N个原始标签值,将不同特征值所在位置的原始标签值划分至不同初始分箱,将相同特征值所在位置的原始标签值划分至相同初始分箱。
13.根据权利要求10或11所述的方法,所述基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作的步骤,包括:
基于各个初始分箱中的原始标签值,依次确定每一对相邻初始分箱的卡方值,得到多个卡方值,将最小卡方值对应的一对相邻初始分箱进行合并。
14.根据权利要求10或11所述的方法,所述预设分箱条件包括:多个更新分箱的总数目达到预设数目;或者,当采用卡方分箱的方式进行相邻分箱合并操作时,多个更新分箱中任意一对更新分箱的卡方值大于预设阈值。
15.一种基于隐私保护的联合特征分箱方法,通过标签持有方执行,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述方法包括:
使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于所述N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值和所述范围证明发送至所述特征持有方;
接收所述特征持有方至少发送的第二序列,其在所述特征持有方基于所述范围证明验证通过后发送,所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
使用与所述公钥对应的私钥,将所述第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照所述更新顺序排列的N个原始标签值;
至少基于按照所述更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
将所述第一分箱结果发送至所述特征持有方。
16.根据权利要求15所述的方法,所述基于所述N个第一加密标签值生成范围证明的步骤,包括:
基于所述N个第一加密标签值,采用Bulletproof算法生成范围证明。
17.根据权利要求15所述的方法,所述至少基于按照所述更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果的步骤,包括:
将按照所述更新顺序排列的N个原始标签值视为一个初始分箱;
针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点,以所述拆分点对所述初始分箱进行拆分分箱,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为初始分箱,返回执行所述针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
18.根据权利要求17所述的方法,所述针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点的步骤,包括:
针对任意一个初始分箱,以所述初始分箱中每一对相邻原始标签值之间的点分别作为待选拆分点,将所述初始分箱划分成对应的两个子分箱,基于所述两个子分箱中的原始标签值,采用Best-KS算法确定所述两个子分箱的KS和值,作为对应的待选拆分点的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为所述初始分箱的拆分点。
19.根据权利要求15所述的方法,其中,除了接收到所述特征持有方发送的第二序列之外,还接收到所述特征持有方发送的所述更新顺序中相等特征值所在位置;所述至少基于按照所述更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果的步骤,包括:
将按照所述更新顺序排列的N个原始标签值视为一个初始分箱;
针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置和所述初始分箱中的原始标签值,确定所述初始分箱中不位于相等特征值之间位置的拆分点,以所述拆分点对所述初始分箱进行拆分分箱,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为所述初始分箱,返回执行所述针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
20.根据权利要求19所述的方法,所述针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置和所述初始分箱中的原始标签值,确定所述初始分箱中不位于相等特征值之间位置的拆分点的步骤,包括:
针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置,以所述初始分箱中除相等特征值所在位置之外的其他位置中,每一对相邻原始标签值之间的点分别作为待选拆分点,将所述初始分箱划分成对应的两个子分箱,基于所述两个子分箱中的原始标签值,采用Best-KS算法确定所述两个子分箱的KS和值,作为对应的待选拆分点的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为所述初始分箱的拆分点。
21.根据权利要求17或19所述的方法,所述预设分箱条件包括:多个更新分箱的总数目达到预设数目。
22.一种基于隐私保护的联合特征分箱装置,部署在特征持有方中,所述特征持有方存储有N个样本的第一特征的特征值,所述N个样本的原始标签值存储在标签持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述装置包括:
获取模块,配置为,获取所述标签持有方发送的按照所述既定顺序排列的N个第一加密标签值,以及对应的范围证明;其中,在约定情况下,每个第一加密标签值是使用公钥对对应的原始标签值同态加密后得到;
验证模块,配置为,基于所述范围证明,验证所述N个第一加密标签值对应的原始标签值的值处于所述指定范围内;
关联模块,配置为,当所述验证模块验证通过时,基于所述既定顺序,将所述N个第一加密标签值分别与所述第一特征的N个特征值进行关联,得到关联关系;
重排模块,配置为,对所述N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列,并基于所述关联关系,处理得到按照所述更新顺序排列的N个第二加密标签值构成的第二序列;
第一发送模块,配置为,至少将所述第二序列发送至所述标签持有方,以使所述标签持有方至少基于所述第二序列进行特征分箱,得到第一分箱结果;
第一接收模块,配置为,接收所述标签持有方发送的所述第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第一分箱模块,配置为,按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱,得到特征分箱结果。
23.一种基于隐私保护的联合特征分箱装置,部署在标签持有方中,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述装置包括:
加密模块,配置为,使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于所述N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值和所述范围证明发送至所述特征持有方;
第二接收模块,配置为接收所述特征持有方至少发送的第二序列,其在所述特征持有方基于所述范围证明验证通过后发送;所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块,配置为,使用与所述公钥对应的私钥,将所述第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照所述更新顺序排列的N个原始标签值;
第二分箱模块,配置为,至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块,配置为将所述第一分箱结果发送至所述特征持有方。
24.一种基于隐私保护的联合特征分箱装置,部署在标签持有方中,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,N个原始标签值的值处于指定范围内,所述N个样本按照既定顺序排列;所述装置包括:
加密模块,配置为,使用公钥将N个原始标签值同态加密为对应的第一加密标签值,基于所述N个第一加密标签值生成范围证明,并将按照所述既定顺序排列的N个第一加密标签值和所述范围证明发送至所述特征持有方;
第二接收模块,配置为接收所述特征持有方至少发送的第二序列,其在所述特征持有方基于所述范围证明验证通过后发送,所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块,配置为,使用与所述公钥对应的私钥,将所述第二序列中的N个第二加密标签值解密为对应的原始标签值,得到按照所述更新顺序排列的N个原始标签值;
第三分箱模块,配置为,至少基于按照所述更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块,配置为将所述第一分箱结果发送至所述特征持有方。
25.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-21中任一项所述的方法。
26.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-21中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010502513.8A CN111539535B (zh) | 2020-06-05 | 2020-06-05 | 基于隐私保护的联合特征分箱方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010502513.8A CN111539535B (zh) | 2020-06-05 | 2020-06-05 | 基于隐私保护的联合特征分箱方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111539535A CN111539535A (zh) | 2020-08-14 |
CN111539535B true CN111539535B (zh) | 2022-04-12 |
Family
ID=71976539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010502513.8A Active CN111539535B (zh) | 2020-06-05 | 2020-06-05 | 基于隐私保护的联合特征分箱方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111539535B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114337983B (zh) * | 2020-09-24 | 2024-06-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN112367396B (zh) * | 2020-11-06 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 分布式集群中的样本特征分位点确定方法及装置 |
CN112100678B (zh) * | 2020-11-16 | 2021-02-05 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN112100643B (zh) * | 2020-11-16 | 2021-02-05 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN112597525B (zh) * | 2021-03-04 | 2021-05-28 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN112632045B (zh) * | 2021-03-10 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
CN113449048B (zh) * | 2021-08-31 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 数据标签分布确定方法、装置、计算机设备和存储介质 |
CN113923006B (zh) * | 2021-09-30 | 2024-02-02 | 北京淇瑀信息科技有限公司 | 设备数据认证方法、装置及电子设备 |
CN113824550B (zh) * | 2021-11-23 | 2022-02-15 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、密文计算平台和明密文混合计算*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110991655A (zh) * | 2019-12-17 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 多方联合进行模型数据处理的方法及装置 |
CN110990857A (zh) * | 2019-12-11 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 保护隐私安全的多方联合进行特征评估的方法及装置 |
CN111160908A (zh) * | 2019-12-31 | 2020-05-15 | 深圳市网心科技有限公司 | 基于区块链的供应链交易隐私保护***、方法及相关设备 |
CN111160573A (zh) * | 2020-04-01 | 2020-05-15 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111177768A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214157B2 (en) * | 2006-03-31 | 2012-07-03 | Nodality, Inc. | Method and apparatus for representing multidimensional data |
US9619204B2 (en) * | 2013-06-14 | 2017-04-11 | Nvidia Corporation | Method and system for bin coalescing for parallel divide-and-conquer sorting algorithms |
US10425436B2 (en) * | 2016-09-04 | 2019-09-24 | Palo Alto Networks (Israel Analytics) Ltd. | Identifying bulletproof autonomous systems |
-
2020
- 2020-06-05 CN CN202010502513.8A patent/CN111539535B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990857A (zh) * | 2019-12-11 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 保护隐私安全的多方联合进行特征评估的方法及装置 |
CN110991655A (zh) * | 2019-12-17 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 多方联合进行模型数据处理的方法及装置 |
CN111160908A (zh) * | 2019-12-31 | 2020-05-15 | 深圳市网心科技有限公司 | 基于区块链的供应链交易隐私保护***、方法及相关设备 |
CN111160573A (zh) * | 2020-04-01 | 2020-05-15 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111177768A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
Non-Patent Citations (2)
Title |
---|
Privacy protection of social networks based on classified attribute encryption;Lin Zhang等;《Security and Communication Networks》;20191231;第1-14页 * |
基于特征匹配与分箱技术的分布式网络入侵协同检测***研究及实现;王洁松;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20071215;第I139-176页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111539535A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111539535B (zh) | 基于隐私保护的联合特征分箱方法及装置 | |
CN111401572B (zh) | 基于隐私保护的有监督特征分箱方法及装置 | |
Martins et al. | A survey on fully homomorphic encryption: An engineering perspective | |
CN111539009B (zh) | 保护隐私数据的有监督特征分箱方法及装置 | |
US10489604B2 (en) | Searchable encryption processing system and searchable encryption processing method | |
US9787647B2 (en) | Secure computer evaluation of decision trees | |
CN110710156A (zh) | 基于带误差学习假设和随机预言的实用可重用模糊提取器 | |
JP2012163960A (ja) | 暗号化技術を用いたツリーに基づく分類のための方法及び装置 | |
David et al. | A bounded-space near-optimal key enumeration algorithm for multi-subkey side-channel attacks | |
CN113362048B (zh) | 数据标签分布确定方法、装置、计算机设备和存储介质 | |
Buyrukbilen et al. | Secure similar document detection with simhash | |
Bun et al. | Order-revealing encryption and the hardness of private learning | |
CN113449048B (zh) | 数据标签分布确定方法、装置、计算机设备和存储介质 | |
Erkin et al. | Privacy-preserving distributed clustering | |
CN107078899A (zh) | 混淆数据的方法 | |
Al-Rubaie et al. | Privacy-preserving PCA on horizontally-partitioned data | |
EP4000216B1 (en) | Cryptographic pseudonym mapping method, computer system, computer program and computer-readable medium | |
Tassa et al. | Oblivious evaluation of multivariate polynomials | |
CN109359588A (zh) | 一种新的隐私保护下非交互式的k近邻分类方法 | |
Ligier et al. | Privacy preserving data classification using inner-product functional encryption | |
Weissbart et al. | Systematic side-channel analysis of curve25519 with machine learning | |
Martínez Padilla et al. | Security evaluation of Tree Parity Re-keying Machine implementations utilizing side-channel emissions | |
CN112380404B (zh) | 数据过滤方法、装置及*** | |
Mohsin et al. | Exploring the RFID mutual authentication domain | |
EP2286610B1 (en) | Techniques for peforming symmetric cryptography |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035795 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |