CN112597524B - 隐私求交的方法及装置 - Google Patents

隐私求交的方法及装置 Download PDF

Info

Publication number
CN112597524B
CN112597524B CN202110235466.XA CN202110235466A CN112597524B CN 112597524 B CN112597524 B CN 112597524B CN 202110235466 A CN202110235466 A CN 202110235466A CN 112597524 B CN112597524 B CN 112597524B
Authority
CN
China
Prior art keywords
party
data
ciphertext
salted
salt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110235466.XA
Other languages
English (en)
Other versions
CN112597524A (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.)
Ant Blockchain Technology Shanghai 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 CN202110235466.XA priority Critical patent/CN112597524B/zh
Publication of CN112597524A publication Critical patent/CN112597524A/zh
Application granted granted Critical
Publication of CN112597524B publication Critical patent/CN112597524B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本说明书实施例提供一种隐私求交的方法及装置,在两个数据方进行隐私求交过程中,基于其中一方可以获取数据交集的业务需求,通过至少一方将各条业务数据加密并预先保存密文,每次隐私求交过程中,由各个数据方协商当前盐用于两个数据方对当前次隐私求交过程中,对业务数据的加盐处理,每个隐私求交过程仅更新盐,而无需更新密钥重新对业务数据加密,从而数据变化频率小的一方可以将业务数据提前进行加密并反复在多个隐私求交过程中使用,如此,在隐私求交过程中仅对协商的当前盐进行加密,并利用盐的密文对业务数据的密文进行加盐操作,可以大大减少单次隐私求交过程中的计算量,提高隐私求交的效率。

Description

隐私求交的方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及隐私求交的方法及装置。
背景技术
安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而***露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。例如,安全多方计算一个典型的应用是隐私求交。隐私求交(Private set intersection, PSI),或称为撞库,可以理解为在基于隐私保护的前提下,确定多方之间的交集。隐私求交往往是多方协同训练机器学习算法以及做多头借贷等业务的核心。隐私求交的核心思想是在协议交互的最后,一方或是多方应该得到正确的交集,而且不会得到交集以外其他方数据集合中的其他任何数据。隐私求交的过程中,数据量和通信量的多少,直接影响着计算机资源占用和隐私求交的效率。
发明内容
本说明书一个或多个实施例描述了一种隐私求交的方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供一种隐私求交的方法,用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所述若干条第一数据与所述若干条第二数据中的相同业务数据,且第二方不能获取该相同业务数据以及不能确定任一条第二数据是否属于第一方,第一方还预先存储有利用第一密钥分别对各条第一数据加密得到的各个第一密文;所述方法包括:第一方与第二方协商当前盐;第一方基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;第二方基于第二密钥及所述当前盐,确定各个第二数据分别对应的各个第二加盐密文,以提供给第一方;第一方利用所述第一密钥对各个第二加盐密文进行加密,得到各个第二数据分别对应的第三加盐密文以乱序后提供给第二方;第二方通过所述第二密钥的逆元素对各个第三加盐密文解密,得到基于所述第一密钥、所述当前盐,分别针对各个第二数据的各个第四加盐密文;第二方对比各个第四加盐密文与各个第一加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;第一方根据第二方反馈的各个位置标识,确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据。
根据第二方面,提供用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所述若干条第一数据与所述若干条第二数据的数据交集,且第二方不能获取数据交集以及不能确定任一条第二数据是否属于第一方,第一方还预先存储有利用第一密钥分别对各条第一数据加密得到的各个第一密文;所述方法由第一方执行,包括:与第二方协商当前盐;基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;接收第二方发送的与各条第二数据分别对应的各个第二加盐密文,其中,各个第二加盐密文由第二方基于第二密钥及所述当前盐,分别针对各条第二数据进行加密操作确定;利用所述第一密钥对各个第二加盐密文加密,得到分别与各条第二数据对应的各个第三加盐密文;将各个第三加盐密文经过乱序操作后反馈至第二方,以供第二方通过第二密钥的逆元素对各个第三加盐密文解密,得到基于所述第一密钥、所述当前盐,分别针对各个第二数据的各条第四加盐密文,并对比各个第一加盐密文和各个第四加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;根据第二方反馈的各个位置标识,确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据。
根据第三方面,提供一种隐私求交的方法,用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所述若干条第一数据与所述若干条第二数据中相同业务数据,且第二方不能获取该相同业务数据以及不能确定任一条第二数据是否属于第一方;所述方法由第二方执行,包括:与第一方协商确定当前盐;针对各条第二数据,分别基于第二密钥及所述当前盐进行加盐加密操作从而确定各条第二数据分别对应的各个第二加盐密文;将各个第二加盐密文提供给第一方,以供第一方通过所述第一密钥对各个第二加盐密文加密,得到与各条第二数据分别对应的各个第三加盐密文,并反馈经过乱序操作的各个第三加盐密文;通过所述第二密钥的逆元素对各个第三加盐密文解密,得到经由所述第一密钥、所述当前盐,分别针对各条第二数据加盐加密的各条第四加盐密文;对比各个第四加盐密文和分别与各条第一数据对应的各个第一加盐密文,以得到具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识,并将各个位置标识反馈至第一方,以供第一方根据第二方反馈的各个位置标识确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据,其中,各条第一加盐密文由第一方利用各条第一数据分别对应的各个第一密文,及所述当前盐确定,各个第一密文由第一方预先利用第一密钥分别对各条第一数据加密得到。
根据第四方面,提供一种隐私求交的***,包括作为数据方的第一方和第二方,由第一方获取第一方持有的若干条第一数据与第二方持有的若干条第二数据的数据交集,且第二方不能获取数据交集以及不能确定任一条第二数据是否属于第一方;其中:
第一方与第二方配置为共同协商当前盐;
第一方还配置为,基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;
第二方还配置为,基于第二密钥及所述当前盐,确定各个第二数据分别对应的各个第二加盐密文,以提供给第一方;
第一方进一步还配置为,用所述第一密钥对各个第二加盐密文进行加密,得到各个第二数据分别对应的第三加盐密文以乱序后提供给第二方;
第二方还配置为,通过所述第二密钥的逆元素对各个第三加盐密文解密,得到基于所述第一密钥、所述当前盐,分别针对各个第二数据的各个第四加盐密文;以及
对比各个第四加盐密文与各个第一加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;
第一方还配置为,根据第二方反馈的各个位置标识,确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据。
根据第五方面,提供一种隐私求交的装置,设于持有若干条第一数据的第一方,用于针对作为数据方的第一方和第二方,获取所述若干条第一数据与第二方持有的若干条第二数据的数据交集,且第二方不能获取数据交集以及不能确定任一条第二数据是否属于第一方;所述装置包括:
协商单元,配置为与第二方协商当前盐;
加盐加密单元,配置为基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;
接收单元,配置为接收第二方发送的与各条第二数据分别对应的各个第二加盐密文,其中,各个第二加盐密文由第二方基于第二密钥及所述当前盐,分别针对各条第二数据进行加密操作确定;
所述加盐加密单元,还配置为利用所述第一密钥对各个第二加盐密文加密,得到分别与各条第二数据对应的各个第三加盐密文;
乱序单元,配置为将各个第三加盐密文经过乱序操作后反馈至第二方,以供第二方通过第二密钥的逆元素对各个第三加盐密文解密,得到基于所述第一密钥、所述当前盐,分别针对各个第二数据的各条第四加盐密文,并对比各个第一加盐密文和各个第四加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;
确定单元,配置为根据第二方反馈的各个位置标识,确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据。
根据第六方面,提供一种隐私求交的装置,设于持有若干条第二数据的第二方,用于针对作为数据方的第一方和第二方,由第一方获取第一方持有的若干条第一数据与所述若干条第二数据的数据交集,且第二方不能获取数据交集以及不能确定任一条第二数据是否属于第一方;所述装置包括:
协商单元,配置为与第一方协商确定当前盐;
加盐加密单元,配置为针对各条第二数据,分别基于第二密钥及所述当前盐进行加盐加密操作从而确定各条第二数据分别对应的各个第二加盐密文;
发送单元,配置为将各个第二加盐密文提供给第一方,以供第一方通过所述第一密钥对各个第二加盐密文加密,得到与各条第二数据分别对应的各个第三加盐密文,并反馈经过乱序操作的各个第三加盐密文;
解密单元,配置为通过所述第二密钥的逆元素对各个第三加盐密文解密,得到经由所述第一密钥、所述当前盐,分别针对各条第二数据加盐加密的各条第四加盐密文;
对比单元,配置为对比各个第四加盐密文和分别与各条第一数据对应的各个第一加盐密文,以得到具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识,并将各个位置标识反馈至第一方,以供第一方根据第二方反馈的各个位置标识确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据,其中,各条第一加盐密文由第一方利用各条第一数据分别对应的各个第一密文,及所述当前盐确定,各个第一密文由第一方预先利用第一密钥分别对各条第一数据加密得到。
根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第三方面的方法。
根据第八方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第三方面的方法。
通过本说明书实施例提供的方法和装置,在两个数据方进行隐私求交过程中,基于其中一方可以获取数据交集且另一方不能知道另一方的业务数据,或者奔放业务数据中的任意一条是否被另一方持有的业务需求,通过将各条业务数据映射为椭圆曲线上的点,并由各个数据方协商当前盐用于两个数据方对数据的处理,从而数据变化频率小的一方可以将业务数据提前进行加密处理并反复使用,如此,在隐私求交过程中仅对协商的当前盐进行加密,并利用盐的密文对业务数据的密文进行加盐操作,大大减少对业务数据加密的计算量,提高隐私求交的效率。实践中,本说明书实施例提供的方法和装置不局限于上述实施场景,而可以推广到更多业务场景。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是常规技术的隐私求交过程的时序图;
图2示出本说明书的技术构思下隐私求交过程的时序图;
图3是根据一个实施例的第一方执行的隐私求交的流程示意图;
图4是根据一个实施例的第二方执行的隐私求交的流程示意图;
图5示出根据一个实施例的隐私求交***架构图,以及各个数据方用于隐私求交的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
首先明确本说明书可能用到的若干专业术语:
隐私求交PSI:Private Set Intersection,是安全多方计算的一个研究领域,能使参与方获得交集,同时不向其他参与方泄漏非交集部分;
盲签名:是一种两方签名,两方分别持有消息和私钥,消息持有者能获得私钥对消息的签名,同时消息持有者不会泄漏消息,私钥持有者不会泄漏私钥;
椭圆曲线点乘:按标量做多次椭圆曲线点加;
模乘:两个数a和b的乘积,对素数P求模,即(a×b)%P,其与((a%P)×(b%P))%P的结果等价;
模幂:两个数a、 b一个为底数一个为指数,对素数P求模,即ab%P,其与(a%P)b%P的结果等价;
离散对数问题:给定底数和模幂,一般很难求出指数;
椭圆曲线离散对数问题:给定被点乘的点和点乘的结果点,一般很难求出标量;
逆元素:一个元素的逆元素与该元素的乘积为1(在椭圆曲线上为单位元);
盐(salt)值:是一个随机字符串,作为单向函数的额外输入,使单向函数对相同数据能计算出不同的值,盐值一般不需要保密;
加盐:在密码学中,是指通过在密码任意固定位置***特定的字符串,让散列后的结果和使用原始密码的散列结果不相符;如:在椭圆曲线加密过程中,盐可以对应到椭圆上的点,加盐过程可以通过点加操作实现;在有限域形式的加密过程中,加盐可以通过模乘操作实现……
参考图1所示,给出了一个隐私求交的具体实施场景。在该实施场景中,持有业务数据的两个数据方分别记为第一方、第二方。其中第一方是可以获取两方的业务数据交集,第二方不可获取第一方的任意数据,或者说不可获知用于隐私求交的业务数据中任意一条数据是否为第一方持有的数据,并且不可获知数据交集。在隐私求交过程中,数据量较大时,还可以分批进行,例如两方数据量比例为10:1的情况下,可以将第一方的数据分为10批,每一批和第二方的数据进行一次隐私求交。其中的业务数据可以根据具体业务场景确定,例如为用户ID、手机号码等。
如图1所示,假设第一方持有的业务数据记为a,条数记为m1,则第一方持有的数据可以表示为(a1,a2,a3……am1),第二方持有的业务数据记为b,条数记为m2,数据b可以表示为(b1,b2,b3……bm2)。第一方还可以持有私钥Ka、第二方还可以持有私钥Kb。常规的一次隐私求交过程中,第一方和第二方各自将本地的各条数据进行加密,例如分别记为H(a)、H(b)。H可以表示哈希或其他加密方法。常规技术中,为了计算方便,通常还将各条业务数据映射到椭圆曲线上。
Ka、Kb分别可以存在逆元素,例如Ka-1、Kb-1。本领域技术人员可以理解,逆元素的计算方法例如通过欧拉定理进行,在此不再赘述。根据逆元素的性质,Ka-1Ka为1,Kb-1Kb为1。基于逆元素的这种性质,第一方可以将通过Ka加密的数据a发送给第二方,第二方获取Ka加密的数据a,并基于以上逆元素的性质,设法通过Kb-1确定Ka加密的数据b,将Ka加密的数据a和Ka加密的数据b进行比较,即可得到数据交集。
椭圆曲线上的点通常具有以下封闭性:对于任意两个点P和H,经过点加操作即P+H仍为椭圆曲线上的点;对于任意一个点P和自然数n,点乘操作n×P可以看作n个点P的连续点加操作,结果仍为椭圆曲线上的点。则在椭圆曲线加密方式下,密钥可以看作标量,业务数据可以映射为椭圆曲线上的点,则使用密钥加密的过程可以通过点乘操作实现。在n未知的情况下,根据nP难以推导P(加密的逆运算难以进行)。如果n有k个二进制位的话,那么计算n×P的算法复杂度将是
Figure DEST_PATH_IMAGE001
首先,第一方可以利用密钥Ka,对数据a加密。数据a可以通过哈希运算之类的计算方式映射为椭圆曲线上的点H(a),利用密钥Ka对H(a)加密,记为Ka(H(a))。Ka(H(a))可以看作利用Ka对H(a)的点乘操作。以私钥Ka为256位的二进制随机数为例,其复杂度为
Figure 392769DEST_PATH_IMAGE002
。假设第一方的数据条数m1为1000万条,则第一方对其业务数据的加密需要经过1000万次复杂度为
Figure 615940DEST_PATH_IMAGE002
的点乘运算。之后,第一方可以将m1条密文发送给第二方。
同理,第二方可以用Kb对其m2条业务数据映射到椭圆曲线的各个点加密,得到Kb(H(b))。在Kb也是256位随机生成的二进制数的情况下,第二方进行m2次复杂度为
Figure 821793DEST_PATH_IMAGE002
的点加运算,并将m2条密文发送给第一方。
第一方收到Kb(H(b)),第二方收到Ka(H(a)),但由于相互不知道对方的密钥,因此无法获知对方的原始数据。
接着,第一方可以对Kb(H(b))进一步使用本地私钥Ka进行加密,得到KaKb(H(b))。可以理解,根据椭圆曲线中标量积的定义,Ka、Kb对椭圆曲线上的点进行的点乘操作具有可交换性。换句话说,KaKb(H(b))= KbKa(H(b))。也就是相当于对KaKb个椭圆曲线上对应于H(b)的点进行了点加运算。此时,如果将KaKb(H(b))发送给第二方,则第二方利用Kb-1对其解密,即可得到Kb-1KbKa(H(b))=Ka(H(b))。进一步地,第二方将Ka(H(b))和Ka(H(a))相互比较,可以确定第一方和第二方的业务数据中相同的业务数据。
然而,该方式存在将相同业务数据泄露给第二方的风险,因为第二方可以根据相同的业务数据所在位置,确定第一方持有的相同业务数据。例如,第二方对比得到Ka(H(b))形式加密的第二条业务数据与Ka(H(a))形式加密的某条业务数据一致,则可以确定第二条业务数据为与第一方相同的业务数据。如果业务数据为用户手机号码,则第二方可以确定相同手机号码的用户也在第一方对应有业务数据,从而造成数据泄露。
为此,第一方可以将KaKb(H(b))乱序后发给第二方。这样,第二方无法确定收到的各条业务数据KaKb(H(b))的内容(或者说是哪条业务数据)。
对比结束后,第二方可以将所记录的相同业务数据在Ka(H(a))的位置标识(例如行号、序次等)发送至第一方,第一方根据位置标识查找相同业务数据,从而获得交集。在此过程中,由于第二方收到KaKb(H(b))形式的数据是乱序的,因此,第二方在确定Ka(H(b))形式的数据后,并不能和自有数据一一对应,因此,即使确定相同数据的行号,也无法确定哪些业务数据是和第一方一致的。
在第一方和第二方进行多次隐私求交的情况下,第一方还可以在每次隐私求交过程中使用不同的密钥Ka。这是因为,如果第一方每次都是用相同的密钥,那么如果第二方在两次隐私求交过程中包含一条相同的业务数据(如同一个用户ID),第二方检测两次确定的共同业务数据密文(如是Ka(H(b))形式的数据)中是否有一条密文相同,从而判断该相同的业务数据是否也为第一方持有。如果两次隐私求交有一条密文相同,则该密文是第二方在两次隐私求交过程中包含这条相同的业务数据的密文,并且为与第一方持有的业务数据的交集。如此,经过多次隐私求交,第二方可以确定多个ID是否为第一方持有的数据,从而造成第一方的数据隐私泄露。如果第二方使用该方法发起多次隐私求交,则可以判断多条业务数据是否由第一方持有,对第一方的业务数据形成攻击。而第一方在每次隐私求交过程中都是用不同的密钥Ka,则可以避免该问题。
在实践中,第一方可以为提供某种业务的业务方,第二方可以是业务需求方。例如,第一方为融合多种业务的业务平台(如外卖平台),第二方为进驻该业务平台的业务需求方(如外卖商户),并可以为用户提供相应业务。第二方为了推广新业务,可以由第一方向来自该平台的用户推送相关信息。此时,第二方对应的用户和第一方对应的用户可以具有交集,但第二方的用户不一定全来自该业务平台。同时,具有其他来源的用户也可能是该业务平台的用户。这样,第一方为了向更多用户推广第二方的新业务,需要获取相应的用户交集数据,而第二方不能获取交集数据,以确保业务平台的数据不会泄露给第二方。在可选的业务场景下,第一方数据的数据量可以远大于第二方数据的数据量,例如具有10:1的数据量比例。
然而,如前所述,在以上方法中,由于单次算法复杂度较大,如针对单条业务数据的复杂度为
Figure 548441DEST_PATH_IMAGE002
,且计算量随着业务数据条数的增多而增多,如果进行多次隐私求交,则需要较多的计算成本。例如,第一方的数据分为10批,第二方的数据分为5批,则需要进行10×5次隐私求交,且每次隐私求交第一方都需要使用新的Ka对当前批次的业务数据进行加密,每条业务数据被加密5遍,从而导致针对相同业务数据的重复加密,导致更高倍数的复杂度。针对不同的数据方,如第三方、第四方等,第一方也需要使用不同的Ka对各个批次的业务数据进行加密,计算成本较高。
为此,本说明书实施例提出一种技术构思,可以由第一方预先对所持有的业务数据逐条加密,并保存,之后,采用加盐的方式改变加密结果,而不使用新的密钥重新对业务数据进行加密,仅通过每次加不同盐从而得到不同的加密结果。这样,至少在预定时间段(如第一方的业务数据不更新的时间段)内,这种构思下的加盐操作相对于使用不同密钥对业务数据反复加密,计算复杂度可以大大降低,因此可以大大减少计算量,降低计算成本。
下面详细描述本说明书的技术构思。
参考图2所示,是一个具体例子的在图1的隐私求交场景及流程基础上改进的隐私求交的流程示意图。需要声明的是,本说明书的技术构思虽然在图1的基础上提出,但图1中的具体实施方式并不对本说明书实施例的应用范围构成限定。例如,针对图1,描述了椭圆曲线加密方式下的隐私求交过程,而本说明书的技术构思,还可以推广到将业务数据映射到满足以下条件的元素集合进行加密的场景:任意两个元素(包含重复的单个元素)在预定加密方式下的融合结果,仍为预定集合中的元素;针对单个元素的两次按照预定加密方式的加密过程可交换(先后顺序不影响结果,如椭圆曲线中的点乘操作)。另外,根据用于加密的意义,对预定元素集合中的元素进行加密的逆运算通常难以进行(难以反推加密前的数据及加密所使用的密钥)。这样的元素集合例如还可以是有限域等。以有限域为例,假设有限域对应元素数量为素数Q,元素集合中的各个元素分别为0-(Q-1)之间的Q个数。在数A为10 的情况下,A映射到有限域可以通过求模操作10%7=3进行。针对有限域中的元素加密可以通过模乘操作、模幂操作等进行,模乘操作例如是:[(A%Q)+(B%Q)] %Q=(A×B)%Q,模乘操作例如是:[(A%Q)×(B%Q)] %Q=(AB)%Q。可见,利用模乘操作或模幂操作进行加密的情况下,结果仍为元素集合(有限域)中的元素。并且,加密前的原始数据难以反推。更进一步地,本说明书的技术构思还可以不局限于将业务数据映射为满足以上条件的预定集合,在其他可行的加密方式下,还可以针对业务数据的其他加密数据进行,例如直接使用哈希值。
如图2所示,第一方可以预先对用于与第二方进行隐私求交的本地业务数据进行加密,得到加密的本地业务数据。该加密的本地业务数据可以在多次隐私求交过程中反复使用。还可以用于在与其他数据方(例如第三方、第四方等)的隐私求交过程使用。可选地,根据第一方业务数据的更新频率,该加密的本地业务数据也可以基于相应频率更新,例如每周更新、每天更新等。
在一次与第二方的隐私求交过程中,第一方和第二方首先可以协商一个用于当前流程的盐,例如称为当前盐。为避免任一数据方通过指定等方式控制盐值的生成过程,从而通过特殊盐获取对方的隐私信息,第一方和第二方可以共同协商当前盐。例如,第一方和第二方可以按照各自随机生成的字符串协商当前盐,为盐的确定增加随机性和不可控性。
在一个实施例中,该当前盐可以由第一方和第二方根据所生成的随机字符串通过预定方式融合确定。例如通过加、减、乘、除、求平均等方式融合。
在另一个实施例中,当前盐可以是在具体加密架构下,从预定元素集合中指定。例如,在椭圆曲线加密架构下,随机指定预定椭圆曲线上的一个点作为当前盐,或者在有限域加密架构下,随机指定预定有限域中的一个元素作为当前盐。
在又一个实施例中,业务数据被映射到前述的预定元素集合进行初步加密,当前盐可以通过业务数据所映射到的预定元素集合中的基准元素确定。例如,在一个实现方案中,对业务数据的加密方式基于椭圆曲线进行,则预定元素集合例如对应预定的椭圆曲线,基准元素可以为椭圆曲线上的一个点。再例如,在另一个实现方案中,对业务数据的加密方式基于有限域进行,预定元素集合还可以为预定的素数Q构成的有限域0-(Q-1),基准元素可以为0-(Q-1)之间的Q个数中的一个。
为了描述方便,当前盐例如记为S。具体地,假设第一方和第二方分别生成有第一随机字符串Ra、第二随机字符串Rb,基准元素记为G。在预定元素集合为椭圆曲线的情况下,G可以为椭圆曲线上的一个参考点(基准元素),此时,可以通过Ra、Rb两个标量对基准点G进行的可交换的点乘操作(预定加密方式)确定当前盐。其中,根据椭圆曲线上的点的性质,第一方和第二方对参考点G的处理顺序可以由第一方先进行(例如为Rb·(Ra·G)),也可以由第二方先进行(例如为Ra·(Rb·G)),得到的盐都是一致的,例如记为S=RaRbG或者RbRaG。
在预定元素集合为有限域的情况下,对于指定的素数Q,构成有限域0-(Q-1)。基准元素G可以为有限域0-(Q-1)的一个基准值。第一方和第二方可以通过各自生成的随机字符串对基准值G进行的可交换的模幂操作确定当前盐。例如,由第一方生成第三随机字符串Ra',第二方生成第四随机字符串Rb',则第一方和第二方可以联合通过第三随机字符串和第四随机字符串对Q的模幂确定当前盐。当前盐例如可以为(GRa')Rb'%Q,或者(GRb')Ra'%Q。其中,第三随机字符串Ra'、第四随机字符串Rb'与第一随机字符串Ra、第二随机字符串Rb分别对应,为了描述方便,下文可以将第一方生成的随机字符串统一记为Ra,第二方生成的随机字符串统一记为Rb。
如此,当前盐既不是第一方控制生成,也不是第二方控制生成,而是两方协商确定,从而可以避免一方指定特殊盐造成数据隐私泄露。当前盐可以是公开给各个数据方的。
接着,第一方可以利用密钥Ka对当前盐加密。例如可以记为Ka(S)。在椭圆曲线方式下,G为椭圆曲线上的点,则通过点乘的加密方式,得到的S仍为椭圆曲线上的点。第一方可以使用密钥Ka得到当前盐的盐的密文Ka(S)。这里的Ka(S)为针对S的点乘操作(预定加密方式)得到的点,其仍为椭圆曲线上的点。在有限域方式下,Ka(S)可以看作对S映射到有限域上的数进一步通过Ka进行模幂操作,其结果等价于SKa映射到有限域,例如Ka(S)为SKa%Q。在其他方式下,还可以通过其他方式确定Ka(S),例如计算一下哈希值H(S+Ka)等,在此不再赘述。
第一方可以利用该盐的密文Ka(S)进行业务数据的密文的加盐操作。在椭圆曲线中,该加盐操作可以通过点加操作实现,例如为:Ka(H(a))+ Ka(S)。在有限域方式中,加盐操作可以通过模乘实现,如(SKa%Q+ H(a)Ka%Q)%Q,等价于(S ×H(a))Ka%Q。其中,Ka(S)可以被各条业务数据共用。也就是说,针对当前次的隐私求交过程,对单条业务数据的加密,均可以通过该盐的密文进行加盐操作。假设第一方持有1000万条业务数据,则每个隐私求交过程中,确定相应业务数据的加盐密文数据需执行一次确定盐的密文的过程,及1000万次加盐操作。如此,可以得到各条业务数据的加盐密文。在椭圆曲线加密方式下,1000万次加盐操作为1000万次点加操作,相对于使用新的密钥1000万次点乘操作,计算量大大降低。在有限域加密方式下,1000万次加盐操作为1000万次模乘操作,相对于使用新的密钥进行1000万次模幂操作,计算量大大降低。总之,使用现有的业务数据密文进行加盐操作,相较于使用新的密钥对业务数据重新加密,可以大大降低计算成本。
之后,第一方可以将各条业务数据的加盐密文发送至第二方。也就是说,第二方得到了第一方的各条业务数据的一次加盐密文,例如Ka(H(a))+ Ka(S)。对于第二方来说,其可以将本地的各条业务数据执行加盐加密操作,得到各条业务数据经由第二方持有的密钥加密并添加当前盐的一次加盐密文。第二方可以对本地数据先执行加盐操作后执行加密操作,也可以先执行加密操作后执行加盐操作。以先执行加盐操作为例,在椭圆曲线加密方式下,加盐的业务数据例如记为点加操作H(b)+S。之后,第二方对加盐的业务数据通过相应密钥Kb进行加密,得到业务数据的加盐密文例如Kb(H(b)+S),其等价于KbH(b)+KbS。与图1的方案相比,图2的方案中第二方在该步骤增加了与业务数据条数一致的加盐操作。然后第二方可以将各条业务数据的一次加盐密文发送至第一方,由第一方利用密钥Ka对第二方的业务数据的加盐密文进行二次加密,例如为:KaKb(H(b)+S),以下称为第二方加盐业务数据的二次加盐密文。
接着,第一方将第二方的业务数据的二次加盐密文经过乱序操作,并反馈至第二方。第二方经由本地密钥Kb的逆元素Kb-1,对该二次加盐密文进行一次解密,得到通过第一方的密钥Ka对第二方的加盐业务数据加密的加盐密文。例如椭圆曲线方式下:Kb-1(KaKb(H(b)+S))= Ka(H(b)+S)。同时,该方式的加密满足分配律,即Ka(H(b)+S)= KaH(b)+ Ka S。根据前文描述,第二方已获取第一方业务数据的加盐密文KaH(a)+ Ka S,将第二方业务数据的加盐密文KaH(b)+ Ka S与KaH(a)+ Ka S比较,即可确定两方相同业务数据的位置标识,例如行号。同理,在有限域等方式下,第二方可以获得经由第一方使用的第一密钥Ka加密的第一方业务数据的加盐密文(S×H(a))Ka%Q,以及第二方业务数据的加盐密文(S×H(b))Ka%Q,从而经过对比可以确定相同业务数据的位置标识。
其中,第二方在将第一方业务数据的加盐密文和第二方业务数据的加盐密文比对时,可以采用如下的全比对方式:将其中一方业务数据的加盐密文的第一条数据与另一方业务数据的加盐密文的数据逐条比对,在出现相同数据的情况下,记录数据行号,直至出现相同数据或者另一方业务数据的加盐密文数据全部对比完毕;将一方业务数据的加盐密文的第二条数据与另一方业务数据的加盐密文的数据逐条比对……以此类推,直至一方业务数据的加盐密文比对完毕。可选地,在一方业务数据排列靠前的加盐密文业务数据在另一方业务数据的加盐密文中具有相同数据的情况下,可以将另一方业务数据的加盐密文中的相同数据筛除,以减少后续对比过程的数据处理量。
第二方将相应位置标识信息反馈至第一方,则第一方可以根据位置标识信息查询本地业务数据,从而获取当前次隐私求交过程的相同业务数据。
图2相较于图1,第一方和第二方协商盐值RaRbG过程中,经由RaRb对元素G进行了点乘操作,第一方对各条业务数据确定加盐密文KaH(a)+ Ka S的点加操作,避免了使用新的密钥对各条业务数据进行加密的点乘操作,点加操作的复杂度远远小于点乘操作。在第一方的业务数据一次密文更新(或者说业务数据更新之前)之前,各次隐私求交过程中,第一方和第二方均可以协商新的盐值,并使用与上述一致的第一方加密的本地业务数据(一次密文)执行相应流程。
图2示出的流程中,由于第一方可以预先对本地业务数据进行加密,并每次隐私求交过程协商当前盐,对业务数据进行加盐操作,而不用每次更换密钥重新对本地业务数据加密,计算量与图1示出的流程相比也大大减小。
下面以预定元素集合为椭圆曲线为例,说明每次隐私求交过程中与图1相比的计算量减少量。假设第一方持有1000万条数据,第二方持有10万条数据,Ra、Rb、Ka、Kb均为256位的二进制随机数。则:在图1示出的流程中,第一方计算业务数据a的一次密文的算法复杂度为1000万次复杂度为
Figure 197859DEST_PATH_IMAGE002
的点乘操作,第二方计算业务数据b的一次密文的算法复杂度为10万次复杂度为
Figure 705064DEST_PATH_IMAGE002
的点乘;在图2示出的流程中,第一方计算业务数据的一次加盐密文的算法复杂度包括,一次复杂度为
Figure 449029DEST_PATH_IMAGE002
的盐值确定,一次复杂度为
Figure 561341DEST_PATH_IMAGE002
的盐值加密,以及1000万次点加操作,第二方计算业务数据的一次密文的算法复杂度包括,一次复杂度为
Figure 365349DEST_PATH_IMAGE002
的盐值确定,对业务数据加盐的10万次点加操作,10万次复杂度为
Figure 812380DEST_PATH_IMAGE002
的点乘操作。对比而言,第一方由于简化成对盐值的一次加密,以及加密后的盐值对各条业务数据之间的点加操作,复杂度大幅降低,可以大大减少计算成本。第二方虽然增加了加盐过程中的多次点加操作,但由于点加操作的运算复杂度远远低于第一方减少的点乘操作,因此,就整体而言,计算量大大减少。第一方和第二方之间的通信数据量基本一致。因此,就总体来说,图2示出的隐私求交过程可以减少计算,提高隐私求交效率。特别地,在第一方持有的业务数据量远大于第二方的情况下,该效果尤其明显。
更具体地,图3示出了根据一个实施例的隐私求交的流程示意图。该流程的执行主体可以是图2中获取数据交集的第一方,更具体地,该执行主体可以是与第一方对应的计算机、设备或服务器等。第一方可以与另一数据方,如第二方,相互配合确定两方的业务数据交集。第二方例如可以是与第一方相对的多个业务方中的一方。该流程的隐私求交结果可以是:由第一方获取交集数据,第二方不获取交集数据且不能确定本地任一条业务数据是否也是第一方持有的业务数据。
进一步地,第一方可以持有第一私钥,第二方可以持有第二私钥。假设第一方用于本轮次隐私求交的业务数据为若干第一数据,第二方用于本轮次隐私求交的业务数据为若干第二数据,第一方可以存储有预先通过第一私钥加密的各条第一数据的各个第一密文。如前文所述,根据使用的加密方式不同,该第一密文可以是椭圆曲线上的点,或者有限域中的元素、业务数据的哈希值等等,在此不做限定。
其中,在该第一密文是椭圆曲线上的点的情况下,可以利用hash to point方案分别将各条第一数据映射为椭圆曲线上的各个点,并进一步通过第一密钥对各个点通过点乘操作进行加密。这种方式下,可以按照hash方式,确定各个点的坐标。例如,针对某一条第一数据,使用预定的hash算法确定横轴(如x轴)坐标,再根据横轴坐标和椭圆曲线方程确定纵轴(如y轴)坐标,得到椭圆曲线上的一个点(x,y)。其中,y可以提前约定取正值或负值。此时第一密文例如为Ka(H(a))。
在该第一密文是椭圆曲线上的点的情况下,可以采用HDF的方式将各条业务数据映射为有限域上的各个元素。有限域中的元素例如可以是1至Q-1之间的数,Q为预先确定的素数。此时,通过第一密钥对各条第一数据进行加密的操作可以看作以第一数据的哈希值为底数、密钥为指数进行模幂运算(Modular Exponentiation),密文的相加操作可以看作模乘运算,在此不再赘述。此时第一密文例如等价于(H(a))Ka%Q。可以理解,在(H(a))Ka%Q的情况下,很难反推Ka或H(a)。其中,利用第一数据的哈希值不仅可以初步加密,而且还可以使得个条业务数据被规范化到统一的形式,有利于后续计算。
根据其他实施方式,各条第一密文还可以通过其他方式对第一数据进行加密操作得到。各条第一密文可以由第一方预先确定并存储。
如图3所示,该隐私求交的流程可以包括以下步骤:步骤301,与第二方协商当前盐;步骤302,基于各个第一密文以及当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;步骤303,接收第二方发送的与各条第二数据分别对应的各个第二加盐密文,其中,各个第二加盐密文由第二方基于第二密钥及当前盐,分别针对各条第二数据进行加密操作确定;步骤304,利用第一密钥对各个第二加盐密文加密,得到分别与各条第二数据对应的各个第三加盐密文;步骤305,将各个第三加盐密文经过乱序操作后反馈至第二方,以供第二方通过第二密钥的逆元素对各个第三密文解密,得到基于第一密钥、当前盐,分别针对各个第二数据的各条第四加盐密文,并对比各个第一加盐密文和各个第四加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;步骤306,根据第二方反馈的各个位置标识,确定若干条第一数据与若干条第二数据的之间的相同业务数据。
首先,在步骤301,与第二方协商当前盐。可以理解,根据本说明书的技术构思,当前盐可以是用于当前轮次的盐。当前盐的形式可以与所采用的加密方式相对应。例如,使用椭圆曲线的加密方式的情况下,当前盐可以对应到椭圆曲线上的点,有限域的加密方式下,当前盐可以对应到有限域中的数,等等。其中,当前盐的确定方式详见前文,在此不再赘述。
进一步地,在步骤302,基于各个第一密文以及当前盐,确定各个第一数据的第一加盐密文,以提供给第二方。可以理解,根据预定元素集合的性质,将第一数据和当前盐分别进行加密再执行加盐操作,和先利用当前盐对第一数据加盐操作后再加密,结果是等价的。因此,在本说明书的实施架构下,为了反复利用各条第一数据分别对应的各个第一密文,可以采用先将第一数据和当前盐分别进行加密再执行加盐操作的方式。
第一方首先可以利用第一密钥Ka对当前盐进行加密。例如,在采用椭圆曲线加密的方式下,加密操作可以是对椭圆上的点的点乘操作KaS,在有限域方式下,还可以采用模乘操作SKa%Q对当前盐加密,等等。对当前盐的该加密结果可以称为盐的密文。
接着,可以基于盐的密文对各条第一数据分别对应的各个第一密文进行加盐操作,得到各条第一数据分别对应的各个第一加盐密文,并向第二方提供各个第一加盐密文。可以理解,在加密方式符合分配律的情况下,对第一密文和盐的密文执行加盐操作,可以与对第一数据利用当前盐加盐后的加密操作得到一致的结果,在本说明书中称为第一加盐密文。第一加盐密文例如可以记为KaS+Ka(H(a))。在有限域形式下,第一加盐密文还可以是(S×H(a))Ka %Q的形式。之后,第一方可以将各条第一加盐密文提供给第二方。
另一方面,在步骤303中,接收第二方发送的与各条第二数据分别对应的各个第二加盐密文。可以理解,第二加盐密文可以是第二方通过第二密钥对各条第二数据的加盐数据进行加密得到的密文。其中,第二方得到第二加盐密文的方式可以与第一方一致,也可以先对各条第二数据执行加盐操作,再利用第二密钥加密。与第一加盐密文类似地,根据加密形式的不同,第二加盐密文的确定方式也有所区别。在加密形式为椭圆曲线的情况下,分别通过点加、点乘实现加盐操作、加密操作,在加密形式为有限域的情况下,通过模幂、模乘实现加盐操作、加密操作,在此不再赘述。
然后,在步骤304中,通过第一密钥对各个第二加盐密文加密,得到分别与各条第二数据分别对应的各个第三加盐密文。通过第一密钥对各个第二加盐密文加密的过程与通过第一密钥对各个第一数据加密的过程类似,在此不再赘述。例如在椭圆曲线加密情况下,第二加盐密文记为Kb(H(b)+S),则通过第一密钥对各个第二加盐密文加密的结果可以记为KaKb(H(b)+S)。在有限域形式下,通过第一密钥对各个第二加盐密文加密的结果可以等价于(S×H(a))KaKb%Q。
接着,通过步骤305,将各个第三加盐密文经过乱序操作后反馈至第二方。可以理解,乱序就是扰乱顺序。也就是说,将第三加盐密文重新排序或打乱顺序排列。各条第三密文的内容不变,顺序重新排列,如此,可以使得第三密文反馈至第二方后,第二方无法根据第三加盐密文的排列次序确定各条密文是哪条第二数据对应的密文。
第二方收到各条第三加盐密文,首先可以通过第二密钥Kb的逆元素对各个第三加盐密文解密,得到经由第一密钥对映射为椭圆曲线上的各个点的各条第二数据通过当前盐加盐后的数据进行加密的各条第四加盐密文。第二密钥的逆元素例如为Kb-1。解密过程例如为Kb-1KaKb(H(b)+S)=Ka(H(b)+S),或者((H(b)×S)KaKbKb-1%Q=(H(b)×S)Ka%Q,在此不再赘述。
第二方还可以对比各个第一加盐密文和各个第四加盐密文,将各个相同加盐密文所在的各个位置标识反馈至第一方。即对比KaS+Ka(H(a))和Ka(H(b)+S)的结果,或者(H(b)×S)Ka 与(H(a)×S)Ka的结果。由于椭圆曲线或有限域等加密形式满足分配律,以上两种形式下,对比主体(各个第一加盐密文和各个第四加盐密文)分别可以看作第一数据和第二数据加盐后再通过第一密钥加密的结果。对比过程参考前文对图2中相关内容的描述,在此不再赘述。
由于第三加盐密文的顺序被打乱,第二方根据对比出的相同业务数据位置不能确定相应的第二数据。为了由第一方确定出相同业务数据(交集),第二方可以记录匹配到相应第四加盐密文的第一加盐密文的位置标识,并提供给第一方。第一加盐密文的位置标识例如可以是第一加盐密文的当前序次(如第50条)、存储码、密文ID等等。
步骤306,根据第二方反馈的各个位置标识确定若干条第一数据与若干条第二数据中的相同业务数据。第一方根据各个位置标识可以获取本地业务数据中的相关第一数据,这些第一数据是与第二数据相匹配的业务数据,亦即相同的业务数据。
以第二方对应的设备为执行主体,图4还示出了另一个实施例的隐私求交的流程,该流程包括:
步骤401,与第一方协商确定当前盐。当前盐的形式可以与所采用的加密方式相对应。例如,使用椭圆曲线的加密方式的情况下,当前盐可以对应到椭圆曲线上的点,有限域的加密方式下,当前盐可以对应到有限域中的数,等等。其中,当前盐的确定方式详见前文,在此不再赘述。
步骤402,针对各条第二数据,分别基于第二密钥及当前盐进行加盐加密操作,从而确定各条第二数据分别对应的各个第二加盐密文。这里,可以先对各条第二数据执行加盐操作后加密,也可以先执行加密操作后进行加盐处理,在此不再赘述。
步骤403,将各个第二加盐密文提供给第一方。这样,可以供第一方通过第一密钥对各个第二加盐密文加密,得到与各条第二数据分别对应的各个第三加盐密文,并反馈经过乱序操作的各个第三加盐密文;
步骤404,通过第二密钥的逆元素对各个第三加盐密文解密,得到经由第一密钥、当前盐,分别针对各条第二数据加盐加密的各条第四加盐密文。
步骤405,对比各个第四加盐密文和分别与各条第一数据对应的各个第一加盐密文,以得到具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识,并将各个位置标识反馈至第一方,以供第一方根据第二方反馈的各个位置标识确定若干条第一数据与若干条第二数据的数据交集(相同业务数据)。其中,各条第一加盐密文由第一方利用各条第一数据分别对应的各个第一密文,及所述当前盐确定,各个第一密文由第一方预先利用第一密钥分别对各条第一数据加密得到。
在一个实施例中,可以针对单个第四加盐密文,与各个第一加盐密文逐一对比,直至出现与该第四加盐密文相同的第一加盐密文,然后,根据与该第四加盐密文相同的第一加盐密文在各个第一加盐密文的序次,确定该第一加盐密文对应的第一数据的位置标识。
在其他实施例中,还可以采取针对单个第一加盐密文逐个与第四加盐密文等方式确定各个具有相匹配的第四加盐密文的各个第一加盐密文,在此不做限定。其中,位置标示可以是在各条第一加盐密文中的排列次序、密文ID、存储标记等等。
在可选的实施方式中,为了节约计算量,对于匹配到相应第四加盐密文的第一加盐密文,还可以将相应的第四加盐密文/第一加盐密文删除,或标记为已匹配等,在后续密文匹配过程中不再使用该条加盐密文。
值得说明的是,图2示出的实施例是一个具体实施架构下,第一方和第二方交互的角度撰写的实施例,其相关描述可以适应于图3、图4单端描述的实施例的相关部分。其中,图2、图3、图4中示出的一些步骤仅为一个实施示例,实践中,在不对结果产生实质性影响的情况下,一些步骤可以相互调换顺序。例如,图3中,确定各个第一数据分别对应的各条第一加盐密文的步骤(步骤301-步骤302),与确定各个第二数据分别对应的各条第三加盐密文的步骤(步骤303-步骤305),可以相互调换执行顺序执行,或者并列执行,在此不做限定。
回顾以上过程,在第一方和第二方进行隐私求交过程中,基于其中一方可以获取数据交集且另一方不能知道另一方的业务数据,或者本地业务数据中的任意一条是否被另一方持有的业务需求,通过将各条业务数据映射为预定元素集合中的元素,并由各个数据方协商当前盐用于两个数据方对数据的处理,从而数据变化频率小的一方可以将业务数据提前进行加密处理并反复使用,如此,在隐私求交过程中仅对协商的当前盐进行加密,并利用盐的密文对业务数据的密文进行加盐操作,大大减少对业务数据加密的计算量,提高隐私求交的效率。
进一步地,本说明书实施例提供的隐私求交的流程可以推广到更多隐私求交的业务场景,例如对第二方对交集数据是否获知交集数据不做限定等。参考图3、图4所示,在业务需求为第二方可以获知交集数据的情况下,步骤305中,第一方反馈至第二方的各个第三加盐密文可以不经过乱序操作,步骤405中,第二方经过对比可以直接得到相同业务数据,即交集数据,并提供给第一方。这种情况下在可选的实施例中,步骤306可以删除。进一步地,在业务需求为仅第二方获知交集数据的情况下,步骤405中,第二方经过对比可以直接得到相同业务数据,即交集数据,可以不向第一方提供。在其他业务场景下,这种加密加盐的技术构思在经过加盐加密步骤后还可以有其他处理方式,在此不再一一赘述。
根据另一方面的实施例,还提供一种隐私求交的***。如图5所示,该***包括作为数据方的第一方和第二方,由第一方获取第一方持有的若干条第一数据与第二方持有的若干条第二数据的数据交集,且第二方不能获取数据交集以及不能确定任一条第二数据是否属于第一方。参考图5所示:
第一方510与第二方520配置为共同协商当前盐;
第一方510还配置为,基于各个第一密文以及当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;
第二方520还配置为,基于第二密钥及当前盐,确定各个第二数据分别对应的各个第二加盐密文,以提供给第一方;
第一方510还配置为,用第一密钥对各个第二加盐密文进行加密,得到各个第二数据分别对应的第三加盐密文以乱序后提供给第二方;
第二方520还配置为,通过第二密钥的逆元素对各个第三加盐密文解密,得到基于第一密钥、当前盐,分别针对各个第二数据的各个第四加盐密文;以及,对比各个第四加盐密文与各个第一加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;
第一方510还配置为,根据第二方反馈的各个位置标识,确定若干条第一数据与若干条第二数据之间的相同业务数据。
更具体地,第一方510可以包括隐私求交的装置,该装置包括:
协商单元511,配置为与第二方协商当前盐;
加盐加密单元512,配置为基于各个第一密文以及当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;
接收单元513,配置为接收第二方发送的与各条第二数据分别对应的各个第二加盐密文,其中,各个第二加盐密文由第二方基于第二密钥及当前盐,分别针对各条第二数据进行加密操作确定;
加盐加密单元512,还配置为利用第一密钥对各个第二加盐密文加密,得到分别与各条第二数据对应的各个第三加盐密文;
乱序单元514,配置为将各个第三加盐密文经过乱序操作后反馈至第二方,以供第二方通过第二密钥的逆元素对各个第三加盐密文解密,得到基于第一密钥、当前盐,分别针对各个第二数据的各条第四加盐密文,并对比各个第一加盐密文和各个第四加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;
确定单元515,配置为根据第二方反馈的各个位置标识,确定若干条第一数据与若干条第二数据之间的相同业务数据。
另一方面,如图5所示,第二方也可以包括隐私求交的装置。该装置包括:
协商单元521,配置为与第一方协商确定当前盐;
加盐加密单元522,配置为针对各条第二数据,分别基于第二密钥及当前盐进行加盐加密操作从而确定各条第二数据分别对应的各个第二加盐密文;
发送单元523,配置为将各个第二加盐密文提供给第一方,以供第一方通过第一密钥对各个第二加盐密文加密,得到与各条第二数据分别对应的各个第三加盐密文,并反馈经过乱序操作的各个第三加盐密文;
解密单元524,配置为通过第二密钥的逆元素对各个第三加盐密文解密,得到经由第一密钥、当前盐,分别针对各条第二数据加盐加密的各条第四加盐密文;
对比单元525,配置为对比各个第四加盐密文和分别与各条第一数据对应的各个第一加盐密文,以得到具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识,并将各个位置标识反馈至第一方,以供第一方根据第二方反馈的各个位置标识确定若干条第一数据与若干条第二数据之间的相同业务数据,其中,各条第一加盐密文由第一方利用各条第一数据分别对应的各个第一密文,及当前盐确定,各个第一密文由第一方预先利用第一密钥分别对各条第一数据加密得到。
值得说明的是,图5示出的***和装置分别与图2、图3、图4示出的方法实施例对应,图2、图3、图4的方法实施例中的相应描述分别适用于图5示出的***和装置,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3或图4等所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3或图4等所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。

Claims (25)

1.一种隐私求交的方法,用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所述若干条第一数据与所述若干条第二数据中的相同业务数据,且第二方不能获取该相同业务数据以及不能确定任一条第二数据是否属于第一方,第一方为提供预定业务的服务方,并预先存储有利用第一密钥分别对各条第一数据加密得到的各个第一密文,第二方为数据方或业务需求方;所述方法包括:
第一方与第二方协商当前盐;
第一方基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;
第二方基于第二密钥及所述当前盐,确定各个第二数据分别对应的各个第二加盐密文,以提供给第一方;
第一方利用所述第一密钥对各个第二加盐密文进行加密,得到各个第二数据分别对应的第三加盐密文以乱序后提供给第二方;
第二方通过所述第二密钥的逆元素对各个第三加盐密文解密,得到基于所述第一密钥、所述当前盐分别针对各个第二数据的各个第四加盐密文;
第二方对比各个第四加盐密文与各个第一加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;
第一方根据第二方反馈的各个位置标识,确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据。
2.根据权利要求1所述的方法,其中,所述当前盐基于从预定元素集合中选定的基准元素以及所述第一密钥、所述第二密钥确定,所述预定元素集合中的元素满足以下条件:任意两个元素在预定加密方式下的融合结果,仍为所述预定元素集合中的元素;针对单个元素的两次按照预定加密方式的加密过程具有可交换性。
3.根据权利要求2所述的方法,其中,所述预定元素集合为椭圆曲线上的点集,各个预定元素分别为椭圆曲线上的各个点,所述基准元素为椭圆曲线上的参考点,所述预定加密方式为点乘操作;
所述第一方与第二方协商当前盐包括:
第一方和第二方的其中一方生成第一随机字符串,并利用所述第一随机字符串对所述参考点执行点乘操作,得到第一结果,以将所述第一结果发送给第一方和第二方中的另一方,所述第一结果对应所述椭圆曲线上的点;
所述另一方基于本地生成的第二随机字符串,对所述第一结果进行点乘操作,得到所述当前盐。
4.根据权利要求2所述的方法,其中,所述预定元素集合为有限域,各个预定元素分别为有限域中的Q个元素,所述预定加密方式为模幂操作;
所述第一方与第二方协商当前盐包括:
第一方生成第三随机字符串,第二方生成第四随机字符串;
第一方和第二方利用所述第三随机字符串和所述第四随机字符串,联合对Q进行模幂操作,得到所述当前盐。
5.根据权利要求1所述的方法,其中,所述第一方基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文包括:
第一方利用第一密钥对所述当前盐加密,得到盐的密文;
基于所述盐的密文对各个第一密文进行加盐操作,得到各条第一数据分别对应的各个第一加盐密文。
6.根据权利要求5所述的方法,其中:
在各个第一密文和所述盐的密文分别映射为椭圆曲线上的各个点的情况下,所述基于所述盐的密文对各个第一密文进行加盐操作包括:
针对单个第一密文,对所述单个第一密文对应到椭圆曲线上的点和所述盐的密文对应到椭圆曲线上的点执行点加操作;
在各个第一密文和所述盐的密文分别映射为有限域中的各个元素的情况下,所述基于所述盐的密文对各个第一密文进行加盐操作包括:
针对单个第一密文,对所述单个第一密文对应到有限域的数值和所述盐的密文对应到有限域的数值执行模乘操作。
7.根据权利要求1所述的方法,其中,第二方基于第二密钥及所述当前盐,确定各个第二数据分别对应的各个第二加盐密文包括:
根据所述当前盐,分别对各个第二数据执行加盐操作,得到各自对应的第二加盐数据;
利用所述第二密钥分别对各个第二加盐数据执行加密操作,得到各个第二数据分别对应的各个第二加盐密文。
8.一种隐私求交的方法,用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所述若干条第一数据与所述若干条第二数据的数据交集,且第二方不能获取数据交集以及不能确定任一条第二数据是否属于第一方,第一方还预先存储有利用第一密钥分别对各条第一数据加密得到的各个第一密文;所述方法由第一方执行,包括:
与第二方协商当前盐;
基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;
接收第二方发送的与各条第二数据分别对应的各个第二加盐密文,其中,各个第二加盐密文由第二方基于第二密钥及所述当前盐,分别针对各条第二数据进行加密操作确定;
利用所述第一密钥对各个第二加盐密文加密,得到分别与各条第二数据对应的各个第三加盐密文;
将各个第三加盐密文经过乱序操作后反馈至第二方,以供第二方通过第二密钥的逆元素对各个第三加盐密文解密,得到基于所述第一密钥、所述当前盐分别针对各个第二数据的各条第四加盐密文,并对比各个第一加盐密文和各个第四加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;
根据第二方反馈的各个位置标识,确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据。
9.根据权利要求8所述的方法,其中,所述当前盐基于从预定元素集合中选定的基准元素以及所述第一密钥、所述第二密钥确定,所述预定元素集合中的元素满足以下条件:任意两个元素在预定加密方式下的融合结果,仍为所述预定元素集合中的元素;针对单个元素的两次按照预定加密方式的加密过程具有可交换性。
10.根据权利要求9所述的方法,其中,所述预定元素集合为椭圆曲线上的点集,各个预定元素分别为椭圆曲线上的各个点,所述基准元素为椭圆曲线上的参考点,所述预定加密方式为点乘操作;
所述与第二方协商当前盐包括:
生成第一随机字符串;
将所述第一随机字符串与所述参考点执行点乘操作,得到第一结果,以将所述第一结果发送至第二方,以供第二方基于本地生成的第二随机字符串对所述第一结果执行点乘操作从而确定所述当前盐;或者
根据所述第一随机字符串对从第二方获取的第二结果执行点乘操作从而确定所述当前盐,其中,所述第二结果由第二方基于本地生成的第二随机字符串对所述参考点执行点乘操作得到。
11.根据权利要求9所述的方法,其中,所述预定元素集合为有限域,各个预定元素分别为有限域中的Q个元素,所述预定加密方式为模幂操作;
所述与第二方协商当前盐包括:
生成第三随机字符串;
基于所述第三随机字符串,与第二方生成的第四随机字符串联合对Q进行模幂操作,得到所述当前盐。
12.根据权利要求9所述的方法,其中,所述基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文包括:
利用所述第一密钥对所述当前盐进行加密,得到盐的密文;
针对各条第一密文,分别利用所述盐的密文执行加盐操作,得到相应的各个第一加盐密文。
13.一种隐私求交的方法,用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所述若干条第一数据与所述若干条第二数据中相同业务数据,且第二方不能获取该相同业务数据以及不能确定任一条第二数据是否属于第一方;所述方法由第二方执行,包括:
与第一方协商确定当前盐;
针对各条第二数据,分别基于第二密钥及所述当前盐进行加盐加密操作从而确定各条第二数据分别对应的各个第二加盐密文;
将各个第二加盐密文提供给第一方,以供第一方通过第一密钥对各个第二加盐密文加密,得到与各条第二数据分别对应的各个第三加盐密文,并反馈经过乱序操作的各个第三加盐密文;
通过所述第二密钥的逆元素对各个第三加盐密文解密,得到经由所述第一密钥、所述当前盐分别针对各条第二数据加盐加密的各条第四加盐密文;
对比各个第四加盐密文和分别与各条第一数据对应的各个第一加盐密文,以得到具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识,并将各个位置标识反馈至第一方,以供第一方根据第二方反馈的各个位置标识确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据,其中,各条第一加盐密文由第一方利用各条第一数据分别对应的各个第一密文,及所述当前盐确定,各个第一密文由第一方预先利用所述第一密钥分别对各条第一数据加密得到。
14.根据权利要求13所述的方法,其中,所述当前盐基于从预定元素集合中选定的基准元素以及所述第一密钥、所述第二密钥确定,所述预定元素集合中的元素满足以下条件:任意两个元素在预定加密方式下的融合结果,仍为所述预定元素集合中的元素;针对单个元素的两次按照预定加密方式的加密过程具有可交换性。
15.根据权利要求14所述的方法,其中,所述预定元素集合为椭圆曲线上的点集,各个预定元素分别为椭圆曲线上的各个点,所述基准元素为椭圆曲线上的参考点,所述预定加密方式为点乘操作;所述与第一方协商当前盐包括:
生成第二随机字符串;
将所述第二随机字符串与所述参考点执行点乘操作,得到第二结果,以将所述第二结果发送至第一方,以供第一方基于本地生成的第一随机字符串对所述第二结果执行点乘操作从而确定所述当前盐;或者
根据所述第二随机字符串对从第一方获取的第一结果执行点乘操作从而确定所述当前盐,其中,所述第一结果由第一方基于本地生成的第一随机字符串对所述参考点执行点乘操作得到。
16.根据权利要求14所述的方法,其中,所述预定元素集合为有限域,各个预定元素分别为有限域中的Q个元素,所述预定加密方式为模幂操作;
所述与第一方协商当前盐包括:
生成第四随机字符串;
基于所述第四随机字符串,与第一方生成的第三随机字符串联合对Q进行模幂操作,得到所述当前盐。
17.根据权利要求15所述的方法,其中,所述针对各条第二数据,分别基于第二密钥及所述当前盐进行加盐加密操作从而确定各条第二数据分别对应的各个第二加盐密文包括:
针对单条第二数据,将其映射到椭圆曲线上的点与当前盐对应于椭圆曲线上的点执行点加操作,得到该单条第二数据对应的单条加盐数据;
利用所述第二密钥针对该单条加盐数据执行点乘操作,得到与该单条第二数据对应的第二加盐密文。
18.根据权利要求16所述的方法,其中,所述针对各条第二数据,分别基于第二密钥及所述当前盐进行加盐加密操作从而确定各条第二数据分别对应的各个第二加盐密文包括:
针对单条第二数据与当前盐,执行针对Q的模乘操作,得到该单条第二数据对应的单条加盐数据;
利用该单条加盐数据和所述第二密钥,执行针对Q的模幂操作,得到与相应单个第二数据对应的第二加盐密文。
19.根据权利要求13所述的方法,其中,所述对比各个第四加盐密文和分别与各条第一数据对应的各个第一加盐密文,以得到各个相同加盐密文所在的各个位置标识包括:
针对单个第四加盐密文,与各个第一加盐密文逐一对比,直至出现与该第四加盐密文相同的第一加盐密文;
根据与该第四加盐密文相同的第一加盐密文在各个第一加盐密文的序次,确定该第一加盐密文对应的第一数据的位置标识。
20.根据权利要求19所述的方法,所述针对单个第四加盐密文,与各个第一加盐密文逐一对比过程中,从各个第一加盐密文中剔除已经确定与其他第四加盐密文相同的第一加盐密文。
21.一种隐私求交的***,包括作为数据方的第一方和第二方,由第一方获取第一方持有的若干条第一数据与第二方持有的若干条第二数据的数据交集,且第二方不能获取数据交集以及不能确定任一条第二数据是否属于第一方,第一方还预先存储有利用第一密钥分别对各条第一数据加密得到的各个第一密文;其中:
第一方与第二方配置为共同协商当前盐;
第一方还配置为,基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;
第二方还配置为,基于第二密钥及所述当前盐,确定各个第二数据分别对应的各个第二加盐密文,以提供给第一方;
第一方进一步还配置为,用所述第一密钥对各个第二加盐密文进行加密,得到各个第二数据分别对应的第三加盐密文以乱序后提供给第二方;
第二方还配置为,通过所述第二密钥的逆元素对各个第三加盐密文解密,得到基于所述第一密钥、所述当前盐分别针对各个第二数据的各个第四加盐密文;以及
对比各个第四加盐密文与各个第一加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;
第一方还配置为,根据第二方反馈的各个位置标识,确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据。
22.一种隐私求交的装置,设于持有若干条第一数据的第一方,用于针对作为数据方的第一方和第二方,获取所述若干条第一数据与第二方持有的若干条第二数据的数据交集,且第二方不能获取数据交集以及不能确定任一条第二数据是否属于第一方,第一方还预先存储有利用第一密钥分别对各条第一数据加密得到的各个第一密文;所述装置包括:
协商单元,配置为与第二方协商当前盐;
加盐加密单元,配置为基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;
接收单元,配置为接收第二方发送的与各条第二数据分别对应的各个第二加盐密文,其中,各个第二加盐密文由第二方基于第二密钥及所述当前盐,分别针对各条第二数据进行加密操作确定;
所述加盐加密单元,还配置为利用所述第一密钥对各个第二加盐密文加密,得到分别与各条第二数据对应的各个第三加盐密文;
乱序单元,配置为将各个第三加盐密文经过乱序操作后反馈至第二方,以供第二方通过第二密钥的逆元素对各个第三加盐密文解密,得到基于所述第一密钥、所述当前盐分别针对各个第二数据的各条第四加盐密文,并对比各个第一加盐密文和各个第四加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;
确定单元,配置为根据第二方反馈的各个位置标识,确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据。
23.一种隐私求交的装置,设于持有若干条第二数据的第二方,用于针对作为数据方的第一方和第二方,由第一方获取第一方持有的若干条第一数据与所述若干条第二数据的数据交集,且第二方不能获取数据交集以及不能确定任一条第二数据是否属于第一方;所述装置包括:
协商单元,配置为与第一方协商确定当前盐;
加盐加密单元,配置为针对各条第二数据,分别基于第二密钥及所述当前盐进行加盐加密操作从而确定各条第二数据分别对应的各个第二加盐密文;
发送单元,配置为将各个第二加盐密文提供给第一方,以供第一方通过第一密钥对各个第二加盐密文加密,得到与各条第二数据分别对应的各个第三加盐密文,并反馈经过乱序操作的各个第三加盐密文;
解密单元,配置为通过所述第二密钥的逆元素对各个第三加盐密文解密,得到经由所述第一密钥、所述当前盐分别针对各条第二数据加盐加密的各条第四加盐密文;
对比单元,配置为对比各个第四加盐密文和分别与各条第一数据对应的各个第一加盐密文,以得到具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识,并将各个位置标识反馈至第一方,以供第一方根据第二方反馈的各个位置标识确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据,其中,各条第一加盐密文由第一方利用各条第一数据分别对应的各个第一密文,及所述当前盐确定,各个第一密文由第一方预先利用所述第一密钥分别对各条第一数据加密得到。
24.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求8-20中任一项的所述的方法。
25.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求8-20中任一项所述的方法。
CN202110235466.XA 2021-03-03 2021-03-03 隐私求交的方法及装置 Active CN112597524B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110235466.XA CN112597524B (zh) 2021-03-03 2021-03-03 隐私求交的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110235466.XA CN112597524B (zh) 2021-03-03 2021-03-03 隐私求交的方法及装置

Publications (2)

Publication Number Publication Date
CN112597524A CN112597524A (zh) 2021-04-02
CN112597524B true CN112597524B (zh) 2021-05-18

Family

ID=75210358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110235466.XA Active CN112597524B (zh) 2021-03-03 2021-03-03 隐私求交的方法及装置

Country Status (1)

Country Link
CN (1) CN112597524B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113158253B (zh) * 2021-05-14 2023-05-12 深圳前海微众银行股份有限公司 一种隐私求并集方法及装置
CN113343255B (zh) * 2021-06-04 2024-06-25 百融云创科技股份有限公司 一种基于隐私保护的数据交互方法
CN113468601B (zh) * 2021-06-30 2022-08-02 建信金融科技有限责任公司 数据隐私融合方法和装置
CN113726764B (zh) * 2021-08-27 2023-03-24 杭州溪塔科技有限公司 一种隐私数据传输方法及装置
CN114003962B (zh) * 2021-12-28 2022-04-12 支付宝(杭州)信息技术有限公司 保护数据隐私的多方数据查询方法及装置
CN114640444B (zh) * 2022-03-18 2023-10-24 哈尔滨理工大学 基于国产密码算法的隐私保护集合交集获取方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664798B (zh) * 2017-03-31 2021-06-29 北京京东尚科信息技术有限公司 信息加密方法和装置
CN108022654B (zh) * 2017-12-20 2021-11-30 深圳先进技术研究院 一种基于隐私保护的关联规则挖掘方法、***及电子设备
CN108199838B (zh) * 2018-01-31 2020-05-05 北京深思数盾科技股份有限公司 一种数据保护方法及装置
CN111767364B (zh) * 2019-03-26 2023-12-29 钉钉控股(开曼)有限公司 数据处理方法、装置和设备
CN110535622A (zh) * 2019-08-01 2019-12-03 阿里巴巴集团控股有限公司 数据处理方法、装置和电子设备
CN112152813B (zh) * 2020-09-11 2022-06-07 中南民族大学 一种支持隐私保护的无证书内容提取签密方法

Also Published As

Publication number Publication date
CN112597524A (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
CN112597524B (zh) 隐私求交的方法及装置
CN113424185B (zh) 快速不经意传输
US7873169B2 (en) Methods, devices and systems for generating anonymous public keys in a secure communication system
US8918648B2 (en) Digital signature and key agreement schemes
CN108199835B (zh) 一种多方联合私钥解密方法
US8331568B2 (en) Efficient distribution of computation in key agreement
CN112906030B (zh) 基于多方全同态加密的数据共享方法和***
US10797867B2 (en) System and method for electronic bidding
EP1526676A1 (en) Conference session key distribution method on an id-based cryptographic system
US11405365B2 (en) Method and apparatus for effecting a data-based activity
CN114219483B (zh) 基于lwe-cpabe的区块链数据共享方法、设备和存储介质
US11374910B2 (en) Method and apparatus for effecting a data-based activity
CN105307165A (zh) 基于移动应用的通信方法、服务端和客户端
US11451369B2 (en) Method and system for multi-authority controlled functional encryption
CN113886887A (zh) 基于多方安全计算的数据查询方法及装置
US20240097894A1 (en) Threshold key exchange
CN113014386A (zh) 基于多方协同计算的密码***
CA2730626C (en) Improved digital signature and key agreement schemes
US20210158444A1 (en) Method and Apparatus for a Blockchain-Agnostic Safe Multi-Signature Digital Asset Management
Annessi et al. Improving security for users of decentralized exchanges through multiparty computation
US20190215148A1 (en) Method of establishing anti-attack public key cryptogram
US20230027010A1 (en) Secret code verification protocol
CN114448636B (zh) 基于数字证书的抗量子计算数字货币***及匿名通信方法
US11451518B2 (en) Communication device, server device, concealed communication system, methods for the same, and program
CN115378588B (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
TR01 Transfer of patent right

Effective date of registration: 20220113

Address after: Room 803, floor 8, No. 618 Wai Road, Huangpu District, Shanghai 200010

Patentee after: Ant blockchain Technology (Shanghai) Co.,Ltd.

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.

TR01 Transfer of patent right