CN112232639A - 统计方法、装置和电子设备 - Google Patents
统计方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112232639A CN112232639A CN202010999509.7A CN202010999509A CN112232639A CN 112232639 A CN112232639 A CN 112232639A CN 202010999509 A CN202010999509 A CN 202010999509A CN 112232639 A CN112232639 A CN 112232639A
- Authority
- CN
- China
- Prior art keywords
- data
- ciphertext
- party
- homomorphic
- data set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Bioethics (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开了一种统计方法、装置和电子设备。所述方法包括:第一方根据第一数据集合生成第一同态密文集合,所述第一同态密文集合包括第一密文;第一方向第二方发送所述第一同态密文集合;第二方接收第一同态密文集合;根据自身持有的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文;将选取的第一密文同态相加,得到第一相加结果;第二方向第一方发送所述第一相加结果;第一方接收第一相加结果;对所述第一相加结果进行解密,得到统计指标。本说明书实施例中,第一方和第二方可以在不泄漏自身持有的数据的条件下,利用同态加密技术,基于筛选条件协作完成数据指标的统计,实现了隐私保护。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种统计方法、装置和电子设备。
背景技术
在业务实际中,单个数据方拥有的数据并不完备,通常需要借助其它数据方的数据,共同完成一些数据指标的统计。在协作计算的过程中,往往存在数据泄漏的问题。
发明内容
本说明书实施例提供一种统计方法、装置和电子设备,以使各个数据方在不泄漏自身拥有的数据的前提下共同完成数据指标的统计。本说明书实施例的技术方案如下。
本说明书实施例的第一方面,提供了一种统计方法,应用于包括第一方和第二方的统计系统,所述第一方持有第一数据集合,所述第一数据集合包括业务对象的第一数据,所述第二方持有第二数据集合,所述第二数据集合包括业务对象的第二数据,所述方法包括:第一方根据第一数据集合生成第一同态密文集合,所述第一同态密文集合包括第一密文;第一方向第二方发送所述第一同态密文集合;第二方接收第一同态密文集合;根据自身持有的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文;将选取的第一密文同态相加,得到第一相加结果;第二方向第一方发送所述第一相加结果;第一方接收第一相加结果;对所述第一相加结果进行解密,得到统计指标。
本说明书实施例的第二方面,提供了一种统计方法,应用于第一方,所述第一方持有第一数据集合,所述第一数据集合包括业务对象的第一数据,所述方法包括:根据第一数据集合生成第一同态密文集合,所述第一同态密文集合包括第一密文;向第二方发送所述第一同态密文集合,以使第二方根据自身的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文,所述第二数据集合包括业务对象的第二数据;接收第二方发来的第一相加结果,所述第一相加结果由选取的第一密文同态相加得到;对所述第一相加结果进行解密,得到统计指标。
本说明书实施例的第三方面,提供了一种统计方法,应用于第二方,所述第二方持有第二数据集合,所述第二数据集合包括业务对象的第二数据,所述方法包括:接收第一方发来的第一同态密文集合,所述第一同态密文集合包括第一密文,所述第一同态密文集合是根据第一数据集合生成的,所述第一数据集合包括业务对象的第一数据;根据自身持有的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文;将选取的第一密文同态相加,得到第一相加结果;向第一方发送所述第一相加结果,以使第一方根据所述第一相加结果获得统计指标。
本说明书实施例的第四方面,提供了一种统计装置,应用于第一方,所述第一方持有第一数据集合,所述第一数据集合包括业务对象的第一数据,所述装置包括:生成单元,用于根据第一数据集合生成第一同态密文集合,所述第一同态密文集合包括第一密文;发送单元,用于向第二方发送所述第一同态密文集合,以使第二方根据自身的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文,所述第二数据集合包括业务对象的第二数据;接收单元,用于接收第二方发来的第一相加结果,所述第一相加结果由选取的第一密文同态相加得到;解密单元,用于对所述第一相加结果进行解密,得到统计指标。
本说明书实施例的第五方面,提供了一种统计装置,应用于第二方,所述第二方持有第二数据集合,所述第二数据集合包括业务对象的第二数据,所述装置包括:接收单元,用于接收第一方发来的第一同态密文集合,所述第一同态密文集合包括第一密文,所述第一同态密文集合是根据第一数据集合生成的,所述第一数据集合包括业务对象的第一数据;选取单元,用于根据自身持有的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文;相加单元,用于将选取的第一密文同态相加,得到第一相加结果;发送单元,用于向第一方发送所述第一相加结果,以使第一方根据所述第一相加结果获得统计指标。
本说明书实施例的第六方面,提供了一种电子设备,包括:至少一个处理器;存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如第二方面或第三方面所述方法的指令。
本说明书实施例提供的技术方案,第一方和第二方可以在不泄漏自身持有的数据的条件下,利用同态加密技术,基于筛选条件协作完成数据指标的统计,实现了隐私保护。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例中统计方法的流程示意图;
图2为本说明书实施例中统计方法的流程示意图;
图3为本说明书实施例中统计方法的流程示意图;
图4为本说明书实施例中统计方法的流程示意图;
图5为本说明书实施例中统计方法的流程示意图;
图6为本说明书实施例中统计方法的流程示意图;
图7为本说明书实施例中统计方法的流程示意图;
图8为本说明书实施例中统计方法的流程示意图;
图9为本说明书实施例中统计装置的结构示意图;
图10为本说明书实施例中统计装置的结构示意图;
图11为本说明书实施例中电子设备的结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本说明书提供统计系统的一个实施例,所述统计系统包括第一方和第二方。所述第一方可以为单个服务器、由多个服务器构成的服务器集群、或者部署在云端的服务器。所述第二方也可以为单个服务器、由多个服务器构成的服务器集群、或者部署在云端的服务器。
在一些实施例中,所述第一方和所述第二方可以分别持有业务对象的部分数据。具体地,所述业务对象可以具有多个数据维度,所述第一方和所述第二方可以分别持有所述业务对象在不同数据维度下的数据。例如,所述业务对象可以为用户,所述第一方可以持有用户的工资数据,所述第二方可以持有用户的学历数据。又例如,所述业务对象可以为商品,所述第一方可以持有商品的销售数据,所述第二方可以持有商品的生产日期数据。
在实际应用中,所述第一方可以持有第一数据集合,所述第一数据集合可以包括至少一个业务对象的第一数据。所述第一数据例如可以为用户的工资数据、或者商品的销售数据等。在所述第一数据集合中不同的第一数据可以对应不同的业务对象。所述第二方可以持有第二数据集合,所述第二数据集合可以包括至少一个业务对象的第二数据。所述第二数据例如可以为用户的学历数据、或者商品的生产日期数据等。在所述第二数据集合中不同的第二数据可以对应不同的业务对象。例如,所述第一方可以持有第一数据集合,所述第一数据集合可以如下表1所示。所述第二方可以持有第二数据集合,所述第二数据集合可以如下表2所示。
表1
用户 | 工资数据 |
User1 | User1的工资数据 |
User2 | User2的工资数据 |
User3 | User3的工资数据 |
User4 | User4的工资数据 |
User5 | User5的工资数据 |
表2
用户 | 学历数据 |
User1 | User1的学历数据 |
User2 | User2的学历数据 |
User3 | User3的学历数据 |
User4 | User4的学历数据 |
在一些实施例中,所述第一数据和所述第二数据可以均对应有业务对象标识。所述业务对象标识可以用于标识业务对象。例如,所述业务对象可以为用户,所述业务对象标识可以包括用户的身份证号、用户的手机号等。利用业务对象标识可以对所述第一数据集合和所述第二数据集合进行数据对齐处理,使得所述第一数据集合和所述第二数据集合中相同位置处的数据对应相同的业务对象标识。例如,所述第一数据集合可以表示为X=[x1,x2,...,xi,...,xn],所述第二数据集合可以表示为Y=[y1,y2,...,yi,...,yn],所述第一数据集合的第i个第一数据xi与所述第二数据集合的第i个第二数据yi对应相同的业务对象标识。
在一些实施例中,所述第一方和/或所述第二方可以分别持有筛选条件。以下为了便于描述,将所述第一方持有的筛选条件称为第一筛选条件,将所述第二方持有的筛选条件称为第二筛选条件,所述第一筛选条件和所述第二筛选条件不同。所述第一筛选条件可以用于对所述第一数据集合中的第一数据进行筛选,所述第二筛选条件可以用于对所述第二数据集合中的第二数据进行筛选。例如,所述第一数据集合可以包括多个用户的工资数据,所述第二数据集合可以包括多个用户的学历数据。所述第一筛选条件可以为年龄在20岁-30岁之间的用户的工资数据,所述第二筛选条件可以为本科学历。
在一些实施例中,所述第一方还可以持有用于进行同态加密的同态公钥、以及用于对同态密文进行解密的同态私钥。所述第一方可以向所述第二方发送所述同态公钥。所述第二方可以接收所述同态公钥。所述同态加密(Homomorphic Encryption),是一种加密技术。它允许直接对密文数据进行运算得到仍是加密的结果,将其解密所得到的结果与对明文数据进行同样运算的结果相同。同态加密算法可以包括加法同态加密算法和乘法同态加密算法等。所述同态加密算法具体可以包括Paillier算法、Okamoto-Uchiyama算法、Damgard-Jurik算法等。
在一些实施例中,所述第一方和所述第二方可以在不泄漏自身持有的数据的条件下,利用同态加密技术,基于筛选条件协作完成数据指标的统计,实现隐私保护。
上文中详细描述了本说明书实施例的统计系统。下面将结合图1,详细描述本说明书实施例的统计方法。所述统计方法可以包括以下步骤。
步骤S11:第一方根据第一数据集合生成第一同态密文集合。
步骤S13:第一方向第二方发送所述第一同态密文集合。
步骤S15:第二方接收所述第一同态密文集合;根据自身的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文;将选取的第一密文同态相加,得到第一相加结果。
步骤S17:第二方向第一方发送所述第一相加结果。
步骤S19:第一方接收第一相加结果;对所述第一相加结果进行解密,得到统计指标。
以下以几个具体的例子详细说明本说明书实施例的具体实现。
在一些实施例中,所述第二方可以持有第二筛选条件。所述统计指标可以包括:满足第二筛选条件的业务对象所具有的第一数据之和。例如,所述第一数据集合可以包括多个用户的工资数据,所述第二数据集合可以包括多个用户的学历数据,所述第二筛选条件可以为本科学历。所述统计指标可以包括:学历为本科的用户的工资数据之和。
请参阅图2,以下对本实施例进行详细说明。
所述第一方可以对所述第一数据集合中的第一数据进行同态加密,得到第一同态密文集合。所述第一同态密文集合可以包括第一密文,所述第一密文可以为同态密文。具体地,所述第一方可以利用自身的同态公钥,对所述第一数据集合中的第一数据进行同态加密,可以将得到的同态密文作为所述第一同态密文集合中的第一密文。所述第一同态密文集合和所述第一数据集合可以是数据对齐的,使得所述第一同态密文集合和所述第一数据集合中相同位置处的数据具有对应关系。例如,所述第一数据集合可以表示为X=[x1,x2,...,xi,...,xn],所述第一同态密文集合可以表示为E(X)=[E(x1),E(x2),...,E(xi),...,E(xn)],所述第一数据集合中的第i个第一数据xi与所述第一同态密文集合中的第i个第一密文E(xi)具有对应关系,E(xi)具体是由xi同态加密得到的。
所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。另外,所述第二方可以持有第二筛选条件,所述第二筛选条件用于对所述第二数据集合中的第二数据进行筛选。由于所述第一同态密文集合和所述第一数据集合是数据对齐的,所述第一数据集合和所述第二数据集合是数据对齐的,则所述第一同态密文集合和所述第二数据集合也是数据对齐的。这样所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文。例如,所述第二数据集合可以表示为Y=[y1,y2,...,yi,...,yn],所述第一同态密文集合可以表示为E(X)=[E(x1),E(x2),...,E(xi),...,E(xn)]。第二数据y1、y3、y4、y5、y10满足第二筛选条件,因而满足第二筛选条件的第二数据在所述第二数据集合中的位置可以包括1、3、4、5、10。所述第二方可以从所述第一同态密文集合中选取第1个第一密文E(x1)、第3个第一密文E(x3)、第4个第一密文E(x4)、第5个第一密文E(x5)、第10个第一密文E(x10)。
所述第二方可以将选取的第一密文进行同态相加,得到第一相加结果。例如,选取的第一密文可以包括E(x1)、E(x3)、E(x4)、E(x5)、以及E(x10)。所述第二方可以将E(x1)、E(x3)、E(x4)、E(x5)、以及E(x10)同态相加,得到第一相加结果E(x1+x3+x4+x5+x10)。
所述第二方可以向所述第一方发送所述第一相加结果。所述第一方可以接收所述第一相加结果;可以对所述第一相加结果进行解密,得到统计指标。具体地,所述第一方可以利用自身的同态私钥,对所述第一相加结果进行解密,得到统计指标。例如,所述第一相加结果可以为E(x1+x3+x4+x5+x10),所述统计指标可以为x1+x3+x4+x5+x10。
在另一些实施例中,所述第一方可以持有第一筛选条件,所述第二方可以持有第二筛选条件。所述统计指标可以包括:同时满足所述第一筛选条件和所述第二筛选条件的业务对象所具有的第一数据之和。例如,所述第一数据集合可以包括多个用户的工资数据,所述第二数据集合可以包括多个用户的学历数据,所述第一筛选条件可以为年龄在20岁-30岁之间的用户的工资数据,所述第二筛选条件可以为本科学历。所述统计指标可以包括:年龄在20岁-30岁之间、并且学历为本科的用户的工资数据之和。
请参阅图3,以下对本实施例进行详细说明。
所述第一方可以持有第一筛选条件,所述第一筛选条件用于对所述第一数据集合中的第一数据进行筛选。所述第一方可以根据所述第一筛选条件和所述第一数据集合生成第三数据集合。所述第三数据集合可以包括第三数据。具体地,针对所述第一数据集合中的每个第一数据,若该第一数据满足所述第一筛选条件,所述第一方可以将该第一数据作为第三数据计入所述第三数据集合;若该第一数据不满足所述第一筛选条件,所述第一方可以将第一特定值作为第三数据计入所述第三数据集合。所述第一特定值例如可以为0。当然,所述第一特定值还可以为其它的数值,例如还可以为-1。所述第三数据集合和所述第一数据集合可以是数据对齐的,使得所述第三数据集合和所述第一数据集合中相同位置处的数据具有对应关系。例如,所述第一数据集合可以表示为X=[x1,x2,...,xi,...,xn],所述第三数据集合可以表示为Z=[z1,z2,...,zi,...,zn],所述第一数据集合中的第i个第一数据xi与所述第三数据集合中的第i个第三数据zi具有对应关系。具体地,例如,针对所述第一数据集合中的第i个第一数据xi,若第一数据xi满足第一筛选条件,所述第一方可以将第一数据xi作为第三数据集合中的第i个第三数据zi;若第一数据xi不满足第一筛选条件,所述第一方可以将第一特定值0作为第三数据集合中的第i个第三数据zi。
所述第一方可以对所述第三数据集合中的第三数据进行同态加密,得到第一同态密文集合。所述第一同态密文集合可以包括第一密文,所述第一密文可以为同态密文。具体地,所述第一方可以利用自身的同态公钥,对所述第三数据集合中的第三数据进行同态加密,可以将得到的同态密文作为所述第一同态密文集合中的第一密文。所述第一同态密文集合和所述第三数据集合可以是数据对齐的,使得所述第一同态密文集合和所述第三数据集合中相同位置处的数据具有对应关系。例如,所述第三数据集合可以表示为Z=[z1,z2,...,zi,...,zn],所述第一同态密文集合可以表示为E(Z)=[E(z1),E(z2),...,E(zi),...,E(zn)],所述第三数据集合中的第i个第三数据zi与所述第一同态密文集合中的第i个第一密文E(zi)具有对应关系,E(zi)具体是由zi同态加密得到的。
所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。所述第二方可以持有第二筛选条件,所述第二筛选条件用于对所述第二数据集合中的第二数据进行筛选。由于所述第一同态密文集合和所述第三数据集合是数据对齐的,所述第三数据集合和所述第一数据集合是数据对齐的,所述第一数据集合和所述第二数据集合是数据对齐的,则所述第一同态密文集合和所述第二数据集合也是数据对齐的。这样所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文。
所述第二方可以将选取的第一密文进行同态相加,得到第一相加结果。所述第二方可以向所述第一方发送所述第一相加结果。所述第一方可以接收所述第一相加结果;可以对所述第一相加结果进行解密,得到统计指标。
在另一些实施例中,所述第一方可以持有第一筛选条件,所述第二方可以持有第二筛选条件。所述统计指标可以包括:满足所述第一筛选条件或者所述第二筛选条件的业务对象所具有的第一数据之和。例如,所述第一数据集合可以包括多个用户的工资数据,所述第二数据集合可以包括多个用户的学历数据,所述第一筛选条件可以为年龄在20岁-30岁之间的用户的工资数据,所述第二筛选条件可以为本科学历。所述统计指标可以包括:年龄在20岁-30岁之间、或者学历为本科的用户的工资数据之和。
请参阅图4,以下对本实施例进行详细说明。
所述第一方可以持有第一筛选条件,所述第一筛选条件用于对所述第一数据集合中的第一数据进行筛选。所述第一方可以从所述第一数据集合中选取满足所述第一筛选条件的第一数据;可以将选取的第一数据相加,得到统计指标的第一分量。
所述第一方可以对所述第一数据集合中的第一数据进行同态加密,得到第一同态密文集合。所述第一同态密文集合可以包括第一密文,所述第一密文可以为同态密文。所述第一同态密文集合和所述第一数据集合可以是数据对齐的,使得所述第一同态密文集合和所述第一数据集合中相同位置处的数据具有对应关系。
所述第一方可以根据所述第一筛选条件和所述第一数据集合生成第三数据集合。所述第三数据集合可以包括第三数据。第三数据集合的生成过程不再赘述。所述第三数据集合和所述第一数据集合是数据对齐的,使得所述第三数据集合和所述第一数据集合中相同位置处的数据具有对应关系。所述第一方可以对所述第三数据集合中的第三数据进行同态加密,得到第二同态密文集合。所述第二同态密文集合可以包括第二密文,所述第二密文可以为同态密文。具体地,所述第一方可以利用自身的同态公钥,对所述第三数据集合中的第三数据进行同态加密,可以将得到的同态密文作为所述第二同态密文集合中的第二密文。所述第二同态密文集合和所述第三数据集合可以是数据对齐的,使得所述第二同态密文集合和所述第三数据集合中相同位置处的数据具有对应关系。
所述第一方可以向所述第二方发送所述第一同态密文集合和所述第二同态密文集合。所述第二方可以接收所述第一同态密文集合和所述第二同态密文集合。所述第二方可以持有第二筛选条件,所述第二筛选条件用于对所述第二数据集合中的第二数据进行筛选。由于所述第一同态密文集合和所述第一数据集合是数据对齐的,所述第一数据集合和所述第二数据集合是数据对齐的,则所述第一同态密文集合和所述第二数据集合也是数据对齐的。另外,由于所述第二同态密文集合和所述第三数据集合是数据对齐的,所述第三数据集合和所述第一数据集合是数据对齐的,所述第一数据集合和所述第二数据集合是数据对齐的,则所述第二同态密文集合和所述第二数据集合也是数据对齐的。这样所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文、以及从所述第二同态密文集合中选取相同位置处的第二密文。
所述第二方可以将选取的第一密文进行同态相加,得到第一相加结果;可以将选取的第二密文进行同态相加,得到第二相加结果;可以将所述第一相加结果和所述第二相加结果同态相减(例如将所述第一相加结果减去所述第二相加结果),得到统计指标的第二分量密文;可以向所述第一方发送统计指标的第二分量密文。所述第一方可以接收统计指标的第二分量密文;可以对统计指标的第二分量密文进行解密,得到统计指标的第二分量。具体地,所述第一方可以利用自身的同态私钥,对统计指标的第二分量密文进行解密。或者,所述第二方还可以向所述第一方发送所述第一相加结果和所述第二相加结果。所述第一方可以接收所述第一相加结果和所述第二相加结果;可以对所述第一相加结果进行解密,得到统计指标的第三分量;可以对所述第二相加结果进行解密,得到统计指标的第四分量;可以将统计指标的第三分量和统计指标的第四分量相减,得到统计指标的第二分量。具体地,所述第一方可以利用自身的同态私钥,分别对所述第一相加结果和所述第二相加结果进行解密。
所述第一方可以根据统计指标的第一分量和统计指标的第二分量,计算统计指标。具体地,所述第一方可以将统计指标的第一分量和统计指标的第二分量相加,得到统计指标。
在另一些实施例中,所述第一方可以持有第一筛选条件,所述第二方可以持有第二筛选条件。所述统计指标可以包括:同时满足所述第一筛选条件和所述第二筛选条件的业务对象的数量。例如,所述第一数据集合可以包括多个用户的工资数据,所述第二数据集合可以包括多个用户的学历数据,所述第一筛选条件可以为年龄在20岁-30岁之间的用户的工资数据,所述第二筛选条件可以为本科学历。所述统计指标可以包括:年龄在20岁-30岁之间、并且学历为本科的用户数量。
请参阅图5,以下对本实施例进行详细说明。
所述第一方可以持有第一筛选条件,所述第一筛选条件用于对所述第一数据集合中的第一数据进行筛选。所述第一方可以根据所述第一筛选条件和所述第一数据集合生成第四数据集合。所述第四数据集合可以包括第四数据。具体地,针对所述第一数据集合中的每个第一数据,若该第一数据满足所述第一筛选条件,所述第一方可以将第二特定值作为第四数据计入所述第四数据集合;若该第一数据不满足所述第一筛选条件,所述第一方可以将第一特定值作为第四数据计入所述第四数据集合。例如,所述第一特定值可以为0,所述第二特定值可以为1。当然,所述第一特定值和所述第二特定值还可以为其它的数值。例如,所述第一特定值还可以为-1,所述第二特定值还可以为2。所述第四数据集合和所述第一数据集合可以是数据对齐的,使得所述第四数据集合和所述第一数据集合中相同位置处的数据具有对应关系。例如,所述第一数据集合可以表示为X=[x1,x2,...,xi,...,xn],所述第四数据集合可以表示为K=[k1,k2,...,ki,...,kn],所述第一数据集合中的第i个第一数据xi与所述第四数据集合中的第i个第四数据ki具有对应关系。具体地,例如,针对所述第一数据集合中的第i个第一数据xi,若第一数据xi满足第一筛选条件,所述第一方可以将第二特定值1作为第四数据集合中的第i个第四数据ki;若第一数据xi不满足第一筛选条件,所述第一方可以将第一特定值0作为第四数据集合中的第i个第四数据ki。
所述第一方可以对所述第四数据集合中的第四数据进行同态加密,得到第一同态密文集合。所述第一同态密文集合可以包括第一密文,所述第一密文可以为同态密文。具体地,所述第一方可以利用自身的同态公钥,对所述第四数据集合中的第四数据进行同态加密,可以将得到的同态密文作为所述第一同态密文集合中的第一密文。所述第一同态密文集合和所述第四数据集合可以是数据对齐的,使得所述第一同态密文集合和所述第四数据集合中相同位置处的数据具有对应关系。例如,所述第四数据集合可以表示为K=[k1,k2,...,ki,...,kn],所述第一同态密文集合可以表示为E(K)=[E(k1),E(k2),...,E(ki),...,E(kn)],所述第四数据集合中的第i个第四数据ki与所述第一同态密文集合中的第i个第一密文E(ki)具有对应关系,E(ki)具体是由ki同态加密得到的。
所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。所述第二方可以持有第二筛选条件,所述第二筛选条件用于对所述第二数据集合中的第二数据进行筛选。由于所述第一同态密文集合和所述第四数据集合是数据对齐的,所述第四数据集合和所述第一数据集合是数据对齐的,所述第一数据集合和所述第二数据集合是数据对齐的,则所述第一同态密文集合和所述第二数据集合也是数据对齐的。这样所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文。
所述第二方可以将选取的第一密文进行同态相加,得到第一相加结果。所述第二方可以向所述第一方发送所述第一相加结果。所述第一方可以接收所述第一相加结果;可以对所述第一相加结果进行解密,得到统计指标。值得说明的是,此处,所述统计指标能够反映同时满足所述第一筛选条件和所述第二筛选条件的业务对象所具有的第一数据数量。考虑到在所述第一数据集合中不同的第一数据可以对应不同的业务对象,在所述第二数据集合中不同的第二数据可以对应不同的业务对象,因而所述统计指标也能够反映同时满足所述第一筛选条件和所述第二筛选条件的业务对象的数量。
在另一些实施例中,所述第一方可以持有第一筛选条件,所述第二方可以持有第二筛选条件。所述统计指标可以包括:满足所述第一筛选条件或者所述第二筛选条件的业务对象的数量。例如,所述第一数据集合可以包括多个用户的工资数据,所述第二数据集合可以包括多个用户的学历数据,所述第一筛选条件可以为年龄在20岁-30岁之间的用户的工资数据,所述第二筛选条件可以为本科学历。所述统计指标可以包括:年龄在20岁-30岁之间、或者学历为本科的用户数量。
请参阅图6,以下对本实施例进行详细说明。
所述第一方可以持有第一筛选条件,所述第一筛选条件用于对所述第一数据集合中的第一数据进行筛选。所述第一方可以统计所述第一数据集合中满足所述第一筛选条件的第一数据数量,作为统计指标的第一分量。
所述第一方可以根据所述第一筛选条件和所述第一数据集合生成第四数据集合。所述第四数据集合可以包括第四数据。第四数据集合的生成过程在此不再赘述。所述第四数据集合和所述第一数据集合是数据对齐的,使得所述第四数据集合和所述第一数据集合中相同位置处的数据具有对应关系。所述第一方可以对所述第四数据集合中的第四数据进行同态加密,得到第一同态密文集合。所述第一同态密文集合可以包括第一密文,所述第一密文可以为同态密文。所述第一同态密文集合和所述第四数据集合是数据对齐的,使得所述第一同态密文集合和所述第四数据集合中相同位置处的数据具有对应关系。
所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。所述第二方可以持有第二筛选条件,所述第二筛选条件用于对所述第二数据集合中的第二数据进行筛选。由于所述第一同态密文集合和所述第四数据集合是数据对齐的,所述第四数据集合和所述第一数据集合是数据对齐的,所述第一数据集合和所述第二数据集合是数据对齐的,则所述第一同态密文集合和所述第二数据集合也是数据对齐的。这样所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文。
所述第二方可以将选取的第一密文同态相加,得到第一相加结果。所述第二方可以统计所述第二数据集合中满足所述第二筛选条件的第二数据数量;可以根据第一方的同态公钥,对统计数量进行同态加密;可以将加密结果与所述第一相加结果同态相减(例如将所述加密结果减去所述第一相加结果),得到统计指标的第二分量密文;可以向所述第一方发送统计指标的第二分量密文。所述第一方可以接收统计指标的第二分量密文;可以对统计指标的第二分量密文进行解密,得到统计指标的第二分量;可以根据统计指标的第一分量和统计指标的第二分量,计算统计指标。具体地,所述第一方可以利用自身的同态私钥,对统计指标的第二分量密文进行解密,得到统计指标的第二分量。所述第一方可以将统计指标的第一分量和统计指标的第二分量相加,得到统计指标。值得说明的是,此处,所述统计指标能够反映满足所述第一筛选条件或者所述第二筛选条件的业务对象的业务对象所具有的第一数据数量。考虑到在所述第一数据集合中不同的第一数据可以对应不同的业务对象,在所述第二数据集合中不同的第二数据可以对应不同的业务对象,因而所述统计指标也能够反映满足所述第一筛选条件或者所述第二筛选条件的业务对象的数量。
本说明书实施例的统计方法,第一方和第二方可以在不泄漏自身持有的数据的条件下,利用同态加密技术,基于筛选条件协作完成数据指标的统计,实现了隐私保护。
上文中的实施例,可以单独实现为第一方侧的统计方法和第二方侧的统计方法。下面将结合图7和图8,详细描述本说明书实施例中第一方侧的统计方法和第二方侧的统计方法。
请参阅图7。本说明书提供统计方法的另一个实施例。所述统计方法的执行主体可以为第一方,具体可以包括以下步骤。
步骤S71:根据第一数据集合生成第一同态密文集合,所述第一同态密文集合包括第一密文。
步骤S73:向第二方发送所述第一同态密文集合,以使第二方根据自身的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文,所述第二数据集合包括所述业务对象的第二数据。
步骤S75:接收第二方发来的第一相加结果,所述第一相加结果由选取的第一密文同态相加得到。
步骤S77:对所述第一相加结果进行解密,得到统计指标。
在一些实施例中,所述第一方可以对所述第一数据集合中的第一数据进行同态加密,得到第一同态密文集合。所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。另外,所述第二方可以持有第二筛选条件。所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文;可以将选取的第一密文进行同态相加,得到第一相加结果。所述第二方可以向所述第一方发送所述第一相加结果。所述第一方可以接收所述第一相加结果;可以对所述第一相加结果进行解密,得到统计指标。
在一些实施例中,所述第一方可以持有第一筛选条件。所述第一方可以根据所述第一筛选条件和所述第一数据集合生成第三数据集合;可以对所述第三数据集合中的第三数据进行同态加密,得到第一同态密文集合。所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。另外,所述第二方可以持有第二筛选条件。所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文;可以将选取的第一密文进行同态相加,得到第一相加结果。所述第二方可以向所述第一方发送所述第一相加结果。所述第一方可以接收所述第一相加结果;可以对所述第一相加结果进行解密,得到统计指标。
在一些实施例中,所述第一方可以持有第一筛选条件。所述第一方可以从所述第一数据集合中选取满足所述第一筛选条件的第一数据;可以将选取的第一数据相加,得到统计指标的第一分量。所述第一方还可以对所述第一数据集合中的第一数据进行同态加密,得到第一同态密文集合;还可以根据所述第一筛选条件和所述第一数据集合生成第三数据集合;可以对所述第三数据集合中的第三数据进行同态加密,得到第二同态密文集合。所述第一方可以向所述第二方发送所述第一同态密文集合和所述第二同态密文集合。所述第二方可以接收所述第一同态密文集合和所述第二同态密文集合。所述第二方可以持有第二筛选条件。所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文、以及从所述第二同态密文集合中选取相同位置处的第二密文;可以将选取的第一密文进行同态相加,得到第一相加结果;可以将选取的第二密文进行同态相加,得到第二相加结果;可以将所述第一相加结果和所述第二相加结果同态相减(例如将所述第一相加结果减去所述第二相加结果),得到统计指标的第二分量密文;可以向所述第一方发送统计指标的第二分量密文。所述第一方可以接收统计指标的第二分量密文;可以对统计指标的第二分量密文进行解密,得到统计指标的第二分量;可以根据统计指标的第一分量和统计指标的第二分量,计算统计指标。
在一些实施例中,所述第一方可以持有第一筛选条件。所述第一方可以根据所述第一筛选条件和所述第一数据集合生成第四数据集合;可以对所述第四数据集合中的第四数据进行同态加密,得到第一同态密文集合。所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。所述第二方可以持有第二筛选条件。所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文;可以将选取的第一密文进行同态相加,得到第一相加结果。所述第二方可以向所述第一方发送所述第一相加结果。所述第一方可以接收所述第一相加结果;可以对所述第一相加结果进行解密,得到统计指标。
在一些实施例中,所述第一方可以持有第一筛选条件。所述第一方可以统计所述第一数据集合中满足所述第一筛选条件的第一数据数量,作为统计指标的第一分量。所述第一方还可以根据所述第一筛选条件和所述第一数据集合生成第四数据集合;可以对所述第四数据集合中的第四数据进行同态加密,得到第一同态密文集合。所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。所述第二方可以持有第二筛选条件。所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文;可以将选取的第一密文同态相加,得到第一相加结果。所述第二方可以统计所述第二数据集合中满足所述第二筛选条件的第二数据数量;可以根据第一方的同态公钥,对统计数量进行同态加密;可以将加密结果与所述第一相加结果同态相减(例如将所述加密结果减去所述第一相加结果),得到统计指标的第二分量密文;可以向所述第一方发送统计指标的第二分量密文。所述第一方可以接收统计指标的第二分量密文;可以对统计指标的第二分量密文进行解密,得到统计指标的第二分量;可以根据统计指标的第一分量和统计指标的第二分量,计算统计指标。
本说明书实施例的统计方法,第一方和第二方可以在不泄漏自身持有的数据的条件下,利用同态加密技术,基于筛选条件协作完成数据指标的统计,实现了隐私保护。
请参阅图8。本说明书提供统计方法的另一个实施例。所述统计方法的执行主体可以为第二方,具体可以包括以下步骤。
步骤S81:接收第一方发来的第一同态密文集合,所述第一同态密文集合包括第一密文,所述第一同态密文集合是根据第一数据集合生成的,所述第一数据集合包括所述业务对象的第一数据。
步骤S83:根据自身的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文。
步骤S85:将选取的第一密文同态相加,得到第一相加结果。
步骤S87:向第一方发送所述第一相加结果,以使第一方根据所述第一相加结果获得统计指标。
在一些实施例中,所述第一方可以对所述第一数据集合中的第一数据进行同态加密,得到第一同态密文集合。所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。另外,所述第二方可以持有第二筛选条件。所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文;可以将选取的第一密文进行同态相加,得到第一相加结果。所述第二方可以向所述第一方发送所述第一相加结果。所述第一方可以接收所述第一相加结果;可以对所述第一相加结果进行解密,得到统计指标。
在一些实施例中,所述第一方可以持有第一筛选条件。所述第一方可以根据所述第一筛选条件和所述第一数据集合生成第三数据集合;可以对所述第三数据集合中的第三数据进行同态加密,得到第一同态密文集合。所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。另外,所述第二方可以持有第二筛选条件。所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文;可以将选取的第一密文进行同态相加,得到第一相加结果。所述第二方可以向所述第一方发送所述第一相加结果。所述第一方可以接收所述第一相加结果;可以对所述第一相加结果进行解密,得到统计指标。
在一些实施例中,所述第一方可以持有第一筛选条件。所述第一方可以从所述第一数据集合中选取满足所述第一筛选条件的第一数据;可以将选取的第一数据相加,得到统计指标的第一分量。所述第一方还可以对所述第一数据集合中的第一数据进行同态加密,得到第一同态密文集合;还可以根据所述第一筛选条件和所述第一数据集合生成第三数据集合;可以对所述第三数据集合中的第三数据进行同态加密,得到第二同态密文集合。所述第一方可以向所述第二方发送所述第一同态密文集合和所述第二同态密文集合。所述第二方可以接收所述第一同态密文集合和所述第二同态密文集合。所述第二方可以持有第二筛选条件。所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文、以及从所述第二同态密文集合中选取相同位置处的第二密文;可以将选取的第一密文进行同态相加,得到第一相加结果;可以将选取的第二密文进行同态相加,得到第二相加结果;可以将所述第一相加结果和所述第二相加结果同态相减(例如将所述第一相加结果减去所述第二相加结果),得到统计指标的第二分量密文;可以向所述第一方发送统计指标的第二分量密文。所述第一方可以接收统计指标的第二分量密文;可以对统计指标的第二分量密文进行解密,得到统计指标的第二分量;可以根据统计指标的第一分量和统计指标的第二分量,计算统计指标。
在一些实施例中,所述第一方可以持有第一筛选条件。所述第一方可以根据所述第一筛选条件和所述第一数据集合生成第四数据集合;可以对所述第四数据集合中的第四数据进行同态加密,得到第一同态密文集合。所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。所述第二方可以持有第二筛选条件。所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文;可以将选取的第一密文进行同态相加,得到第一相加结果。所述第二方可以向所述第一方发送所述第一相加结果。所述第一方可以接收所述第一相加结果;可以对所述第一相加结果进行解密,得到统计指标。
在一些实施例中,所述第一方可以持有第一筛选条件。所述第一方可以统计所述第一数据集合中满足所述第一筛选条件的第一数据数量,作为统计指标的第一分量。所述第一方还可以根据所述第一筛选条件和所述第一数据集合生成第四数据集合;可以对所述第四数据集合中的第四数据进行同态加密,得到第一同态密文集合。所述第一方可以向所述第二方发送所述第一同态密文集合。所述第二方可以接收所述第一同态密文集合。所述第二方可以持有第二筛选条件。所述第二方可以确定满足所述第二筛选条件的第二数据在所述第二数据集合中的位置;可以从所述第一同态密文集合中选取相同位置处的第一密文;可以将选取的第一密文同态相加,得到第一相加结果。所述第二方可以统计所述第二数据集合中满足所述第二筛选条件的第二数据数量;可以根据第一方的同态公钥,对统计数量进行同态加密;可以将加密结果与所述第一相加结果同态相减(例如将所述加密结果减去所述第一相加结果),得到统计指标的第二分量密文;可以向所述第一方发送统计指标的第二分量密文。所述第一方可以接收统计指标的第二分量密文;可以对统计指标的第二分量密文进行解密,得到统计指标的第二分量;可以根据统计指标的第一分量和统计指标的第二分量,计算统计指标。
本说明书实施例的统计方法,第一方和第二方可以在不泄漏自身持有的数据的条件下,利用同态加密技术,基于筛选条件协作完成数据指标的统计,实现了隐私保护。
请参阅图9。本说明书实施例还提供一种统计装置,所述统计装置可以设置于第一方,具体可以包括以下单元。
生成单元91,用于根据第一数据集合生成第一同态密文集合,所述第一同态密文集合包括第一密文;
发送单元93,用于向第二方发送所述第一同态密文集合,以使第二方根据自身的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文,所述第二数据集合包括业务对象的第二数据;
接收单元95,用于接收第二方发来的第一相加结果,所述第一相加结果由选取的第一密文同态相加得到;
解密单元97,用于对所述第一相加结果进行解密,得到统计指标。
请参阅图10。本说明书实施例还提供一种统计装置,所述统计装置可以设置于第二方,具体可以包括以下单元。
接收单元101,用于接收第一方发来的第一同态密文集合,所述第一同态密文集合包括第一密文,所述第一同态密文集合是根据第一数据集合生成的,所述第一数据集合包括业务对象的第一数据;
选取单元103,用于根据自身持有的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文;
相加单元105,用于将选取的第一密文同态相加,得到第一相加结果;
发送单元107,用于向第一方发送所述第一相加结果,以使第一方根据所述第一相加结果获得统计指标。
下面介绍本说明书电子设备的一个实施例。图11是该实施例中电子设备的硬件结构示意图。如图11所示,该电子设备可以包括一个或多个(图中仅示出一个)处理器、存储器和传输模块。当然,本领域普通技术人员可以理解,图11所示的硬件结构仅为示意,其并不对上述电子设备的硬件结构造成限定。在实际中该电子设备还可以包括比图11所示更多或者更少的组件单元;或者,具有与图11所示不同的配置。
所述存储器可以包括高速随机存储器;或者,还可以包括非易失性存储器,例如一个或者多个磁性存储装置、闪存或者其他非易失性固态存储器。当然,所述存储器还可以包括远程设置的网络存储器。所述存储器可以用于存储应用软件的程序指令或模块,所述应用软件例如可以基于图7或图8所对应的实施例来实现。
所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以读取并执行所述存储器中的程序指令或模块。
所述传输模块可以用于经由网络进行数据传输,例如经由诸如互联网、企业内部网、局域网、移动通信网等网络进行数据传输。
本说明书还提供计算机存储介质的一个实施例。所述计算机存储介质包括但不限于随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk Drive,HDD)、存储卡(Memory Card)等等。所述计算机存储介质存储有计算机程序指令。在所述计算机程序指令被执行时实现:本说明书图7或图8所对应的实施例。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于单侧实施的方法实施例、装置实施例、电子设备实施例、以及计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (20)
1.一种统计方法,应用于包括第一方和第二方的统计系统,所述第一方持有第一数据集合,所述第一数据集合包括业务对象的第一数据,所述第二方持有第二数据集合,所述第二数据集合包括业务对象的第二数据,所述方法包括:
第一方根据第一数据集合生成第一同态密文集合,所述第一同态密文集合包括第一密文;
第一方向第二方发送所述第一同态密文集合;
第二方接收第一同态密文集合;根据自身持有的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文;将选取的第一密文同态相加,得到第一相加结果;
第二方向第一方发送所述第一相加结果;
第一方接收第一相加结果;对所述第一相加结果进行解密,得到统计指标。
2.一种统计方法,应用于第一方,所述第一方持有第一数据集合,所述第一数据集合包括业务对象的第一数据,所述方法包括:
根据第一数据集合生成第一同态密文集合,所述第一同态密文集合包括第一密文;
向第二方发送所述第一同态密文集合,以使第二方根据自身的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文,所述第二数据集合包括业务对象的第二数据;
接收第二方发来的第一相加结果,所述第一相加结果由选取的第一密文同态相加得到;
对所述第一相加结果进行解密,得到统计指标。
3.如权利要求2所述的方法,所述根据第一数据集合生成第一同态密文集合,包括:
对所述第一数据集合中的第一数据进行同态加密,得到第一同态密文集合。
4.如权利要求2所述的方法,所述根据第一数据集合生成第一同态密文集合,包括:
根据自身的筛选条件和第一数据集合,生成第三数据集合;
对所述第三数据集合中的第三数据进行同态加密,得到第一同态密文集合。
5.如权利要求2所述的方法,还包括:
从第一数据集合中选取满足自身筛选条件的第一数据;
将选取的第一数据相加,得到统计指标的第一分量;
根据自身持有的筛选条件和第一数据集合,生成第三数据集合;
对所述第三数据集合中的第三数据进行同态加密,得到第二同态密文集合,所述第二同态密文集合包括第二密文;
向第二方发送所述第二同态密文集合,以使第二方根据自身的筛选条件和第二数据集合,从所述第二同态密文集合中选取第二密文;
所述接收第二方发来的第一相加结果,包括:
接收第二方发来的统计指标的第二分量密文,所述第二分量密文由第一相加结果与第二相加结果同态相减得到,所述第二相加结果由选取的第二密文同态相加得到;
所述对所述第一相加结果进行解密,得到统计指标,包括:
对统计指标的第二分量密文进行解密,得到统计指标的第二分量;
根据统计指标的第一分量和统计指标的第二分量,计算统计指标。
6.如权利要求4或5所述的方法,所述生成第三数据集合,包括:
针对第一数据集合中的每个第一数据,若第一数据满足自身持有的筛选条件,将第一数据作为第三数据计入所述第三数据集合,若第一数据不满足自身持有的筛选条件,将第一特定值作为第三数据计入所述第三数据集合。
7.如权利要求2所述的方法,所述根据第一数据集合生成第一同态密文集合,包括:
根据自身持有的筛选条件和第一数据集合,生成第四数据集合;
对所述第四数据集合中的第四数据进行同态加密,得到第一同态密文集合。
8.如权利要求7所述的方法,还包括:
统计第一数据集合中满足自身筛选条件的第一数据数量,作为统计指标的第一分量;
接收第二方发来的统计指标的第二分量密文;
所述对所述第一相加结果进行解密,得到统计指标,包括:
对统计指标的第二分量密文进行解密,得到统计指标的第二分量;
根据统计指标的第一分量和统计指标的第二分量,计算统计指标。
9.如权利要求7或8所述的方法,所述生成第四数据集合,包括:
针对第一数据集合中的每个第一数据,若第一数据满足自身持有的筛选条件,将第二特定值作为第四数据计入所述第四数据集合,若第一数据不满足自身持有的筛选条件,将第一特定值作为第四数据计入所述第四数据集合。
10.如权利要求5或8所述的方法,所述计算统计指标,包括:
将统计指标的第一分量和统计指标的第二分量相加,得到统计指标。
11.一种统计方法,应用于第二方,所述第二方持有第二数据集合,所述第二数据集合包括业务对象的第二数据,所述方法包括:
接收第一方发来的第一同态密文集合,所述第一同态密文集合包括第一密文,所述第一同态密文集合是根据第一数据集合生成的,所述第一数据集合包括业务对象的第一数据;
根据自身持有的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文;
将选取的第一密文同态相加,得到第一相加结果;
向第一方发送所述第一相加结果,以使第一方根据所述第一相加结果获得统计指标。
12.如权利要求11所述的方法,所述从所述第一同态密文集合中选取第一密文,包括:
确定满足自身筛选条件的第二数据在所述第二数据集合中的位置;
从所述第一同态密文集合中选取相同位置处的第一密文。
13.如权利要求11所述的方法,所述第一同态密文集合是对第一数据集合中的第一数据进行同态加密得到的;或者,所述第一同态密文集合是对第三数据集合中的第三数据进行同态加密得到的,所述第三数据集合是根据第一方的筛选条件和第一数据集合生成的。
14.如权利要求11所述的方法,还包括:
接收第一方发来的第二同态密文集合,所述第二同态密文集合包括第二密文,所述第二同态密文集合是对第三数据集合中的第三数据进行同态加密得到的,所述第三数据集合是根据第一方的筛选条件和第一数据集合生成的;
根据自身持有的筛选条件和第二数据集合,从所述第二同态密文集合中选取第二密文;
将选取的第二密文同态相加,得到第二相加结果;
将第一相加结果与第二相加结果同态相减,得到统计指标的第二分量密文;
所述向第一方发送第一相加结果,包括:
向第一方发送统计指标的第二分量密文,以使第一方根据第二分量密文获得统计指标。
15.如权利要求14所述的方法,所述从所述第二同态密文集合中选取第二密文,包括:
确定满足自身筛选条件的第二数据在所述第二数据集合中的位置;
从所述第二同态密文集合中选取相同位置处的第二密文。
16.如权利要求11所述的方法,所述第一同态密文集合是对第四数据集合中的第四数据进行同态加密得到的,所述第四数据集合根据第一方的筛选条件和第一数据集合生成。
17.如权利要求16所述的方法,还包括:
统计第二数据集合中满足自身筛选条件的第二数据数量;
根据第一方的同态公钥,对统计数量进行同态加密;
将加密结果与第一相加结果同态相减,得到统计指标的第二分量密文;
所述向第一方发送第一相加结果,包括:
向第一方发送统计指标的第二分量密文,以使第一方根据第二分量密文获得统计指标。
18.一种统计装置,应用于第一方,所述第一方持有第一数据集合,所述第一数据集合包括业务对象的第一数据,所述装置包括:
生成单元,用于根据第一数据集合生成第一同态密文集合,所述第一同态密文集合包括第一密文;
发送单元,用于向第二方发送所述第一同态密文集合,以使第二方根据自身的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文,所述第二数据集合包括业务对象的第二数据;
接收单元,用于接收第二方发来的第一相加结果,所述第一相加结果由选取的第一密文同态相加得到;
解密单元,用于对所述第一相加结果进行解密,得到统计指标。
19.一种统计装置,应用于第二方,所述第二方持有第二数据集合,所述第二数据集合包括业务对象的第二数据,所述装置包括:
接收单元,用于接收第一方发来的第一同态密文集合,所述第一同态密文集合包括第一密文,所述第一同态密文集合是根据第一数据集合生成的,所述第一数据集合包括业务对象的第一数据;
选取单元,用于根据自身持有的筛选条件和第二数据集合,从所述第一同态密文集合中选取第一密文;
相加单元,用于将选取的第一密文同态相加,得到第一相加结果;
发送单元,用于向第一方发送所述第一相加结果,以使第一方根据所述第一相加结果获得统计指标。
20.一种电子设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求2-17中任一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010999509.7A CN112232639B (zh) | 2020-09-22 | 2020-09-22 | 统计方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010999509.7A CN112232639B (zh) | 2020-09-22 | 2020-09-22 | 统计方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112232639A true CN112232639A (zh) | 2021-01-15 |
CN112232639B CN112232639B (zh) | 2023-06-30 |
Family
ID=74108165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010999509.7A Active CN112232639B (zh) | 2020-09-22 | 2020-09-22 | 统计方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112232639B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200074548A1 (en) * | 2018-08-29 | 2020-03-05 | Credit Suisse Securities (Usa) Llc | Systems and methods for calculating consensus data on a decentralized peer-to-peer network using distributed ledger |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006095895A1 (ja) * | 2005-03-08 | 2006-09-14 | N-Crypt, Inc. | データ処理装置 |
JP2011028421A (ja) * | 2009-07-23 | 2011-02-10 | Nec Corp | 並列計算機と並列計算機の計算方法 |
JP2013097530A (ja) * | 2011-10-31 | 2013-05-20 | Mitsubishi Electric Corp | データ通信システム、送信側機器およびサーバ機器 |
WO2017000817A1 (zh) * | 2015-06-29 | 2017-01-05 | 阿里巴巴集团控股有限公司 | 获取数据之间的匹配关系的方法和装置 |
CN106569275A (zh) * | 2015-10-10 | 2017-04-19 | 中国石油化工股份有限公司 | 子波零相位化处理方法和装置 |
WO2018000317A1 (en) * | 2016-06-30 | 2018-01-04 | Nokia Technologies Oy | Secure data processing |
WO2018014708A1 (zh) * | 2016-07-19 | 2018-01-25 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
WO2018134922A1 (ja) * | 2017-01-18 | 2018-07-26 | 三菱電機株式会社 | 準同型演算装置、暗号システム及び準同型演算プログラム |
US20180218426A1 (en) * | 2017-01-27 | 2018-08-02 | Xerox Corporation | Systems and methods for privacy preserving recommendation of items |
CN109726580A (zh) * | 2017-10-31 | 2019-05-07 | 阿里巴巴集团控股有限公司 | 一种数据统计方法和装置 |
WO2019102624A1 (ja) * | 2017-11-27 | 2019-05-31 | 三菱電機株式会社 | 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム |
CN110019449A (zh) * | 2017-09-27 | 2019-07-16 | 北京国双科技有限公司 | 有交集集合的合并方法及装置 |
CN110058829A (zh) * | 2019-04-17 | 2019-07-26 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法、装置及存储介质 |
CN110069529A (zh) * | 2017-09-30 | 2019-07-30 | 北京国双科技有限公司 | 集合处理方法及装置 |
CN110610102A (zh) * | 2019-09-23 | 2019-12-24 | 郑州师范学院 | 一种数据访问方法、装置及系统 |
CN110895611A (zh) * | 2019-11-26 | 2020-03-20 | 支付宝(杭州)信息技术有限公司 | 基于隐私信息保护的数据查询方法、装置、设备及系统 |
CN111046408A (zh) * | 2019-12-13 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 判断结果处理方法、查询方法、装置、电子设备和系统 |
CN111061720A (zh) * | 2020-03-12 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 数据筛选方法、装置和电子设备 |
CN111143862A (zh) * | 2019-12-13 | 2020-05-12 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、查询方法、装置、电子设备和系统 |
US20200175178A1 (en) * | 2019-08-01 | 2020-06-04 | Alibaba Group Holding Limited | Encrypted data exchange |
WO2020172887A1 (zh) * | 2019-02-28 | 2020-09-03 | 云图有限公司 | 数据处理方法、装置、智能卡、终端设备和服务器 |
-
2020
- 2020-09-22 CN CN202010999509.7A patent/CN112232639B/zh active Active
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006095895A1 (ja) * | 2005-03-08 | 2006-09-14 | N-Crypt, Inc. | データ処理装置 |
JP2011028421A (ja) * | 2009-07-23 | 2011-02-10 | Nec Corp | 並列計算機と並列計算機の計算方法 |
JP2013097530A (ja) * | 2011-10-31 | 2013-05-20 | Mitsubishi Electric Corp | データ通信システム、送信側機器およびサーバ機器 |
WO2017000817A1 (zh) * | 2015-06-29 | 2017-01-05 | 阿里巴巴集团控股有限公司 | 获取数据之间的匹配关系的方法和装置 |
CN106569275A (zh) * | 2015-10-10 | 2017-04-19 | 中国石油化工股份有限公司 | 子波零相位化处理方法和装置 |
WO2018000317A1 (en) * | 2016-06-30 | 2018-01-04 | Nokia Technologies Oy | Secure data processing |
WO2018014708A1 (zh) * | 2016-07-19 | 2018-01-25 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
WO2018134922A1 (ja) * | 2017-01-18 | 2018-07-26 | 三菱電機株式会社 | 準同型演算装置、暗号システム及び準同型演算プログラム |
US20180218426A1 (en) * | 2017-01-27 | 2018-08-02 | Xerox Corporation | Systems and methods for privacy preserving recommendation of items |
CN110019449A (zh) * | 2017-09-27 | 2019-07-16 | 北京国双科技有限公司 | 有交集集合的合并方法及装置 |
CN110069529A (zh) * | 2017-09-30 | 2019-07-30 | 北京国双科技有限公司 | 集合处理方法及装置 |
WO2019085650A1 (zh) * | 2017-10-31 | 2019-05-09 | 阿里巴巴集团控股有限公司 | 一种数据统计方法和装置 |
CN109726580A (zh) * | 2017-10-31 | 2019-05-07 | 阿里巴巴集团控股有限公司 | 一种数据统计方法和装置 |
CN111611618A (zh) * | 2017-10-31 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种数据统计方法和装置 |
WO2019102624A1 (ja) * | 2017-11-27 | 2019-05-31 | 三菱電機株式会社 | 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム |
WO2020172887A1 (zh) * | 2019-02-28 | 2020-09-03 | 云图有限公司 | 数据处理方法、装置、智能卡、终端设备和服务器 |
CN110058829A (zh) * | 2019-04-17 | 2019-07-26 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法、装置及存储介质 |
US20200175178A1 (en) * | 2019-08-01 | 2020-06-04 | Alibaba Group Holding Limited | Encrypted data exchange |
CN110610102A (zh) * | 2019-09-23 | 2019-12-24 | 郑州师范学院 | 一种数据访问方法、装置及系统 |
CN110895611A (zh) * | 2019-11-26 | 2020-03-20 | 支付宝(杭州)信息技术有限公司 | 基于隐私信息保护的数据查询方法、装置、设备及系统 |
CN111046408A (zh) * | 2019-12-13 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 判断结果处理方法、查询方法、装置、电子设备和系统 |
CN111143862A (zh) * | 2019-12-13 | 2020-05-12 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、查询方法、装置、电子设备和系统 |
CN111061720A (zh) * | 2020-03-12 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 数据筛选方法、装置和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200074548A1 (en) * | 2018-08-29 | 2020-03-05 | Credit Suisse Securities (Usa) Llc | Systems and methods for calculating consensus data on a decentralized peer-to-peer network using distributed ledger |
US11818204B2 (en) * | 2018-08-29 | 2023-11-14 | Credit Suisse Securities (Usa) Llc | Systems and methods for calculating consensus data on a decentralized peer-to-peer network using distributed ledger |
Also Published As
Publication number | Publication date |
---|---|
CN112232639B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162551B (zh) | 数据处理方法、装置和电子设备 | |
CN108364223B (zh) | 一种数据审计的方法及装置 | |
CN110457912B (zh) | 数据处理方法、装置和电子设备 | |
Li et al. | Privacy protection for preventing data over-collection in smart city | |
CN110210246B (zh) | 一种基于安全计算的个人数据服务方法和系统 | |
CN103002124B (zh) | 一种通信数据的处理方法、装置 | |
CN111125727B (zh) | 混淆电路生成方法、预测结果确定方法、装置和电子设备 | |
CN110427969B (zh) | 数据处理方法、装置和电子设备 | |
CN110933063B (zh) | 数据加密方法、数据解密方法及设备 | |
US10417434B2 (en) | Method, apparatus, and computer-readable medium for data exchange | |
CN110391895B (zh) | 数据预处理方法、密文数据获取方法、装置和电子设备 | |
CN110414567A (zh) | 数据处理方法、装置和电子设备 | |
CN110457936B (zh) | 数据交互方法、装置和电子设备 | |
CN111144576A (zh) | 模型训练方法、装置和电子设备 | |
CN111008325B (zh) | 数据查询方法、装置、电子设备和系统 | |
CN111143862B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN111984984A (zh) | 基于集合运算的保密统计数据共享方法及系统 | |
WO2020233014A1 (zh) | 消息发送方法、装置、计算机设备和存储介质 | |
CN110048830B (zh) | 一种数据加密解密方法和加密解密装置 | |
CN110688670B (zh) | 数据处理方法、装置和电子设备 | |
CN112232639A (zh) | 统计方法、装置和电子设备 | |
CN111061720B (zh) | 数据筛选方法、装置和电子设备 | |
CN111159730B (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
CN111046408A (zh) | 判断结果处理方法、查询方法、装置、电子设备和系统 | |
CN110717186B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40044756 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |