CN114285558A - 一种基于半可信硬件的多方隐私计算方法及装置 - Google Patents

一种基于半可信硬件的多方隐私计算方法及装置 Download PDF

Info

Publication number
CN114285558A
CN114285558A CN202111598466.2A CN202111598466A CN114285558A CN 114285558 A CN114285558 A CN 114285558A CN 202111598466 A CN202111598466 A CN 202111598466A CN 114285558 A CN114285558 A CN 114285558A
Authority
CN
China
Prior art keywords
semi
trusted hardware
circuit
user
random
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
CN202111598466.2A
Other languages
English (en)
Other versions
CN114285558B (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202111598466.2A priority Critical patent/CN114285558B/zh
Priority to PCT/CN2021/141686 priority patent/WO2023115603A1/zh
Publication of CN114285558A publication Critical patent/CN114285558A/zh
Application granted granted Critical
Publication of CN114285558B publication Critical patent/CN114285558B/zh
Priority to US18/540,943 priority patent/US12069170B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/16Obfuscation or hiding, e.g. involving white box
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于半可信硬件的多方隐私计算方法及装置,其中应用于半可信硬件的方法包括:获取所有用户端的随机数掩膜和随机种子;根据所述随机种子,生成混淆电路种子;根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签;将所述混淆表和解码信息发送给所述半可信硬件对应的用户端,以使得所述用户端根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。解决了相关技术中存在的硬件半可信且多方计算技术通讯量大或通讯轮次多的技术问题。

Description

一种基于半可信硬件的多方隐私计算方法及装置
技术领域
本申请涉及隐私保护数据处理领域,尤其涉及一种基于半可信硬件的多方隐私计算方法及装置。
背景技术
随着计算机网络技术的发展,电子选举、电子拍卖和隐私信息检索等需要参与者交换隐私数据、合作完成计算任务的场景不断增多。为了在共享数据进行计算的同时保证数据的隐私性和安全性,可以应用隐私计算技术,而安全多方计算(Secure Multi-partyComputation,MPC)技术是隐私计算技术的核心组成部分,它可以让多个互不信任的参与方在没有可信第三方存在的情况下协同计算一个预先商定好的函数,同时不泄露除了函数输出以外的任何信息,如参与方的隐私输入。由于参与方之间互不信任,传统的安全多方计算技术需要使用各类密码学原语设计协议,通过秘密分享、同态加密、混淆电路等技术,让各个参与方都只在加密的数据上进行运算操作,避免参与方直接得到其他用户的明文隐私数据。另一种安全多方计算技术则是基于半可信硬件实现,协议中将半可信硬件视为可信第三方,参与方通过安全信道直接以明文形式向半可信硬件发送隐私数据,并由半可信硬件直接在明文数据上运算得到结果并输出。
然而,在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
对于使用密码学技术构建安全多方计算协议的方法,这一方法需要的通讯量大、通讯轮次多,在实际运行过程中耗时长,导致参与方需要长期处于计算过程,一旦受到扰动就可能导致整个计算过程失败;对于使用半可信硬件设计安全多方计算协议的方法,这一方法引入了额外的可信根,依赖于半可信硬件不会窃取参与方隐私的假设,一旦该假设不成立,就会导致所有参与方的隐私输入直接被泄露。总的来说,现有技术或是存在通讯量大、通讯轮次多、耗时长的问题,或是存在参与方输入隐私性无法保证的问题,难以兼顾效率和隐私性。
发明内容
本申请实施例的目的是提供一种基于半可信硬件的多方隐私计算方法及装置,以解决相关技术中存在的硬件半可信且多方计算技术通讯量大或通讯轮次多的技术问题。
根据本申请实施例的第一方面,提供一种基于半可信硬件的多方隐私计算方法,应用于半可信硬件,包括:
获取所有用户端的随机数掩膜和随机种子;
根据所述随机种子,生成混淆电路种子;
根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;
利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签;
将所述混淆表和解码信息发送给所述半可信硬件对应的用户端,以使得所述用户端根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
进一步地,获取所有用户端的随机数掩膜和随机种子,包括:
获取所述半可信硬件对应的用户端的随机数掩膜和随机种子;
通过所述半可信硬件与其他用户端之间的安全信道,获取其他用户端的加密随机数掩膜和加密随机种子;
根据半可信硬件与每个用户端之间的对称密钥,对所述加密随机数掩膜和加密随机种子进行解密,得到解密随机数掩膜和解密随机种子;
对所述解密随机数掩膜和解密随机种子进行验证;
若验证通过,则将所述解密随机数掩膜作为随机数掩膜,将所述解密随机种子作为随机种子。
进一步地,根据预定电路描述和所述混淆电路种子,生成混淆电路,包括:
根据预定电路描述和所述混淆电路种子,生成线路标签,所述线路标签包括若干0线路标签和1线路标签;
根据所述预定电路描述、所述0线路标签和所述1线路标签,生成若干混淆表,其中混淆表的数量与所述预定电路描述中的布尔门数量相同;
根据所述预定电路描述和电路输出线路的线路标签,生成若干解码信息。
进一步地,利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签,包括:
根据所有用户端的随机数掩膜,对混淆电路中所有用户端的输入对应的线路标签进行排列;
根据每个比特对应的排列后的输入的线路标签和由用户端输入的每个比特对应的加密后的输入,执行若干2选1不经意传输协议,其中每个不经意传输协议对应于用户端一个比特的输入,以使得所述半可信硬件向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签。
根据本申请实施例的第二方面,提供一种基于半可信硬件的隐私计算方法,应用于用户端,包括:
利用远程认证机制,与其他用户端对应的半可信硬件构建安全信道;
随机选取随机数掩膜并根据所述随机数掩膜对输入进行加密;
将加密后的输入发送给其他所有用户端;
通过所述安全信道,将所述随机数掩膜发送给其他用户端对应的半可信硬件,同时直接将所述随机数掩膜发送给自己对应的半可信硬件;
随机选取随机种子,将所述随机种子通过所述安全信道发送至其他用户端对应的半可信硬件,同时直接将所述随机种子发送至所述用户端对应的半可信硬件,以使得半可信硬件获取所有用户端的随机数掩膜和随机种子,根据所述随机种子,生成混淆电路种子,根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息,利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签,将所述混淆表和解码信息发送给所述半可信硬件对应的用户端;
通过不经意传输协议,从对应的半可信硬件中获取所有用户端的输入对应的线路标签;
从对应的半可信硬件中获取混淆表和解码信息;
根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
根据本申请实施例的第三方面,提供一种基于半可信硬件的隐私计算装置,其特征在于,应用于半可信硬件,包括:
第一获取模块,用于获取所有用户端的随机数掩膜和随机种子;
第一生成模块,用于根据所述随机种子,生成混淆电路种子;
第二生成模块,用于根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;
第一发送模块,用于利用不经意传输协议,发送所有用户端的输入对应的线路标签;
第二发送模块,用于将所述混淆表和解码信息发送给所述半可信硬件对应的用户端,以使得所述用户端根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
进一步地,根据预定电路描述和所述混淆电路种子,生成混淆电路,包括:
根据预定电路描述和所述混淆电路种子,生成线路标签,所述线路标签包括若干0线路标签和1线路标签;
根据所述预定电路描述、所述0线路标签和所述1线路标签,生成若干混淆表,其中混淆表的数量与所述预定电路描述中的布尔门数量相同;
根据所述预定电路描述和电路输出线路的线路标签,生成若干解码信息。
根据本申请实施例的第四方面,提供一种基于半可信硬件的隐私计算装置,应用于用户端,包括:
构建模块,用于利用远程认证机制,与其他用户端对应的半可信硬件构建安全信道;
加密模块,用于随机选取随机数掩膜并根据所述随机数掩膜对输入进行加密;
第三发送模块,用于将加密后的输入发送给其他所有用户端;
第四发送模块,用于通过所述安全信道,将所述随机数掩膜发送给其他用户端对应的半可信硬件,同时直接将所述随机数掩膜发送给自己对应的半可信硬件;
第五发送模块,用于随机选取随机种子并将所述随机种子发送至其他用户端对应的半可信硬件,同时直接将所述随机种子发送至所述用户端对应的半可信硬件,以使得半可信硬件获取所有用户端的随机数掩膜和随机种子;根据所述随机种子,生成混淆电路种子;根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签;
第二获取模块,用于通过不经意传输协议,从对应的半可信硬件中获取所有用户端的输入对应的线路标签;
第三获取模块,用于从对应的半可信硬件中获取混淆表和解码信息;
计算模块,用于根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
根据本申请实施例的第五方面,提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面或第二方面任一项所述的方法。
根据本申请实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如第一方面或第二方面任一项所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本申请利用可信硬件降低了多方安全计算的通讯量和通讯轮次,使多个参与方能够以低通讯量、常数通讯轮次获取计算所需的加密输入等信息;通过用户端的随机种子生成混淆电路种子,从而生成混淆电路,利用混淆电路技术避免用户在计算过程中获取其他参与方的隐私输入;利用不经意传输协议,向半可信硬件对应的用户端发送所有用户端的输入对应的线路标签,避免半可信硬件获取用户的隐私输入,保障了多方计算的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种基于半可信硬件的多方隐私计算方法(应用于半可信硬件)的流程图。
图2是根据一示例性实施例示出的步骤S11的流程图。
图3是根据一示例性实施例示出的步骤S13的流程图。
图4是根据一示例性实施例示出的步骤S14的流程图。
图5是根据一示例性实施例示出的一种基于半可信硬件的多方隐私计算装置(应用于半可信硬件)的框图。
图6是根据一示例性实施例示出的一种基于半可信硬件的多方隐私计算方法(应用于用户端)的流程图。
图7是根据一示例性实施例示出的一种基于半可信硬件的多方隐私计算装置(应用于用户端)的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先对半可信硬件进行解释说明:
在现有技术中,可信硬件可以直接得到所有用户的隐私输入,而当硬件制造商并不可信时,它可以通过嵌入后门的方式窃取用户的隐私信息、更改计算流程。例如,硬件制造商可以在可信硬件生成的密码学测度中以电子隐写术的方法嵌入信息,当远程参与方将该密码学测度转发至硬件制造商提供的第三方认证服务器时,硬件制造商就可以从中获取隐私信息;而当用户调用可信硬件进行计算时,硬件制造商可以随意指定其运行结果。在这样的场景下,可信硬件对于协议参与方仍然起到了保护作用:本地参与方无法通过攻击可信硬件的方式得到远程参与方的隐私输入,也无法控制可信硬件的计算流程、篡改可信硬件的计算结果;但是,硬件制造商具备了获取用户向可信硬件发送的隐私输入和更改可信硬件输出结果的能力,因此,我们将这样的硬件称为半可信硬件。
在本发明的具体实施过程中,所述半可信硬件可以置于用户端内部,也可与用户端建立高速连接。相对于网络传输高延时、低带宽的特性,将半可信硬件置于用户端内部,或是在半可信硬件与用户端之间建立高速连接,可以让半可信硬件与用户端在低延时、高带宽的信道中进行通信、传输数据,进而提升协议的整体性能。
假设n个用户希望共同计算一个函数(这个函数可以是某种功能、服务),同时不泄露每个用户的隐私输入,我们记这些用户为P1,…,Pn。每个用户Pi都持有一个可信硬件设备Ti,但他们并不希望向这个可信硬件泄露各个用户的隐私输入。为实现以上要求,用户P1,…,Pn可以使用安全多方计算技术,并通过下面展示的基于可信硬件的安全多方计算方法来计算函数。
图1是根据一示例性实施例示出的一种基于半可信硬件的多方隐私计算方法的流程图,如图1所示,该方法应用于半可信硬件,可以包括以下步骤:
步骤S11:获取所有用户端的随机数掩膜和随机种子;
步骤S12:根据所述随机种子,生成混淆电路种子;
步骤S13:根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;
步骤S14:利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签;
步骤S15:将所述混淆表和解码信息发送给所述半可信硬件对应的用户端,以使得所述用户端根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
由上述实施例可知,本申请利用可信硬件降低了多方安全计算的通讯量和通讯轮次,使多个参与方能够以低通讯量、常数通讯轮次获取计算所需的加密输入等信息;通过用户端的随机种子生成混淆电路种子,从而生成混淆电路,利用混淆电路技术避免用户在计算过程中获取其他参与方的隐私输入;利用不经意传输协议,向半可信硬件对应的用户端发送所有用户端的输入对应的线路标签,避免半可信硬件获取用户的隐私输入,保障了多方计算的安全性。
在步骤S11的具体实施中,获取所有用户端的随机数掩膜和随机种子;
具体地,如图2所示,此步骤可以包括以下子步骤:
步骤S21:获取所述半可信硬件对应的用户端的随机数掩膜和随机种子;
具体地,由于所述半可信硬件可以置于用户端内部,也可与用户端建立高速连接,因此用户端可将自己的随机数掩膜和随机种子直接发送给对应的半可信硬件,因此半可信硬件可直接获取对应的用户端的随机数掩膜和随机种子。
步骤S22:通过所述半可信硬件与其他用户端之间的安全信道,获取其他用户端的加密随机数掩膜和加密随机种子;
具体地,半可信硬件Tj获取的用户端Pi的加密随机数掩膜和加密随机种子是由用户端Pi通过用户端Pi和半可信硬件Tj在远程认证之后得到的对称密钥ki,j,利用带有消息完整性校验的对称加密算法对随机数掩膜mi和随机种子si加密得到。这一步骤的目的是让每个用户端Pi都可以与其他所有用户的半可信硬件以间接的方式进行通讯,防止某个用户端窃取其他用户端的随机数掩膜,进而获得其他用户端的隐私输入,同时防止某个用户端窃取其他所有用户端的随机种子,进而获得混淆电路种子,生成混淆电路并窃取其他所用用户端的隐私输入。
步骤S23:根据半可信硬件与每个用户端之间的对称密钥,对所述加密随机数掩膜和加密随机种子进行解密,得到解密随机数掩膜和解密随机种子;
步骤S24:对所述解密随机数掩膜和解密随机种子进行验证;
步骤S25:若验证通过,则将所述解密随机数掩膜作为其他用户端的随机数掩膜,将所述解密随机种子作为其他用户端的随机种子。
具体地,在步骤S23-步骤S25的具体实施中,半可信硬件Tj以用户端Pi和半可信硬件Tj的对称密钥为解密密钥,以加密随机数掩膜和加密随机种子分别作为密文,调用用户端Pi使用的带有消息验证码的对称加密算法对应的解密算法进行解密,该解密算法会对消息的完整性进行校验,如果校验通过则分别输出明文的随机数掩膜和随机种子。这一步骤的作用是让用户端Pj对应的半可信硬件Tj接收用户端Pi发送的随机数掩膜和随机种子,同时防止用户端Pj对随机数掩膜或随机种子进行篡改。
在步骤S12的具体实施中,根据所述随机种子,生成混淆电路种子;
具体地,每个半可信硬件Ti此时都持有n个随机种子s1,…,sn,它们根据相同的算法对这n个随机种子进行处理,得到混淆电路种子s′。
在一实施例中,可以将这n个随机种子都异或起来。只要有一个参与方是诚实的,他选择的随机种子就是真正的随机数,那么得到的异或结果看起来与真正的随机数也就无法区分。
在另一实施例中,可以使用同一哈希算法H,计算混淆电路种子s′=H(s1,…,sn)。
在另一实施例中,可以使用伪随机函数(pseudorandom function,PRF)计算混淆电路种子,t1=PRF(s1,0),t2=PRF(s2,t1),…,tn=PRF(sn,tn-1),s′=tn。给定安全参数c,伪随机函数是定义在(K,X,Y)上的能在基于c的多项式时间内被计算的确定性函数PRF:K×X→Y,其中K为密钥空间,即所有长度为c位的字符串组成的空间,X为输入空间,Y为输出空间。伪随机函数与真正的随机函数无法区分,具体地,记所有定义在输入空间X和输出空间Y上的函数构成的函数空间为F,对于K中任选的一个密钥k和F中任选的一个函数f,伪随机函数PRF(k,·)与f(·)无法在多项式时间内被区分。由于每个随机种子都以相同的方式为混淆电路种子的生成贡献了随机性,只要有一个参与方是诚实的,即他选择的随机种子是真正的随机数,那么混淆电路种子就与真正的随机数无法区分,不诚实的参与方也无法预测混淆电路种子的内容。
此步骤的做法只需要保证每个随机种子都为混淆电路种子的生成过程提供了随机性。
在步骤S13的具体实施中,根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;
具体地,如图3所示,此步骤可以包括以下子步骤:
步骤S31:根据预定电路描述和所述混淆电路种子,生成线路标签,所述线路标签包括若干0线路标签和1线路标签;
步骤S32:根据所述预定电路描述、所述0线路标签和所述1线路标签,生成若干混淆表,其中混淆表的数量与所述预定电路描述中的布尔门数量相同;
步骤S33:根据所述预定电路描述和电路输出线路的线路标签,生成若干解码信息。
具体地,在步骤S31-步骤S33的具体实施中,可以使用多种混淆电路的优化实现方式,生成线路标签、混淆表和解码信息。
在一实施例中,可以采用混淆电路的基础实现方式。为了生成线路标签,根据预定电路描述,使用所述混淆电路种子调用伪随机函数,将i从1到预定电路描述中的线路数量进行遍历,计算Ti 0=PRF(s′,i||0),将Ti 0的前40位置0,得到Wi 0作为第i根线路的0线路标签,计算Ti 1=PRF(s′,i||1),将Ti 1的前40位置0,得到Wi 1作为第i根线路的1线路标签。为了生成混淆表,根据预定电路描述,按拓扑顺序遍历预定电路描述中的每一个布尔门,根据其真值表使用线路标签生成对应的混淆表,例如,对于与门c=a∧b,分别调用对称加密算法Enc和哈希函数H,计算
Figure BDA0003432274000000111
Figure BDA0003432274000000112
Figure BDA0003432274000000113
再将这4条密文随机打乱后作为这个门的混淆表。为了生成解码信息,根据预定电路描述,将i在电路的输出线路范围中进行遍历,计算Enc(Wi 0,0)和Enc(Wi 1,1),将这2条密文组合作为线路i对应的解码信息。
在另一实施例中,可以采用混淆电路的point-and-permute优化。为了生成线路标签,根据预定电路描述,使用所述混淆电路种子调用伪随机函数,将i从1到预定电路描述中的线路数量进行遍历,计算Wi 0=Ti 0=PRF(s′,i||0)作为第i根线路的0线路标签Wi 0,同时记Ti 0的最后一位为第i根线路的0选择比特
Figure BDA0003432274000000121
计算Ti 1=PRF(s′,i||1),设置第i根线路的1选择比特为
Figure BDA0003432274000000122
即与
Figure BDA0003432274000000123
相反,将Ti 1的前c-1位与
Figure BDA0003432274000000124
组合作为第i根线路的1线路标签Wi 1。为了生成混淆表,根据预定电路描述,按拓扑顺序遍历预定电路描述中的每一个布尔门,根据其真值表使用线路标签生成对应的混淆表,例如,对于与门c=a∧b,调用哈希函数H,计算
Figure BDA0003432274000000125
Figure BDA0003432274000000126
并将
Figure BDA0003432274000000127
这一密文置于第
Figure BDA0003432274000000128
个位置,形成这个门的混淆表。为了生成解码信息,根据预定电路描述,将i在电路的输出线路范围中进行遍历,将
Figure BDA0003432274000000129
作为线路i对应的解码信息。
使用混淆电路技术进行计算的优点是,用户端能够得到的信息只有线路标签、混淆表和解码信息,用户端对于混淆表进行解密时,我们可以限定对于每条门输入线路,他只能得到一个线路标签(0线路标签或者1线路标签),因此他只能正确地对混淆表中的一条密文进行解密并得到一个输出线路标签,由于线路标签通过伪随机函数产生,其与真正的随机数无法区分,用户端无法从线路标签中分辨出其对应的是0或者1,也就无法得到其他用户端的隐私输入。而在对于整个电路完成计算后,用户端对于每条输出线路都持有一个线路标签,他可以使用解码信息得到每条输出线路的值,也就得到了整个电路的输出结果。
在步骤S14的具体实施中,利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签;
具体地,如图4所示,此步骤可以包括以下子步骤:
步骤S41:根据所有用户端的随机数掩膜,对混淆电路中所有用户端的输入对应的线路标签进行排列;
具体地,将i从1到预定电路描述中的输入线路数量进行遍历,如果第i位随机数掩膜mi=0,则第i位输入对应的线路标签在排列之后为
Figure BDA0003432274000000131
Figure BDA0003432274000000132
如果第i位随机数掩膜mi=1,则第i位输入对应的线路标签在排列之后为
Figure BDA0003432274000000133
由于用户端输入的是用随机数掩膜以异或方式进行加密后的输入,半可信硬件采取这样的方式对线路标签进行排列,可以保证用户端得到未加密的真实输入对应的线路标签。
步骤S42:根据每个比特对应的排列后的输入的线路标签和由用户端输入的每个比特对应的加密后的输入,执行若干2选1不经意传输协议,其中每个不经意传输协议对应于用户端一个比特的输入,以使得所述半可信硬件向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签。
具体地,可以使用多种2选1不经意传输协议的实现方式,将i从1到预定电路描述中的输入线路数量进行遍历,使得所述半可信硬件向所述半可信硬件对应的用户端发送第i位输入对应的线路标签,同时保证半可信硬件无法得知用户端的输入值,而用户端也只能得到输入对应的线路标签。
在一实施例中,可以采用基于RSA加密算法的2选1不经意传输协议。半可信硬件生成两对RSA公钥、私钥对(pk0,sk0)和(pk1,sk1),并将公钥pk0和pk1发送给对应的用户端。对于第i位输入,用户端持有加密后的输入ci,他随机地选取一条秘密信息ri,并使用公钥
Figure BDA0003432274000000134
加密ri,并将加密结果发送给半可信硬件;半可信硬件分别使用私钥sk0和sk1对用户端发送的密文进行解密,分别得到两个解密结果
Figure BDA0003432274000000135
Figure BDA0003432274000000136
半可信硬件计算
Figure BDA0003432274000000137
Figure BDA0003432274000000138
并将
Figure BDA0003432274000000139
Figure BDA00034322740000001310
发送给用户端;用户端使用秘密信息ri解密
Figure BDA00034322740000001311
得到
Figure BDA00034322740000001312
作为第i位输入对应的线路标签。RSA算法的可靠性基于对极大整数难以因式分解这一数学假设,因此我们可以保证用户端无法从公钥中获得私钥,进而得到
Figure BDA00034322740000001313
也就无法同时得到半可信硬件发送的两条信息。另一方面,半可信硬件也无法从解密得到
Figure BDA00034322740000001314
Figure BDA00034322740000001315
中分辨出用户端选取的ri,也就无法得到用户端输入的ci
在另一实施例中,可以采用基于离散对数实现的2选1不经意传输协议。半可信硬件和用户端持有两个全局公开的参数,质数p和整数g,g是p的一个原根,半可信硬件随机地选取一个1到p-1之间的数a作为其密钥,同时计算A=ga mod p,并将A发送给用户端。对于第i位输入,用户端持有加密后的输入ci,他随机地选取一个1到p-1之间的数bi作为其密钥,如果ci=0,他计算
Figure BDA0003432274000000141
如果ci=1,他计算
Figure BDA0003432274000000142
用户端将Bi发送给半可信硬件,同时计算
Figure BDA0003432274000000143
半可信硬件在收到Bi之后计算
Figure BDA0003432274000000144
Figure BDA0003432274000000145
计算加密结果
Figure BDA0003432274000000146
Figure BDA0003432274000000147
并将
Figure BDA0003432274000000148
Figure BDA0003432274000000149
发送给用户端;用户端使用秘密信息
Figure BDA00034322740000001410
解密
Figure BDA00034322740000001411
得到
Figure BDA00034322740000001412
作为第i位输入对应的线路标签。协议的安全性依赖于CDH假设和哈希函数为随机谕示机,因此用户端只能得到一个解密密钥,也就无法同时得到半可信硬件发送的两条信息;而半可信硬件也无法从Bi中获取ci
在步骤S15的具体实施中,将所述混淆表和解码信息发送给所述半可信硬件对应的用户端,以使得所述用户端根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
具体地,用户端根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值的过程与前述的混淆电路生成过程相对应。对于混淆电路的基础实现方式,用户端根据预定电路描述,按拓扑顺序计算预定电路描述中的每一个布尔门,对于每个布尔门,用户端持有其两条输入线路对应的两个线路标签和一个由四条密文组成的混淆表,例如对于与门c=a∧b,用户端持有线路标签Wa和Wb,他计算H(Wa,Wb)并尝试用H(Wa,Wb)调用前述对称加密算法Enc对应的解密算法Dec去解密混淆表中的四条密文,如果解密结果的前40位全部为0,则他有接近于1的概率得到了正确的输出线路标签Wc。在全部布尔门计算完成后,用户端使用预定电路描述中所有输出线路对应的线路标签和解码信息,将i在预定电路描述的输出线路范围内遍历,用线路标签Wi调用前述对称加密算法Enc对应的解密算法去解密线路i对应的解码信息中的两条密文,如果解密得到了0或1,则线路i的值即为解密结果。在混淆表的计算过程中,由于按照电路拓扑顺序进行计算,用户端在计算某个布尔门时,总是已经得到了这个布尔门两条输入线路对应的两个输入线路标签,并且由于一个随机字符串的前40位全部为0是一个小概率事件,当解密结果的前40位全部为0时,用户端有接近于1的概率得到了正确的输出线路标签。
对于采用了point-and-permute优化的混淆电路实现方式,用户端根据预定电路描述,按拓扑顺序计算预定电路描述中的每一个布尔门,对于每个布尔门,用户端持有其两条输入线路对应的两个线路标签和一个由四条密文组成的混淆表,例如对于与门c=a∧b,用户端持有线路标签Wa和Wb,他从Wa和Wb中分别提取最后一位选择比特pa和pb,他计算H(Wa,Wb)并以异或的方式解密第2pa+pb+1条密文,得到输出线路标签Wc。在全部布尔门计算完成后,用户端使用预定电路描述中所有输出线路对应的线路标签和解码信息,将i在预定电路描述的输出线路范围内遍历,从线路标签Wi中提取最后一位选择比特pi,与线路i对应的解码信息进行比对,如果相同,则线路i的值为0,否则线路i的值为1。
与前述的基于半可信硬件的多方隐私计算方法的实施例相对应,本申请还提供了基于半可信硬件的多方隐私计算装置的实施例。
图5是根据一示例性实施例示出的一种基于半可信硬件的多方隐私计算装置框图。参照图5,该装置应用于半可信硬件,可以包括:
第一获取模块21,用于获取所有用户端的随机数掩膜和随机种子;
第一生成模块22,用于根据所述随机种子,生成混淆电路种子;
第二生成模块23,用于根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;
第一发送模块24,用于利用不经意传输协议,发送所有用户端的输入对应的线路标签;
第二发送模块25,用于将所述混淆表和解码信息发送给所述半可信硬件对应的用户端,以使得所述用户端根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
图6是根据一示例性实施例示出的一种基于半可信硬件的多方隐私计算方法的流程图,如图6所示,该方法应用于用户端,可以包括以下步骤:
步骤S51:利用远程认证机制,与其他用户端对应的半可信硬件构建安全信道;
具体地,远程认证机制允许用户对远程的半可信硬件的可用性和真实性进行验证,按照硬件制造商制定的远程认证规则,每个用户都向其他用户发起多轮质询挑战请求,其他用户通过调用自己的半可信硬件对这些请求做出回应,发起质询请求的用户通过与硬件制造商提供的第三方可信服务器通讯,对其他用户的半可信硬件进行验证。在远程认证之后,各个参与方与其他每个用户的半可信硬件共同持有一个对称密钥,可以用于加密之后的一对一通讯。这一步骤的作用是让用户Pi可以安全地向其他用户{Pj}j≠i的可信硬件{Tj}j≠i传输数据,而不用担心其他用户会得到这些数据。
步骤S52:随机选取随机数掩膜并根据所述随机数掩膜对输入进行加密;
具体地,用户端Pi随机地选取掩膜mi,隐藏自己的输入为
Figure BDA0003432274000000161
由于其他用户端{Pj}j≠i无法得知mi,即使用户端Pi将ci发送给其他用户端,他们也无法得知用户端Pi的隐私输入xi
步骤S53:将加密后的输入发送给其他所有用户端;
具体地,将加密后的输入ci发送给其他所有用户端{Pj}j≠i。这一步骤使得每个用户端最后都能够得知所有用户端的加密后的输入,因此能够与自己对应的半可信硬件执行不经意传输协议,从而获得所有用户端的输入对应的线路标签,进而对混淆电路进行计算,得到输出结果。
步骤S54:通过所述安全信道,将所述随机数掩膜发送给其他用户端对应的半可信硬件,同时直接将所述随机数掩膜发送给自己对应的半可信硬件;
具体地,对于每个用户端Pi与其他用户端对应的半可信硬件Tj在远程认证之后获得了共同的对称密钥ki,j,用户端Pi使用带有消息完整性校验的对称加密算法,使用ki,j对随机数掩膜mi进行加密,然后发送给用户Pj,用户Pj将加密随机数掩膜传递给Tj。在本实施例中,采用所述对称密钥进行加密实际上就是安全信道的实现方式,由于这个对称密钥只有Pi和Tj知道,Pj或是其他任何人都无法对这个密文进行解密,得到其中明文,进一步的,由于使用的对称加密算法具备消息完整性校验的功能,Tj也能够对消息进行检验,这样就起到了安全信道的作用。这一步骤的目的是让每一个半可信硬件都能够得到所有用户端的随机数掩膜,同时防止某个用户端窃取其他用户端的随机数掩膜。
步骤S55:随机选取随机种子,将所述随机种子通过所述安全信道发送至其他用户端对应的半可信硬件,同时直接将所述随机种子发送至所述用户端对应的半可信硬件,以使得半可信硬件获取所有用户端的随机数掩膜和随机种子,根据所述随机种子,生成混淆电路种子,根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息,利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签,将所述混淆表和解码信息发送给所述半可信硬件对应的用户端;
具体地,用户端Pi与半可信硬件Tj在远程认证之后获得了共同的对称密钥ki,j,用户端Pi使用带有消息完整性校验的对称加密算法,使用ki,j对随机种子si进行加密,然后发送给用户Pj,用户Pj将加密随机种子传递给Tj,以使得半可信硬件Tj能够进行步骤S11-步骤S15的操作。这一步骤的目的是让每一个半可信硬件都能够得到所有用户端的随机种子,同时防止某个用户端窃取其他用户端的随机种子。
步骤S56:通过不经意传输协议,从对应的半可信硬件中获取所有用户端的输入对应的线路标签;
具体地,所述不经意传输协议的过程已经在步骤S42中描述,此处不做赘述。
步骤S57:从对应的半可信硬件中获取混淆表和解码信息;
具体地,根据预定电路描述,半可信硬件根据电路拓扑顺序,将每个布尔门对应的混淆表发送给用户端,随后将每条电路输出线路对应的解码信息发送给用户端。
步骤S58:根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
具体地,计算过程已经在步骤S15中描述,此处不做赘述。
与前述的基于半可信硬件的多方隐私计算方法的实施例相对应,本申请还提供了基于半可信硬件的多方隐私计算装置的实施例。
图7是根据一示例性实施例示出的一种基于半可信硬件的多方隐私计算装置框图。参照图7,该装置应用于用户端,可以包括:
构建模块31,用于利用远程认证机制,与其他用户端对应的半可信硬件构建安全信道;
加密模块32,用于随机选取随机数掩膜并根据所述随机数掩膜对输入进行加密;
第三发送模块33,用于将加密后的输入发送给其他所有用户端;
第四发送模块34,用于通过所述安全信道,将所述随机数掩膜发送给其他用户端对应的半可信硬件,同时直接将所述随机数掩膜发送给自己对应的半可信硬件;
第五发送模块35,用于随机选取随机种子并将所述随机种子发送至所有用户端对应的半可信硬件,同时直接将所述随机种子发送至所述用户端对应的半可信硬件,以使得半可信硬件获取所有用户端的随机数掩膜和随机种子;根据所述随机种子,生成混淆电路种子;根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签;
第二获取模块36,用于通过不经意传输协议,从对应的半可信硬件中获取所有用户端的输入对应的线路标签;
第三获取模块37,用于从对应的半可信硬件中获取混淆表和解码信息;
计算模块38,用于根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于半可信硬件的多方隐私计算方法。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如上述的基于半可信硬件的多方隐私计算方法。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种基于半可信硬件的多方隐私计算方法,其特征在于,应用于半可信硬件,包括:
获取所有用户端的随机数掩膜和随机种子;
根据所述随机种子,生成混淆电路种子;
根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;
利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签;
将所述混淆表和解码信息发送给所述半可信硬件对应的用户端,以使得所述用户端根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
2.根据权利要求1所述的方法,其特征在于,获取所有用户端的随机数掩膜和随机种子,包括:
获取所述半可信硬件对应的用户端的随机数掩膜和随机种子;
通过所述半可信硬件与其他用户端之间的安全信道,获取其他用户端的加密随机数掩膜和加密随机种子;
根据半可信硬件与每个用户端之间的对称密钥,对所述加密随机数掩膜和加密随机种子进行解密,得到解密随机数掩膜和解密随机种子;
对所述解密随机数掩膜和解密随机种子进行验证;
若验证通过,则将所述解密随机数掩膜作为其他用户端的随机数掩膜,将所述解密随机种子作为其他用户端的随机种子。
3.根据权利要求1所述的方法,其特征在于,根据预定电路描述和所述混淆电路种子,生成混淆电路,包括:
根据预定电路描述和所述混淆电路种子,生成线路标签,所述线路标签包括若干0线路标签和1线路标签;
根据所述预定电路描述、所述0线路标签和所述1线路标签,生成若干混淆表,其中混淆表的数量与所述预定电路描述中的布尔门数量相同;
根据所述预定电路描述和电路输出线路的线路标签,生成若干解码信息。
4.根据权利要求1所述的方法,其特征在于,利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签,包括:
根据所有用户端的随机数掩膜,对混淆电路中所有用户端的输入对应的线路标签进行排列;
根据每个比特对应的排列后的输入的线路标签和由用户端输入的每个比特对应的加密后的输入,执行若干2选1不经意传输协议,其中每个不经意传输协议对应于用户端一个比特的输入,以使得所述半可信硬件向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签。
5.一种基于半可信硬件的隐私计算方法,其特征在于,应用于用户端,包括:
利用远程认证机制,与其他用户端对应的半可信硬件构建安全信道;
随机选取随机数掩膜并根据所述随机数掩膜对输入进行加密;
将加密后的输入发送给其他所有用户端;
通过所述安全信道,将所述随机数掩膜发送给其他用户端对应的半可信硬件,同时直接将所述随机数掩膜发送给自己对应的半可信硬件;
随机选取随机种子,将所述随机种子通过所述安全信道发送至其他用户端对应的半可信硬件,同时直接将所述随机种子发送至所述用户端对应的半可信硬件,以使得半可信硬件获取所有用户端的随机数掩膜和随机种子,根据所述随机种子,生成混淆电路种子,根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息,利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签,将所述混淆表和解码信息发送给所述半可信硬件对应的用户端;
通过不经意传输协议,从对应的半可信硬件中获取所有用户端的输入对应的线路标签;
从对应的半可信硬件中获取混淆表和解码信息;
根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
6.一种基于半可信硬件的隐私计算装置,其特征在于,应用于半可信硬件,包括:
第一获取模块,用于获取所有用户端的随机数掩膜和随机种子;
第一生成模块,用于根据所述随机种子,生成混淆电路种子;
第二生成模块,用于根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;
第一发送模块,用于利用不经意传输协议,发送所有用户端的输入对应的线路标签;
第二发送模块,用于将所述混淆表和解码信息发送给所述半可信硬件对应的用户端,以使得所述用户端根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
7.根据权利要求6所述的装置,其特征在于,根据预定电路描述和所述混淆电路种子,生成混淆电路,包括:
根据预定电路描述和所述混淆电路种子,生成线路标签,所述线路标签包括若干0线路标签和1线路标签;
根据所述预定电路描述、所述0线路标签和所述1线路标签,生成若干混淆表,其中混淆表的数量与所述预定电路描述中的布尔门数量相同;
根据所述预定电路描述和电路输出线路的线路标签,生成若干解码信息。
8.一种基于半可信硬件的隐私计算装置,其特征在于,应用于用户端,包括:
构建模块,用于利用远程认证机制,与其他用户端对应的半可信硬件构建安全信道;
加密模块,用于随机选取随机数掩膜并根据所述随机数掩膜对输入进行加密;
第三发送模块,用于将加密后的输入发送给其他所有用户端;
第四发送模块,用于通过所述安全信道,将所述随机数掩膜发送给其他用户端对应的半可信硬件,同时直接将所述随机数掩膜发送给自己对应的半可信硬件;
第五发送模块,用于随机选取随机种子并将所述随机种子发送至其他用户端对应的半可信硬件,同时直接将所述随机种子发送至所述用户端对应的半可信硬件,以使得半可信硬件获取所有用户端的随机数掩膜和随机种子;根据所述随机种子,生成混淆电路种子;根据预定电路描述和所述混淆电路种子,生成混淆电路,所述混淆电路包括混淆表、线路标签和解码信息;利用不经意传输协议,向所述半可信硬件对应的用户端发送所有用户端的输入对应的线路标签;
第二获取模块,用于通过不经意传输协议,从对应的半可信硬件中获取所有用户端的输入对应的线路标签;
第三获取模块,用于从对应的半可信硬件中获取混淆表和解码信息;
计算模块,用于根据所述混淆表、解码信息和所有用户端的输入对应的线路标签,计算输出值。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4或权利要求5任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-4或权利要求5中任一项所述方法的步骤。
CN202111598466.2A 2021-12-24 2021-12-24 一种基于半可信硬件的多方隐私计算方法及装置 Active CN114285558B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202111598466.2A CN114285558B (zh) 2021-12-24 2021-12-24 一种基于半可信硬件的多方隐私计算方法及装置
PCT/CN2021/141686 WO2023115603A1 (zh) 2021-12-24 2021-12-27 一种基于半可信硬件的多方隐私计算方法及装置
US18/540,943 US12069170B2 (en) 2021-12-24 2023-12-15 Multi-party privacy computing method and device based on semi-trusted hardware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111598466.2A CN114285558B (zh) 2021-12-24 2021-12-24 一种基于半可信硬件的多方隐私计算方法及装置

Publications (2)

Publication Number Publication Date
CN114285558A true CN114285558A (zh) 2022-04-05
CN114285558B CN114285558B (zh) 2023-09-08

Family

ID=80874921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111598466.2A Active CN114285558B (zh) 2021-12-24 2021-12-24 一种基于半可信硬件的多方隐私计算方法及装置

Country Status (3)

Country Link
US (1) US12069170B2 (zh)
CN (1) CN114285558B (zh)
WO (1) WO2023115603A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104521178A (zh) * 2012-04-17 2015-04-15 华为技术有限公司 安全的多方云计算的方法和系统
CN107690769A (zh) * 2015-03-30 2018-02-13 爱迪德技术有限公司 密码处理
WO2020034751A1 (zh) * 2018-08-14 2020-02-20 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN112865953A (zh) * 2021-02-01 2021-05-28 浙江大学 基于辅助服务器的安全多方计算方法、装置和系统
CN113591146A (zh) * 2021-07-29 2021-11-02 北京航空航天大学 基于合作的高效安全两方计算系统及计算方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443205B2 (en) * 2008-01-08 2013-05-14 Alcatel Lucent Secure function evaluation techniques for circuits containing XOR gates with applications to universal circuits
US9124417B2 (en) * 2010-03-05 2015-09-01 Alcatel Lucent Computation of garbled tables in garbled circuit
US8881295B2 (en) * 2010-09-28 2014-11-04 Alcatel Lucent Garbled circuit generation in a leakage-resilient manner
FR2984559B1 (fr) * 2011-12-20 2015-10-23 Morpho Identification d'individus par calcul securise
US8990570B2 (en) * 2012-07-31 2015-03-24 Alcatel Lucent Secure function evaluation for a covert client and a semi-honest server using string selection oblivious transfer
US8891766B2 (en) * 2012-09-28 2014-11-18 Alcatel Lucent Input consistency verification for two-party secure function evaluation
US9178704B2 (en) * 2012-09-28 2015-11-03 Alcatel Lucent Input consistency verification for server assisted secure function evaluation
EP3319069B1 (en) * 2016-11-02 2019-05-01 Skeyecode Method for authenticating a user by means of a non-secure terminal
US11210428B2 (en) * 2018-06-06 2021-12-28 The Trustees Of Indiana University Long-term on-demand service for executing active-secure computations
CN111008256B (zh) * 2019-10-29 2022-03-15 矩阵元技术(深圳)有限公司 一种基于安全多方计算的空间数据分布模式分析方法
US11663521B2 (en) * 2019-11-06 2023-05-30 Visa International Service Association Two-server privacy-preserving clustering
CN111125727B (zh) * 2019-12-03 2021-05-14 支付宝(杭州)信息技术有限公司 混淆电路生成方法、预测结果确定方法、装置和电子设备
WO2022016278A1 (en) * 2020-07-21 2022-01-27 Royal Bank Of Canada Facial recognition tokenization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104521178A (zh) * 2012-04-17 2015-04-15 华为技术有限公司 安全的多方云计算的方法和系统
CN107690769A (zh) * 2015-03-30 2018-02-13 爱迪德技术有限公司 密码处理
WO2020034751A1 (zh) * 2018-08-14 2020-02-20 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN112865953A (zh) * 2021-02-01 2021-05-28 浙江大学 基于辅助服务器的安全多方计算方法、装置和系统
CN113591146A (zh) * 2021-07-29 2021-11-02 北京航空航天大学 基于合作的高效安全两方计算系统及计算方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YIBIAO LU,BINGSHENG ZHANG,HONG-SHENG ZHOU,WEIRAN LIU,LEI ZHANG, AND KUI REN: "Correlated Randomness Teleportation via Semi-trusted Hardware-Enabling Silent Multi-party Computation", ESORICS 2021 *
王发星,张驰: "基于SGX的轻量级两方安全计算协议", 通信技术, vol. 54, no. 6 *

Also Published As

Publication number Publication date
US12069170B2 (en) 2024-08-20
WO2023115603A1 (zh) 2023-06-29
US20240137217A1 (en) 2024-04-25
CN114285558B (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
US12101415B2 (en) Method of RSA signature or decryption protected using a homomorphic encryption
CN110313146B (zh) 模糊度增强
CN111510281B (zh) 一种同态加密方法及装置
US9166800B2 (en) Authentication method, authentication system, and authentication chip using common key cryptography
US11483145B2 (en) Key exchange device, key exchange system, key exchange method, and key exchange program for exchanging a key with another device
US8683204B2 (en) Efficient techniques for achieving secure transactions using tamper-resistant tokens
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
US11271743B2 (en) Plaintext equivalence proof techniques in communication systems
WO2018043573A1 (ja) 鍵交換方法、鍵交換システム
Hwang et al. Robust stream‐cipher mode of authenticated encryption for secure communication in wireless sensor network
CN114285558B (zh) 一种基于半可信硬件的多方隐私计算方法及装置
CN114338006B (zh) 基于半可信硬件的互相关伪随机数的远程获取方法及装置
KR20200055672A (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
CN114189329B (zh) 一种公钥认证可否认加密方法及系统
Kanagala Design and analysis of
Kanagala Design and analysis of a Diffie–Hellman-based network security and cryptography approach
Chida et al. Privacy preserving computations without public key cryptographic operation
Halder et al. Information Security Using Key Management
Jacimovski et al. ON QUANTUM CRYPTOGRAPHY
CN115941174A (zh) 数据通信方法、装置、电子设备和计算机可读存储介质
Cheng et al. Secure Computing through Homomorphic Encryption on a Peer-Servicing Public Cloud Computing Platform

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