CN111143862A - 数据处理方法、查询方法、装置、电子设备和系统 - Google Patents

数据处理方法、查询方法、装置、电子设备和系统 Download PDF

Info

Publication number
CN111143862A
CN111143862A CN201911284306.3A CN201911284306A CN111143862A CN 111143862 A CN111143862 A CN 111143862A CN 201911284306 A CN201911284306 A CN 201911284306A CN 111143862 A CN111143862 A CN 111143862A
Authority
CN
China
Prior art keywords
ciphertext
judgment
segment
segmentation
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911284306.3A
Other languages
English (en)
Other versions
CN111143862B (zh
Inventor
刘志杰
李漓春
赵原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sasi Digital Technology Beijing Co ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201911284306.3A priority Critical patent/CN111143862B/zh
Publication of CN111143862A publication Critical patent/CN111143862A/zh
Application granted granted Critical
Publication of CN111143862B publication Critical patent/CN111143862B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书提供数据处理方法、查询方法、装置、电子设备和系统的实施例。所述查询方法包括:获取判断对象特定取值的多个二进制段;根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;对多个查询结果进行打包,得到打包数据密文;向判断条件方发送所述打包数据密文。本说明书的一个或多个实施例,通过安全多方计算,可以在判断条件方不泄漏自身的判断条件、且数据方不泄漏自身的特定取值的前提下,由二者合作确定出判断条件的与判断对象的特定取值相对应的判断结果,从而实现了隐私保护。

Description

数据处理方法、查询方法、装置、电子设备和系统
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法、查询方法、装置、电子设备和系统。
背景技术
在业务实际中,通常一方拥有需要保密的判断条件(为了便于描述,以下称为判断条件方),另一方拥有需要保密的隐私数据(为了便于描述,以下称为数据方)。如何在所述判断条件方不泄漏所述判断条件、且所述数据方不泄漏所述隐私数据的条件下,合作确定出所述判断条件的与所述隐私数据相对应的判断结果,是当前亟需解决的技术问题。
发明内容
本说明书实施例提供一种数据处理方法、查询方法、装置、电子设备和系统,以便于在所述判断条件方不泄漏所述判断条件、且所述数据方不泄漏所述隐私数据的条件下,合作确定出所述判断条件的与所述隐私数据相对应的判断结果。
为实现上述目的,本说明书中一个或多个实施例提供的技术方案如下。
根据本说明书一个或多个实施例的第一方面,提供了一种数据处理方法,应用于判断条件方,包括:获取判断条件中基准数据的多个二进制段;构建多个第一分段判断结果集合,每个第一分段判断结果集合对应有段位置,且包括根据基准数据中该段位置处的二进制段所得到的多个分段判断结果;对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合;向数据方发送多个密文集合。
根据本说明书一个或多个实施例的第二方面,提供了一种查询方法,应用于数据方,所述数据方持有多个密文集合,每个密文集合对应有段位置,且包括多个对应有二进制段的分段判断结果密文,该方法包括:获取判断对象特定取值的多个二进制段;根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;对多个查询结果进行打包,得到打包数据密文;向判断条件方发送所述打包数据密文。
根据本说明书一个或多个实施例的第三方面,提供了一种查询方法,应用于数据方,所述数据方持有多个密文集合,每个密文集合对应有段位置,且包括多个对应有二进制段的分段判断结果密文,该方法包括:获取判断对象特定取值的多个二进制段;根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;对多个查询结果进行打包,得到打包数据密文;生成打包数据的第一份额;根据打包数据密文和所述第一份额,计算打包数据第二份额的密文;向判断条件方发送打包数据第二份额的密文。
根据本说明书一个或多个实施例的第四方面,提供了一种数据处理装置,应用于判断条件方,包括:获取单元,用于获取判断条件中基准数据的多个二进制段;构建单元,用于构建多个第一分段判断结果集合,每个第一分段判断结果集合对应有段位置,且包括根据基准数据中该段位置处的二进制段所得到的多个分段判断结果;编码单元,用于对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;加密单元,用于对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合;发送单元,用于向数据方发送多个密文集合。
根据本说明书一个或多个实施例的第五方面,提供了一种查询装置,应用于数据方,所述数据方持有多个密文集合,每个密文集合对应有段位置,且包括多个对应有二进制段的分段判断结果密文,该装置包括:获取单元,用于获取判断对象特定取值的多个二进制段;查询单元,用于根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;打包单元,用于对多个查询结果进行打包,得到打包数据密文;发送单元,用于向判断条件方发送所述打包数据密文。
根据本说明书一个或多个实施例的第六方面,提供了一种查询装置,应用于数据方,所述数据方持有多个密文集合,每个密文集合对应有段位置,且包括多个对应有二进制段的分段判断结果密文,该装置包括:获取单元,用于获取判断对象特定取值的多个二进制段;查询单元,用于根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;打包单元,用于对多个查询结果进行打包,得到打包数据密文;生成单元,用于生成打包数据的第一份额,所述打包数据的第一份额包括随机数;计算单元,用于根据打包数据密文和所述第一份额,计算打包数据第二份额的密文;发送单元,用于向判断条件方发送打包数据第二份额的密文。
根据本说明书一个或多个实施例的第七方面,提供了一种电子设备,包括存储器和处理器;存储器,用于存储计算机指令;处理器,用于执行所述计算机指令以实现如第一方面所述的方法步骤。
根据本说明书一个或多个实施例的第八方面,提供了一种电子设备,包括存储器和处理器;存储器,用于存储计算机指令;处理器,用于执行所述计算机指令以实现如第二方面所述的方法步骤。
根据本说明书一个或多个实施例的第九方面,提供了一种电子设备,包括存储器和处理器;存储器,用于存储计算机指令;处理器,用于执行所述计算机指令以实现如第三方面所述的方法步骤。
根据本说明书一个或多个实施例的第十方面,提供了一种查询系统,包括数据方和判断条件方;所述数据方中设置如第五方面所述的装置;所述判断条件方用于接收所述打包数据密文;对所述打包数据密文进行解密,得到打包数据。
根据本说明书一个或多个实施例的第十一方面,提供了一种查询系统,包括数据方和判断条件方;所述数据方中设置如第六方面所述的装置;所述判断条件方用于接收所述打包数据第二份额的密文;对所述打包数据第二份额的密文进行解密,得到打包数据的第二份额。
在本说明书的一些实施例中,判断条件方可以获取判断条件中基准数据的多个二进制段;可以构建多个第一分段判断结果集合;可以对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;可以对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合;可以向数据方发送多个密文集合。数据方可以接收所述多个密文集合;可以对判断对象的特定取值进行分段;可以根据特定取值的二进制段在所述多个密文集合中进行查询。这样一方面,通过安全多方计算,可以在判断条件方不泄漏自身的判断条件、且数据方不泄漏自身的特定取值的前提下,由二者合作确定出判断条件的与判断对象的特定取值相对应的判断结果,从而实现了隐私保护。另一方面,第二分段判断结果集合的数据量比较小,判断条件方加密时花费的计算资源也较小;密文集合的数据量也比较小,也有利于数据方的查询。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一实施例的查询方法的流程图;
图2为本说明书一实施例的决策树的结构示意图;
图3为本说明书一实施例的查询方法的流程图;
图4为本说明书一实施例的数据处理方法的流程图;
图5为本说明书一实施例的查询方法的流程图;
图6为本说明书一实施例的查询方法的流程图;
图7为本说明书一实施例的数据处理装置的功能结构示意图;
图8为本说明书一实施例的查询装置的功能结构示意图;
图9为本说明书一实施例的查询装置的功能结构示意图;
图10为本说明书一实施例的电子设备的功能结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。应当理解,在本说明书中术语“唯一对应”可以理解为一一对应。例如,A唯一对应B可以理解为A与B之间一一对应。术语“比特数”可以理解为二进制位的位数。
本说明书提供查询系统的一个实施例。所述查询系统可以包括判断条件方和数据方。
在一些实施例中,所述判断条件方可以为服务器、手机、平板电脑或个人电脑等设备;或者,也可以为由多台设备组成的系统,例如由多个服务器组成的服务器集群。所述判断条件方可以持有判断条件。所述判断条件可以包括比较判断条件,所述比较判断条件可以用于确定判断对象的取值与阈值之间的大小关系。所述比较判断条件可以包括大于判断条件、大于或等于判断条件、等于判断条件、小于判断条件、小于或等于判断条件等等。例如,所述大于判断条件可以为x>t,x表示判断对象的取值,t表示阈值。
所述判断条件可以包括关系运算符和基准数据。具体地,所述判断条件可以包括比较判断条件。所述关系运算符可以包括比较运算符,所述基准数据可以包括阈值。其中,所述比较运算符可以包括大于运算符、大于或等于运算符、等于运算符、小于运算符、小于或等于运算符等等。
所述判断对象可以具有至少一个取值。所述取值可以为数值,或者,也可以为字符。例如,在一些业务场景下所述判断对象用于表示用户的收入状况,所述判断对象的取值可以为用户的年收入值。又例如,在一些业务场景下所述判断对象用于表示用户的房产状况,所述判断对象的取值可以为数值0或数值1,数值0表示不拥有房产,数值1表示不拥有房产。
根据所述判断条件可以获得至少一个判断结果,每个判断结果可以对应判断对象的至少一个取值。在实际应用中,判断对象的一个取值与基准数据按照关系运算符所表示的运算方式进行运算,便可以得到判断条件的一个判断结果。所述判断结果可以为数值,或者,也可以为字符。例如,所述判断结果可以为数值0或数值1,数值0表示判断条件不成立,数值1表示判断条件不成立。又例如,所述判断结果可以为字符False或字符True,字符False表示判断条件不成立,字符True表示判断条件成立。
在一些实施例中,所述数据方可以为服务器、手机、平板电脑或个人电脑等设备;或者,也可以为由多台设备组成的系统,例如由多个服务器组成的服务器集群。所述数据方可以持有判断对象的特定取值。
在一些实施例中,所述判断条件方和所述数据方可以理解为进行安全多方计算(SMC,Secure Multi-Party Computation)的双方,安全多方计算可以用于解决一组互不信任的参与方之间保护隐私的合作计算问题。具体地,所述判断条件方和所述数据方可以进行合作计算,得到所述判断条件的与所述判断对象的特定取值相对应的判断结果。出于隐私保护的考虑,在合作计算的过程中,所述判断条件方不能够向所述数据方泄漏自身持有的判断条件(例如关系运算符和/或基准数据等等),所述数据方不能够向所述判断条件方泄漏自身持有的判断对象的特定取值。
在实际应用中,所述判断条件方和所述数据方通过合作计算获得判断结果的过程,可以是一个独立的计算任务,或者,还可以是一个大的计算任务中的一部分。在一些场景示例中,所述判断条件方可以为金融机构,例如可以为银行、第三方支付机构等等。所述金融机构可以持有数据处理模型,所述数据处理模型可以包括决策树模型、评分卡模型等,所述数据处理模型可以包括至少一个判断条件。所述数据方可以为大数据公司,所述大数据公司可以持有用户的房产状况、婚姻状况和收入状况等隐私数据。所述金融机构和所述大数据公司可以进行合作计算,得到数据处理模型的预测结果,以便于所述金融机构能够基于所述预测结果来评估是否向所述用户借款。为了获得预测结果,所述金融机构和所述大数据公司需要合作计算以获得数据处理模型中判断条件的与判断对象的特定取值相对应的判断结果。通过合作计算获得判断结果的过程,便可以视为一个大的计算任务(获得数据处理模型的预测结果)中的一部分。关于所述金融机构和所述大数据公司通过合作计算获得预测结果的过程,在后续场景示例中会有详细的介绍。
在一些实施例中,为了实现隐私保护,在相关技术中,判断条件方可以根据判断条件构建明文表。所述明文表可以包括根据所述判断条件所得到的至少一个判断结果,每个判断结果可以对应判断对象的至少一个取值。判断条件方可以对所述明文表中的判断结果进行加密,得到密文表;可以向数据方发送所述密文表。所述数据方可以接收所述密文表;可以根据自身持有的判断对象的特定取值,从所述密文表中查询对应的判断结果密文;可以向判断条件方发送查询出的判断结果密文。判断条件方可以接收判断结果密文;可以对判断结果密文进行解密,得到最终的判断结果,即,判断条件的与判断对象的特定取值相对应的判断结果。在一些情况下,判断对象取值的数量非常多,使得明文表的数据量非常大。例如,若判断对象的取值为16bit整数,则判断对象具有65536个取值。这样一方面,在对明文表中的判断结果进行加密时花费的计算资源非常大;另一方面,使得密文表的数据量非常大,不利于数据方的查询。
若要确定两个数值之间的大小关系,可以将两个数值进行分段比较。
例如,数值value1=101100,数值value2=101011。那么,若要确定数值value1与数值value2之间的大小关系,可以先将数值value1的高位段101与数值value2的高位段101进行比较;由于二者的高位段均为101,因而可以进一步将数值value1的低位段100与数值value2的低位段011进行比较;由于数值value1的低位段100大于数值value2的低位段011,因而可以确定数值value1大于数值value2。
又例如,可以将数值value3的二进制形式按照由高位到低位的顺序分为value3[2]、value3[1]和value3[0]等3个二进制段;可以将数值value4的二进制形式按照由高位到低位的顺序分为value4[2]、value4[1]和value4[0]等3个二进制段。则确定value3≥value4是否成立可以等价于确定value3[2]>value4[2]||((value3[2]==value4[2])&&(value3[1]>value4[1]))||((value3[2]==value4[2])&&(value3[1]==value4[1])&&(value3[0]>=value4[0]))是否成立。||表示或逻辑运算符,&&表示与逻辑运算符。
又例如,可以将数值value5的二进制形式按照由高位到低位的顺序分为value5[1]和value5[0]等2个二进制段;可以将数值value6的二进制形式按照由高位到低位的顺序分为value6[1]和value6[1]等2个二进制段。则确定value5==value6是否成立可以等价于确定(value5[1]==value6[1])&&(value5[0]==value6[0])是否成立。
基于以上的考虑,判断条件方可以获取判断条件中基准数据的多个二进制段;可以构建多个第一分段判断结果集合;可以对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;可以对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合;可以向数据方发送多个密文集合。数据方可以接收所述多个密文集合;可以对判断对象的特定取值进行分段;可以根据特定取值的二进制段在所述多个密文集合中进行查询。这样一方面,通过安全多方计算,可以在判断条件方不泄漏自身的判断条件、且数据方不泄漏自身的特定取值的前提下,由二者合作确定出判断条件的与判断对象的特定取值相对应的判断结果,从而实现了隐私保护。另一方面,第二分段判断结果集合的数据量比较小,判断条件方加密时花费的计算资源也较小;密文集合的数据量也比较小,也有利于数据方的查询。
本说明书提供查询方法的一个实施例。所述查询方法可以包括部署阶段和实施阶段,所述部署阶段可以包括步骤S101-步骤S111,所述实施阶段可以包括步骤S113-步骤S121。部署阶段的方法步骤并非是必须的。例如,可以预先执行部署阶段的方法步骤,这样在需要确定所需的判断结果时,仅执行实施阶段的方法步骤就可以了。
通过本实施例的查询方法,判断条件方可以获得打包数据;可以根据所述打包数据确定最终的判断结果,即,判断条件的与判断对象的特定取值相对应的判断结果。
请参阅图1。所述查询方法可以包括以下步骤。
步骤S101:判断条件方获取判断条件中基准数据的多个二进制段。
在一些实施例中,判断条件方可以持有判断条件,所述判断条件中的基准数据可以为非负整数。判断条件方可以对所述基准数据进行分段,得到多个二进制段。具体地,判断条件方可以对二进制形式的基准数据进行分段,得到多个二进制段。所述多个二进制段的比特数可以相同或不同。每个二进制段可以对应一个段位置,该段位置用于表示该二进制段在二进制数中的位置。在实际应用中,段位置可以为二进制段中的任一二进制位在二进制数中所在的位次。或者,段位置还可以由判断条件方直接生成。
例如,判断条件方可以持有判断条件x≥26=011010B。判断条件方可以对基准数据011010B进行分段,得到tx[2]=01、tx[1]=10、以及tx[0]=10等3个二进制段。tx[2]=01对应的段位置为2,tx[1]=10对应的段位置为1,tx[0]=10对应的段位置为0。
值得说明的是,判断条件方可以获取一个判断条件中基准数据的二进制段。或者,判断条件方还可以获取多个判断条件中基准数据的二进制段。
另外,判断条件方可以知晓判断对象的取值区间,所述取值区间内的整数构成了判断对象的所有可能取值。在一些情况下,判断条件中的基准数据为非负整数,所述取值区间内的整数也均为非负整数。则判断条件方可以直接获取基准数据的二进制段;在后续的步骤S105中可以直接根据所述取值区间,获取判断对象的多组二进制段。在另一些情况下,判断条件中的基准数据为负整数,和/或,所述取值区间内的部分或全部整数为负整数。则判断条件方可以对所述基准数据进行处理,得到新的基准数据;可以获取新的基准数据的二进制段。当然为了保持最终的判断结果不变,判断条件方需要对所述取值区间进行同样的处理,得到新的取值区间;在后续的步骤S105中可以根据新的取值区间,获取判断对象的多组二进制段。其中,新的基准数据为非负整数,以及,新的取值区间内的整数也均为非负整数。例如,判断条件方可以将基准数据与一个正整数进行求和,得到新的基准数据;可以根据该正整数对所述取值区间进行处理,得到新的取值区间。
步骤S103:判断条件方构建多个第一分段判断结果集合。
在一些实施例中,所述第一分段判断结果集合的数量可以等于基准数据的二进制段数量。所述第一分段判断结果集合可以采用数据表、线性表、队列、栈或图等方式来实现。每个第一分段判断结果集合可以唯一对应一个段位置,且可以包括根据基准数据中该段位置处的二进制段所得到的多个分段判断结果。每个分段判断结果可以对应至少一个判断对象的至少一个二进制段。
以下分情况介绍第一分段判断结果集合的构建过程。
情况(一):根据一个判断条件和一个判断对象构建多个第一分段判断结果集合。
每个第一分段判断结果集合可以包括根据所述判断条件中基准数据的二进制段所得到的多个分段判断结果。每个分段判断结果可以对应所述判断对象的至少一个二进制段。
所述分段判断结果可以包括以下至少一种:第一类分段判断结果、第二类分段判断结果、第三类分段判断结果。所述第一类分段判断结果用于表示判断条件不成立,所述第二类分段判断结果用于表示待定状态,所述第三类分段判断结果用于表示判断条件成立。其中,待定状态用于表示根据当前分段判断结果无法确定最终的判断结果,需要进一步根据其它分段判断结果来综合确定。第一类分段判断结果例如可以采用数值0来表示,第二类分段判断结果例如可以采用数值1来表示,第三类分段判断结果例如可以采用数值2来表示。当然在实际中还可以采用其它的数值或字符来表示。
在不同的第一分段判断结果集合中,同一种类的分段判断结果可以采用相同的数值或字符来表示;或者,也可以采用不同的数值或字符来表示。以后面的表1、表2和表3为例,表1和表2包括第一类分段判断结果、第二类分段判断结果和第三类分段判断结果。在表1和表2中,第一类分段判断结果采用数值0来表示,第二类分段判断结果采用数值1来表示,第三类分段判断结果采用数值2来表示。表3包括第一类分段判断结果和第三类分段判断结果。在表3中,第一类分段判断结果采用数值0来表示,第三类分段判断结果采用数值1来表示。
判断条件方可以知晓所述判断对象的取值区间;可以根据所述取值区间,获取所述判断对象的多组二进制段。每组二进制段可以对应一个段位置,且可以包括多个具有相同比特数的二进制段,所述多个二进制段覆盖了判断对象的所有可能取值在该段位置处的二进制段。值得说明的是,不同组中的二进制段可以具有相同或不同的比特数。判断对象的二进制段与判断条件中基准数据的、且对应了相同段位置的二进制段,具有相同的比特数。
例如,某一判断对象的取值区间为0~64。则该判断对象取值的比特数为6。判断条件方可以获取该判断对象的3组二进制段。其中,第0组二进制段对应的段位置为0,具体可以包括v[0]0=00、v[0]1=01、v[0]2=10、v[0]3=11等4个二进制段。第1组二进制段对应的段位置为1,具体可以包括v[1]0=00、v[1]1=01、v[1]2=10、v[1]3=11等4个二进制段。第2组二进制段对应的段位置为2,具体可以包括v[2]0=00、v[2]1=01、v[2]2=10、v[2]3=11等4个二进制段。
在实际应用中,对于判断条件中基准数据的每个二进制段,判断条件方可以将该二进制段与判断对象的对应了相同段位置的一组二进制段,按照所述判断条件中运算符所表示的运算方式进行运算,得到多个分段判断结果;可以将所述多个判断结果作为第一分段判断结果集合中的分段判断结果。该第一分段判断结果集合所对应的段位置可以与该二进制段所对应的段位置相同。
情况(二):根据多个判断条件和一个判断对象构建多个第一分段判断结果集合。
每个第一分段判断结果集合可以包括多个子集合。每个子集合唯一对应一个判断条件,且可以包括根据该判断条件中基准数据的二进制段所得到的多个分段判断结果。每个分段判断结果可以对应该所述判断对象的至少一个二进制段。所述分段判断结果可以包括以下至少一种:第一类分段判断结果、第二类分段判断结果、第三类分段判断结果。
判断条件方可以获取所述判断对象的多组二进制段,具体过程不再赘述。
在实际应用中,对于每个判断条件中基准数据的每个二进制段,判断条件方可以将该二进制段与判断对象的对应了相同段位置的一组二进制段,按照该判断条件中运算符所表示的运算方式进行运算,得到多个分段判断结果;可以将所述多个分段判断结果作为子集合中的分段判断结果;可以将该判断条件作为该子集合所对应的判断条件。该子集合可以隶属于一个第一分段判断结果集合,该第一分段判断结果集合所对应的段位置可以与该二进制段所对应的段位置相同。
情况(三):根据多个判断条件和多个判断对象构建多个第一分段判断结果集合。
每个第一分段判断结果集合可以包括多个子集合。每个子集合唯一对应一个判断条件,且可以包括根据该判断条件中基准数据的二进制段所得到的多个分段判断结果。每个子集合中的多个二进制段对应了所述多个判断对象的二进制段。每个分段判断结果具体可以对应至少一个判断对象的至少一个二进制段。所述分段判断结果可以包括以下至少一种:第一类分段判断结果、第二类分段判断结果、第三类分段判断结果和预设值。关于所述预设值在后续过程中会有详细介绍。
以后面的表4、表5和表6为例,表4和表5包括第一类分段判断结果、第二类分段判断结果、第三类分段判断结果和预设值。在表4和表5中,第一类分段判断结果采用数值0来表示,第二类分段判断结果采用数值1来表示,第三类分段判断结果采用数值2来表示,预设值采用数值0来表示。表6包括第一类分段判断结果、第三类分段判断结果和预设值。在表3中,第一类分段判断结果采用数值0来表示,第三类分段判断结果采用数值1来表示,预设值采用数值0来表示。
对于所述多个判断条件中的每个判断条件,所述多个判断对象可以包括与该判断条件相关联的目标判断对象、以及与该判断条件无关的其它判断对象。目标判断对象的取值参与该判断条件的运算,其它判断对象的取值不参与该判断条件的运算。另外,对于所述多个判断对象,判断条件方可以获取每个判断对象的多组二进制段。具体过程不再赘述。
在实际应用中,对于所述多个判断条件中的每个判断条件可以分别按照如下方式来处理。具体地,一方面,对于该判断条件中基准数据的每个二进制段,判断条件方可以将该二进制段与目标判断对象的对应了相同段位置的一组二进制段,按照该判断条件中运算符所表示的运算方式进行运算,得到多个分段判断结果;可以将所述多个分段判断结果作为子集合中的分段判断结果;可以将该判断条件作为该子集合所对应的判断条件。该子集合隶可以属于一个第一分段判断结果集合,该第一分段判断结果集合所对应的段位置可以与该二进制段所对应的段位置相同。另一方面,判断条件方可以将预设值作为在该子集合中其它判断对象的二进制段所对应的分段判断结果。所述预设值可以为0。当然所述预设值还可以为其它的数值。
例如,判断条件方可以持有判断条件x≥26=011010B。判断条件方可以对基准数据011010B进行分段,得到tx[2]=01、tx[1]=10、以及tx[0]=10等3个二进制段。tx[2]=01对应的段位置为2,tx[1]=10对应的段位置为1,tx[0]=10对应的段位置为0。
判断对象o1的取值可以为6bit无符号整数。判断条件方可以获取判断对象o1的3组二进制段。其中,第0组二进制段对应的段位置为0,具体可以包括v[0]0=00、v[0]1=01、v[0]2=10、v[0]3=11等4个二进制段。第1组二进制段对应的段位置为1,具体可以包括v[1]0=00、v[1]1=01、v[1]2=10、v[1]3=11等4个二进制段。第2组二进制段对应的段位置为2,具体可以包括v[2]0=00、v[2]1=01、v[2]2=10、v[2]3=11等4个二进制段。
判断条件方可以构建如下表1、表2和表3所示的3个第一分段判断结果集合。
表1
Figure BDA0002317586080000111
表1所示的第一分段判断结果集合对应的段位置为2,可以包括分段判断结果0、1和2。其中,数值0表示第一类分段判断结果,数值1表示第二类分段判断结果,数值2表示第3类分段判断结果。
表2
Figure BDA0002317586080000112
表2所示的第一分段判断结果集合对应的段位置为1,可以包括分段判断结果0、1和2。其中,数值0表示第一类分段判断结果,数值1表示第二类分段判断结果,数值2表示第3类分段判断结果。
表3
Figure BDA0002317586080000113
表3所示的第一分段判断结果集合对应的段位置为0,可以包括分段判断结果0和1。其中,数值0表示第一类分段判断结果,数值1表示第三类分段判断结果。
又例如,判断条件方可以持有判断条件x≥26=011010B和y==2=10B。判断条件方可以对基准数据011010B进行分段,得到tx[2]=01、tx[1]=10、以及tx[0]=10等3个二进制段;可以对基准数据10B进行分段,得到ty[2]=00、ty[1]=1和ty[0]=0等3个二进制段。tx[2]=01和ty[2]=00对应的段位置为2,tx[1]=10和ty[1]=1对应的段位置为1,tx[0]=10和ty[0]=0对应的段位置为0。
判断对象o1的取值可以为6bit无符号整数。判断条件方可以获取判断对象o1的3组二进制段。其中,第0组二进制段对应的段位置为0,具体可以包括v[0]0=00、v[0]1=01、v[0]2=10、v[0]3=11等4个二进制段。第1组二进制段对应的段位置为1,具体可以包括v[1]0=00、v[1]1=01、v[1]2=10、v[1]3=11等4个二进制段。第2组二进制段对应的段位置为2,具体可以包括v[2]0=00、v[2]1=01、v[2]2=10、v[2]3=11等4个二进制段。
判断对象o2的取值可以为2bit无符号整数。判断条件方可以获取判断对象o2的2组二进制段。其中,第0组二进制段对应的段位置为0,具体可以包括m[0]0=0、m[0]1=1等2个二进制段。第1组二进制段对应的段位置为1,具体可以包括m[1]0=0、m[1]1=1等2个二进制段。
对于判断条件x≥26=011010B,判断对象o1为与该判断条件相关联的目标判断对象,判断对象o2为与该判断条件无关的其它判断对象。对于判断条件y==2=10B,判断对象o2为与该判断条件相关联的目标判断对象,判断对象o1为与该判断条件无关的其它判断对象。
判断条件方可以构建如下表4、表5和表6所示的3个第一分段判断结果集合。
表4
Figure BDA0002317586080000121
表4所示的第一分段判断结果集合对应的段位置为2,可以包括2个子集合。
表4的第三行可以构成一个子集合。该子集合与判断条件x≥26=011010B相对应,可以包括分段判断结果0、1和2。值得说明的是,判断对象o1为与判断条件x≥26=011010B相关联的目标判断对象,因而该子集合中的分段判断结果均通过比较得到。
表4的第四行可以构成另一个子集合。该子集合与判断条件y==2=10B相对应,可以包括分段判断结果0。值得说明的是,判断对象o1为与判断条件y==2=10B无关的其它判断对象,因而该子集合中的分段判断结果均为预设值0。
在表4中,数值0表示第一类分段判断结果,数值1表示第二类分段判断结果,数值2表示第3类分段判断结果。
表5
Figure BDA0002317586080000122
表5所示的第一分段判断结果集合对应的段位置为1,可以包括2个子集合。
表5的第三行可以构成一个子集合。该子集合与判断条件x≥26=011010B相对应,可以包括分段判断结果0、1和2。值得说明的是,判断对象o1为与判断条件x≥26=011010B相关联的目标判断对象,判断对象o2为与判断条件x≥26=011010B无关的其它判断对象。因而在该子集合中v[1]0=00、v[1]1=01、v[1]2=10和v[1]3=11对应的分段判断结果均通过比较得到,m[1]0=0和m[1]1=1对应的分段判断结果均为预设值0。
表5的第四行可以构成另一个子集合。该子集合与判断条件y==2=10B相对应,可以包括分段判断结果0和1。值得说明的是,判断对象o1为与判断条件y==2=10B无关的其它判断对象,判断对象o2为与判断条件y==2=10B相关联的目标判断对象。因而在该子集合中v[1]0=00、v[1]1=01、v[1]2=10和v[1]3=11对应的分段判断结果均为预设值0,m[1]0=0和m[1]1=1对应的分段判断结果均通过比较得到。
在表5中,数值0表示第一类分段判断结果,数值1表示第二类分段判断结果,数值2表示第3类分段判断结果。
表6
Figure BDA0002317586080000131
表6所示的第一分段判断结果集合对应的段位置为0,可以包括2个子集合。
表6的第三行可以构成一个子集合。该子集合与判断条件x≥26=011010B相对应,可以包括分段判断结果0和1。值得说明的是,判断对象o1为与判断条件x≥26=011010B相关联的目标判断对象,判断对象o2为与判断条件x≥26=011010B无关的其它判断对象。因而在该子集合中v[0]0=00、v[0]1=01、v[0]2=10和v[0]3=11对应的分段判断结果均通过比较得到,m[0]0=0和m[0]1=1对应的分段判断结果均为预设值0。
表6的第四行可以构成另一个子集合。该子集合与判断条件y==2=10B相对应,可以包括分段判断结果0和1。值得说明的是,判断对象o1为与判断条件y==2=10B无关的其它判断对象,判断对象o2为与判断条件y==2=10B相关联的目标判断对象。因而在该子集合中v[0]0=00、v[0]1=01、v[0]2=10和v[0]3=11对应的分段判断结果均为预设值0,m[0]0=0和m[0]1=1对应的分段判断结果均通过比较得到。
在表6中,数值0表示第一类分段判断结果,数值1表示第三类分段判断结果。
步骤S105:判断条件方对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合。
在一些实施例中,经过步骤S103,判断条件方可以得到多个第一分段判断结果集合。所述多个第一分段判断结果集合对应了多个段位置。每个段位置可以对应有权重。段位置的权重可以按照一定的方式进行设定。以下介绍两种设定方式。
方式一:段位置的权重可以满足公式mi-1。m为大于或等于3的正整数(例如可以为3、5或10等等)。i表示段位置的位次。
在实际应用中,判断条件方可以对所述多个段位置进行排序,从而得到每个段位置在排序后的多个段位置中所在的位次。判断条件方可以按照任意方式对所述多个段位置进行排序。例如,每个段位置用于表示二进制段在二进制数中的位置。那么,判断条件方可以按照所表示的位置对所述多个段位置进行排序。具体地,例如,按照所表示的位置由高到低的顺序,对所述多个段位置进行排序;或者,按照所表示的位置由低到高的顺序,对所述多个段位置进行排序。当然,判断条件方还可以直接为每个段位置直接生成位次。
例如,表1所示的第一分段判断结果集合所对应的段位置为2,表2所示的第一分段判断结果集合所对应的段位置为1,表3所示的第一分段判断结果集合所对应的段位置为0。排序后的段位置2、段位置1和段位置0所在位次分别为3、2、1。那么,段位置2的权重可以为m3-1=m2,段位置1的权重可以为m2-1=m,段位置0的权重可以为m1-1=1。
方式二:段位置的权重可以满足公式
Figure BDA0002317586080000141
i表示段位置的位次。
例如,表1所示的第一分段判断结果集合所对应的段位置为2,表2所示的第一分段判断结果集合所对应的段位置为1,表3所示的第一分段判断结果集合所对应的段位置为0。排序后的段位置2、段位置1和段位置0所在位次分别为3、2、1。那么,段位置2的权重可以为23-2=21=2,段位置1的权重可以为22-2=1,段位置0的权重可以为1。
在一些实施例中,对于每个第一分段判断结果集合,判断条件方可以将该第一分段判断结果集合所对应段位置的权重与该第一分段判断结果集合中的分段判断结果相乘,得到一个第二分段判断结果集合;可以将该第一分段判断结果集合所对应的段位置作为该第二分段判断结果集合所对应的段位置。
例如,m可以为3。对于表1所示的第一分段判断结果集合,判断条件方可以将其所对应段位置的权重33-1=32=9与该第一分段判断结果集合中的分段判断结果分别相乘,得到表7所示的第二分段判断结果集合。
表7
Figure BDA0002317586080000151
对于表2所示的第一分段判断结果集合,判断条件方可以将其所对应段位置的权重32-1=3与该第一分段判断结果集合中的分段判断结果分别相乘,得到表8所示的第二分段判断结果集合。
表8
Figure BDA0002317586080000152
对于表3所示的第一分段判断结果集合,判断条件方可以将其所对应段位置的权重31-1=1与该第一分段判断结果集合中的分段判断结果分别相乘,得到表9所示的第二分段判断结果集合。
表9
Figure BDA0002317586080000153
又例如,m可以为10。对于表4所示的第一分段判断结果集合,判断条件方可以将其所对应段位置的权重103-1=102=100与该第一分段判断结果集合中的分段判断结果分别相乘,得到表10所示的第二分段判断结果集合。
表10
Figure BDA0002317586080000154
对于表5所示的第一分段判断结果集合,判断条件方可以将其所对应段位置的权重102-1=10与该第一分段判断结果集合中的分段判断结果分别相乘,得到表11所示的第二分段判断结果集合。
表11
Figure BDA0002317586080000161
对于表6所示的第一分段判断结果集合,判断条件方可以将其所对应段位置的权重101-1=1与该第一分段判断结果集合中的分段判断结果分别相乘,得到表12所示的第二分段判断结果集合。
表12
Figure BDA0002317586080000162
步骤S107:判断条件方对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合。
在一些实施例中,经过步骤S105,判断条件方可以得到多个第二分段判断结果集合。
判断条件方可以采用加密算法对所述多个第二分段判断结果集合中的分段判断结果进行同态加密。所述加密算法可以包括确定性的加密算法和不确定性的加密算法。确定性的加密算法是指:采用加密算法对同一明文数据进行多次加密,得到的多个加密结果相同。不确定性的加密算法是指:采用加密算法对同一明文数据进行多次加密,得到的多个加密结果可以不同。所述加密算法可以包括对称加密算法和非对称加密算法。所述对称加密算法包括但不限于DES算法、AES算法和IDEA算法等,所述非对称加密算法包括但不限于RSA算法和ECC(Elliptic Curve Cryptography,椭圆曲线加密算法)等。所述加密算法可以包括同态加密算法。所述同态加密算法可以包括Paillier算法、Okamoto-Uchiyama算法、Damgard-Jurik算法等。同态加密(Homomorphic Encryption)是一种加密技术。它允许直接对密文数据进行运算得到仍是加密的结果,将其解密所得到的结果与对明文数据进行同样运算的结果相同。所述同态加密算法可以包括加法同态加密算法和乘法同态加密算法等。
在一些实施例中,每个密文集合可以采用数据表、线性表、队列、栈或图等方式来实现。每个密文集合对应一个段位置,且可以包括多个分段判断结果密文。每个分段判断结果密文对应至少一个二进制段,这里对应的二进制段为判断对象取值的二进制段。
在实际应用中,判断条件方可以对第二分段判断结果集合中的每个分段判断结果加密一次,得到一个分段判断结果密文作为密文集合中的分段判断结果密文;可以将该分段判断结果所对应的二进制段作为该分段判断结果密文所对应的二进制段;可以将该第二分段判断结果集合所对应的段位置作为该密文集合所对应的段位置。或者,判断条件方还可以对第二分段判断结果集合中的每个分段判断结果加密至少一次,得到至少一个分段判断结果密文作为密文集合中的分段判断结果密文;可以将该第二分段判断结果集合所对应的段位置作为该密文集合所对应的段位置。至于加密的次数可以等于该分段判断结果所对应的二进制段数量,以使得加密后的每个分段判断结果密文能够唯一对应一个二进制段。值得说明的是,判断条件方可以优先采用不确定性的加密算法对分段判断结果加密至少一次,以使得对于同一分段判断结果进行加密可以得到多个不同的分段判断结果密文,从而能够避免数据方根据分段判断结果密文是否相同来猜测基准数据的二进制段,进而来猜测基准数据。
在一些实施例中,所述第二分段判断结果集合可以直接包括多个分段判断结果。这样所述密文集合可以直接包括多个分段判断结果密文。或者,所述第二分段判断结果集合可以包括多个子集合,每个子集合可以包括多个分段判断结果。这样所述密文集合可以包括多个子密文集合,每个子密文集合可以包括多个分段判断结果密文。
例如,判断条件方通过对表7、表8和表9所示第二分段判断结果集合中的分段判断结果进行加密,可以分别得到如下表13、表14和表15所示的密文集合。
表13
Figure BDA0002317586080000171
表13所示的密文集合对应的段位置为2,可以包括分段判断结果密文E(0)、E(9)和E(18)。分段判断结果密文E(0)与二进制段v[2]0=00相对应,分段判断结果密文E(9)与二进制段v[2]1=01相对应,分段判断结果密文E(18)与二进制段v[2]2=10和v[2]3=11相对应。
表14
Figure BDA0002317586080000172
Figure BDA0002317586080000181
表14所示的密文集合对应的段位置为1,可以包括分段判断结果密文E(0)、E(3)和E(6)。分段判断结果密文E(0)与二进制段v[1]0=00和v[1]1=01相对应,分段判断结果密文E(3)与二进制段v[1]2=10相对应,分段判断结果密文E(6)与二进制段v[1]3=11相对应。
表15
Figure BDA0002317586080000182
表15所示的密文集合对应的段位置为0,可以包括分段判断结果密文E(0)和E(1)。分段判断结果密文E(0)与二进制段v[0]0=00和v[0]1=01相对应,分段判断结果密文E(1)与二进制段v[0]2=10和v[0]3=11相对应。
又例如,判断条件方通过对表10、表11和表12所示第二分段判断结果集合中的分段判断结果进行加密,可以分别得到如下表16、表17和表18所示的密文集合。
表16
Figure BDA0002317586080000183
表16所示的密文集合对应的段位置为2,可以包括2个子密文集合。
表16的第二行可以构成一个子密文集合。该子密文集合可以包括分段判断结果密文Ex_o10(0)、Ex_o11(100)、Ex_o12(200)和Ex_o13(200)。分段判断结果密文Ex_o10(0)与二进制段v[2]0=00相对应,分段判断结果密文Ex_o11(100)与二进制段v[2]1=01相对应,分段判断结果密文Ex_o12(200)与二进制段v[2]2=10相对应,分段判断结果密文Ex_o13(200)与二进制段v[2]3=11相对应。
表16的第三行可以构成另一个子密文集合。该子密文集合可以包括分段判断结果密文Ez_o10(0)、Ez_o11(0)、Ez_o12(0)和Ez_o13(0)。分段判断结果密文Ez_o10(0)与二进制段v[2]0=00相对应,分段判断结果密文Ez_o11(0)与二进制段v[2]1=01相对应,分段判断结果密文Ez_o12(0)与二进制段v[2]2=10相对应,分段判断结果密文Ez_o13(0)与二进制段v[2]3=11相对应。
表17
Figure BDA0002317586080000191
表17所示的密文集合对应的段位置为1,可以包括2个子密文集合。
表17的第二行可以构成一个子密文集合。该子密文集合可以包括分段判断结果密文Ex_o10(0)、Ex_o11(0)、Ex_o12(10)、Ex_o13(20)、Ex_o20(0)和Ex_o21(0)。分段判断结果密文Ex_o10(0)与二进制段v[1]0=00相对应,分段判断结果密文Ex_o11(0)与二进制段v[1]1=01相对应,分段判断结果密文Ex_o12(10)与二进制段v[1]2=10相对应,分段判断结果密文Ex_o13(20)与二进制段v[1]3=11相对应,分段判断结果密文Ex_o20(0)与二进制段m[1]0=0相对应,分段判断结果密文Ex_o21(0)与二进制段m[1]1=1相对应。
表17的第三行可以构成另一个子密文集合。该子密文集合可以包括分段判断结果密文Ez_o10(0)、Ez_o11(0)、Ez_o12(0)、Ez_o13(0)、Ez_o20(0)和Ez_o21(10)。分段判断结果密文Ez_o10(0)与二进制段v[1]0=00相对应,分段判断结果密文Ez_o11(0)与二进制段v[1]1=01相对应,分段判断结果密文Ez_o12(0)与二进制段v[1]2=10相对应,分段判断结果密文Ez_o13(0)与二进制段v[1]3=11相对应,分段判断结果密文Ez_o20(0)与二进制段m[1]0=0相对应,分段判断结果密文Ez_o21(10)与二进制段m[1]1=1相对应。
表18
Figure BDA0002317586080000192
表18所示的密文集合对应的段位置为0,可以包括2个子密文集合。
表18的第二行可以构成一个子密文集合。该子密文集合可以包括分段判断结果密文Ex_o10(0)、Ex_o11(0)、Ex_o12(1)、Ex_o13(1)、Ex_o20(0)和Ex_o21(0)。分段判断结果密文Ex_o10(0)与二进制段v[0]0=00相对应,分段判断结果密文Ex_o11(0)与二进制段v[0]1=01相对应,分段判断结果密文Ex_o12(1)与二进制段v[0]2=10相对应,分段判断结果密文Ex_o13(1)与二进制段v[0]3=11相对应,分段判断结果密文Ex_o20(0)与二进制段m[0]0=0相对应,分段判断结果密文Ex_o21(0)与二进制段m[0]1=1相对应。
表18的第三行可以构成另一个子密文集合。该子密文集合可以包括分段判断结果密文Ez_o10(0)、Ez_o11(0)、Ez_o12(0)、Ez_o13(0)、Ez_o20(1)和Ez_o21(0)。分段判断结果密文Ez_o10(0)与二进制段v[0]0=00相对应,分段判断结果密文Ez_o11(0)与二进制段v[0]1=01相对应,分段判断结果密文Ez_o12(0)与二进制段v[0]2=10相对应,分段判断结果密文Ez_o13(0)与二进制段v[0]3=11相对应,分段判断结果密文Ez_o20(1)与二进制段m[0]0=0相对应,分段判断结果密文Ez_o21(0)与二进制段m[0]1=1相对应。
步骤S109:判断条件方向数据方发送多个密文集合。
步骤S111:数据方接收所述多个密文集合。
步骤S113:数据方获取判断对象特定取值的多个二进制段。
在一些实施例中,数据方可以持有判断对象的特定取值。数据方可以对所述特定取值进行分段,得到多个二进制段。在实际应用中,数据方可以对二进制形式的特定取值进行分段,得到多个二进制段。所述多个二进制段的比特数可以相同或不同。每个二进制段可以对应一个段位置,该段位置用于表示二进制段在二进制形式的特定取值中所处的位置。例如,数据方可以将二进制段中的任一二进制位在二进制形式的特定取值中的位置作为该二进制段的段位置。又例如,数据方还可以直接为二进制段生成一个段位置。
数据方可以获取一个判断对象特定取值的二进制段。或者,数据方还可以获取多个判断对象特定取值的二进制段。
在一些实施例中,数据方和判断条件方可以进行如下约定:若在步骤S101中,判断条件方直接获取所述基准数据的二进制段;则在步骤S113中,数据方可以直接获取判断对象特定取值的二进制段;若在步骤S101中,判断条件方对所述基准数据进行了处理,进而获取处理后的所述基准数据的二进制段;则在步骤S113中,数据方可以以同样的方式对判断对象的特定取值进行处理,进而获取处理后的特定取值的二进制段。
步骤S115:数据方根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同。
在一些实施例中,数据方根据特定取值的每个二进制段,数据方可以选取得到一个密文集合。根据特定取值的多个二进制段,数据方可以在选取的多个密文集合中进行查询,得到多个查询结果。
在本实施例的一些实施方式中,所述多个密文集合中的密文集合可以直接包括多个分段判断结果密文。数据方可以从选取的密文集合中查询得到一个分段判断结果密文,可以将该分段判断结果密文作为查询结果。这样所述多个查询结果可以包括多个分段判断结果密文。
在本实施例的另一些实施方式中,所述多个密文集合中的密文集合可以包括多个子密文集合。每个子密文集合可以包括多个分段判断结果密文。对于选取的密文集合,数据方可以从该密文集合的多个子密文集合中分别查询分段判断结果密文。
在步骤S113中,数据方可以获得一个判断对象特定取值的多个二进制段。如此对于选取的密文集合,数据方可以从该密文集合的每个子密文集合中查询得到一个分段判断结果密文;可以将查询得到的多个分段判断结果密文作为密文序列中的分段判断结果密文。这样所述多个查询结果可以包括多个密文序列。每个密文序列包括多个分段判断结果密文,所述多个分段判断结果密文在密文序列中的顺序可以与多个子密文集合在密文集合中的顺序相同。
或者,在步骤S113中,数据方可以获得多个判断对象特定取值的多个二进制段。如此对于对应了相同段位置的一组二进制段,数据方可以选取至少一个密文集合,其中,选取的密文集合所对应的段位置与该组二进制段的段位置相同;对于选取的密文集合,数据方可以从该密文集合的每个子密文集合中查询得到多个分段判断结果密文;可以对从每个子密文集合所查询得到的多个分段判断结果密文进行同态求和处理,得到求和结果;可以将多个子密文集合所对应的多个求和结果作为密文序列中的求和结果。这样所述多个查询结果可以包括多个密文序列。每个密文序列包括多个求和结果,所述多个求和结果在密文序列中的顺序可以与多个子密文集合在密文集合中的顺序相同。值得说明的是,由于求和结果是由多个分段判断结果密文相加得到的,且分段判断结果密文是由同态加密算法计算得到的,因而求和结果也可以为一种密文。
在一些实施例中,对于特定取值多个二进制段的查询操作可以串行执行。或者,为了加快查询速度,对于特定取值多个二进制段的查询操作也可以并行执行。
例如,数据方可以持有判断对象o1的特定取值48=110000B、以及判断对象o2的特定取值3=11B。数据方可以对特定取值110000B进行分段,得到x[2]=11、x[1]=00、以及x[0]=00等3个二进制段。x[2]=11对应的段位置为2,x[1]=00对应的段位置为1,x[0]=00对应的段位置为0。数据方可以对特定取值11B进行分段,得到y[1]=1、以及y[0]=1等2个二进制段。y[0]=1对应的段位置为0,y[1]=1对应的段位置为1。
数据方可以根据二进制段x[2]=11,选取表16所示的密文集合,可以从表16所示的密文集合中查询得到分段判断结果密文Ex_o13(200)和Ez_o13(0),从而得到密文序列{Ex_o13(200)、Ez_o13(0)}。
数据方可以根据二进制段x[1]=00和y[1]=1,选取表17所示的密文集合;可以根据二进制段x[1]=00和y[1]=1,从表17第二行所对应的子密文集合中查询得到分段判断结果密文Ex_o10(0)和Ex_o21(0),可以对分段判断结果密文Ex_o10(0)和Ex_o21(0)进行同态求和处理,得到求和结果Ex_o10(0)+Ex_o21(0)=E(0+0)=E(0);可以根据二进制段x[1]=00和y[1]=1,从表17第三行所对应的子密文集合中查询得到分段判断结果密文Ez_o10(0)和Ez_o21(10),可以对分段判断结果密文Ez_o10(0)和Ez_o21(10)进行同态求和处理,得到求和结果Ez_o10(0)+Ez_o21(10)=E(0+10)=E(10)。这样数据方可以得到密文序列{E(0)、E(10)}。
数据方可以根据二进制段x[0]=00和y[0]=1,选取表18所示的密文集合;可以根据二进制段x[0]=00和y[0]=1,从表18第二行所对应的子密文集合中查询得到分段判断结果密文Ex_o10(0)和Ex_o21(0),可以对分段判断结果密文Ex_o10(0)和Ex_o21(0)进行同态求和处理,得到求和结果Ex_o10(0)+Ex_o21(0)=E(0+0)=E(0);可以根据二进制段x[0]=00和y[0]=1,从表18第三行所对应的子密文集合中查询得到分段判断结果密文Ez_o10(0)和Ez_o21(0),可以对分段判断结果密文Ez_o10(0)和Ez_o21(0)进行同态求和处理,得到求和结果Ez_o10(0)+Ez_o21(0)=E(0+0)=E(0)。这样数据方可以得到密文序列{E(0)、E(0)}。
步骤S117:数据方对多个查询结果进行打包,得到打包数据密文。
在一些实施例中,通过打包可以减少数据方向判断条件方发送的数据量,从而减小网络带宽的占用。具体地,数据方可以将多个查询结果同态相加,得到打包数据密文。
在实际应用中,所述多个查询结果可以包括多个分段判断结果密文。数据方可以将多个分段判断结果密文同态相加,得到打包数据密文。这样所述打包数据密文可以为一个密文数据(为了便于描述,以下称为第一数据)。或者,所述多个查询结果可以包括多个密文序列。数据方可以将多个密文序列同态相加,得到打包数据密文。这样所述打包数据密文可以为一个密文序列(为了便于描述,以下称为第一数据序列)。将多个密文序列同态相加,具体可以为将多个密文序列中处于相同位置处的数据元素同态相加。
步骤S119:数据方向判断条件方发送打包数据密文。
步骤S121:判断条件方接收所述打包数据密文;对所述打包数据密文进行解密,得到打包数据。
在一些实施例中,所述打包数据密文可以为第一数据。判断条件方可以对第一数据进行解密,得到打包数据。这样所述打包数据可以为一个明文数据(为了便于描述,以下称为第二数据)。所述第二数据对应了一个判断条件。
或者,所述打包数据密文可以为第一数据序列。判断条件方可以对第一数据序列中的数据元素进行解密,得到打包数据。这样所述打包数据可以为一个明文序列(为了便于描述,以下称为第二数据序列)。所述第二特定序列中的多个数据元素对应了多个判断条件。
在一些实施例中,判断条件方还可以对所述打包数据进行解码,得到多个分段判断结果;可以根据所述多个分段判断结果中的部分或全部确定所需的判断结果。
所述打包数据可以为第二数据。判断条件方可以对第二数据进行解码,得到多个分段判断结果;可以根据所述多个分段判断结果中的部分或全部确定一个判断条件所对应的最终判断结果。具体地,段位置的权重可以满足公式mi-1。判断条件方可以根据段位置的权重mi-1对第二数据进行解码。例如,判断条件方可以采用短除法对明文数据进行解码。具体地,例如,某一明文数据可以为A×m3+B×m2+C×m+D。判断条件方可以将该明文数据A×m3+B×m2+C×m+D除以m并取余数,得到4个分段判断结果A、B、C和D。
或者,所述打包数据可以为第二数据序列。对于第二特定序列中的每个数据元素,判断条件方可以对该数据元素进行解码,得到多个分段判断结果;可以根据所述多个分段判断结果中的部分或全部确定一个判断条件所对应的最终判断结果。
值得说明的是,判断条件方还可以采用其它方式获得分段判断结果。例如,判断条件方可以先对第一数据进行解码,得到多个分段判断结果密文;然后对多个分段判断结果密文进行解密,得到多个分段判断结果。或者,判断条件方还可以先对第一数据序列进行解码,得到多个密文序列;然后对多个密文序列中的数据元素进行解密,得到多个分段判断结果。
在另一些实施例中,判断条件方还可以根据打包数据和预设区间确定最终的判断结果。
所述打包数据可以为第二数据。判断条件方可以根据第二数据和预设区间确定一个判断条件所对应的最终判断结果。具体地,段位置的权重可以满足公式
Figure BDA0002317586080000231
判断条件方可以确定第二数据是否隶属于第一预设区间;若隶属于,则确定最终的判断结果为判断条件不成立;若不隶属于,则确定最终的判断结果为判断条件成立。或者,判断条件方可以确定第二数据是否隶属于第二预设区间;若隶属于,则确定最终的判断结果为判断条件成立;若不隶属于,则确定最终的判断结果为判断条件不成立。具体地,例如,所述第一预设区间可以为[0,2d-1),所述第二预设区间可以为[2d-1,2d)。d表示密文集合的数量。
或者,所述打包数据可以为第二数据序列。对于第二特定序列中的每个数据元素,判断条件方可以根据该数据元素和预设区间确定一个判断条件所对应的最终判断结果。具体过程不再赘述。
本实施例的查询方法,判断条件方可以获取判断条件中基准数据的多个二进制段;可以构建多个第一分段判断结果集合;可以对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;可以对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合;可以向数据方发送多个密文集合。数据方可以接收所述多个密文集合;可以对判断对象的特定取值进行分段;可以根据特定取值的二进制段在所述多个密文集合中进行查询。这样一方面,通过安全多方计算,可以在判断条件方不泄漏自身的判断条件、且数据方不泄漏自身的特定取值的前提下,由二者合作确定出判断条件的与判断对象的特定取值相对应的判断结果,从而实现了隐私保护。另一方面,第二分段判断结果集合的数据量比较小,判断条件方加密时花费的计算资源也较小;密文集合的数据量也比较小,也有利于数据方的查询。
下面结合一个具体地场景实例对上述实施例的实现方案进行说明。
在本场景示例中,所述判断条件方可以为金融机构,例如可以为银行、第三方支付机构等等。所述金融机构可以持有数据处理模型,所述数据处理模型可以包括决策树模型、评分卡模型等,所述数据处理模型可以包括至少一个判断条件。
图2示出了一种决策树模型,所述决策树模型可以包括节点1、2、3、4、5、6、7等7个节点。节点1、3、4为分裂节点(能够向下分裂的节点),节点2、5、6、7为叶子节点(不能够向下分裂的节点)。
分裂节点1、3、4对应的判断条件可以如下表19所示。
表19
分裂节点 判断条件
节点1 u==1
节点3 v==1
节点4 w≥80
u为判断对象o3的取值,判断对象o3用于表示用户的房产状况,u可以为数值0或1,数值0表示不拥有房产,数值1表示不拥有房产。v为判断对象o4的取值,判断对象o4用于表示用户的婚姻状况,v可以为数值0或1,数值0表示已婚,数值1表示未婚。w为判断对象o5的取值,判断对象o5用于表示用户的收入状况,w可以为用户的年收入值。
叶子节点2、5、6、7对应的预测结果可以如下表20所示。
表20
Figure BDA0002317586080000241
Figure BDA0002317586080000251
在本场景示例中,所述数据方可以为大数据公司。所述大数据公司可以持有用户的房产状况、婚姻状况和收入状况等隐私数据。
在本场景示例中,所述金融机构和所述大数据公司可以进行合作计算,得到所述数据处理模型的预测结果,以便于所述金融机构能够基于所述预测结果来评估是否向所述用户借款。在合作计算的过程中,所述金融机构不能够向所述大数据公司泄漏自身持有的数据处理模型(例如分裂节点1、3、4对应的判断条件),所述大数据公司不能够向所述金融机构泄漏自身持有的用户数据。
以下以图2所示的决策树模型为例,介绍所述金融机构和所述大数据公司进行合作计算,得到所述决策树模型的预测结果的过程。
所述金融机构可以采用前面的相关技术来获得分裂节点1对应的密文表、以及分裂节点2对应的密文表。具体地,所述金融机构可以根据分裂节点1对应的判断条件u==1和判断对象o3的至少一个取值,构建分裂节点1对应的明文表;可以对分裂节点1所对应明文表中的判断结果进行加密,得到分裂节点1对应的密文表。相类似地,所述金融机构可以根据分裂节点2对应的判断条件v==1和判断对象o4的至少一个取值,构建分裂节点2对应的明文表;可以对分裂节点2所对应明文表中的判断结果进行加密,得到分裂节点2对应的密文表。
所述金融机构可以采用上述实施例的查询方法来获得分裂节点4所对应的多个密文集合。具体地,所述金融机构可以获取判断条件w≥80中基准数据80的多个二进制段;可以构建多个第一分段判断结果集合;可以对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;可以对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合。
所述金融机构可以向所述大数据公司发送分裂节点1对应的密文表。所述大数据公司可以接收分裂节点1对应的密文表;可以根据自身持有的判断对象o3的特定取值,从该密文表中查询对应的判断结果密文;可以向所述金融机构发送查询到的判断结果密文。所述金融机构可以接收判断结果密文;可以对接收的判断结果密文进行解密,得到判断条件u==1的与判断对象o3的特定取值相对应的判断结果;可以根据解密得到的判断结果选择右侧的分支,从而到达分裂节点3。
所述金融机构可以向所述大数据公司发送分裂节点3对应的密文表。所述大数据公司可以接收分裂节点3对应的密文表;可以根据自身持有的判断对象o4的特定取值,从该密文表中查询对应的判断结果密文;可以向所述金融机构发送查询到的判断结果密文。所述金融机构可以接收判断结果密文;可以对接收的判断结果密文进行解密,得到判断条件v==1的与判断对象o4的特定取值相对应的判断结果;可以根据解密得到的判断结果选择左侧的分支,从而到达分裂节点4。
所述金融机构可以向所述大数据公司发送分裂节点4所对应的多个密文集合。所述大数据公司可以接收分裂节点4所对应的多个密文集合;可以获取自身持有的判断对象o5特定取值的多个二进制段;可以根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果。所述大数据公司可以对多个查询结果进行打包,得到打包数据密文;可以向所述金融机构发送打包数据密文。所述金融机构可以接收所述打包数据密文;可以对所述打包数据密文进行解密,得到打包数据;可以对所述打包数据进行解码,得到多个分段判断结果;可以根据所述多个分段判断结果确定判断条件w≥80的与判断对象o5的特定取值相对应的判断结果;可以根据确定的判断结果选择左侧的分支,从而到达叶子节点5。
叶子节点5可以对应有预测结果“可以偿还借款”。由此所述金融机构便获得了决策树模型的预测结果“可以偿还借款”。
本说明书提供查询方法的另一个实施例。所述查询方法可以包括部署阶段和实施阶段,所述部署阶段可以包括步骤S201-步骤S211,所述实施阶段可以包括步骤S213-步骤S225。部署阶段的方法步骤并非是必须的。例如,可以预先执行部署阶段的方法步骤,这样在需要确定所需的判断结果时,仅执行实施阶段的方法步骤就可以了。
通过本实施例的查询方法,数据方和判断条件方均可以获得打包数据的一份份额。为了便于描述,以下将数据方获得的份额称为第一份额,将判断条件方获得的份额称为第二份额。每个分段判断结果的第一份额和第二份额的和等于该分段判断结果。判断条件方和数据方可以基于各自持有的份额继续后续的业务过程。
在一些场景示例中,数据方可以向判断条件方发送打包数据的第一份额。判断条件方可以接收打包数据的第一份额;可以将打包数据的第一份额和自身持有的打包数据的第二份额相加,得到打包数据;可以根据所述打包数据确定最终的判断结果,即,判断条件的与判断对象的特定取值相对应的判断结果。在另一些场景示例中,数据方和判断条件方可以采用不经意传输或混淆电路等技术,由判断条件方获得打包数据的第一份额。判断条件方可以将打包数据的第一份额和自身持有的打包数据的第二份额相加,得到打包数据;可以根据所述打包数据确定最终的判断结果。在另一些场景示例中,判断条件方可以向数据方发送打包数据的第二份额。数据方可以接收打包数据的第二份额;可以将打包数据的第二份额和自身持有的打包数据的第一份额相加,得到打包数据;可以根据所述打包数据确定最终的判断结果。在另一些场景示例中,数据方和判断条件方可以采用不经意传输或混淆电路等技术,由数据方获得打包数据的第二份额。数据方可以将打包数据的第二份额和自身持有的打包数据的第一份额相加,得到打包数据;可以根据所述打包数据确定最终的判断结果。值得说明的是,关于根据打包数据确定最终的判断结果的过程可以参见前面实施例中的步骤S121。
请参阅图3。所述查询方法可以包括以下步骤。
步骤S201:判断条件方获取判断条件中基准数据的多个二进制段。
步骤S203:判断条件方构建多个第一分段判断结果集合。
步骤S205:判断条件方对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合。
步骤S207:判断条件方对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合。
在一些实施例中,判断条件方对多个第二分段判断结果集合中的分段判断结果进行加密的过程,可以参见前面实施例的步骤S107。
在一些场景示例中,判断条件方可以采用具有同态性的非对称加密算法对所述多个第二分段判断结果集合中的分段判断结果进行加密。例如,判断条件方可以持有用于进行同态加密的公私钥对,所述公私钥对中的公钥可以向数据方公开。判断条件方可以使用所述公钥对所述多个第二分段判断结果集合中的分段判断结果进行加密。
步骤S209:判断条件方向数据方发送多个密文集合。
步骤S211:数据方接收所述多个密文集合。
步骤S213:数据方获取判断对象特定取值的多个二进制段。
步骤S215:数据方根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同。
步骤S217:数据方对多个查询结果进行打包,得到打包数据密文。
步骤S219:数据方生成打包数据的第一份额。
在一些实施例中,所述打包数据为所述打包数据密文所对应的明文。所述打包数据的第一份额可以包括随机数。在实际应用中,所述打包数据密文可以为第一数据,所述打包数据可以为第二数据。数据方可以生成一个随机数作为第二数据的第一份额。或者,所述打包数据密文可以为第一数据序列,所述打包数据可以为第二数据序列。数据方可以生成一个随机数序列作为第二数据序列的第一份额。例如,数据方可以生成一个随机数;可以根据该随机数构建一个随机数序列。这样随机数序列可以包括多个相同的随机数。又或者,数据方可以生成多个随机数,可以根据所述多个随机数构建一个随机数序列。这样随机数序列可以包括多个不同的随机数。关于第一数据、第二数据、第一数据序列、第二数据序列的描述可以参见前面的实施例。值得说明的是,所述随机数比特位的数量可以1。这样所述随机数的取值可以为0或1。或者,所述随机数比特位的数量还可以为其它值。例如,2、5、9等等。
步骤S221:数据方根据打包数据密文和所述第一份额,计算打包数据第二份额的密文。
在一些实施例中,数据方可以采用任意方式计算打包数据第二份额的密文。
在一些场景示例中,数据方可以使用同态加密算法,利用判断条件方的公钥对所述第一份额进行同态加密,得到打包数据第一份额的密文;可以将打包数据密文和打包数据第一份额的密文同态相减,得到打包数据第二份额的密文。例如,数据方可以使用判断条件方的公钥对所述第一份额<tr>0进行加密,得到打包数据第一份额的密文E(<tr>0);可以将打包数据密文E(tr)和打包数据第一份额的密文E(<tr>0)同态相减,得到打包数据第二份额的密文E(tr)-E(<tr>0)=E(tr-<tr>0)=E(<tr>1)。
在一些场景示例中,数据方可以根据判断条件方的公钥,使用同态加密算法根据打包数据密文和所述第一份额,直接计算打包数据第二份额的密文。例如,数据方可以根据判断条件方的公钥,使用同态加密算法根据打包数据密文E(tr)和所述第一份额<tr>0,直接计算打包数据第二份额的密文E(<tr>1)。
步骤S223:数据方向判断条件方发送打包数据第二份额的密文。
步骤S225:判断条件方接收所述打包数据第二份额的密文;对所述打包数据第二份额的密文进行解密,得到打包数据的第二份额。
在一些实施例中,判断条件方可以采用任意方式对打包数据第二份额的密文进行解密。
延续前面的场景示例,判断条件方可以根据私钥对打包数据第二份额的密文进行解密,得到打包数据的第二份额。例如,判断条件方可以根据私钥对打包数据第二份额的密文E(<tr>1)进行解密,得到打包数据的第二份额<tr>1
本实施例的查询方法,判断条件方可以获取判断条件中基准数据的多个二进制段;可以构建多个第一分段判断结果集合;可以对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;可以对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合;可以向数据方发送多个密文集合。数据方可以接收所述多个密文集合;可以对判断对象的特定取值进行分段;可以根据特定取值的二进制段在所述多个密文集合中进行查询。这样一方面,通过安全多方计算,可以在判断条件方不泄漏自身的判断条件、且数据方不泄漏自身的特定取值的前提下,由二者合作确定出判断条件的与判断对象的特定取值相对应的判断结果,从而实现了隐私保护。另一方面,第二分段判断结果集合的数据量比较小,判断条件方加密时花费的计算资源也较小;密文集合的数据量也比较小,也有利于数据方的查询。
请参阅图4。基于同样的发明构思,本说明书还提供数据处理方法的一个实施例。该实施例以判断条件方为实施主体,可以包括以下步骤。
步骤S301:获取判断条件中基准数据的多个二进制段。
步骤S303:构建多个第一分段判断结果集合。
步骤S305:对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合。
步骤S307:对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合。
步骤S309:向数据方发送多个密文集合。
本实施例的数据处理方法,判断条件方可以获取判断条件中基准数据的多个二进制段;可以构建多个第一分段判断结果集合;可以对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;可以对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合;可以向数据方发送多个密文集合。这样一方面,通过安全多方计算,便于数据方在密文集合中进行查询。另一方面,第二分段判断结果集合的数据量比较小,加密时花费的计算资源也较小。
请参阅图5。基于同样的发明构思,本说明书还提供查询方法的另一个实施例。该实施例以数据方为实施主体。所述数据方持有多个密文集合,每个密文集合可以对应有段位置,且可以包括多个对应有二进制段的分段判断结果密文。该方法可以包括以下步骤。
步骤S401:获取判断对象特定取值的多个二进制段。
步骤S403:根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同。
步骤S405:对多个查询结果进行打包,得到打包数据密文。
步骤S407:向判断条件方发送所述打包数据密文。
本实施例的查询方法,数据方可以对自身持有的判断对象的特定取值进行分段;可以根据特定取值的多个二进制段在所述多个密文集合中进行查询。这样一方面,通过安全多方计算,可以在判断条件方不泄漏自身的判断条件、且数据方不泄漏自身的特定取值的前提下,由二者合作确定出判断条件的与判断对象的特定取值相对应的判断结果,从而实现了隐私保护。另一方面,密文集合的数据量也比较小,有利于数据方的查询。
请参阅图6。基于同样的发明构思,本说明书还提供查询方法的另一个实施例。该实施例以数据方为实施主体。所述数据方持有多个密文集合,每个密文集合可以对应有段位置,且可以包括多个对应有二进制段的分段判断结果密文。该方法可以包括以下步骤。
步骤S501:获取判断对象特定取值的多个二进制段。
步骤S503:根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同。
步骤S505:对多个查询结果进行打包,得到打包数据密文。
步骤S507:生成打包数据的第一份额。
步骤S509:根据打包数据密文和所述第一份额,计算打包数据第二份额的密文。
步骤S511:向判断条件方发送打包数据第二份额的密文。
本实施例的查询方法,数据方可以对自身持有的判断对象的特定取值进行分段;可以根据特定取值的多个二进制段在所述多个密文集合中进行查询。这样一方面,通过安全多方计算,可以在判断条件方不泄漏自身的判断条件、且数据方不泄漏自身的特定取值的前提下,由二者合作确定出判断条件的与判断对象的特定取值相对应的判断结果,从而实现了隐私保护。另一方面,密文集合的数据量也比较小,有利于数据方的查询。
请参阅图7。基于同样的发明构思,本说明书还提供数据处理装置的一个实施例。该装置可以应用于判断条件方,可以包括以下单元。
获取单元601,用于获取判断条件中基准数据的多个二进制段;
构建单元603,用于构建多个第一分段判断结果集合,每个第一分段判断结果集合对应有段位置,且包括根据基准数据中该段位置处的二进制段所得到的多个分段判断结果;
编码单元605,用于对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;
加密单元607,用于对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合;
发送单元609,用于向数据方发送多个密文集合。
请参阅图8。基于同样的发明构思,本说明书还提供查询装置的一个实施例。该装置可以应用于数据方。所述数据方持有多个密文集合,所述密文集合对应有段位置,且包括多个对应有二进制段的分段判断结果密文。该装置可以包括以下单元。
获取单元701,用于获取判断对象特定取值的多个二进制段;
查询单元703,用于根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;
打包单元705,用于对多个查询结果进行打包,得到打包数据密文;
发送单元707,用于向判断条件方发送所述打包数据密文。
请参阅图9。基于同样的发明构思,本说明书还提供查询装置的另一个实施例。该装置可以应用于数据方。所述数据方持有多个密文集合,所述密文集合对应有段位置,且包括多个对应有二进制段的分段判断结果密文。该装置可以包括以下单元。
获取单元801,用于获取判断对象特定取值的多个二进制段;
查询单元803,用于根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;
打包单元805,用于对多个查询结果进行打包,得到打包数据密文;
生成单元807,用于生成打包数据的第一份额;
计算单元809,用于根据打包数据密文和所述第一份额,计算打包数据第二份额的密文;
发送单元811,用于向判断条件方发送打包数据第二份额的密文。
下面介绍本说明书电子设备的一个实施例。图10是该实施例中电子设备的硬件结构示意图。如图10所示,该电子设备可以包括一个或多个(图中仅示出一个)处理器、存储器和传输模块。当然,本领域普通技术人员可以理解,图10所示的硬件结构仅为示意,其并不对上述电子设备的硬件结构造成限定。在实际中该电子设备还可以包括比图10所示更多或者更少的组件单元;或者,具有与图10所示不同的配置。
所述存储器可以包括高速随机存储器;或者,还可以包括非易失性存储器,例如一个或者多个磁性存储装置、闪存或者其他非易失性固态存储器。当然,所述存储器还可以包括远程设置的网络存储器。所述远程设置的网络存储器可以通过诸如互联网、企业内部网、局域网、移动通信网等网络连接至所述区块链客户端。所述存储器可以用于存储应用软件的程序指令或模块,例如本说明书图4、图5或图6所对应实施例的程序指令或模块。
所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以读取并执行所述存储器中的程序指令或模块。
所述传输模块可以用于经由网络进行数据传输,例如经由诸如互联网、企业内部网、局域网、移动通信网等网络进行数据传输。
本说明书还提供计算机存储介质的一个实施例。所述计算机存储介质包括但不限于随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk Drive,HDD)、存储卡(Memory Card)等等。所述计算机存储介质存储有计算机程序指令。在所述计算机程序指令被执行时实现:本说明书图4、图5或图6所对应实施例的程序指令或模块。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于单侧实施的方法实施例(例如图4、图5和图6所对应的实施例)、装置实施例、电子设备实施例、以及计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在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)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (32)

1.一种数据处理方法,应用于判断条件方,包括:
获取判断条件中基准数据的多个二进制段;
构建多个第一分段判断结果集合,每个第一分段判断结果集合对应有段位置,且包括根据基准数据中该段位置处的二进制段所得到的多个分段判断结果;
对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;
对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合;
向数据方发送多个密文集合。
2.如权利要求1所述的方法,所述段位置对应有权重;所述对第一分段判断结果集合中的分段判断结果进行编码,包括:
根据段位置的权重,对第一分段判断结果集合中的分段判断结果进行编码。
3.如权利要求2所述的方法,所述对第一分段判断结果集合中的分段判断结果进行编码,包括:
将第一分段判断结果集合所对应段位置的权重与该第一分段判断结果集合中的分段判断结果相乘。
4.如权利要求2所述的方法,段位置的权重满足公式mi-1
Figure FDA0002317586070000011
m为大于或等于3的正整数,i表示段位置所在的位次。
5.如权利要求1所述的方法,所述对第二分段判断结果集合中的分段判断结果进行加密,包括:
对第二分段判断结果集合中的分段判断结果进行同态加密。
6.如权利要求1所述的方法,所述判断条件包括比较判断条件;
所述分段判断结果包括以下至少一种:第一类分段判断结果、第二类分段判断结果、第三类分段判断结果;所述第一类分段判断结果用于表示判断条件不成立,所述第二类分段判断结果用于待定状态,所述第三类分段判断结果用于表示判断条件成立。
7.如权利要求1所述的方法,所述获取判断条件中基准数据的多个二进制段,包括:
对于多个判断条件,获取每个判断条件中基准数据的多个二进制段;
所述第一分段判断结果集合包括多个子集合,每个子集合对应一个判断条件,且包括根据该判断条件中基准数据的二进制段所得到的多个分段判断结果。
8.如权利要求7所述的方法,每个子集合中的多个分段判断结果对应了多个判断对象的二进制段。
9.一种查询方法,应用于数据方,所述数据方持有多个密文集合,每个密文集合对应有段位置,且包括多个对应有二进制段的分段判断结果密文,该方法包括:
获取判断对象特定取值的多个二进制段;
根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;
对多个查询结果进行打包,得到打包数据密文;
向判断条件方发送所述打包数据密文。
10.如权利要求9所述的方法,所述分段判断结果密文由同态加密算法计算得到;所述对多个查询结果进行打包,包括:
将多个查询结果同态相加。
11.如权利要求10所述的方法,所述查询结果包括分段判断结果密文;所述将多个查询结果同态相加,包括:
将多个分段判断结果密文同态相加。
12.如权利要求10所述的方法,所述密文集合包括多个子密文集合,每个子密文集合包括多个分段判断结果密文;所述查询分段判断结果密文,包括:
从密文集合的多个子密文集合中查询分段判断结果密文。
13.如权利要求12所述的方法,所述查询结果包括密文序列,所述密文序列包括在一个密文集合的多个子密文集合中所查询到的多个分段判断结果密文;
所述将多个查询结果同态相加,包括:
将多个密文序列同态相加。
14.如权利要求12所述的方法,所述获取判断对象特定取值的多个二进制段,包括:
对于多个判断对象,获取每个判断对象特定取值的多个二进制段;
所述从密文集合的多个子密文集合中查询分段判断结果密文,包括:
对于密文集合中的每个子密文集合,在该子密文集合中查询分段判断结果密文,得到多个分段判断结果密文,对所述多个分段判断结果密文进行同态求和处理。
15.如权利要求14所述的方法,所述查询结果包括密文序列,所述密文序列包括一个密文集合的多个子密文集合所对应的多个求和结果;
所述将多个查询结果同态相加,包括:
将多个密文序列同态相加。
16.一种查询方法,应用于数据方,所述数据方持有多个密文集合,每个密文集合对应有段位置,且包括多个对应有二进制段的分段判断结果密文,该方法包括:
获取判断对象特定取值的多个二进制段;
根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;
对多个查询结果进行打包,得到打包数据密文;
生成打包数据的第一份额,所述打包数据的第一份额包括随机数;
根据打包数据密文和所述第一份额,计算打包数据第二份额的密文;
向判断条件方发送打包数据第二份额的密文。
17.如权利要求16所述的方法,所述分段判断结果密文由同态加密算法计算得到;所述对多个查询结果进行打包,包括:
将多个查询结果同态相加。
18.如权利要求17所述的方法,所述查询结果包括分段判断结果密文;所述将多个查询结果同态相加,包括:
将多个分段判断结果密文同态相加。
19.如权利要求17所述的方法,所述密文集合包括多个子密文集合,每个子密文集合包括多个分段判断结果密文;所述查询分段判断结果密文,包括:
从密文集合的多个子密文集合中查询分段判断结果密文。
20.如权利要求19所述的方法,所述查询结果包括密文序列,所述密文序列包括在一个密文集合的多个子密文集合中所查询到的多个分段判断结果密文;
所述将多个查询结果同态相加,包括:
将多个密文序列同态相加。
21.如权利要求19所述的方法,所述获取判断对象特定取值的多个二进制段,包括:
对于多个判断对象,获取每个判断对象特定取值的多个二进制段;
所述从密文集合的多个子密文集合中查询分段判断结果密文,包括:
对于密文集合中的每个子密文集合,在该子密文集合中查询分段判断结果密文,得到多个分段判断结果,对所述多个分段判断结果密文进行同态求和处理。
22.如权利要求21所述的方法,所述查询结果包括密文序列,所述密文序列包括一个密文集合的多个子密文集合所对应的多个求和结果;
所述将多个查询结果同态相加,包括:
将多个密文序列同态相加。
23.如权利要求16所述的方法,所述计算打包数据第二份额的密文,包括:
对打包数据的第一份额进行加密,得到打包数据第一份额的密文;
将打包数据密文和打包数据第一份额的密文同态相减,得到打包数据第二份额的密文。
24.一种数据处理装置,应用于判断条件方,包括:
获取单元,用于获取判断条件中基准数据的多个二进制段;
构建单元,用于构建多个第一分段判断结果集合,每个第一分段判断结果集合对应有段位置,且包括根据基准数据中该段位置处的二进制段所得到的多个分段判断结果;
编码单元,用于对第一分段判断结果集合中的分段判断结果进行编码,得到第二分段判断结果集合;
加密单元,用于对第二分段判断结果集合中的分段判断结果进行加密,得到密文集合;
发送单元,用于向数据方发送多个密文集合。
25.一种查询装置,应用于数据方,所述数据方持有多个密文集合,每个密文集合对应有段位置,且包括多个对应有二进制段的分段判断结果密文,该装置包括:
获取单元,用于获取判断对象特定取值的多个二进制段;
查询单元,用于根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;
打包单元,用于对多个查询结果进行打包,得到打包数据密文;
发送单元,用于向判断条件方发送所述打包数据密文。
26.一种查询装置,应用于数据方,所述数据方持有多个密文集合,每个密文集合对应有段位置,且包括多个对应有二进制段的分段判断结果密文,该装置包括:
获取单元,用于获取判断对象特定取值的多个二进制段;
查询单元,用于根据特定取值的每个二进制段,选取密文集合并从中查询分段判断结果密文,得到查询结果;其中,选取的密文集合所对应的段位置与该二进制段在特定取值中的段位置相同;
打包单元,用于对多个查询结果进行打包,得到打包数据密文;
生成单元,用于生成打包数据的第一份额,所述打包数据的第一份额包括随机数;
计算单元,用于根据打包数据密文和所述第一份额,计算打包数据第二份额的密文;
发送单元,用于向判断条件方发送打包数据第二份额的密文。
27.一种电子设备,包括存储器和处理器;
存储器,用于存储计算机指令;
处理器,用于执行所述计算机指令以实现如权利要求1-8中任一项所述的方法步骤。
28.一种电子设备,包括存储器和处理器;
存储器,用于存储计算机指令;
处理器,用于执行所述计算机指令以实现如权利要求9-15中任一项所述的方法步骤。
29.一种电子设备,包括存储器和处理器;
存储器,用于存储计算机指令;
处理器,用于执行所述计算机指令以实现如权利要求16-23中任一项所述的方法步骤。
30.一种查询系统,包括数据方和判断条件方;
所述数据方设置有如权利要求25所述的装置;
所述判断条件方用于接收所述打包数据密文;对所述打包数据密文进行解密,得到打包数据。
31.如权利要求30所述的系统,所述判断条件方还用于对所述打包数据进行解码,得到多个分段判断结果;根据所述多个分段判断结果中的部分或全部确定所需的判断结果。
32.一种查询系统,包括数据方和判断条件方;
所述数据方设置有如权利要求26所述的装置;
所述判断条件方用于接收所述打包数据第二份额的密文;对所述打包数据第二份额的密文进行解密,得到打包数据的第二份额。
CN201911284306.3A 2019-12-13 2019-12-13 数据处理方法、查询方法、装置、电子设备和系统 Active CN111143862B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911284306.3A CN111143862B (zh) 2019-12-13 2019-12-13 数据处理方法、查询方法、装置、电子设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911284306.3A CN111143862B (zh) 2019-12-13 2019-12-13 数据处理方法、查询方法、装置、电子设备和系统

Publications (2)

Publication Number Publication Date
CN111143862A true CN111143862A (zh) 2020-05-12
CN111143862B CN111143862B (zh) 2021-07-09

Family

ID=70518338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911284306.3A Active CN111143862B (zh) 2019-12-13 2019-12-13 数据处理方法、查询方法、装置、电子设备和系统

Country Status (1)

Country Link
CN (1) CN111143862B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232639A (zh) * 2020-09-22 2021-01-15 支付宝(杭州)信息技术有限公司 统计方法、装置和电子设备
CN112580071A (zh) * 2020-12-09 2021-03-30 深圳前海微众银行股份有限公司 一种数据处理方法及装置
CN112804365A (zh) * 2021-04-14 2021-05-14 浙江数秦科技有限公司 一种用于安全多方计算的隐私数据分发方法
CN113067694A (zh) * 2021-03-31 2021-07-02 支付宝(杭州)信息技术有限公司 一种通信优化的双方安全比较方法、装置以及设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120201378A1 (en) * 2011-02-03 2012-08-09 Mohamed Nabeel Efficient, remote, private tree-based classification using cryptographic techniques
US20160156595A1 (en) * 2014-12-02 2016-06-02 Microsoft Technology Licensing, Llc Secure computer evaluation of decision trees
US10102399B2 (en) * 2013-09-26 2018-10-16 Koninklijke Kpn N.V. Secure evaluation of a program
CN109743706A (zh) * 2019-02-21 2019-05-10 暨南大学 物联网环境下具有有效性验证功能的数据聚合方法
CN110176983A (zh) * 2019-05-22 2019-08-27 西安电子科技大学 基于全同态加密的隐私保护关联规则挖掘方法
CN110190946A (zh) * 2019-07-12 2019-08-30 之江实验室 一种基于同态加密的隐私保护多机构数据分类方法
CN110222527A (zh) * 2019-05-22 2019-09-10 暨南大学 一种隐私保护方法
CN110348231A (zh) * 2019-06-18 2019-10-18 阿里巴巴集团控股有限公司 实现隐私保护的数据同态加解密方法及装置
CN110490002A (zh) * 2019-08-27 2019-11-22 安徽大学 一种基于本地化差分隐私的多维众包数据真值发现方法
WO2019231481A1 (en) * 2018-05-29 2019-12-05 Visa International Service Association Privacy-preserving machine learning in the three-server model

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120201378A1 (en) * 2011-02-03 2012-08-09 Mohamed Nabeel Efficient, remote, private tree-based classification using cryptographic techniques
US10102399B2 (en) * 2013-09-26 2018-10-16 Koninklijke Kpn N.V. Secure evaluation of a program
US20160156595A1 (en) * 2014-12-02 2016-06-02 Microsoft Technology Licensing, Llc Secure computer evaluation of decision trees
WO2019231481A1 (en) * 2018-05-29 2019-12-05 Visa International Service Association Privacy-preserving machine learning in the three-server model
CN109743706A (zh) * 2019-02-21 2019-05-10 暨南大学 物联网环境下具有有效性验证功能的数据聚合方法
CN110176983A (zh) * 2019-05-22 2019-08-27 西安电子科技大学 基于全同态加密的隐私保护关联规则挖掘方法
CN110222527A (zh) * 2019-05-22 2019-09-10 暨南大学 一种隐私保护方法
CN110348231A (zh) * 2019-06-18 2019-10-18 阿里巴巴集团控股有限公司 实现隐私保护的数据同态加解密方法及装置
CN110190946A (zh) * 2019-07-12 2019-08-30 之江实验室 一种基于同态加密的隐私保护多机构数据分类方法
CN110490002A (zh) * 2019-08-27 2019-11-22 安徽大学 一种基于本地化差分隐私的多维众包数据真值发现方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232639A (zh) * 2020-09-22 2021-01-15 支付宝(杭州)信息技术有限公司 统计方法、装置和电子设备
CN112232639B (zh) * 2020-09-22 2023-06-30 支付宝(杭州)信息技术有限公司 统计方法、装置和电子设备
CN112580071A (zh) * 2020-12-09 2021-03-30 深圳前海微众银行股份有限公司 一种数据处理方法及装置
CN112580071B (zh) * 2020-12-09 2024-05-14 深圳前海微众银行股份有限公司 一种数据处理方法及装置
CN113067694A (zh) * 2021-03-31 2021-07-02 支付宝(杭州)信息技术有限公司 一种通信优化的双方安全比较方法、装置以及设备
CN112804365A (zh) * 2021-04-14 2021-05-14 浙江数秦科技有限公司 一种用于安全多方计算的隐私数据分发方法

Also Published As

Publication number Publication date
CN111143862B (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
CN111143862B (zh) 数据处理方法、查询方法、装置、电子设备和系统
Tahir et al. CryptoGA: a cryptosystem based on genetic algorithm for cloud data security
US11843687B2 (en) Systems, devices, and processes for homomorphic encryption
US9900147B2 (en) Homomorphic encryption with optimized homomorphic operations
EP3959839A1 (en) Methods and systems for privacy preserving evaluation of machine learning models
CN111461952B (zh) 图像加密方法、计算机设备和计算机可读存储介质
CN105122721B (zh) 用于管理针对加密数据的托管安全计算的方法和系统
CN111125727B (zh) 混淆电路生成方法、预测结果确定方法、装置和电子设备
US20140233727A1 (en) Method for secure substring search
JP2016509268A (ja) プライバシーを保護する計数の方法およびシステム
CN111404943B (zh) 数据的处理方法、装置、电子设备及计算机可读存储介质
US20190109701A1 (en) Methods and systems for enhanced data-centric homomorphic encryption sorting using geometric algebra
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
CN110391895B (zh) 数据预处理方法、密文数据获取方法、装置和电子设备
Peng Danger of using fully homomorphic encryption: A look at Microsoft SEAL
CN111428887A (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN111159730B (zh) 数据处理方法、查询方法、装置、电子设备和系统
CN111046431B (zh) 数据处理方法、查询方法、装置、电子设备和系统
Rahim et al. Tiny encryption algorithm and pixel value differencing for enhancement security message
CN116561787A (zh) 视觉图像分类模型的训练方法、装置及电子设备
Moon et al. An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE
CN111949998A (zh) 对象检测及请求方法、数据处理系统、装置及存储介质
US11290456B2 (en) Secret equality determination system, secret equality determination method and secret equality determination program recording medium
Babu et al. Higher dimensional chaos for Audio encryption
CN110874481A (zh) 一种基于gbdt模型的预测方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240923

Address after: Room 302, 3rd Floor, Building 1, Yard 1, Danling Street, Haidian District, Beijing, 100080

Patentee after: Sasi Digital Technology (Beijing) Co.,Ltd.

Country or region after: China

Address before: 310000 801-11 section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee before: Alipay (Hangzhou) Information Technology Co.,Ltd.

Country or region before: China