CN115001733A - 一种数据确定方法、装置、存储介质及终端 - Google Patents

一种数据确定方法、装置、存储介质及终端 Download PDF

Info

Publication number
CN115001733A
CN115001733A CN202210396044.5A CN202210396044A CN115001733A CN 115001733 A CN115001733 A CN 115001733A CN 202210396044 A CN202210396044 A CN 202210396044A CN 115001733 A CN115001733 A CN 115001733A
Authority
CN
China
Prior art keywords
data
terminal
encrypted data
public key
encrypted
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
CN202210396044.5A
Other languages
English (en)
Other versions
CN115001733B (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.)
Alipay Hangzhou Information Technology 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 CN202210396044.5A priority Critical patent/CN115001733B/zh
Publication of CN115001733A publication Critical patent/CN115001733A/zh
Priority to US18/298,296 priority patent/US20230336345A1/en
Priority to EP23168142.0A priority patent/EP4262140A1/en
Application granted granted Critical
Publication of CN115001733B publication Critical patent/CN115001733B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本说明书公开了一种数据确定方法、装置、存储介质及终端,其中,方法包括:第一终端发送第一加密数据至第二终端;第二终端采用第二公钥对第一加密数据进行加密得到第二加密数据,并将第二加密数据和第三加密数据发送至第一终端;第一终端采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端;第三终端获取第一终端发送的第五加密数据;第三终端基于第五加密数据和第一交集数据确定第二交集数据,并发送第二交集数据至第一终端和第二终端。

Description

一种数据确定方法、装置、存储介质及终端
技术领域
本说明书涉及计算机技术领域,尤其涉及一种数据确定方法、装置、存储介质及终端。
背景技术
随着科学技术的发展,数据交换的安全性逐渐称为用户关注的重心。其中,椭圆曲线密码学是一种基于有限域椭圆曲线难题的密码学算法。相较于传统的有限域密码学,椭圆曲线密码学可以在相同安全等级下相比传统有限域密码学拥有更短的密钥长度,可以提高椭圆曲线密码的应用范围。相关技术中的多方隐私求交协议中并没有基于椭圆曲线的多方隐私求交协议。
发明内容
本说明书实施例提供了一种数据确定方法、装置、存储介质及终端,可以兼顾网络带宽要求,硬件要求以及安全性要求,提高多方隐私求交协议使用的便利性。
第一方面,本说明书实施例提供了一种数据确定方法,包括:
第一终端发送第一加密数据至第二终端,所述第一加密数据是所述第一终端采用第一公钥对所述第一终端中的第一数据集进行加密得到的;
所述第二终端采用第二公钥对所述第一加密数据进行加密得到第二加密数据,并将所述第二加密数据和第三加密数据发送至所述第一终端,其中,所述第三加密数据是所述第二终端采用所述第二公钥对所述第二终端中的第二数据集进行加密得到的;
所述第一终端采用所述第一公钥对所述第三加密数据进行加密得到第四加密数据,获取所述第二加密数据和所述第四加密数据的第一交集数据,并发送所述第一交集数据至第三终端;
所述第三终端获取所述第一终端发送的第五加密数据,其中,所述第五加密数据是基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥得到的;
所述第三终端基于所述第五加密数据和第一交集数据确定第二交集数据,并发送所述第二交集数据至所述第一终端和所述第二终端。
第二方面,本说明书实施例提供了一种数据确定方法,包括:
发送第一加密数据至第二终端,所述第一加密数据是采用第一公钥对第一终端中的第一数据集进行加密得到的;
获取第二终端发送的第二加密数据和第三加密数据,所述第二加密数据是基于所述第一加密数据和第二公钥得到的,所述第三加密数据是基于所述第二公钥和所述第二终端中的第二数据集得到的;
采用所述第一公钥对所述第三加密数据进行加密得到第四加密数据,获取所述第二加密数据和所述第四加密数据的第一交集数据,并发送所述第一交集数据至第三终端;
基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥,获取第五加密数据;
发送所述第五加密数据至所述第三终端,并获取所述第三终端发送的第二交集数据。
第三方面,本说明书实施例提供了一种数据确定方法,包括:
获取第一终端发送的第一加密数据,所述第一加密数据是所述第一终端采用第一公钥对所述第一终端中的第一数据集进行加密得到的;
采用第二公钥对所述第一加密数据进行加密得到第二加密数据;
将所述第二加密数据和第三加密数据发送至所述第一终端,其中,所述第三加密数据是采用所述第二公钥对第二终端中的第二数据集进行加密得到的,所述第二加密数据和第三加密数据用于指示所述一终端基于所述第二加密数据和第三加密数据获取第一交集数据,并发送所述第一交集数据至第三终端;
获取所述第三终端发送的第二交集数据,所述第二交集数据是所述第三终端基于第一交集数据和第五加密数据确定的,所述第五加密数据是基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥得到的。
第四方面,本说明书实施例提供了一种数据确定方法,包括:
获取第一终端发送的第一交集数据,所述第一交集数据是所述第一终端基于第二加密数据和第四加密数据得到的;
获取所述第一终端发送的第五加密数据,其中,所述第五加密数据是基于第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥得到的;
基于所述第五加密数据和第一交集数据确定第二交集数据,并发送所述第二交集数据至所述第一终端和所述第二终端。
第五方面,本说明书实施例提供了一种数据确定装置,包括:
第一数据发送单元,用于发送第一加密数据至第二终端,所述第一加密数据是采用第一公钥对第一终端中的第一数据集进行加密得到的;
第一数据获取单元,用于获取第二终端发送的第二加密数据和第三加密数据,所述第二加密数据是基于所述第一加密数据和第二公钥得到的,所述第三加密数据是基于所述第二公钥和所述第二终端中的第二数据集得到的;
交集数据获取单元,用于采用所述第一公钥对所述第三加密数据进行加密得到第四加密数据,获取所述第二加密数据和所述第四加密数据的第一交集数据,并发送所述第一交集数据至第三终端;
第二数据获取单元,用于基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥,获取第五加密数据;
第二数据发送单元,用于发送所述第五加密数据至所述第三终端,并获取所述第三终端发送的第二交集数据。
第六方面,本说明书实施例提供了一种数据确定装置,包括:
第三数据获取单元,用于获取第一终端发送的第一加密数据,所述第一加密数据是所述第一终端采用第一公钥对所述第一终端中的第一数据集进行加密得到的;
第一数据加密单元,用于采用第二公钥对所述第一加密数据进行加密得到第二加密数据;
第三数据发送单元,用于将所述第二加密数据和第三加密数据发送至所述第一终端,其中,所述第三加密数据是采用所述第二公钥对第二终端中的第二数据集进行加密得到的,所述第二加密数据和第三加密数据用于指示所述一终端基于所述第二加密数据和第三加密数据获取第一交集数据,并发送所述第一交集数据至第三终端;
第四数据获取单元,用于获取所述第三终端发送的第二交集数据,所述第二交集数据是所述第三终端基于第一交集数据和第五加密数据确定的,所述第五加密数据是基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥得到的。
第七方面,本说明书实施例提供了一种数据确定装置,其特征在于,包括:
第五数据获取单元,用于获取第一终端发送的第一交集数据,所述第一交集数据是所述第一终端基于第二加密数据和第四加密数据得到的;
第六数据获取单元,用于获取所述第一终端发送的第五加密数据,其中,所述第五加密数据是基于第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥得到的;
第四数据发送单元,用于基于所述第五加密数据和第一交集数据确定第二交集数据,并发送所述第二交集数据至所述第一终端和所述第二终端。
第八方面,本说明书实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第九方面,本说明书实施例提供一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
第十方面,一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时用于执行上述的方法步骤。
在本说明书实施例中,第一终端发送第一加密数据至第二终端,第二终端采用第二公钥对第一加密数据进行加密得到第二加密数据,并将第二加密数据和第三加密数据发送至第一终端,第一终端采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端,述第三终端获取第一终端发送的第五加密数据,第三终端基于第五加密数据和第一交集数据确定第二交集数据,并发送第二交集数据至第一终端和第二终端。因此,在数据确定过程中会使用各终端的公钥对数据进行加密,无需使用成熟的对称密码学原语,对网络带宽要求较低,同时无需使用不成熟的同态加密,可以减少安全性较低的情况,可以提高数据确定的安全性,可以兼顾网络带宽要求,硬件要求以及安全性要求,提高多方隐私求交协议使用的便利性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种数据确定方法的背景举例示意图;
图2是本说明书实施例提供的一种数据确定方法的流程示意图;
图3是本说明书实施例提供的一种数据确定方法的流程示意图;
图4是本说明书实施例提供的一种数据确定方法的流程示意图;
图5是本说明书实施例提供的一种数据确定方法的流程示意图;
图6是本说明书实施例提供的一种数据确定方法的流程示意图;
图7是本说明书实施例提供的一种数据确定方法的流程示意图;
图8是本说明书实施例提供的一种数据确定方法的流程示意图;
图9是本说明书实施例提供的一种数据确定方法的流程示意图;
图10是本说明书实施例提供的一种数据确定系统的流程示意图;
图11是本说明书实施例提供的一种数据确定装置的结构示意图;
图12是本说明书实施例提供的一种数据确定装置的结构示意图;
图13是本说明书实施例提供的一种数据确定装置的结构示意图;
图14是本说明书实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
在本说明书的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本说明书的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本说明书中的具体含义。此外,在本说明书的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
椭圆曲线密码学(Elliptic Curve Cryptography,ECC)是一种建立公开密钥加密的算法,基于椭圆曲线数学。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。
在一些实施例中,ECC的主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA加密算法——提供相当的或更高等级的安全。ECC的另一个优势是可以定义群之间的双线性映射,基于Weil对或是Tate对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。其缺点是同长度密钥下加密和解密操作的实现比其他机制花费的时间长,但由于可以使用更短的密钥达到同级的安全程度,所以同级安全程度下速度相对更快。
请参见图1,为本说明书实施例提供的一种数据确定方法的背景举例示意图。如图1所示,在双方椭圆曲线密钥交换协议(2-party ECDH)中,第一终端可以获取第一公钥和第一私钥,第二终端可以获取第二公钥和第二私钥。第一终端和第二终端可以通过网络交换各自的公钥,即第一终端可以将第一公钥发送至第二终端,第二终端可以将第二公钥发送至第一终端。第一终端可以基于第一公钥和第二公钥计算得到第一密钥。第二终端可以基于第一公钥和第二公钥计算得到第二密钥。其中,第一密钥和第二密钥一样,因此第一终端和第二终端可以获取到仅第一终端和第二终端知悉的共同密钥。
但是,多方隐私求交协议中并没有基于椭圆曲线的多方隐私求交协议。另外,基于成熟的对称密码学原语需要极高的通信量去完成隐私求交的计算,对网络带宽要求较高,相反对硬件要求不高,基于不成熟的同态加密,安全性尚未达到共识、技术实现不成熟,对硬件要求极高,因此无法兼顾网络带宽要求,硬件要求以及安全性要求,使得多方隐私求交协议的便利性较差。其中,成熟的对称密码学原语(例如可以包括不经意传输(oblivioustransfer,OT)、不经意伪随机函数(OPRF)等。
下面结合具体的实施例对本说明书提供的数据确定方法进行详细说明。
请参见图2,为本说明书实施例提供了一种数据确定方法的流程示意图。如图2所示,本说明书实施例从第一终端侧、第二终端侧和第三终端侧共同进行描述,方法可以包括以下步骤S102-S110。
S102,第一终端发送第一加密数据至第二终端;
根据一些实施例,本说明书实施例提供的数据确定方法可以应用于基于椭圆曲线的多方隐私求交协议中。例如,本说明书实施例提供的数据确定方法可以应用于基于椭圆曲线的三方隐私求交协议中。其中,本说明书实施例提供的数据确定方法的应用场景包括但不限于广告投放场景、数据统计场景、黑名单机制场景、客户信息确定场景等等。
在一些实施例中,本说明书实施例的终端个数为至少三个,例如,终端个数可以是三个。三个终端例如可以是第一终端、第二终端和第三终端。其中,不同的终端用于执行数据确定方法中的不同步骤。
根据一些实施例,第一加密数据是第一终端采用第一公钥对第一终端中的第一数据集进行加密得到的。第一数据集是指存储在第一终端中的数据集。该第一数据集并不特指某一固定数据集。例如,当该第一数据集中包括的数据类型发生变化时,该第一数据集也可以相应变化。例如该第一数据集中包括的数据数量发生变化时,该第一数据集也可以相应变化。
易于理解的是,第一公钥是指第一终端基于椭圆曲线参数生成的公钥。第一公钥并不特指某一固定公钥。例如当第一终端获取到的第一私钥发生变化时,第一终端基于第一私钥产生的第一公钥也可以相应变化。
在一些实施例中,第一终端可以采用第一公钥对第一终端中的第一数据集进行加密得到第一加密数据。当第一终端获取到第一加密数据时,第一终端可以发送第一加密数据至第二终端。
S104,第二终端采用第二公钥对第一加密数据进行加密得到第二加密数据,并将第二加密数据和第三加密数据发送至第一终端;
根据一些实施例,第二终端是指多方交易协议中接收第一加密数据的终端。该第二终端并不特指某一固定终端。例如在多方隐私求交协议中第二终端的个数可以是多个。
在一些实施例中,第二公钥指第二终端基于椭圆曲线参数生成的公钥。第二公钥并不特指某一固定公钥。例如当第二终端获取到的第二私钥发生变化时,第二终端基于第二私钥产生的第二公钥也可以相应变化。
易于理解的是,第二加密数据是指第二终端获取到第一终端发送的第一加密数据,并且采用第二公钥对第一加密数据进行加密得到的。该第二加密数据并不特指某一固定数据。例如当第一加密数据或者第二公钥发生变化时,该第二加密数据也可以相应变化。
可选的,第三加密数据是第二终端采用第二公钥对第二终端中的第二数据集进行加密得到的。第二数据集是指存储在第二终端中的数据集。该第二数据集并不特指某一固定数据集。例如,当该第二数据集中包括的数据类型发生变化时,该第二数据集也可以相应变化。例如该第二数据集中包括的数据数量发生变化时,该第二数据集也可以相应变化。
在一些实施例中,第一终端可以采用第一公钥对第一终端中的第一数据集进行加密得到第一加密数据。当第一终端获取到第一加密数据时,第一终端可以发送第一加密数据至第二终端。第二终端可以获取第一终端发送的第一加密数据,第二终端可以采用第二公钥对第一加密数据进行加密得到第二加密数据。第二终端还可以采用第二公钥对第二终端中的第二数据集进行加密得到第三加密数据,第二终端可以将第二加密数据和第三加密数据发送至第一终端。
S106,第一终端采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端;
根据一些实施例,第四加密数据是指第一终端采用第一公钥对第二终端发送的第三加密数据进行加密得到的数据。第四加密数据并不特指某一固定数据。例如当第一公钥或者第三加密数据发生变化时,该第四加密数据也可以相应变化。
在一些实施例中,第一交集数据用指示第一终端确定的第一终端中的第一数据集和第二终端中的第二数据集之间的交集数据。该第一交集数据用于指示第一数据集和第二数据集之间的数据交集,该第一交集数据包括至少一个数据,即该第一交集数据包括的数据数量并不特指某一固定数据。
易于理解的是,第一交集数据并不特指某一固定数据,例如,当第一交集数据包括的数据类型发生变化时,该第一交集数据也可以相应变化。例如当第一交集数据包括的数据数量发生变化时,该第一交集数据也可以相应变化。
在一些实施例中,第三终端是指多方交易协议中用于确定多方数据集中的交集数据的终端。该第三终端并不特指某一固定终端。例如当第三终端标识发生变化时,该第三终端也可以相应变化。
根据一些实施例,第一终端获取到第二终端发送的第二加密数据和第三加密数据时,第一终端采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端。
S108,第三终端获取第一终端发送的第五加密数据;
在一些实施例中,第五加密数据可以是第一终端基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到的。该第五加密数据并不特指某一固定数据。例如,当第三终端中的第三数据集、第一公钥、第二公钥、第三公钥中任一数据发生变化时,该第三终端也可以相应变化。
根据一些实施例,第三数据集是指存储在第三终端中的数据集。该第三数据集并不特指某一固定数据集。例如,当该第三数据集中包括的数据类型发生变化时,该第三数据集也可以相应变化。例如该第三数据集中包括的数据数量发生变化时,该第三数据集也可以相应变化。
在一些实施例中,第三公钥指第三终端基于椭圆曲线参数生成的公钥。第三公钥并不特指某一固定公钥。例如当第三终端获取到的第三私钥发生变化时,第二终端基于第三私钥产生的第三公钥也可以相应变化。
在一些实施例中,第一终端基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到第五加密数据时,第一终端可以发送第五加密数据至第三终端。第三终端可以获取第一终端发送的第五加密数据。
S110,第三终端基于第五加密数据和第一交集数据确定第二交集数据,并发送第二交集数据至第一终端和第二终端。
在一些实施例中,第二交集数据是指第三终端确定的第一数据集、第二数据集和第三数据集之间的交集数据。该第二交集数据并不特指某一固定数据。例如,当第一数据集、第二数据集、第三数据集中任一数据集发生变化时,该第二交集数据也可以相应变化。
根据一些实施例,第一终端基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到第五加密数据时,第一终端可以发送第五加密数据和第一交集数据至第三终端。第三终端可以获取第一终端发送的第五加密数据和第一交集数据。第三终端可以基于第五加密数据和第一交集数据确定第二交集数据,并发送第二交集数据至第一终端和第二终端。
在本说明书实施例中,第一终端发送第一加密数据至第二终端,第二终端采用第二公钥对第一加密数据进行加密得到第二加密数据,并将第二加密数据和第三加密数据发送至第一终端,第一终端采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端,述第三终端获取第一终端发送的第五加密数据,第三终端基于第五加密数据和第一交集数据确定第二交集数据,并发送第二交集数据至第一终端和第二终端。因此,在数据确定过程中会使用各终端的公钥对数据进行加密,无需使用成熟的对称密码学原语,对网络带宽要求较低,同时无需使用不成熟的同态加密,可以减少安全性较低的情况,可以提高数据确定的安全性,可以兼顾网络带宽要求,硬件要求以及安全性要求,提高多方隐私求交协议使用的便利性。
请参见图3,为本说明书实施例提供了一种数据确定方法的流程示意图。如图3所示,本说明书实施例从第一终端侧、第二终端侧和第三终端侧共同进行描述,方法可以包括以下步骤S202-S232。
S202,第一终端采用椭圆曲线参数信息生成第一公钥;
根据一些实施例,椭圆曲线密码学是一种基于有限域椭圆曲线难题的密码学算法。基于椭圆曲线密码学,可以实现例如密钥交换协议、数字签名、非对称加密等密码学原语。相较于传统的有限域密码学(例如RSA),椭圆曲线密码学可以在相同安全等级下相比传统有限域密码学拥有更短的密钥长度,因此在现实中有广泛的应用场景。
在一些实施例中,可以使用公式(一)的形式来表示椭圆曲线,其中,a,b为常数,并且4a3+27b2≠0。
y2=x3+ax+b 公式(一)
为了进一步使用椭圆曲线密码学,还可以获取以下参数:
素数p;
基点G;
子群的阶n;
子群的辅助因子h;
因此椭圆曲线密码学算法的主要参数例如可以总结为(p,a,b,G,n,h),也就是说椭圆曲线参数包括但不限于素数p、基点G、子群的阶n、子群的辅助因子h以及常数a和常数b等等。
在一些实施例中,在多方隐私求交协议中,多个终端可以互相确认同一的安全参数。该安全参数例如可以是128bit。
在一些实施例中,第一终端可以基于随机数和基点G生成第一密钥。由于随机数并不固定为某一数值,因此第一密钥并不特指某一固定密钥。第一终端可以采用椭圆曲线参数信息生成第一公钥。第一终端基于采用椭圆曲线参数信息生成第一公钥时,第一终端例如可以是使用第一私钥和基点G生成第一公钥d0
S204,第二终端采用椭圆曲线参数信息生成第二公钥;
在一些实施例中,第二公钥是指由第二终端生成的公钥。第二终端可以采用椭圆曲线参数信息生成第二公钥。第二终端例如基于采用椭圆曲线参数信息生成第二公钥时,第二终端例如可以是使用第二私钥和基点G生成第二公钥d1。其中,第二私钥可以是第二终端基于随机数和基点G生成的。
S206,第三终端采用椭圆曲线参数信息生成第三公钥;
在一些实施例中,第三公钥是指由第三终端生成的公钥。第三终端可以采用椭圆曲线参数信息生成第三公钥。第三终端例如基于采用椭圆曲线参数信息生成第三公钥时,第三终端例如可以是使用第三私钥和基点G生成第三公钥d2。其中,第三私钥可以是第三终端基于随机数和基点G生成的。
S208,第一终端发送第一加密数据至第二终端;
具体过程如上所述,此处不再赘述。
根据一些实施例,第一数据集例如可以是广告投放时第一终端可以使用的第一广告商信息。第一加密数据例如可以是第一终端采用第一公钥对第一终端中的第一广告商信息进行加密得到的。
在一些实施例中,第一数据集例如可以是X0∈Fn,其中X0中包括有n个元素。第一加密数据例如可以是第一终端采用第一公钥d0对第一数据集X0进行加密得到的E0
S210,第二终端采用第二公钥对第一加密数据进行加密得到第二加密数据;
具体过程如上所述,此处不再赘述。
根据一些实施例,第一数据集例如可以是广告投放时第一终端可以使用的广告商信息。第一加密数据例如可以是第一终端采用第一公钥对第一终端中的广告商信息进行加密得到的。第一终端可以将加密后的第一广告商信息发送至第二终端。第二终端可以采用第二公钥对加密后的第一广告商信息进行再次加密得到第二加密数据。
在一些实施例中,第一数据集例如可以是X0∈Fn,其中X0中包括有n个元素。第一加密数据例如可以是第一终端采用第一公钥d0对第一数据集X0进行加密得到的E0。第二终端采用第二公钥d1对第一加密数据E0进行加密得到第二加密数据E′0
S212,第二终端获取与第二加密数据对应的第一随机序列数据;
在一些实施例中,第一随机序列数据是指对第二加密数据进行随机打乱之后获取到的数据。该第一随机序列数据并不特指某一固定数据。由于第二终端会对第二加密数据进行随机打乱,打乱的顺序并不确定,因此第一随机序列数据并不固定。
根据一些实施例,第二终端获取到第二加密数据时,第二终端可以获取到与第二加密数据对应的第一随机序列数据。例如第二终端可以获取与第二加密数据E′0对应的第一随机序列数据π(E′0)。
S214,第二终端获取与第三加密数据对应的第二随机序列数据;
在一些实施例中,第二随机序列数据是指对第三加密数据进行随机打乱之后获取到的数据。该第二随机序列数据并不特指某一固定数据。由于第二终端会对第三加密数据进行随机打乱,打乱的顺序并不确定,因此第二随机序列数据并不固定。
根据一些实施例,第二终端获取到第三加密数据时,第二终端可以获取到与第三加密数据对应的第二随机序列数据。例如第二终端可以获取与第三加密数据E1对应的第二随机序列数据π(E1)。其中,第二数据集例如可以是X1∈Fn,其中X1中包括有n个元素。第三加密数据E1例如可以是第二终端采用第二公钥d1对第二数据集X1进行加密得到的。第二终端获取与第二加密数据对应的第一随机序列数据以及与第三加密数据对应的第二随机序列数据,可以减少第一终端获取到第一数据集和第二数据集之间交集数据的概率,可以减少多方交易协议中终端获取到任意两个终端的数据集之间的交集数据,提高多方交易协议中数据确定的准确性。
S216,第二终端发送第一随机序列数据和第二随机序列数据至第一终端;
根据一些实施例,当第二终端获取到与第二加密数据对应的第一随机序列数据以及获取到与第三加密数据对应的第二随机序列数据时,第二终端可以发送第一随机序列数据和第二随机序列数据至第一终端。
在一些实施例中,第二终端获取到与第二加密数据E′0对应的第一随机序列数据π(E′0)和与第三加密数据E1对应的第二随机序列数据π(E1)时,第二终端可以将第一随机序列数据π(E′0)和第二随机序列数据π(E1)发送至第一终端。
S218,第一终端采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据;
根据一些实施例,第三随机序列数据是指第一终端对第二随机序列数据进行加密之后得到的数据。该第三随机序列数据并不特指某一固定数据。例如随机打乱顺序发生变化或者第一公钥发生变化时,该第三随机序列也可以相应变化。
当第二终端获取到与第二加密数据对应的第一随机序列数据以及获取到与第三加密数据对应的第二随机序列数据时,第二终端可以发送第一随机序列数据和第二随机序列数据至第一终端。第一终端可以获取第一随机序列数据和第二随机序列数据,第一终端可以采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据。
在一些实施例中,第二终端获取到与第二加密数据E′0对应的第一随机序列数据π(E′0)和与第三加密数据E1对应的第二随机序列数据π(E1)时,第二终端可以将第一随机序列数据π(E′0)和第二随机序列数据π(E1)发送至第一终端。第一终端可以采用第一公钥d0对第二随机序列数据π(E1)进行加密得到第三随机序列数据π(E′1)。
S220,第一终端获取第一随机序列数据和第三随机序列数据的第一交集数据,发送第一交集数据至第三终端;
根据一些实施例,当第一终端获取到第一随机序列数据和第三随机序列数据时,第一终端可以获取第一随机序列数据和第三随机序列数据的第一交集数据,发送第一交集数据至第三终端。
在一些实施例中,第二终端获取到与第二加密数据E′0对应的第一随机序列数据π(E′0)和与第三加密数据E1对应的第二随机序列数据π(E1)时,第二终端可以将第一随机序列数据π(E′0)和第二随机序列数据π(E1)发送至第一终端。第一终端可以采用第一公钥d0对第二随机序列数据π(E1)进行加密得到第三随机序列数据π(E′1)。第一终端可以获取第一随机序列数据π(E′0)和第三随机序列数据π(E′1)的第一交集数据E′0∩E′1,并将E′0∩E′1发送至第三终端。
S222,第三终端获取第一终端发送的第五加密数据;
具体过程如上所述,此处不再赘述。
根据一些实施例,第三终端获取第一终端基于第三终端中的第三数据集所发送的第五加密数据时,第三终端采用第三公钥对第三终端中第三数据集进行加密得到第六加密数据,第三终端将第六加密数据发送至第二终端。第二终端采用第二公钥对第六加密数据进行加密得到第七加密数据,第二终端将第七加密数据发送至第一终端。第一终端采用第一公钥对第七加密数据进行加密得到第五加密数据,第一终端将第五加密数据发送至第三终端。
在一些实施例中,第六加密数据是指第三终端对第三终端中的第三数据集进行加密得到的。该第六加密数据并不特指某一固定加密数据。例如当第三公钥或者第三数据集发生变化时,该第六加密数据也可以相应变化。
在一些实施例中,第七加密数据是指第二终端对第六加密数据进行再次加密得到的。该第七加密数据并不特指某一固定加密数据。例如当第二公钥或者第三数据集发生变化时,该第六加密数据也可以相应变化,第七加密数据也可以相应变化。
根据一些实施例,第三数据集例如可以是X2∈Fn,其中X2中包括有n个元素。第六加密数据E2例如可以是第三终端采用第三公钥d2对第三数据集X2进行加密得到的。第三终端可以将第六加密数据E2发送至第二终端。第二终端可以采用第二公钥d1对第六加密数据E2进行加密得到第七加密数据E′2。第二终端可以将第七加密数据E′2发送至第一终端。第一终端可以采用第一公钥d0对第七加密数据E′2进行加密得到第五加密数据E″2。第一终端可以将第五加密数据E″2发送至第三终端。
S224,第三终端采用第三公钥对第一交集数据进行加密得到第三交集数据;
在一些实施例中,第三交集数据是指第三终端对第一交集数据进行加密得到的。该第三交集数据并不特指某一固定数据。例如当第三公钥或者第一交集数据发生变化时,该第三交集数据也可以相应变化。第三终端获取到第一终端发送的第一交集数据时,第三终端可以采用第三公钥对第一交集数据进行加密得到第三交集数据。
可选的,第一终端可以获取第一随机序列数据π(E′0)和第三随机序列数据π(E′1)的第一交集数据E′0∩E′1,并将E′0∩E′1发送至第三终端。第三终端可以采用第三公钥d2对第一交集数据E′0∩E′1进行加密得到第三交集数据E″0∩E″1
S226,第三终端获取第五加密数据和第三交集数据的交集数据,得到第二交集数据;
在一些实施例中,第三终端获取到第一终端发送的第五加密数据,以及采用第三公钥对第一交集数据进行加密得到第三交集数据时,第三终端可以获取第五加密数据和第三交集数据的交集数据,得到第二交集数据。
易于理解的是,第一终端可以采用第一公钥d0对第七加密数据E′2进行加密得到第五加密数据E″2。第一终端可以将第五加密数据E″2发送至第三终端。第三终端可以采用第三公钥d2对第一交集数据E′0∩E′1进行加密得到第三交集数据E″0∩E″1。第三终端可以获取第五加密数据E″2和第三交集数据E″0∩E″1的交集数据,得到第二交集数据E″2∩(E″0∩E″1)。
S228,第三终端获取第三数据集中各数据的排列顺序;
根据一些实施例,第三终端可以获取第三数据集中各数据的排列顺序。排列顺序是指第三数据集中各数据在第三数据集中的排列顺序。其中,各数据的排列顺序并不特指某一固定顺序。例如,当第三数据集中包括的数据发生变化时,各数据的排列顺序也可以相应变化。其中,各数据的排列顺序包括但不限于顺序或者逆序。
S230,基于排列顺序,第三终端在第三数据集中获取与第二交集数据对应的明文数据;
在一些实施例中,当第三终端获取到第三数据集中各数据的排列顺序时,第三终端可以在第三数据集中获取与第二交集数据对应的明文数据。即第三数据集中的数据为明文数据,第三终端可以获取与第二交集数据对应的明文数据。
根据一些实施例,明文数据是指第三终端中未进行加密的数据。该本说明书实施例的明文数据是指与第二交集数据对应的未进行加密的数据。例如基于排列顺序,第三终端在第三数据集中获取与第二交集数据E″2∩(E′0∩E″1)对应的明文数据。
S232,第三终端将第二交集数据对应的明文数据发送至第一终端和第二终端。
在一些实施例中,基于排列顺序,第三终端在第三数据集中获取与第二交集数据对应的明文数据时,第三终端可以将第二交集数据对应的明文数据发送至第一终端和第二终端。例如基于排列顺序,第三终端在第三数据集中获取与第二交集数据E″2∩(E″0∩E″1)对应的明文数据,第三终端将第二交集数据E″2∩(E″0∩E″1)对应的明文数据发送至第一终端和第二终端。
其中,步骤222和步骤208-224的执行顺序并不作限定,也就是说第三终端获取第一终端发送的第五加密数据可以在第二终端获取第一加密数据之前执行,也可以是步骤208-224任一步骤之前执行。
根据一些实施例,多方隐私求交协议例如可以是四方隐私求交协议。四个终端例如可以分别为第一终端、第二终端、第三终端和第四终端。第一终端可以发送第一加密数据至第二终端,第二终端获取与第二加密数据对应的第一随机序列数据,第二终端获取与第三加密数据对应的第二随机序列数据,第二终端发送第一随机序列数据和第二随机序列数据至第一终端。其中,第二加密数据为第二终端采用第二公钥对第一加密数据进行加密得到的,第三加密数据为第二终端采用第二公钥对第二数据集进行加密得到的。第一终端可以基于第一随机序列数据和第二随机序列数据确定第一交集数据。第一终端可以将第一交集数据发送至第三终端。第三终端可以采用第三公钥对第一交集数据进行加密得到第二交集数据,第三终端可以采用第三公钥对第三数据集进行加密得到第四加密数据。第三终端可以发送第二交集数据和第四加密数据至第一终端。第一终端可以基于第二交集数据和第四加密数据确定第三交集数据。第一终端可以发送第三交集数据至第四终端。第四终端可以获取第三交集数据和第一终端发送的第五加密数据,其中,第五加密数据基于第四终端中的第四数据集、第一公钥、第二公钥、第三公钥和第四公钥得到的。第四终端可以基于第三交集数据和第五加密数据确定第四交集数据,并将第四交集数据发送至第一终端、第二终端和第三终端。
在本说明书实施例中,第一终端采用椭圆曲线参数信息生成第一公钥,第二终端采用椭圆曲线参数信息生成第二公钥,第三终端采用椭圆曲线参数信息生成第三公钥,可以提高公钥生成的安全性,提高数据确定的安全性。其次,第一终端发送第一加密数据至第二终端,第二终端采用第二公钥对第一加密数据进行加密得到第二加密数据,第二终端获取与第二加密数据对应的第一随机序列数据,第二终端获取与第三加密数据对应的第二随机序列数据,第二终端发送第一随机序列数据和第二随机序列数据至第一终端,可以减少第一终端获取到第一数据集和第二数据集之间交集数据的概率,可以减少多方交易协议中终端获取到任意两个终端的数据集之间的交集数据,提高多方交易协议中数据确定的准确性。另外,第一终端采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据,第一终端获取第一随机序列数据和第三随机序列数据的第一交集数据,发送第一交集数据至第三终端,第三终端获取第一终端发送的第五加密数据,第三终端采用第三公钥对第一交集数据进行加密得到第三交集数据,第三终端获取第五加密数据和第三交集数据的交集数据,得到第二交集数据,因此,在数据确定过程中会使用各终端的公钥对数据进行加密,无需使用成熟的对称密码学原语,对网络带宽要求较低,同时无需使用不成熟的同态加密,可以减少安全性较低的情况,可以提高数据确定的安全性,可以兼顾网络带宽要求,硬件要求以及安全性要求,提高多方隐私求交协议使用的便利性。最后,第三终端获取第三数据集中各数据的排列顺序,基于排列顺序,第三终端在第三数据集中获取与第二交集数据对应的明文数据,第三终端将第二交集数据对应的明文数据发送至第一终端和第二终端,即第三终端可以获取到第一数据集、第二数据集和第三数据集中的交集数据,可以提高数据确定的准确性,提高多方交易协议中数据访问的便利性。
请参见图4,为本说明书实施例提供了一种数据确定方法的流程示意图。如图4所示,本说明书实施例从第一终端侧进行描述,方法可以包括以下步骤S302-S310。
S302,发送第一加密数据至第二终端;
在一些实施例中,本说明书实施例的终端个数为至少三个,例如,终端个数可以是三个。本说明书实施例的执行主体为第一终端。
根据一些实施例,第一加密数据是第一终端采用第一公钥对第一终端中的第一数据集进行加密得到的。第一数据集是指存储在第一终端中的数据集。该第一数据集并不特指某一固定数据集。例如,当该第一数据集中包括的数据类型发生变化时,该第一数据集也可以相应变化。例如该第一数据集中包括的数据数量发生变化时,该第一数据集也可以相应变化。
在一些实施例中,第一终端可以采用第一公钥对第一终端中的第一数据集进行加密得到第一加密数据。当第一终端获取到第一加密数据时,第一终端可以发送第一加密数据至第二终端。
S304,获取第二终端发送的第二加密数据和第三加密数据;
根据一些实施例,第二加密数据是基于第一加密数据和第二公钥得到的,第三加密数据是基于第二公钥和第二终端中的第二数据集得到的。第二公钥指第二终端基于椭圆曲线参数生成的公钥。第二公钥并不特指某一固定公钥。例如当第二终端获取到的第二私钥发生变化时,第二终端基于第二私钥产生的第二公钥也可以相应变化。
在一些实施例中,第二加密数据是指第二终端获取到第一终端发送的第一加密数据,并且采用第二公钥对第一加密数据进行加密得到的。该第二加密数据并不特指某一固定数据。例如当第一加密数据或者第二公钥发生变化时,该第二加密数据也可以相应变化。
可选的,第三加密数据是第二终端采用第二公钥对第二终端中的第二数据集进行加密得到的。第二数据集是指存储在第二终端中的数据集。该第二数据集并不特指某一固定数据集。例如,当该第二数据集中包括的数据类型发生变化时,该第二数据集也可以相应变化。例如该第二数据集中包括的数据数量发生变化时,该第二数据集也可以相应变化。
在一些实施例中,第一终端可以采用第一公钥对第一终端中的第一数据集进行加密得到第一加密数据。当第一终端获取到第一加密数据时,第一终端可以发送第一加密数据至第二终端。第二终端可以获取第一终端发送的第一加密数据,第二终端可以采用第二公钥对第一加密数据进行加密得到第二加密数据。第二终端还可以采用第二公钥对对第二终端中的第二数据集进行加密得到第三加密数据,第二终端可以将第二加密数据和第三加密数据发送至第一终端。第一终端可以获取第二终端发送的第二加密数据和第三加密数据。
S306,采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端;
根据一些实施例,第四加密数据是指第一终端采用第一公钥对第二终端发送的第三加密数据进行加密得到的数据。第四加密数据并不特指某一固定数据。例如当第一公钥或者第三加密数据发生变化时,该第四加密数据也可以相应变化。
在一些实施例中,第一交集数据用指示第一终端确定的第一终端中的第一数据集和第二终端中的第二数据集之间的交集数据。该第一交集数据用于指示第一数据集和第二数据集之间的数据交集,该第一交集数据包括至少一个数据,即该第一交集数据包括的数据数量并不特指某一固定数据。
易于理解的是,第一交集数据并不特指某一固定数据,例如,当第一交集数据包括的数据类型发生变化时,该第一交集数据也可以相应变化。例如当第一交集数据包括的数据数量发生变化时,该第一交集数据也可以相应变化。
在一些实施例中,第三终端是指多方交易协议中用于确定多方数据集中的交集数据的终端。该第三终端并不特指某一固定终端。例如当第三终端标识发生变化时,该第三终端也可以相应变化。
根据一些实施例,第一终端获取到第二终端发送的第二加密数据和第三加密数据时,第一终端采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端。
S308,基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥,获取第五加密数据;
根据一些实施例,第一终端可以基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥,获取第五加密数据。
具体例如可以是第三终端采用第三公钥对第三终端中第三数据集进行加密得到第六加密数据,第三终端将第六加密数据发送至第二终端。第二终端采用第二公钥对第六加密数据进行加密得到第七加密数据,第二终端将第七加密数据发送至第一终端。第一终端采用第一公钥对第七加密数据进行加密得到第五加密数据。
S310,发送第五加密数据至第三终端,并获取第三终端发送的第二交集数据。
根据一些实施例,第一终端基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到第五加密数据时,第一终端可以发送第五加密数据和第一交集数据至第三终端。第三终端可以获取第一终端发送的第五加密数据和第一交集数据。第三终端可以基于第五加密数据和第一交集数据确定第二交集数据,并发送第二交集数据至第一终端和第二终端。第一终端可以获取第三终端发送的第二交集数据。
其中,步骤S302和步骤S308的执行顺序并不作限定,例如第一终端可以同时基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥,获取第五加密数据和发送第一加密数据至第二终端。例如还可以是第一终端可以先基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥,后获取第五加密数据和发送第一加密数据至第二终端。
在本说明书实施例中,第一终端可以发送第一加密数据至第二终端,获取第二终端发送的第二加密数据和第三加密数据,采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端,基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥,获取第五加密数据,发送第五加密数据至第三终端,并获取第三终端发送的第二交集数据。因此,在数据确定过程中会使用各终端的公钥对数据进行加密,无需使用成熟的对称密码学原语,对网络带宽要求较低,同时无需使用不成熟的同态加密,可以减少安全性较低的情况,可以提高数据确定的安全性,可以兼顾网络带宽要求,硬件要求以及安全性要求,提高多方隐私求交协议使用的便利性。
请参见图5,为本说明书实施例提供了一种数据确定方法的流程示意图。如图5所示,本说明书实施例从第一终端侧进行描述,方法可以包括以下步骤S402-S418。
S402,采用椭圆曲线参数信息生成第一公钥;
根据一些实施例,椭圆曲线密码学是一种基于有限域椭圆曲线难题的密码学算法。基于椭圆曲线密码学,可以实现例如密钥交换协议、数字签名、非对称加密等密码学原语。相较于传统的有限域密码学(例如RSA),椭圆曲线密码学可以在相同安全等级下相比传统有限域密码学拥有更短的密钥长度,因此在现实中有广泛的应用场景。
在一些实施例中,可以使用公式(一)的形式来表示椭圆曲线,其中,a,b为常数,并且4a3+27b2≠0。
为了进一步使用椭圆曲线密码学,还可以获取以下参数:
素数p;
基点G;
子群的阶n:
子群的辅助因子h;
因此椭圆曲线密码学算法的主要参数例如可以总结为(p,a,b,G,n,h),也就是说椭圆曲线参数包括但不限于素数p、基点G、子群的阶n、子群的辅助因子h以及常数a和常数b等等。
在一些实施例中,第一终端可以基于随机数和基点G生成第一密钥。由于随机数并不固定为某一数值,因此第一密钥并不特指某一固定密钥。第一终端可以采用椭圆曲线参数信息生成第一公钥。第一终端基于采用椭圆曲线参数信息生成第一公钥时,第一终端例如可以是使用第一私钥和基点G生成第一公钥d0
S404,发送第一加密数据至第二终端;
具体过程如上所述,此处不再赘述。
在一些实施例中,第一数据集例如可以是X0∈Fn,其中X0中包括有n个元素。第一加密数据例如可以是第一终端采用第一公钥d0对第一数据集X0进行加密得到的E0
S406,获取第二终端发送的与第二加密数据对应的第一随机序列和与第三加密数据对应的第二随机序列;
在一些实施例中,第一随机序列数据是指第二终端对第二加密数据进行随机打乱之后获取到的数据。该第一随机序列数据并不特指某一固定数据。由于第二终端会对第二加密数据进行随机打乱,打乱的顺序并不确定,因此第一随机序列数据并不固定。
根据一些实施例,第二终端获取到第二加密数据时,第二终端可以获取到与第二加密数据对应的第一随机序列数据。例如第二终端可以获取与第二加密数据E′0对应的第一随机序列数据π(E′0)。
在一些实施例中,第二随机序列数据是指第二终端对第三加密数据进行随机打乱之后获取到的数据。该第二随机序列数据并不特指某一固定数据。由于第二终端会对第三加密数据进行随机打乱,打乱的顺序并不确定,因此第二随机序列数据并不固定。
根据一些实施例,第二终端获取到第三加密数据时,第二终端可以获取到与第三加密数据对应的第二随机序列数据。例如第二终端可以获取与第三加密数据E1对应的第二随机序列数据π(E1)。其中,第二数据集例如可以是X1∈Fn,其中X1中包括有n个元素。第三加密数据E1例如可以是第二终端采用第二公钥d1对第二数据集X1进行加密得到的。
根据一些实施例,当第二终端获取到与第二加密数据对应的第一随机序列数据以及获取到与第三加密数据对应的第二随机序列数据时,第二终端可以发送第一随机序列数据和第二随机序列数据至第一终端。第一终端可以获取第二终端发送的与第二加密数据对应的第一随机序列和与第三加密数据对应的第二随机序列。
S408,采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据;
根据一些实施例,第三随机序列数据是指第一终端对第二随机序列数据进行加密之后得到的数据。该第三随机序列数据并不特指某一固定数据。例如随机打乱顺序发生变化或者第一公钥发生变化时,该第三随机序列也可以相应变化。
当第二终端获取到与第二加密数据对应的第一随机序列数据以及获取到与第三加密数据对应的第二随机序列数据时,第二终端可以发送第一随机序列数据和第二随机序列数据至第一终端。第一终端可以获取第一随机序列数据和第二随机序列数据,第一终端可以采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据。
在一些实施例中,第二终端获取到与第二加密数据E′0对应的第一随机序列数据π(E′0)和与第三加密数据E1对应的第二随机序列数据π(E1)时,第二终端可以将第一随机序列数据π(E′0)和第二随机序列数据π(E1)发送至第一终端。第一终端可以采用第一公钥d0对第二随机序列数据π(E1)进行加密得到第三随机序列数据π(E′1)。
S410,获取第一随机序列数据和第三随机序列数据的第一交集数据;
根据一些实施例,当第一终端获取到第一随机序列数据和第三随机序列数据时,第一终端可以获取第一随机序列数据和第三随机序列数据的第一交集数据。
在一些实施例中,第二终端获取到与第二加密数据E′0对应的第一随机序列数据π(E′0)和与第三加密数据E1对应的第二随机序列数据π(E1)时,第二终端可以将第一随机序列数据π(E′0)和第二随机序列数据π(E1)发送至第一终端。第一终端可以采用第一公钥d0对第二随机序列数据π(E1)进行加密得到第三随机序列数据π(E′1)。第一终端可以获取第一随机序列数据π(E′0)和第三随机序列数据π(E′1)的第一交集数据E′0∩E′1,并将E′0∩E′1发送至第三终端。
S412,发送第一交集数据至第三终端;
根据一些实施例,第一终端可以获取第一随机序列数据和第三随机序列数据的第一交集数据,发送第一交集数据至第三终端。例如第一终端可以获取第一随机序列数据π(E′0)和第三随机序列数据π(E′1)的第一交集数据E′0∩E′1,并将E′0∩E′1发送至第三终端。
S414,获取第二终端发送的第七加密数据;
在一些实施例中,第七加密数据是第二终端采用第二公钥对第六加密数据进行加密得到的,第六加密数据是第三终端采用第三公钥对第三终端中第三数据集进行加密得到的。该第六加密数据并不特指某一固定加密数据。例如当第三公钥或者第三数据集发生变化时,该第六加密数据也可以相应变化。该第七加密数据并不特指某一固定加密数据。例如当第二公钥或者第三数据集发生变化时,该第六加密数据也可以相应变化,第七加密数据也可以相应变化。
根据一些实施例,第三数据集例如可以是X2∈Fn,其中X2中包括有n个元素。第六加密数据E2例如可以是第三终端采用第三公钥d2对第三数据集X2进行加密得到的。第三终端可以将第六加密数据E2发送至第二终端。第二终端可以采用第二公钥d1对第六加密数据E2进行加密得到第七加密数据E′2。第二终端可以将第七加密数据E′2发送至第一终端。
S416,采用第一公钥对第七加密数据进行加密得到第五加密数据;
在一些实施例中,第二终端将第七加密数据发送至第一终端。第一终端采用第一公钥对第七加密数据进行加密得到第五加密数据,第一终端将第五加密数据发送至第三终端。例如第一终端可以采用第一公钥d0对第七加密数据E′2进行加密得到第五加密数据E″2。第一终端可以将第五加密数据E″2发送至第三终端。
S418,发送第五加密数据至第三终端,并获取第三终端发送的第二交集数据。
具体过程如上所述,此处不再赘述。
在本说明书实施例中,第一终端可以采用椭圆曲线参数信息生成第一公钥,可以提高公钥生成的安全性,提高数据确定的安全性。另外,发送第一加密数据至第二终端,获取第二终端发送的与第二加密数据对应的第一随机序列和与第三加密数据对应的第二随机序列,采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据,获取第一随机序列数据和第三随机序列数据的第一交集数据,可以减少第一终端获取到第一数据集和第二数据集之间交集数据的概率,可以减少多方交易协议中终端获取到任意两个终端的数据集之间的交集数据,提高多方交易协议中数据确定的准确性。最后,获取第二终端发送的第七加密数据,采用第一公钥对第七加密数据进行加密得到第五加密数据,发送第五加密数据至第三终端,由于第五加密数据并非随机序列数据,因此第三终端可以获取第一数据集、第二数据集和第三数据集中的交集明文数据,可以提高数据确定的便利性。最后,可以获取第三终端发送的第二交集数据,在数据确定过程中会使用各终端的公钥对数据进行加密,无需使用成熟的对称密码学原语,对网络带宽要求较低,同时无需使用不成熟的同态加密,可以减少安全性较低的情况,可以提高数据确定的安全性,可以兼顾网络带宽要求,硬件要求以及安全性要求,提高多方隐私求交协议使用的便利性。
请参见图6,为本说明书实施例提供了一种数据确定方法的流程示意图。如图6所示,本说明书实施例从第二终端侧进行描述,方法可以包括以下步骤S502-S508。
S502,获取第一终端发送的第一加密数据;
根据一些实施例,第二终端是指多方交易协议中接收第一加密数据的终端。该第二终端并不特指某一固定终端。例如在多方隐私求交协议中第二终端的个数可以是多个。
在一些实施例中,第一加密数据是第一终端采用第一公钥对第一终端中的第一数据集进行加密得到的。第一数据集是指存储在第一终端中的数据集。该第一数据集并不特指某一固定数据集。例如,当该第一数据集中包括的数据类型发生变化时,该第一数据集也可以相应变化。例如该第一数据集中包括的数据数量发生变化时,该第一数据集也可以相应变化。
在一些实施例中,第一终端可以采用第一公钥对第一终端中的第一数据集进行加密得到第一加密数据。当第一终端获取到第一加密数据时,第一终端可以发送第一加密数据至第二终端。第二终端可以获取第一终端发送的第一加密数据。
S504,采用第二公钥对第一加密数据进行加密得到第二加密数据;
根据一些实施例,在一些实施例中,第二公钥指第二终端基于椭圆曲线参数生成的公钥。第二公钥并不特指某一固定公钥。例如当第二终端获取到的第二私钥发生变化时,第二终端基于第二私钥产生的第二公钥也可以相应变化。
易于理解的是,第二加密数据是指第二终端获取到第一终端发送的第一加密数据,并且采用第二公钥对第一加密数据进行加密得到的。该第二加密数据并不特指某一固定数据。例如当第一加密数据或者第二公钥发生变化时,该第二加密数据也可以相应变化。
在一些实施例中,第一终端可以采用第一公钥对第一终端中的第一数据集进行加密得到第一加密数据。当第一终端获取到第一加密数据时,第一终端可以发送第一加密数据至第二终端。第二终端可以获取第一终端发送的第一加密数据,第二终端可以采用第二公钥对第一加密数据进行加密得到第二加密数据。
S506,将第二加密数据和第三加密数据发送至第一终端;
根据一些实施例,第三加密数据是第二终端采用第二公钥对第二终端中的第二数据集进行加密得到的,第二数据集是指存储在第二终端中的数据集。该第二数据集并不特指某一固定数据集。例如,当该第二数据集中包括的数据类型发生变化时,该第二数据集也可以相应变化。例如该第二数据集中包括的数据数量发生变化时,该第二数据集也可以相应变化。
在一些实施例中,第二终端获取到第二加密数据和第三加密数据时,第二终端可以将第二加密数据和第三加密数据发送至第一终端。其中第二加密数据和第三加密数据用于指示第一终端基于第二加密数据和第三加密数据获取第一交集数据,并发送第一交集数据至第三终端,即第一终端获取到第二加密数据和第三加密数据时,第一终端可以基于第二加密数据和第三加密数据获取第一交集数据,并发送第一交集数据至第三终端。
S508,获取第三终端发送的第二交集数据。
根据一些实施例,第二交集数据是第三终端基于第一交集数据和第五加密数据确定的,第五加密数据是基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到的。当第三终端基于第一交集数据和第五加密数据确定第二交集数据时,第三终端可以将第二交集数据发送至第二终端,第二终端可以获取到第三终端发送的第二交集数据。
在本说明书实施例中,第二终端可以获取第一终端发送的第一加密数据,采用第二公钥对第一加密数据进行加密得到第二加密数据,将第二加密数据和第三加密数据发送至第一终端,获取第三终端发送的第二交集数据。因此,在数据确定过程中会使用各终端的公钥对数据进行加密,无需使用成熟的对称密码学原语,对网络带宽要求较低,同时无需使用不成熟的同态加密,可以减少安全性较低的情况,可以提高数据确定的安全性,可以兼顾网络带宽要求,硬件要求以及安全性要求,提高多方隐私求交协议使用的便利性。
请参见图7,为本说明书实施例提供了一种数据确定方法的流程示意图。如图7所示,本说明书实施例从第二终端侧进行描述,方法可以包括以下步骤S602-S614。
S602,采用椭圆曲线参数信息生成第二公钥;
在一些实施例中,第二公钥是指由第二终端生成的公钥。第二终端可以采用椭圆曲线参数信息生成第二公钥。第二终端例如基于采用椭圆曲线参数信息生成第二公钥时,第二终端例如可以是使用第二私钥和基点G生成第二公钥d1。其中,第二私钥可以是第二终端基于随机数和基点G生成的。
S604,获取第一终端发送的第一加密数据;
具体过程如上所述,此处不再赘述。
在一些实施例中,第一数据集例如可以是X0∈Fn,其中X0中包括有n个元素。第一加密数据例如可以是第一终端采用第一公钥d0对第一数据集X0进行加密得到的E0。第二终端可以获取第一终端发送的第一加密数据E0
S606,采用第二公钥对第一加密数据进行加密得到第二加密数据;
具体过程如上所述,此处不再赘述。
在一些实施例中,第一数据集例如可以是X0∈Fn,其中X0中包括有n个元素。第一加密数据例如可以是第一终端采用第一公钥d0对第一数据集X0进行加密得到的E0。第二终端获取到第一终端发送的第一加密数据E0时,可以采用第二公钥d1对第一加密数据E0进行加密得到第二加密数据E′0
S608,获取与第二加密数据对应的第一随机序列数据;
在一些实施例中,第一随机序列数据是指对第二加密数据进行随机打乱之后获取到的数据。该第一随机序列数据并不特指某一固定数据。由于第二终端会对第二加密数据进行随机打乱,打乱的顺序并不确定,因此第一随机序列数据并不固定。
根据一些实施例,第二终端获取到第二加密数据时,第二终端可以获取到与第二加密数据对应的第一随机序列数据。例如第二终端可以获取与第二加密数据E′0对应的第一随机序列数据π(E′0)。
S610,获取与第三加密数据对应的第二随机序列数据;
在一些实施例中,第二随机序列数据是指对第三加密数据进行随机打乱之后获取到的数据。该第二随机序列数据并不特指某一固定数据。由于第二终端会对第三加密数据进行随机打乱,打乱的顺序并不确定,因此第二随机序列数据并不固定。
根据一些实施例,第二终端获取到第三加密数据时,第二终端可以获取到与第三加密数据对应的第二随机序列数据。例如第二终端可以获取与第三加密数据E1对应的第二随机序列数据π(E1)。其中,第二数据集例如可以是X1∈Fn,其中X1中包括有n个元素。第三加密数据E1例如可以是第二终端采用第二公钥d1对第二数据集X1进行加密得到的。
S612,发送第一随机序列数据和第二随机序列数据至第一终端;
根据一些实施例,当第二终端获取到与第二加密数据对应的第一随机序列数据以及获取到与第三加密数据对应的第二随机序列数据时,第二终端可以发送第一随机序列数据和第二随机序列数据至第一终端。
在一些实施例中,第二终端获取到与第二加密数据E′0对应的第一随机序列数据π(E′0)和与第三加密数据E1对应的第二随机序列数据π(E1)时,第二终端可以将第一随机序列数据π(E′0)和第二随机序列数据π(E1)发送至第一终端。
根据一些实施例,第一随机序列数据和第二随机序列数据用于指示第一终端采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据,并获取第一随机序列数据和第三随机序列数据的第一交集数据,即第一终端获取到第一随机序列数据和第二随机序列数据时,第一终端可以采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据,第一终端可以获取第一随机序列数据和第三随机序列数据的第一交集数据,发送第一交集数据至第三终端。
S614,获取第三终端发送的第二交集数据。
具体过程如上所述,此处不再赘述。
在一些实施例中,第二交集数据是第三终端基于第一交集数据和第五加密数据确定的,第五加密数据是基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到的。
根据一些实施例,在获取第三终端发送的第二交集数据之前,第二终端可以获取第三终端发送的第六加密数据,第六加密数据是第三终端采用第三公钥对第三终端中第三数据集进行加密得到的。第二终端可以采用第二公钥对第六加密数据进行加密得到第七加密数据。第二终端可以发送第七加密数据至第一终端,第一终端可以采用第一公钥对第七加密数据进行加密得到第五加密数据。第一终端可以发送第五加密数据至第三终端。第三终端采用第三公钥对第一交集数据进行加密得到第三交集数据,第三终端获取第五加密数据和第三交集数据的交集数据,得到第二交集数据,并将第二交集数据发送至第二终端,第二终端可以获取到第三终端发送的第二交集数据。
在本说明书实施例中,第二终端可以采用椭圆曲线参数信息生成第二公钥,可以提高公钥生成的安全性,提高数据确定的安全性。另外,获取第一终端发送的第一加密数据,采用第二公钥对第一加密数据进行加密得到第二加密数据,获取与第二加密数据对应的第一随机序列数据,获取与第三加密数据对应的第二随机序列数据,发送第一随机序列数据和第二随机序列数据至第一终端,可以减少第一终端获取到第一数据集和第二数据集之间交集数据的概率,可以减少多方交易协议中终端获取到任意两个终端的数据集之间的交集数据,提高多方交易协议中数据确定的准确性。最后,可以获取第三终端发送的第二交集数据,在数据确定过程中会使用各终端的公钥对数据进行加密,无需使用成熟的对称密码学原语,对网络带宽要求较低,同时无需使用不成熟的同态加密,可以减少安全性较低的情况,可以提高数据确定的安全性,可以兼顾网络带宽要求,硬件要求以及安全性要求,提高多方隐私求交协议使用的便利性。
请参见图8,为本说明书实施例提供了一种数据确定方法的流程示意图。如图8所示,本说明书实施例从第三终端侧进行描述,方法可以包括以下步骤S702-S706。
S702,获取第一终端发送的第一交集数据;
在一些实施例中,第一交集数据是第一终端基于第二加密数据和第四加密数据得到的。第二加密数据是指第二终端获取到第一终端发送的第一加密数据,并且采用第二公钥对第一加密数据进行加密得到的。该第二加密数据并不特指某一固定数据。例如当第一加密数据或者第二公钥发生变化时,该第二加密数据也可以相应变化。第一终端可以采用第一公钥对第一终端中的第一数据集进行加密得到第一加密数据。当第一终端获取到第一加密数据时,第一终端可以发送第一加密数据至第二终端。第二终端采用第二公钥对第一加密数据进行加密得到第二加密数据,并将第二加密数据和第三加密数据发送至第一终端。
根据一些实施例,第四加密数据是指第一终端采用第一公钥对第二终端发送的第三加密数据进行加密得到的数据。第四加密数据并不特指某一固定数据。例如当第一公钥或者第三加密数据发生变化时,该第四加密数据也可以相应变化。
可选的,第三加密数据是第二终端采用第二公钥对第二终端中的第二数据集进行加密得到的。第二数据集是指存储在第二终端中的数据集。该第二数据集并不特指某一固定数据集。例如,当该第二数据集中包括的数据类型发生变化时,该第二数据集也可以相应变化。例如该第二数据集中包括的数据数量发生变化时,该第二数据集也可以相应变化。
根据一些实施例,第一交集数据是第一终端基于第二加密数据和第四加密数据得到的。第一终端获取到第二终端发送的第二加密数据和第三加密数据时,第一终端采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端。第三终端可以获取第一终端发送的第一交集数据
S704,获取第一终端发送的第五加密数据;
在一些实施例中,第五加密数据可以是第一终端基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到的。该第五加密数据并不特指某一固定数据。例如,当第三终端中的第三数据集、第一公钥、第二公钥、第三公钥中任一数据发生变化时,该第三终端也可以相应变化。
根据一些实施例,第三数据集是指存储在第三终端中的数据集。该第三数据集并不特指某一固定数据集。例如,当该第三数据集中包括的数据类型发生变化时,该第三数据集也可以相应变化。例如该第三数据集中包括的数据数量发生变化时,该第三数据集也可以相应变化。
在一些实施例中,第三公钥指第三终端基于椭圆曲线参数生成的公钥。第三公钥并不特指某一固定公钥。例如当第三终端获取到的第三私钥发生变化时,第二终端基于第三私钥产生的第三公钥也可以相应变化。
在一些实施例中,第一终端基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到第五加密数据时,第一终端可以发送第五加密数据至第三终端。第三终端可以获取第一终端发送的第五加密数据。
S706,基于第五加密数据和第一交集数据确定第二交集数据,并发送第二交集数据至第一终端和第二终端。
在一些实施例中,第二交集数据是指第三终端确定的第一数据集、第二数据集和第三数据集之间的交集数据。该第二交集数据并不特指某一固定数据。例如,当第一数据集、第二数据集、第三数据集中任一数据集发生变化时,该第二交集数据也可以相应变化。
根据一些实施例,第一终端基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到第五加密数据时,第一终端可以发送第五加密数据和第一交集数据至第三终端。第三终端可以获取第一终端发送的第五加密数据和第一交集数据。第三终端可以基于第五加密数据和第一交集数据确定第二交集数据,并发送第二交集数据至第一终端和第二终端。
在本说明书实施例中,第三终端可以获取第一终端发送的第一交集数据,获取第一终端发送的第五加密数据,基于第五加密数据和第一交集数据确定第二交集数据,并发送第二交集数据至第一终端和第二终端。因此,在数据确定过程中会使用各终端的公钥对数据进行加密,无需使用成熟的对称密码学原语,对网络带宽要求较低,同时无需使用不成熟的同态加密,可以减少安全性较低的情况,可以提高数据确定的安全性,可以兼顾网络带宽要求,硬件要求以及安全性要求,提高多方隐私求交协议使用的便利性。
请参见图9,为本说明书实施例提供了一种数据确定方法的流程示意图。如图9所示,本说明书实施例从第三终端侧进行描述,方法可以包括以下步骤S802-S818。
S802,采用椭圆曲线参数信息生成第三公钥;
根据一些实施例,第一数据集例如可以是广告投放时第一终端可以使用的第一广告商信息。第一加密数据例如可以是第一终端采用第一公钥对第一终端中的第一广告商信息进行加密得到的。
在一些实施例中,第一数据集例如可以是X0∈Fn,其中X0中包括有n个元素。第一加密数据例如可以是第一终端采用第一公钥d0对第一数据集X0进行加密得到的E0
S804,获取第一终端发送的第一交集数据;
根据一些实施例,第一终端发送第一加密数据至第二终端。第二终端采用第二公钥对第一加密数据进行加密得到第二加密数据,第二终端可以获取与第二加密数据对应的第一随机序列数据。第二终端获取与第三加密数据对应的第二随机序列数据。第二终端发送第一随机序列数据和第二随机序列数据至第一终端。第一终端采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据第一终端获取第一随机序列数据和第三随机序列数据的第一交集数据,发送第一交集数据至第三终端。第三终端可以获取第一终端发送的第一交集数据。
在一些实施例中,在一些实施例中,第一数据集例如可以是X0∈Fn,其中X0中包括有n个元素。第一加密数据例如可以是第一终端采用第一公钥d0对第一数据集X0进行加密得到的E0。第二终端采用第二公钥d1对第一加密数据E0进行加密得到第二加密数据E′0。第二终端可以获取与第二加密数据E′0对应的第一随机序列数据π(E′0)。第二终端可以获取与第三加密数据E1对应的第二随机序列数据π(E1)。第二终端获取到与第二加密数据E′0对应的第一随机序列数据π(E′0)和与第三加密数据E1对应的第二随机序列数据π(E1)时,第二终端可以将第一随机序列数据π(E′0)和第二随机序列数据π(E1)发送至第一终端。第一终端可以采用第一公钥d0对第二随机序列数据π(E1)进行加密得到第三随机序列数据π(E′1)。第一终端可以获取第一随机序列数据π(E′0)和第三随机序列数据π(E′1)的第一交集数据E′0∩E′1,并将E′0∩E′1发送至第三终端。第三终端可以获取到第一交集数据E′0∩E′1
S806,采用第三公钥对第三终端中第三数据集进行加密得到第六加密数据;
在一些实施例中,第三终端获取第一终端基于第三终端中的第三数据集所发送的第五加密数据时,第三终端采用第三公钥对第三终端中第三数据集进行加密得到第六加密数据。第六加密数据是指第三终端对第三终端中的第三数据集进行加密得到的。该第六加密数据并不特指某一固定加密数据。例如当第三公钥或者第三数据集发生变化时,该第六加密数据也可以相应变化。
根据一些实施例,第三数据集例如可以是X2∈Fn,其中X2中包括有n个元素。第六加密数据E2例如可以是第三终端采用第三公钥d2对第三数据集X2进行加密得到的。
S808,将第六加密数据发送至第二终端;
根据一些实施例,第三终端获取第一终端基于第三终端中的第三数据集所发送的第五加密数据时,第三终端采用第三公钥对第三终端中第三数据集进行加密得到第六加密数据,第三终端将第六加密数据发送至第二终端。
根据一些实施例,第三数据集例如可以是X2∈Fn,其中X2中包括有n个元素。第六加密数据E2例如可以是第三终端采用第三公钥d2对第三数据集X2进行加密得到的。第三终端可以将第六加密数据E2发送至第二终端。
在一些实施例中,第六加密数据用于指示第二终端第二公钥对第六加密数据进行加密得到第七加密数据,并发送第七加密数据至第一终端,第七加密数据用于指示第一终端采用第一公钥对第七加密数据进行加密得到第五加密数据。即第三终端可以采用第三公钥对第三终端中第三数据集进行加密得到第六加密数据,第三终端将第六加密数据发送至第二终端。第二终端采用第二公钥对第六加密数据进行加密得到第七加密数据,第二终端将第七加密数据发送至第一终端。第一终端采用第一公钥对第七加密数据进行加密得到第五加密数据,第一终端将第五加密数据发送至第三终端。
根据一些实施例,第三数据集例如可以是X2∈Fn,其中X2中包括有n个元素。第六加密数据E2例如可以是第三终端采用第三公钥d2对第三数据集X2进行加密得到的。第三终端可以将第六加密数据E2发送至第二终端。第二终端可以采用第二公钥d1对第六加密数据E2进行加密得到第七加密数据E′2。第二终端可以将第七加密数据E′2发送至第一终端。第一终端可以采用第一公钥d0对第七加密数据E′2进行加密得到第五加密数据E″2。第一终端可以将第五加密数据E″2发送至第三终端。
S810,获取第一终端发送的第五加密数据;
根据一些实施例,其中,第五加密数据是基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到的。当第一终端发送第五加密数据至第三终端时,第三终端可以获取第一终端发送的第五加密数据。例如第一终端将第五加密数据E″2发送至第三终端时,第三终端可以获取第五加密数据E″2
S812,基于第五加密数据和第一交集数据确定第二交集数据;
具体过程如上所述,此处不再赘述。
在一些实施例中,第三终端采用第三公钥对第一交集数据进行加密得到第三交集数据,第三终端获取第五加密数据和第三交集数据的交集数据,得到第二交集数据。
在一些实施例中,第三交集数据是指第三终端对第一交集数据进行加密得到的。该第三交集数据并不特指某一固定数据。例如当第三公钥或者第一交集数据发生变化时,该第三交集数据也可以相应变化。第三终端获取到第一终端发送的第一交集数据时,第三终端可以采用第三公钥对第一交集数据进行加密得到第三交集数据。
易于理解的是,第一终端可以采用第一公钥d0对第七加密数据E′2进行加密得到第五加密数据E″2。第一终端可以将第五加密数据E″2发送至第三终端。第三终端可以采用第三公钥d2对第一交集数据E′0∩E′1进行加密得到第三交集数据E″0∩E″1。第三终端可以获取第五加密数据E″2和第三交集数据E″0∩E″1的交集数据,得到第二交集数据E″2∩(E″0∩E″1)。
S814,获取第三数据集中各数据的排列顺序;
根据一些实施例,第三终端可以获取第三数据集中各数据的排列顺序。排列顺序是指第三数据集中各数据在第三数据集中的排列顺序。其中,各数据的排列顺序并不特指某一固定顺序。例如,当第三数据集中包括的数据发生变化时,各数据的排列顺序也可以相应变化。其中,各数据的排列顺序包括但不限于顺序或者逆序。
S816,基于排列顺序,在第三数据集中获取与第二交集数据对应的明文数据;
在一些实施例中,当第三终端获取到第三数据集中各数据的排列顺序时,第三终端可以在第三数据集中获取与第二交集数据对应的明文数据。即第三数据集中的数据为明文数据,第三终端可以获取与第二交集数据对应的明文数据。
根据一些实施例,明文数据是指第三终端中未进行加密的数据。该本说明书实施例的明文数据是指与第二交集数据对应的未进行加密的数据。例如基于排列顺序,第三终端在第三数据集中获取与第二交集数据E″2∩(E″0∩E″1)对应的明文数据。
S818,将第二交集数据对应的明文数据发送至第一终端和第二终端。
在一些实施例中,基于排列顺序,第三终端在第三数据集中获取与第二交集数据对应的明文数据时,第三终端可以将第二交集数据对应的明文数据发送至第一终端和第二终端。例如基于排列顺序,第三终端在第三数据集中获取与第二交集数据E″2∩(E″0∩E″1)对应的明文数据,第三终端将第二交集数据E″2∩(E″0∩E″1)对应的明文数据发送至第一终端和第二终端。
在本说明书实施例中,采用椭圆曲线参数信息生成第三公钥,可以提高公钥生成的安全性,提高数据确定的安全性。其次,获取第一终端发送的第一交集数据,采用第三公钥对第三终端中第三数据集进行加密得到第六加密数据,将第六加密数据发送至第二终端,获取第一终端发送的第五加密数据,基于第五加密数据和第一交集数据确定第二交集数据,由于第五加密数据并非随机序列数据,因此第三终端可以获取第一数据集、第二数据集和第三数据集中的交集明文数据,可以提高数据确定的便利性。最后,获取第三数据集中各数据的排列顺序,基于排列顺序,在第三数据集中获取与第二交集数据对应的明文数据,将第二交集数据对应的明文数据发送至第一终端和第二终端,第三终端可以获取到第一数据集、第二数据集和第三数据集中的交集数据,可以提高数据确定的准确性,提高多方交易协议中数据访问的便利性。
图10为本说明书实施例提供了的一种数据确定系统的结构示意图,数据确定系统1包括第一终端101、第二终端102和第三终端103,第一终端101、第二终端102和第三终端103用于执行上述执行如上述图2-图9所示实施例的数据确定方法,具体执行过程可以参见图2-图9所示实施例的具体说明,在此不进行赘述。
下面将结合附图11-附图13,对本说明书实施例提供的数据确定装置进行详细介绍。需要说明的是,附图11-附图13中的数据确定装置,具体可以为上述实施例中的终端,用于执行本说明书图4-图9所示实施例的方法,为了便于说明,仅示出了与本说明书实施例相关的部分,具体技术细节未揭示的,请参照本说明书图4-图9所示的实施例。
请参见图11,其示出了本说明书一个示例性实施例提供的数据确定装置的结构示意图。该数据确定装置11可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分,具体可以为上述实施例中的第一终端101。该装置11包括第一数据发送单元111、第一数据获取单元112、交集数据获取单元113、第二数据获取单元114和第二数据发送单元115。
第一数据发送单元111,用于发送第一加密数据至第二终端,第一加密数据是采用第一公钥对第一终端中的第一数据集进行加密得到的;
第一数据获取单元112,用于获取第二终端发送的第二加密数据和第三加密数据,第二加密数据是基于第一加密数据和第二公钥得到的,第三加密数据是基于第二公钥和第二终端中的第二数据集得到的;
交集数据获取单元113,用于采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端;
第二数据获取单元114,用于基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥,获取第五加密数据;
第二数据发送单元115,用于发送第五加密数据至第三终端,并获取第三终端发送的第二交集数据。
根据一些实施例,该装置11还包括公钥生成单元,用于在发送第一加密数据至第二终端之前,采用椭圆曲线参数信息生成第一公钥。
根据一些实施例,第一数据获取单元112,用于获取第二终端发送的第二加密数据和第三加密数据时,具体用于:
获取第二终端发送的与第二加密数据对应的第一随机序列和与第三加密数据对应的第二随机序列;
采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,包括:
采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据;
获取第一随机序列数据和第三随机序列数据的第一交集数据。
根据一些实施例,第二数据获取单元114,用于基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥,获取第五加密数据时,具体用于:
获取第二终端发送的第七加密数据,第七加密数据是第二终端采用第二公钥对第六加密数据进行加密得到的,第六加密数据是第三终端采用第三公钥对第三终端中第三数据集进行加密得到的;
采用第一公钥对第七加密数据进行加密得到第五加密数据。
请参见图12,其示出了本说明书一个示例性实施例提供的数据确定装置的结构示意图。该数据确定装置12可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分,具体可以为上述实施例中的第二终端102。该装置12包括第三数据获取单元121、第一数据加密单元122、第三数据发送单元123和第四数据获取单元124。
第三数据获取单元121,用于获取第一终端发送的第一加密数据,第一加密数据是第一终端采用第一公钥对第一终端中的第一数据集进行加密得到的;
第一数据加密单元122,用于采用第二公钥对第一加密数据进行加密得到第二加密数据;
第三数据发送单元123,用于将第二加密数据和第三加密数据发送至第一终端,其中,第三加密数据是采用第二公钥对第二终端中的第二数据集进行加密得到的,第二加密数据和第三加密数据用于指示一终端基于第二加密数据和第三加密数据获取第一交集数据,并发送第一交集数据至第三终端;
第四数据获取单元124,用于获取第三终端发送的第二交集数据,第二交集数据是第三终端基于第一交集数据和第五加密数据确定的,第五加密数据是基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到的。
根据一些实施例,该装置12还包括公钥生成单元,用于在获取第一终端发送的第一加密数据之前,采用椭圆曲线参数信息生成第二公钥。
根据一些实施例,第三数据发送单元123,用于将第二加密数据和第三加密数据发送至第一终端时,具体用于:
获取与第二加密数据对应的第一随机序列数据;
获取与第三加密数据对应的第二随机序列数据;
发送第一随机序列数据和第二随机序列数据至第一终端,第一随机序列数据和第二随机序列数据用于指示第一终端采用第一公钥对第二随机序列数据进行加密得到第三随机序列数据,并获取第一随机序列数据和第三随机序列数据的第一交集数据。
根据一些实施例,第四数据获取单元124,还用于在获取第三终端发送的第二交集数据之前,获取第三终端发送的第六加密数据,第六加密数据是第三终端采用第三公钥对第三终端中第三数据集进行加密得到的;
采用第二公钥对第六加密数据进行加密得到第七加密数据;
发送第七加密数据至第一终端,第七加密数据用于指示第一终端采用第一公钥对第七加密数据进行加密得到第五加密数据。
请参见图13,其示出了本说明书一个示例性实施例提供的数据确定装置的结构示意图。该数据确定装置13可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分,具体可以为上述实施例中的第三终端103。该装置13包括第五数据获取单元131、第六数据获取单元132和第四数据发送单元133。
第五数据获取单元131,用于获取第一终端发送的第一交集数据,第一交集数据是第一终端基于第二加密数据和第四加密数据得到的;
第六数据获取单元132,用于获取第一终端发送的第五加密数据,其中,第五加密数据是基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥得到的;
第四数据发送单元133,用于基于第五加密数据和第一交集数据确定第二交集数据,并发送第二交集数据至第一终端和第二终端。
根据一些实施例,该装置13还包括公钥生成单元,用于在获取第一终端发送的第一交集数据之前,采用椭圆曲线参数信息生成第三公钥。
根据一些实施例,第六数据获取单元132,用于获取第一终端发送的第五加密数据时,具体用于:
采用第三公钥对第三终端中第三数据集进行加密得到第六加密数据;
将第六加密数据发送至第二终端,第六加密数据用于指示第二终端第二公钥对第六加密数据进行加密得到第七加密数据,并发送第七加密数据至第一终端,第七加密数据用于指示第一终端采用第一公钥对第七加密数据进行加密得到第五加密数据;
获取第一终端发送的第五加密数据。
根据一些实施例,第四数据发送单元133,用于发送第二交集数据至第一终端和第二终端时,具体用于:
获取第三数据集中各数据的排列顺序;
基于排列顺序,在第三数据集中获取与第二交集数据对应的明文数据;
将第二交集数据对应的明文数据发送至第一终端和第二终端。
在本说明书实施例中,第一数据发送单元可以发送第一加密数据至第二终端,第一加密数据是采用第一公钥对第一终端中的第一数据集进行加密得到的,第一数据获取单元可以获取第二终端发送的第二加密数据和第三加密数据,第二加密数据是基于第一加密数据和第二公钥得到的,第三加密数据是基于第二公钥和第二终端中的第二数据集得到的;交集数据获取单元可以采用第一公钥对第三加密数据进行加密得到第四加密数据,获取第二加密数据和第四加密数据的第一交集数据,并发送第一交集数据至第三终端;第二数据获取单元可以基于第三终端中的第三数据集、第一公钥、第二公钥和第三公钥,获取第五加密数据;第二数据发送单元可以发送第五加密数据至第三终端,并获取第三终端发送的第二交集数据。因此,在数据确定过程中会使用各终端的公钥对数据进行加密,无需使用成熟的对称密码学原语,对网络带宽要求较低,同时无需使用不成熟的同态加密,可以减少安全性较低的情况,可以提高数据确定的安全性,可以兼顾网络带宽要求,硬件要求以及安全性要求,提高多方隐私求交协议使用的便利性。
请参考图14,其示出了本说明书实施例提供的终端的结构方框图。本说明书实施例中的终端可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成CPU、图像处理器(GraphicsProcessing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户页面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(Non-Transitory Computer-Readable Storage Medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。
存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏。
触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本说明书实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的终端的结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、无线保真(WirelessFidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在图13所示的终端中,处理器110可以用于调用存储器120中存储的数据确定应用程序,并具体执行如上述图2-图9所示实施例的数据确定方法,具体执行过程可以参见图2-图9所示实施例的具体说明,在此不进行赘述。
本说明书实施例还提供了一种计算机存储介质,计算机存储介质可以存储有多条指令,指令适于由处理器加载并执行如上述图2-图9所示实施例的数据确定方法,具体执行过程可以参见图2-图9所示实施例的具体说明,在此不进行赘述。
本说明书还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,至少一条指令由处理器加载并执行如上述图2-图9所示实施例的数据确定方法,具体执行过程可以参见图2-图9所示实施例的具体说明,在此不进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本说明书较佳实施例而已,当然不能以此来限定本说明书之权利范围,因此依本说明书权利要求所作的等同变化,仍属本说明书所涵盖的范围。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

Claims (24)

1.一种数据确定方法,其特征在于,包括:
第一终端发送第一加密数据至第二终端,所述第一加密数据是所述第一终端采用第一公钥对所述第一终端中的第一数据集进行加密得到的;
所述第二终端采用第二公钥对所述第一加密数据进行加密得到第二加密数据,并将所述第二加密数据和第三加密数据发送至所述第一终端,其中,所述第三加密数据是所述第二终端采用所述第二公钥对所述第二终端中的第二数据集进行加密得到的;
所述第一终端采用所述第一公钥对所述第三加密数据进行加密得到第四加密数据,获取所述第二加密数据和所述第四加密数据的第一交集数据,并发送所述第一交集数据至第三终端;
所述第三终端获取所述第一终端发送的第五加密数据,其中,所述第五加密数据是基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥得到的;
所述第三终端基于所述第五加密数据和第一交集数据确定第二交集数据,并发送所述第二交集数据至所述第一终端和所述第二终端。
2.根据权利要求1所述的方法,其特征在于,在所述第一终端发送第一加密数据至第二终端之前,还包括:
第一终端采用椭圆曲线参数信息生成第一公钥;
第二终端采用所述椭圆曲线参数信息生成第二公钥;
第三终端采用所述椭圆曲线参数信息生成第三公钥。
3.根据权利要求1所述的方法,其特征在于,所述将所述第二加密数据和第三加密数据发送至所述第一终端,包括:
所述第二终端获取与所述第二加密数据对应的第一随机序列数据;
所述第二终端获取与所述第三加密数据对应的第二随机序列数据;
所述第二终端发送所述第一随机序列数据和所述第二随机序列数据至所述第一终端。
4.根据权利要求3所述的方法,其特征在于,所述第一终端采用所述第一公钥对所述第三加密数据进行加密得到第四加密数据,获取所述第二加密数据和所述第四加密数据的第一交集数据,包括:
所述第一终端采用所述第一公钥对所述第二随机序列数据进行加密得到第三随机序列数据;
所述第一终端获取所述第一随机序列数据和所述第三随机序列数据的第一交集数据。
5.根据权利要求4所述的方法,其特征在于,所述第三终端基于所述第五加密数据和第一交集数据确定第二交集数据,包括:
所述第三终端采用第三公钥对所述第一交集数据进行加密得到第三交集数据;
所述第三终端获取所述第五加密数据和所述第三交集数据的交集数据,得到第二交集数据。
6.根据权利要求1所述的方法,其特征在于,所述第三终端获取所述第一终端基于所述第三终端中的第三数据集所发送的第五加密数据,包括:
所述第三终端采用第三公钥对所述第三终端中第三数据集进行加密得到第六加密数据;
所述第三终端将所述第六加密数据发送至所述第二终端;
所述第二终端采用所述第二公钥对所述第六加密数据进行加密得到第七加密数据;
所述第二终端将所述第七加密数据发送至所述第一终端;
所述第一终端采用所述第一公钥对所述第七加密数据进行加密得到第五加密数据;
所述第一终端将所述第五加密数据发送至所述第三终端。
7.根据权利要求1所述的方法,其特征在于,所述发送所述第二交集数据至所述第一终端和所述第二终端,包括:
所述第三终端获取第三数据集中各数据的排列顺序;
基于所述排列顺序,所述第三终端在所述第三数据集中获取与所述第二交集数据对应的明文数据;
所述第三终端将所述第二交集数据对应的明文数据发送至所述第一终端和所述第二终端。
8.一种数据确定方法,其特征在于,包括:
发送第一加密数据至第二终端,所述第一加密数据是采用第一公钥对第一终端中的第一数据集进行加密得到的;
获取第二终端发送的第二加密数据和第三加密数据,所述第二加密数据是基于所述第一加密数据和第二公钥得到的,所述第三加密数据是基于所述第二公钥和所述第二终端中的第二数据集得到的;
采用所述第一公钥对所述第三加密数据进行加密得到第四加密数据,获取所述第二加密数据和所述第四加密数据的第一交集数据,并发送所述第一交集数据至第三终端;
基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥,获取第五加密数据;
发送所述第五加密数据至所述第三终端,并获取所述第三终端发送的第二交集数据。
9.根据权利要求8所述的方法,其特征在于,在所述发送第一加密数据至第二终端之前,还包括:
采用椭圆曲线参数信息生成第一公钥。
10.根据权利要求8所述的方法,其特征在于,所述获取第二终端发送的第二加密数据和第三加密数据,包括:
获取所述第二终端发送的与第二加密数据对应的第一随机序列和与第三加密数据对应的第二随机序列;
所述采用所述第一公钥对所述第三加密数据进行加密得到第四加密数据,获取所述第二加密数据和所述第四加密数据的第一交集数据,包括:
采用所述第一公钥对所述第二随机序列数据进行加密得到第三随机序列数据;
获取所述第一随机序列数据和所述第三随机序列数据的第一交集数据。
11.根据权利要求8所述的方法,其特征在于,所述基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥,获取第五加密数据,包括:
获取所述第二终端发送的第七加密数据,所述第七加密数据是所述第二终端采用所述第二公钥对第六加密数据进行加密得到的,所述第六加密数据是所述第三终端采用第三公钥对所述第三终端中第三数据集进行加密得到的;
采用所述第一公钥对所述第七加密数据进行加密得到第五加密数据。
12.一种数据确定方法,其特征在于,包括:
获取第一终端发送的第一加密数据,所述第一加密数据是所述第一终端采用第一公钥对所述第一终端中的第一数据集进行加密得到的;
采用第二公钥对所述第一加密数据进行加密得到第二加密数据;
将所述第二加密数据和第三加密数据发送至所述第一终端,其中,所述第三加密数据是采用所述第二公钥对第二终端中的第二数据集进行加密得到的,所述第二加密数据和第三加密数据用于指示所述一终端基于所述第二加密数据和第三加密数据获取第一交集数据,并发送所述第一交集数据至第三终端;
获取所述第三终端发送的第二交集数据,所述第二交集数据是所述第三终端基于第一交集数据和第五加密数据确定的,所述第五加密数据是基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥得到的。
13.根据权利要求12所述的方法,其特征在于,在所述获取第一终端发送的第一加密数据之前,还包括:
采用椭圆曲线参数信息生成第二公钥。
14.根据权利要求12所述的方法,其特征在于,所述将所述第二加密数据和第三加密数据发送至所述第一终端,包括:
获取与所述第二加密数据对应的第一随机序列数据;
获取与所述第三加密数据对应的第二随机序列数据;
发送所述第一随机序列数据和所述第二随机序列数据至所述第一终端,所述第一随机序列数据和所述第二随机序列数据用于指示所述第一终端采用所述第一公钥对所述第二随机序列数据进行加密得到第三随机序列数据,并获取所述第一随机序列数据和所述第三随机序列数据的第一交集数据。
15.根据权利要求12所述的方法,其特征在于,在所述获取所述第三终端发送的第二交集数据之前,还包括:
获取所述第三终端发送的第六加密数据,所述第六加密数据是所述第三终端采用第三公钥对所述第三终端中第三数据集进行加密得到的;
采用所述第二公钥对第六加密数据进行加密得到第七加密数据;
发送所述第七加密数据至所述第一终端,所述第七加密数据用于指示所述第一终端采用所述第一公钥对所述第七加密数据进行加密得到第五加密数据。
16.一种数据确定方法,其特征在于,包括:
获取第一终端发送的第一交集数据,所述第一交集数据是所述第一终端基于第二加密数据和第四加密数据得到的;
获取所述第一终端发送的第五加密数据,其中,所述第五加密数据是基于第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥得到的;
基于所述第五加密数据和第一交集数据确定第二交集数据,并发送所述第二交集数据至所述第一终端和所述第二终端。
17.根据权利要求16所述的方法,其特征在于,在所述获取第一终端发送的第一交集数据之前,还包括:
采用椭圆曲线参数信息生成第三公钥。
18.根据权利要求16所述的方法,其特征在于,所述获取所述第一终端发送的第五加密数据,包括:
采用第三公钥对第三终端中第三数据集进行加密得到第六加密数据;
将所述第六加密数据发送至所述第二终端,所述第六加密数据用于指示所述第二终端所述第二公钥对第六加密数据进行加密得到第七加密数据,并发送所述第七加密数据至所述第一终端,所述第七加密数据用于指示所述第一终端采用所述第一公钥对所述第七加密数据进行加密得到第五加密数据;
获取所述第一终端发送的第五加密数据。
19.根据权利要求16所述的方法,其特征在于,所述发送所述第二交集数据至所述第一终端和所述第二终端,包括:
获取第三数据集中各数据的排列顺序;
基于所述排列顺序,在所述第三数据集中获取与所述第二交集数据对应的明文数据;
将所述第二交集数据对应的明文数据发送至所述第一终端和所述第二终端。
20.一种数据确定装置,其特征在于,包括:
第一数据发送单元,用于发送第一加密数据至第二终端,所述第一加密数据是采用第一公钥对第一终端中的第一数据集进行加密得到的;
第一数据获取单元,用于获取第二终端发送的第二加密数据和第三加密数据,所述第二加密数据是基于所述第一加密数据和第二公钥得到的,所述第三加密数据是基于所述第二公钥和所述第二终端中的第二数据集得到的;
交集数据获取单元,用于采用所述第一公钥对所述第三加密数据进行加密得到第四加密数据,获取所述第二加密数据和所述第四加密数据的第一交集数据,并发送所述第一交集数据至第三终端;
第二数据获取单元,用于基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥,获取第五加密数据;
第二数据发送单元,用于发送所述第五加密数据至所述第三终端,并获取所述第三终端发送的第二交集数据。
21.一种数据确定装置,其特征在于,包括:
第三数据获取单元,用于获取第一终端发送的第一加密数据,所述第一加密数据是所述第一终端采用第一公钥对所述第一终端中的第一数据集进行加密得到的;
第一数据加密单元,用于采用第二公钥对所述第一加密数据进行加密得到第二加密数据;
第三数据发送单元,用于将所述第二加密数据和第三加密数据发送至所述第一终端,其中,所述第三加密数据是采用所述第二公钥对第二终端中的第二数据集进行加密得到的,所述第二加密数据和第三加密数据用于指示所述一终端基于所述第二加密数据和第三加密数据获取第一交集数据,并发送所述第一交集数据至第三终端;
第四数据获取单元,用于获取所述第三终端发送的第二交集数据,所述第二交集数据是所述第三终端基于第一交集数据和第五加密数据确定的,所述第五加密数据是基于所述第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥得到的。
22.一种数据确定装置,其特征在于,包括:
第五数据获取单元,用于获取第一终端发送的第一交集数据,所述第一交集数据是所述第一终端基于第二加密数据和第四加密数据得到的;
第六数据获取单元,用于获取所述第一终端发送的第五加密数据,其中,所述第五加密数据是基于第三终端中的第三数据集、所述第一公钥、所述第二公钥和第三公钥得到的;
第四数据发送单元,用于基于所述第五加密数据和第一交集数据确定第二交集数据,并发送所述第二交集数据至所述第一终端和所述第二终端。
23.一种终端,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求8-19中任一项所述的方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求8-19中任一项所述的方法。
CN202210396044.5A 2022-04-15 2022-04-15 一种数据确定方法、装置、存储介质及终端 Active CN115001733B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210396044.5A CN115001733B (zh) 2022-04-15 2022-04-15 一种数据确定方法、装置、存储介质及终端
US18/298,296 US20230336345A1 (en) 2022-04-15 2023-04-10 Data determination methods, apparatuses, storage media, and terminal devices
EP23168142.0A EP4262140A1 (en) 2022-04-15 2023-04-15 Data determination methods, apparatuses, storage media, and terminal devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210396044.5A CN115001733B (zh) 2022-04-15 2022-04-15 一种数据确定方法、装置、存储介质及终端

Publications (2)

Publication Number Publication Date
CN115001733A true CN115001733A (zh) 2022-09-02
CN115001733B CN115001733B (zh) 2024-06-04

Family

ID=83023440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210396044.5A Active CN115001733B (zh) 2022-04-15 2022-04-15 一种数据确定方法、装置、存储介质及终端

Country Status (3)

Country Link
US (1) US20230336345A1 (zh)
EP (1) EP4262140A1 (zh)
CN (1) CN115001733B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116821936A (zh) * 2023-06-30 2023-09-29 北京海泰方圆科技股份有限公司 一种数据交集的确定方法及装置
CN117171772A (zh) * 2023-09-13 2023-12-05 北京海泰方圆科技股份有限公司 一种数据交集的确定方法及装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150149763A1 (en) * 2013-11-27 2015-05-28 Microsoft Corporation Server-Aided Private Set Intersection (PSI) with Data Transfer
CN111555880A (zh) * 2019-02-12 2020-08-18 北京京东尚科信息技术有限公司 数据碰撞方法、装置、存储介质及电子设备
CN111723384A (zh) * 2019-03-22 2020-09-29 阿里巴巴集团控股有限公司 数据处理方法、系统及设备
CN111741020A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 基于数据隐私保护的公共数据集确定方法、装置及系统
CN111753318A (zh) * 2020-06-04 2020-10-09 支付宝(杭州)信息技术有限公司 私有数据的多方安全计算方法、装置及系统
CN112148801A (zh) * 2020-11-24 2020-12-29 支付宝(杭州)信息技术有限公司 保护数据隐私的多方联合进行业务对象预测的方法及装置
WO2021017420A1 (zh) * 2019-08-01 2021-02-04 创新先进技术有限公司 数据处理方法、装置和电子设备
CN112434329A (zh) * 2020-10-23 2021-03-02 上海点融信息科技有限责任公司 私有数据交集获取方法、计算设备、存储介质
WO2021115591A1 (en) * 2019-12-11 2021-06-17 Huawei Technologies Co., Ltd. Devices and sharing methods for private set intersection
CN113079137A (zh) * 2021-03-22 2021-07-06 华控清交信息科技(北京)有限公司 多方隐私求交方法和隐私数据处理系统
CN113468601A (zh) * 2021-06-30 2021-10-01 建信金融科技有限责任公司 数据隐私融合方法和装置
CN114172746A (zh) * 2022-02-09 2022-03-11 神州融安科技(北京)有限公司 三方交集数据的安全获取方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885203B2 (en) * 2019-08-01 2021-01-05 Advanced New Technologies Co., Ltd. Encrypted data exchange
EP4226568A4 (en) * 2020-10-08 2024-06-12 Visa International Service Association UPDATABLE INTERSECTION OF PRIVATE SETS

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150149763A1 (en) * 2013-11-27 2015-05-28 Microsoft Corporation Server-Aided Private Set Intersection (PSI) with Data Transfer
CN111555880A (zh) * 2019-02-12 2020-08-18 北京京东尚科信息技术有限公司 数据碰撞方法、装置、存储介质及电子设备
CN111723384A (zh) * 2019-03-22 2020-09-29 阿里巴巴集团控股有限公司 数据处理方法、系统及设备
WO2021017420A1 (zh) * 2019-08-01 2021-02-04 创新先进技术有限公司 数据处理方法、装置和电子设备
WO2021115591A1 (en) * 2019-12-11 2021-06-17 Huawei Technologies Co., Ltd. Devices and sharing methods for private set intersection
CN111753318A (zh) * 2020-06-04 2020-10-09 支付宝(杭州)信息技术有限公司 私有数据的多方安全计算方法、装置及系统
CN111741020A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 基于数据隐私保护的公共数据集确定方法、装置及系统
CN112434329A (zh) * 2020-10-23 2021-03-02 上海点融信息科技有限责任公司 私有数据交集获取方法、计算设备、存储介质
CN112148801A (zh) * 2020-11-24 2020-12-29 支付宝(杭州)信息技术有限公司 保护数据隐私的多方联合进行业务对象预测的方法及装置
CN113079137A (zh) * 2021-03-22 2021-07-06 华控清交信息科技(北京)有限公司 多方隐私求交方法和隐私数据处理系统
CN113468601A (zh) * 2021-06-30 2021-10-01 建信金融科技有限责任公司 数据隐私融合方法和装置
CN114172746A (zh) * 2022-02-09 2022-03-11 神州融安科技(北京)有限公司 三方交集数据的安全获取方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M. ION ET AL: "On Deploying Secure Computing: Private Intersection-Sum-with-Cardinality", 2020 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P), GENOA, ITALY *
唐春明;林旭慧;: "隐私保护集合交集计算协议", 信息网络安全, no. 01 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116821936A (zh) * 2023-06-30 2023-09-29 北京海泰方圆科技股份有限公司 一种数据交集的确定方法及装置
CN117171772A (zh) * 2023-09-13 2023-12-05 北京海泰方圆科技股份有限公司 一种数据交集的确定方法及装置

Also Published As

Publication number Publication date
CN115001733B (zh) 2024-06-04
US20230336345A1 (en) 2023-10-19
EP4262140A1 (en) 2023-10-18

Similar Documents

Publication Publication Date Title
CN109309569B (zh) 基于sm2算法的协同签名的方法、装置及存储介质
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
CN114586313B (zh) 用于签署一信息的系统及方法
CN111130803B (zh) 数字签名的方法、系统及装置
KR102251697B1 (ko) 암호화 장치, 암호화 방법 및 컴퓨터 판독가능 기록매체
CN115001733B (zh) 一种数据确定方法、装置、存储介质及终端
CN106487503B (zh) 基于剪裁的霍普菲尔德神经网络的多元公钥密码系统和方法
EP2798773B1 (en) Generating digital signatures
US20090100264A1 (en) Communication device and communication system
US10367640B2 (en) Shared secret data production system
US11323255B2 (en) Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes
CN109921905B (zh) 基于私钥池的抗量子计算密钥协商方法和系统
Natanael et al. Text encryption in android chat applications using elliptical curve cryptography (ECC)
US10630476B1 (en) Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
CN109905229B (zh) 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统
CN113987584A (zh) 一种隐匿查询方法及系统
CN112003696A (zh) Sm9密钥生成方法、系统、电子设备、装置及存储介质
JP2019528028A (ja) 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム
CN113987583A (zh) 一种隐匿查询方法及系统
EP3002904A1 (en) Method for ciphering/deciphering and processing vectors of dimension n, where n is an integer greater or equal to 1
US20230208615A1 (en) Online-Streamer Image Model File Transmission in Co-Hosting During Livestreaming
KR101533950B1 (ko) 브로드캐스트 암호화 방법 및 시스템
CN117560150A (zh) 密钥确定方法、装置、电子设备和计算机可读存储介质
KR20220079522A (ko) 기하 대수 및 헨젤 코드들을 이용한 암호화를 위한 방법들 및 시스템들과 동형 암호화 시스템들
CN109361506B (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
GR01 Patent grant
GR01 Patent grant