CN115344882A - 基于可信计算环境的多方计算方法、装置及存储介质 - Google Patents
基于可信计算环境的多方计算方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115344882A CN115344882A CN202110517314.9A CN202110517314A CN115344882A CN 115344882 A CN115344882 A CN 115344882A CN 202110517314 A CN202110517314 A CN 202110517314A CN 115344882 A CN115344882 A CN 115344882A
- Authority
- CN
- China
- Prior art keywords
- calculation
- parameter data
- platform
- calculation result
- participants
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 505
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 47
- 230000006870 function Effects 0.000 claims description 184
- 238000012795 verification Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002427 irreversible effect Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于可信计算环境的多方计算方法、装置及存储介质,涉及安全多方计算领域。该方法包括:接收至少两个计算参与方发送的参数数据和计算函数;根据参数数据和计算函数,确定第一计算结果;根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算,确定第一中间数值;将第一中间数值发送至区块链,以使第二平台获取区块链中的第一中间数值并对第一计算结果进行验证。这样可以为计算参与方提供一个可信计算环境,在该可信计算环境中来完成计算参与方的计算过程,以此避免计算参与方的隐私数据被泄露。同时,通过第二平台对第一计算结果进行验证,确定参与计算的数据是否被篡改,从而进一步提高了多方计算的安全性。
Description
技术领域
本发明涉及安全多方计算领域,尤其涉及一种基于可信计算环境的多方计算方法、装置及存储介质。
背景技术
安全多方计算(Secure Multi-parry Computation,简称SMC)是解决在一个互不信任的多用户网络中,两个或多个用户能够在不泄露各自私有输入信息时,协同合作执行某项计算任务的问题。它在密码学中拥有相当重要的地位,是电子选举、门限签名以及电子拍卖等诸多应用得以实施的密码学基础。
目前,现有的安全多方计算一般采用同态加密(Homomorphic encryption)算法、零知识证明(Zero-knowledge proof)算法等方式实现,但这些方式无法保证计算参与方的数据不会被泄露和篡改,导致多方计算的安全性不高的问题。
发明内容
本申请实施例提供一种基于可信计算环境的多方计算方法、装置及存储介质,以解决现有的安全多方计算无法保证计算参与方的数据不会被泄露和篡改,导致多方计算的安全性不高的问题。
为解决上述技术问题,本发明是这样实现的:
第一方面,本申请实施例提供了一种基于可信计算环境的多方计算方法,应用于提供所述可信计算环境的第一平台,所述方法包括:
接收至少两个计算参与方发送的参数数据和计算函数;
根据所述参数数据和所述计算函数,确定第一计算结果;
根据预设算法对所述参数数据、所述计算函数和所述第一计算结果进行哈希计算,确定第一中间数值;
将所述第一中间数值发送至区块链,以使第二平台获取所述区块链中的所述第一中间数值并对所述第一计算结果进行验证。
可选地,所述接收至少两个计算参与方发送的参数数据和计算函数,包括:
接收所述至少两个计算参与方发送的所述参数数据的密文和所述计算函数的密文,其中,所述参数数据的密文和所述计算函数的密文均由各计算参与方通过所述第一平台的公钥加密得到;
利用所述第一平台的私钥,对所述参数数据的密文和所述计算函数的密文进行解密,得到所述参数数据和所述计算函数,其中,所述第一平台的私钥与所述第一平台的公钥相互配对。
可选地,在所述接收所述至少两个计算参与方发送的所述参数数据的密文和所述计算函数的密文之前,所述方法还包括:
分别接收所述至少两个计算参与方发送的公钥;
根据接收到的所述至少两个计算参与方发送的公钥,分别对所述第一平台的公钥进行加密;
将加密后的第一平台的公钥分别发送至对应的计算参与方,以使所述至少两个计算参与方根据自身的私钥对加密后的第一平台的公钥进行解密,得到第一平台的公钥。
可选地,所述根据预设算法对所述参数数据、所述计算函数和所述第一计算结果进行哈希计算,确定第一中间数值,包括:
分别计算所述参数数据、所述计算函数和所述第一计算结果对应的哈希值;
将所述参数数据、所述计算函数和所述第一计算结果对应的哈希值,分别作为哈希树的叶子节点;
分别对所述叶子节点中相邻两个叶子节点进行哈希计算,并将计算得到的哈希值作为中间节点;
分别对所述中间节点中相邻两个中间节点进行哈希计算,得到第一中间数值。
第二方面,本申请实施例还提供了一种基于可信计算环境的多方计算方法,应用于第二平台,所述方法包括:
获取区块链中的第一中间数值,所述区块链用于接收并存储第一平台发送的所述第一中间数值,所述第一中间数值为所述第一平台根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算获得,所述第一计算结果是根据所述参数数据和所述计算函数确定得到,所述参数数据和所述计算函数均由至少两个计算参与方发送;
接收所述至少两个计算参与方发送的参数数据和计算函数;
根据所述参数数据和所述计算函数,确定第二计算结果;
根据所述预设算法对所述参数数据、所述计算函数和所述第二计算结果进行计算,确定第二中间数值;
根据所述第二中间数值和所述第一中间数值,对所述第一计算结果进行验证。
可选地,所述根据所述第二中间数值和所述第一中间数值,对所述第一计算结果进行验证,包括:
若所述第二中间数值与所述第一中间数值相同,则所述第一计算结果验证通过;
若所述第二中间数值与所述第一中间数值不同,则所述第一计算结果验证失败。
第三方面,本申请实施例还提供了一种基于可信计算环境的多方计算装置,应用于提供所述可信计算环境的第一平台,所述装置包括:
第一接收模块,用于接收至少两个计算参与方发送的参数数据和计算函数;
第一确定模块,用于根据所述参数数据和所述计算函数,确定第一计算结果;
第二确定模块,用于根据预设算法对所述参数数据、所述计算函数和所述第一计算结果进行哈希计算,确定第一中间数值;
发送模块,用于将所述第一中间数值发送至区块链,以使第二平台获取所述区块链中的所述第一中间数值并对所述第一计算结果进行验证。
可选地,所述第一接收模块包括:
第一接收子模块,用于接收所述至少两个计算参与方发送的所述参数数据的密文和所述计算函数的密文,其中,所述参数数据的密文和所述计算函数的密文均由各计算参与方通过所述第一平台的公钥加密得到;
解密子模块,用于利用所述第一平台的私钥,对所述参数数据的密文和所述计算函数的密文进行解密,得到所述参数数据和所述计算函数,其中,所述第一平台的私钥与所述第一平台的公钥相互配对。
可选地,所述第一接收模块还包括:
第二接收子模块,用于分别接收所述至少两个计算参与方发送的公钥;
加密子模块,用于根据接收到的所述至少两个计算参与方发送的公钥,分别对所述第一平台的公钥进行加密;
发送子模块,用于将加密后的第一平台的公钥分别发送至对应的计算参与方,以使所述至少两个计算参与方根据自身的私钥对加密后的第一平台的公钥进行解密,得到第一平台的公钥。
可选地,所述第二确定模块包括:
第一计算子模块,用于分别计算所述参数数据、所述计算函数和所述第一计算结果对应的哈希值;
第一作为子模块,用于将所述参数数据、所述计算函数和所述第一计算结果对应的哈希值,分别作为哈希树的叶子节点;
第二作为子模块,用于分别对所述叶子节点中相邻两个叶子节点进行哈希计算,并将计算得到的哈希值作为中间节点;
第二计算子模块,用于分别对所述中间节点中相邻两个中间节点进行哈希计算,得到第一中间数值。
第四方面,本申请实施例还提供了一种基于可信计算环境的多方计算装置,应用于第二平台,所述装置包括:
获取模块,用于获取区块链中的第一中间数值,所述区块链用于接收并存储第一平台发送的所述第一中间数值,所述第一中间数值为所述第一平台根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算获得,所述第一计算结果是根据所述参数数据和所述计算函数确定得到,所述参数数据和所述计算函数均由至少两个计算参与方发送;
第二接收模块,用于接收所述至少两个计算参与方发送的参数数据和计算函数;
第三确定模块,用于根据所述参数数据和所述计算函数,确定第二计算结果;
第四确定模块,用于根据所述预设算法对所述参数数据、所述计算函数和所述第二计算结果进行计算,确定第二中间数值;
验证模块,用于根据所述第二中间数值和所述第一中间数值,对所述第一计算结果进行验证。
可选地,所述验证模块包括:
验证通过子模块,用于若所述第二中间数值与所述第一中间数值相同,则所述第一计算结果验证通过;
验证失败子模块,用于若所述第二中间数值与所述第一中间数值不同,则所述第一计算结果验证失败。
第五方面,本申请实施例还提供了一种基于可信计算环境的多方计算装置,应用于提供所述可信计算环境的第一平台,所述装置包括收发机和处理器;
所述收发机,用于接收至少两个计算参与方发送的参数数据和计算函数;
所述处理器,用于根据所述参数数据和所述计算函数,确定第一计算结果;根据预设算法对所述参数数据、所述计算函数和所述第一计算结果进行哈希计算,确定第一中间数值;
所述收发机,还用于将所述第一中间数值发送至区块链,以使第二平台获取所述区块链中的所述第一中间数值并对所述第一计算结果进行验证。
可选地,所述收发机,还用于接收所述至少两个计算参与方发送的所述参数数据的密文和所述计算函数的密文,其中,所述参数数据的密文和所述计算函数的密文均由各计算参与方通过所述第一平台的公钥加密得到;
所述处理器,还用于利用所述第一平台的私钥,对所述参数数据的密文和所述计算函数的密文进行解密,得到所述参数数据和所述计算函数,其中,所述第一平台的私钥与所述第一平台的公钥相互配对。
可选地,所述收发机,还用于分别接收所述至少两个计算参与方发送的公钥;
所述处理器,还用于根据接收到的所述至少两个计算参与方发送的公钥,分别对所述第一平台的公钥进行加密;
所述收发机,还用于将加密后的第一平台的公钥分别发送至对应的计算参与方,以使所述至少两个计算参与方根据自身的私钥对加密后的第一平台的公钥进行解密,得到第一平台的公钥。
可选地,所述处理器,还用于分别计算所述参数数据、所述计算函数和所述第一计算结果对应的哈希值;将所述参数数据、所述计算函数和所述第一计算结果对应的哈希值,分别作为哈希树的叶子节点;分别对所述叶子节点中相邻两个叶子节点进行哈希计算,并将计算得到的哈希值作为中间节点;分别对所述中间节点中相邻两个中间节点进行哈希计算,得到第一中间数值。
第六方面,本申请实施例还提供了一种基于可信计算环境的多方计算装置,应用于第二平台,所述装置包括收发机和处理器;
所述收发机,用于获取区块链中的第一中间数值,所述区块链用于接收并存储第一平台发送的所述第一中间数值,所述第一中间数值为所述第一平台根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算获得,所述第一计算结果是根据所述参数数据和所述计算函数确定得到,所述参数数据和所述计算函数均由至少两个计算参与方发送;
所述收发机,还用于接收所述至少两个计算参与方发送的参数数据和计算函数;
所述处理器,用于根据所述参数数据和所述计算函数,确定第二计算结果;根据所述预设算法对所述参数数据、所述计算函数和所述第二计算结果进行计算,确定第二中间数值;根据所述第二中间数值和所述第一中间数值,对所述第一计算结果进行验证。
可选地,所述处理器,用于若所述第二中间数值与所述第一中间数值相同,则所述第一计算结果验证通过;
若所述第二中间数值与所述第一中间数值不同,则所述第一计算结果验证失败。
第七方面,本申请实施例还提供了一种基于可信计算环境的多方计算装置,应用于提供所述可信计算环境的第一平台,所述装置包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面所述的基于可信计算环境的多方计算方法的步骤;或者所述程序被所述处理器执行时实现如第二方面所述的基于可信计算环境的多方计算方法的步骤。
第八方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的基于可信计算环境的多方计算方法的步骤;或者所述计算机程序被处理器执行时实现如第二方面所述的基于可信计算环境的多方计算方法的步骤。
本申请实施例中,通过接收至少两个计算参与方发送的参数数据和计算函数;根据所述参数数据和所述计算函数,确定第一计算结果;根据预设算法对所述参数数据、所述计算函数和所述第一计算结果进行哈希计算,确定第一中间数值;将所述第一中间数值发送至区块链,以使第二平台获取所述区块链中的所述第一中间数值并对所述第一计算结果进行验证。这样,可以为计算参与方提供一个可信计算环境,在该可信计算环境中来完成计算参与方的计算过程,以此避免计算参与方的隐私数据被泄露。同时,通过第一平台将计算参与方发送的参数数据和计算函数,以及计算得到的第一计算结果进行哈希计算,得到第一中间数值,并将该第一中间数值发送至区块链进行存证,方便第二平台根据区块链中的第一中间数值对第一计算结果进行验证,从而确定在可信计算环境中参与计算的参数数据和计算函数是否被篡改,从而进一步提高了多方计算的安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于可信计算环境的多方计算方法的流程图之一;
图2为本申请实施例提供的第一中间数值的生成过程示意图;
图3为本申请实施提供的基于可信计算环境的多方计算方法的流程图之二;
图4为本申请实施提供的多方计算系统中计算参与方A、计算参与方B、第一平台C、区块链和第二平台的交互过程示意图;
图5为本申请实施例提供的基于可信计算环境的多方计算装置的结构示意图;
图6为本申请实施例提供的基于可信计算环境的多方计算装置的结构示意图之二;
图7为本申请实施例提供的基于可信计算环境的多方计算装置的结构示意图之三;
图8为本申请实施例提供的基于可信计算环境的多方计算装置的结构示意图之四。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例中,提出了一种基于可信计算环境的多方计算方法、装置及存储介质,以解决现有的安全多方计算无法保证计算参与方的数据不会被泄露和篡改,导致多方计算的安全性不高的问题。
参见图1,图1为本申请实施例提供的基于可信计算环境的多方计算方法的流程图之一。该方法应用于提供可信计算环境的第一平台。如图1所示,该方法可以包括以下步骤:
步骤101、接收至少两个计算参与方发送的参数数据和计算函数。
具体地,上述计算参与方是指参与多方计算的参与方,用于为多方计算提供计算函数和参数数据。该计算参与方可以包括多个,如为2个、3个、4个等任一大于1的正整数,本申请不做具体限定。
需要说明的是,本实施例提供的基于可信计算环境的多方计算方法应用于第一平台,该第一平台可以为参与多方计算的多个计算参与方提供可信计算环境(TrustedExecution Environment,简称TEE),并执行计算过程。其中,该可信计算环境可以提供多个软件开发工具包(Software Development Kit,简称SDK)、计算函数安全存储模块、公私钥对管理模块、安全传输服务模块等。其中,多个软件开发工具包用于实现对计算参与方的数据接收接口、对计算参与方的计算结果发送接口、第一中间数值上传区块链接口等等。该第一平台可以是基于硬件芯片的形式实现,还可以是基于ARM TrustZone、智能卡等形势实现,本申请不做具体限定。
步骤102、根据参数数据和计算函数,确定第一计算结果。
其中,上述计算函数具体是指,由计算参与方根据计算需求,确定出来的计算算法。在完成该计算算法时,需要用到的各计算参与方的私有数据,称为参数数据。
由于第一平台为计算参与方提供了可信计算环境,不仅可以通过可信计算环境,对参数数据和计算函数进行保护,防止数据泄露或者被他人篡改,还可以根据参数数据和计算函数进行计算,得到第一计算结果。
步骤103、根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算,确定第一中间数值。
其中,上述预设算法可以是任意一种进行哈希计算的算法,如信息-摘要算法(Message-Digest Algorithm 5,简称MD5)、安全散列算法(Secure Hash Algorithm,简称SHA)、默克尔树(Merkel tree)算法等等。
在该步骤中,第一平台可以采用预设算法对参数数据、计算函数和第一计算结果进行哈希计算,从而得到第一中间数值。其中,该第一中间数值是进行哈希计算后得到的一个哈希值。
步骤104、将第一中间数值发送至区块链,以使第二平台获取区块链中的第一中间数值并对第一计算结果进行验证。
第一平台在获取到第一中间数值后,可以将该第一中间数值上链至区块链中,通过区块链对第一中间数值进行存储。也就是说,在该步骤中,第一平台是将哈希计算后的第一中间数值上链至区块链中,而无是将参数数据、计算函数和第一计算结果直接上传至区块链中,这样,不必担心各计算参与方的隐私数据被泄露,而且有利于第二平台通过区块链获取第一计算结果,并对第一计算结果进行追溯和验证,以此确定各计算参与方的参数数据和计算函数是否被篡改过。
在本实施例中,第一平台可以为计算参与方提供一个可信计算环境,在该可信计算环境中来完成计算参与方的计算过程,以此避免计算参与方的隐私数据被泄露。同时,通过第一平台将计算参与方发送的参数数据和计算函数,以及计算得到的第一计算结果进行哈希计算,得到第一中间数值,并将该第一中间数值发送至区块链进行存证,方便第二平台根据区块链中的第一中间数值对第一计算结果进行验证,从而确定在可信计算环境中参与计算的参数数据和计算函数是否被篡改,从而进一步提高了多方计算的安全性。
进一步地,基于图1所示的实施例,上述步骤101、接收至少两个计算参与方发送的参数数据和计算函数,具体可以包括以下步骤:
接收至少两个计算参与方发送的参数数据的密文和计算函数的密文,其中,参数数据的密文和计算函数的密文均由各计算参与方通过第一平台的公钥加密得到;
利用第一平台的私钥,对参数数据的密文和计算函数的密文进行解密,得到参数数据和计算函数,其中,第一平台的私钥与第一平台的公钥相互配对。
需要说明的是,第一平台拥有公私钥对,通过该公私钥对可以实现与计算参与方的安全数据传输。计算参与方在使用第一平台进行计算前,需要获取第一平台的公钥,这样,计算参与方可以采用第一平台的公钥对参数数据和计算函数进行加密,得到参数数据的密文和计算函数的密文,并将参数数据的密文和计算函数的密文发送至第一平台。第一平台在接收到参数数据的密文和计算函数的密文后,再使用第一平台的私钥对参数数据的密文和计算函数的密文进行解密,从而得到参数数据的明文和计算函数的明文。
在本实施例中,使用第一平台的公私钥对对参数数据和计算函数进行加密和解密,从而实现第一平台和计算参与方的安全数据传输,能够有效避免第一平台和计算参与方之间进行数据传输的过程中,出现数据泄露或者篡改的情况。
进一步地,在上述步骤、接收至少两个计算参与方发送的参数数据的密文和计算函数的密文之前,该方法还可以包括以下步骤:
分别接收至少两个计算参与方发送的公钥;
根据接收到的至少两个计算参与方发送的公钥,分别对第一平台的公钥进行加密;
将加密后的第一平台的公钥分别发送至对应的计算参与方,以使至少两个计算参与方根据自身的私钥对加密后的第一平台的公钥进行解密,得到第一平台的公钥。
具体地,参与多方计算的每个计算参与方均有自己的公私钥对,在每个计算参与方向第一平台发送参数数据和/或计算函数之前,每个计算参与方需要先获取到第一平台的公钥,以通过第一平台的公钥对各自的参数数据和/或计算函数进行加密。
获取第一平台的公钥的过程是,每个计算参与方先将自身的公钥发送至第一平台,第一平台在接收到各计算参与方的公钥后,利用各计算参与方的公钥分别对第一平台的公钥进行加密,并将加密后的第一平台的公钥分别发送至对应的计算参与方。这样各计算参与方就可以通过自身的私钥对加密后的第一平台的公钥进行解密,从而得到第一平台的公钥。
举例说明如下,假设计算参与方A和B分别拥有各自的公私钥对A和公私钥对B,第一平台C拥有自身的公私钥对C。在进行三方交互时,首先,计算参与方A发送公钥A给第一平台C,然后在可信计算环境中,将第一平台C的公钥C采用公钥A进行加密,并返回给计算参与方A,计算参与方A获取到加密的公钥C后,使用私钥A对加密的公钥C进行解密,并将解密后的公钥C保存至计算参与方A的本地存储空间。通过同样方式,计算参与方B发送公钥B给第一平台C,然后在可信计算环境中,将第一平台C的公钥C用公钥B进行加密,并返回给计算参与方B,计算参与方B获取到加密的公钥C后,使用私钥B对加密的公钥C进行解密,并将解密后的公钥C保存至计算参与方B的本地存储空间。当然,如有除计算参与方A和B之外的其他计算参与方,其他计算参与方也可以通过上述方式获取到第一平台C的公钥C。
在该实施例中,使用各计算参与方的公私钥对分别对第一平台的公钥进行加密和解密,从而实现第一平台的公钥的安全传输,能够有效避免第一平台的公钥出现泄露或者篡改的情况。
进一步地,基于上述图1所示的实施例,上述步骤103、根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算,确定第一中间数值,具体可以包括以下步骤:
分别计算参数数据、计算函数和第一计算结果对应的哈希值;
将参数数据、计算函数和第一计算结果对应的哈希值,分别作为哈希树的叶子节点;
分别对叶子节点中相邻两个叶子节点进行哈希计算,并将计算得到的哈希值作为中间节点;
分别对中间节点中相邻两个中间节点进行哈希计算,得到第一中间数值。
在本实施例中,第一平台可以根据参数数据、计算函数和第一计算结果构建一个二叉哈希树,由此得到该哈希树的根哈希。具体地,第一平台可以分别计算参数数据、计算函数和第一计算结果对应的哈希值,然后将参数数据、计算函数和第一计算结果对应的哈希值作为二叉哈希树的叶子节点,进而将相邻两个叶子节点的哈希值再次进行哈希计算,得到新的哈希值,将其作为二叉哈希树的中间节点。继续将相邻两个中间节点的哈希值进行哈希计算,最终得到该二叉哈希树的根哈希,即第一中间数值。
具体参见图2,图2为本申请实施例提供的第一中间数值的生成过程示意图。如图2所示,假设计算参与方包括计算参与方A和计算参与方B,其中,计算参与方A提供的参数数据的哈希值为哈希1,计算参与方B提供的参数数据的哈希值为哈希2,计算参与方A和/或B提供的计算函数的哈希值为哈希3,第一计算结果的哈希值为哈希4,那么,可以将哈希1、哈希2、哈希3和哈希4作为二叉哈希树的叶子节点,进而将哈希1和哈希2进行哈希计算,得到哈希12;将哈希3和哈希4进行哈希计算,得到哈希34。再将中间节点哈希12和哈希34进行哈希计算,得到二叉哈希树的根哈希1234,即第一中间数值。
需要说明的是,上述叶子节点和中间节点进行哈希计算采用的算法可以包括但不限于:信息-摘要算法(Message-Digest Algorithm 5,简称MD5)、安全散列算法(SecureHash Algorithm,简称SHA)等。
在本实施例中,通过将参数数据、计算函数和第一计算结果进行哈希计算,得到第一中间数值。由于计算得到的第一中间数值不可逆,很难被别人破解出来,即便被上传至区块链,也具有较高的安全性。另外,通过向区块链中上传该第一中间数值,而非参数数据、计算函数和第一计算结果数据本身,这样不仅可以有效减小区块链上存储的数据量,还可以有效防止数据被篡改。同时,在后续第二平台的验证过程中,第二平台可以依据区块链中的第一中间数值对数据的篡改情况进行验证,有效提高了多发计算的安全性。
参见图3,图3为本申请实施提供的基于可信计算环境的多方计算方法的流程图之二。该方法应用于第二平台,具体可以包括以下步骤:
步骤301、获取区块链中的第一中间数值,区块链用于接收并存储第一平台发送的第一中间数值,第一中间数值为第一平台根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算获得,第一计算结果是根据参数数据和计算函数确定得到,参数数据和计算函数均由至少两个计算参与方发送。
本实施例提供的基于可信计算环境的多方计算方法应用于第二平台,该第二平台用于对第一平台计算得到的第一计算结果进行验证。该第二平台可以是与上述第一平台处于相同的设备中,也可以是与上述第一平台处于不同的设备中,本申请不做具体限定。
第二平台可以从区块链中获取第一平台上传的第一中间数值,其中,第一平台计算得到第一中间数值的过程在上述实施例中已做说明,在此不再赘述。
步骤302、接收至少两个计算参与方发送的参数数据和计算函数。
第二平台在接收到第一中间数值后,可以接收各计算参与方发送的参数数据和计算函数。具体地,第二平台可以在接收到第一中间数值后,向各计算参与方发送验证请求,各计算参与方接收到验证请求后,向第二平台发送参数数据的明文和计算函数明文。
需要说明的是,此处的各计算参与方是指参与第一平台的计算过程的至少两个计算参与方。
步骤303、根据参数数据和计算函数,确定第二计算结果。
其中,上述确定第二计算结果的过程与上述确定第一计算结果的计算过程相同。上述第二计算结果可以与上述第一计算结果相同,也可以与上述第一计算结果不同。若上述第二计算结果与上述第一计算结果相同,则说明第一平台上参与计算的参数数据和计算函数未被篡改;若上述第二计算结果与上述第一计算结果不同,则说明第一平台上参与计算的参数数据和计算函数中的至少一个被篡改。
步骤304、根据预设算法对参数数据、计算函数和第二计算结果进行计算,确定第二中间数值。
其中,上述确定第二中间数值的过程与上述确定第一中间数值的计算过程相同。上述第二中间数值可以与上述第一中间数值相同,也可以与上述第一中间数值不同。
步骤305、根据第二中间数值和第一中间数值,对第一计算结果进行验证。
第二平台在获取第二中间数值和第一中间数值,可以根据第二中间数值和第一中间数值的大小,对第一计算结果进行验证。具体地,若上述第二中间数值与上述第一中间数值相同,则说明第一平台上参与计算的参数数据和计算函数未被篡改,第一计算结果验证成功;若上述第二中间数值与上述第一中间数值不同,则说明第一平台上参与计算的参数数据和计算函数中的至少一个被篡改,第一计算结果验证失败。
在本实施例中,第二平台根据区块链中的第一中间数值对第一计算结果进行验证,从而确定在可信计算环境中参与计算的参数数据和计算函数是否被篡改,从而进一步提高了多方计算的安全性。
进一步地,基于上述图3所示的实施例,上述步骤305、根据第二中间数值和第一中间数值,对第一计算结果进行验证,具体包括如下步骤:
若第二中间数值与第一中间数值相同,则第一计算结果验证通过;
若第二中间数值与第一中间数值不同,则第一计算结果验证失败。
具体地,第二平台在获取第二中间数值和第一中间数值,可以根据第二中间数值和第一中间数值的大小,对第一计算结果进行验证。若上述第二中间数值与上述第一中间数值相同,则说明第一平台上参与计算的参数数据和计算函数未被篡改,第一计算结果验证成功;若上述第二中间数值与上述第一中间数值不同,则说明第一平台上参与计算的参数数据和计算函数中的至少一个被篡改,第一计算结果验证失败。这样,通过将不可逆的第一中间数值作为验证的依据,提高了验证的准确性。
在一应用例中,该多方计算系统包括计算参与方A、计算参与方B、第一平台C、区块链和第二平台,其中,计算参与方A、计算参与方B、第一平台C、区块链和第二平台之间交互,完成多方计算过程。参见图4,图4为多方计算系统中计算参与方A、计算参与方B、第一平台C、区块链和第二平台的交互过程示意图。如图4所示,计算参与方A和计算参与方B分别向第一平台C发送各自的公钥A和公钥B,第一平台C在接收到公钥A后,采用公钥A对第一平台C的公钥C进行加密,并将加密后的公钥C发送给计算参与方A;第一平台C在接收到公钥B后,采用公钥B对第一平台C的公钥C进行加密,并将加密后的公钥C发送给计算参与方B。计算参与方A使用自身的私钥A对加密后的公钥C进行解密,并利用公钥C对参数数据进行加密,将加密后的参数数据上传至第一平台C。计算参与方B使用自身的私钥B对加密后的公钥C进行解密,并利用公钥C对参数数据进行加密,将加密后的参数数据上传至第一平台C。第一平台C根据自身的私钥C对加密后的参数数据进行解密,并利用参数数据明文和计算函数明文金进行计算,得到第一计算结果。第一平台C在获取到第一计算结果后,可以采用公钥A对第一计算结果进行加密,返回至计算参与方A,并采用公钥B对第一计算结果进行加密,返回至计算参与方B。需要说明的是,第一平台的计算函数同样是由计算参与方A和/或B发送的,并存储在第一平台C的计算函数安全存储模块中,而且,第一平台C在接收到计算参与方A和计算参与方B的公钥A和公钥B时,也同样存储在第一平台的公私钥对管理模块中。
并且,第一平台在获取到第一计算结果后,还可以根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算,得到第一中间数值,并将该第一中间数值上传至区块链。第二平台可以获取区块链中的该第一中间数值、计算参与方A的参数数据明文、计算参与方B的参数数据明文和第一平台C中的计算函数明文,并根据计算参与方A的参数数据明文、计算参与方B的参数数据明文和第一平台C中的计算函数明文,计算得到第二计算结果,进而根据第一平台中一样的预设算法,对计算参与方A的参数数据明文、计算参与方B的参数数据明文、第一平台C中的计算函数明文和第二计算结果进行哈希计算,得到计算第二中间数值,最后比较第一中间数值和第二中间数值,确定验证结果,由此实现整个多方计算的计算和验证过程。
除此之外,参见图5,图5为本申请实施例提供的基于可信计算环境的多方计算装置的结构示意图。如图5所示,该基于可信计算环境的多方计算装置500,应用于提供可信计算环境的第一平台,包括:
第一接收模块501,用于接收至少两个计算参与方发送的参数数据和计算函数;
第一确定模块502,用于根据参数数据和计算函数,确定第一计算结果;
第二确定模块503,用于根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算,确定第一中间数值;
发送模块504,用于将第一中间数值发送至区块链,以使第二平台获取区块链中的第一中间数值并对第一计算结果进行验证。
可选地,第一接收模块501包括:
第一接收子模块,用于接收至少两个计算参与方发送的参数数据的密文和计算函数的密文,其中,参数数据的密文和计算函数的密文均由各计算参与方通过第一平台的公钥加密得到;
解密子模块,用于利用第一平台的私钥,对参数数据的密文和计算函数的密文进行解密,得到参数数据和计算函数,其中,第一平台的私钥与第一平台的公钥相互配对。
可选地,第一接收模块501还包括:
第二接收子模块,用于分别接收至少两个计算参与方发送的公钥;
加密子模块,用于根据接收到的至少两个计算参与方发送的公钥,分别对第一平台的公钥进行加密;
发送子模块,用于将加密后的第一平台的公钥分别发送至对应的计算参与方,以使至少两个计算参与方根据自身的私钥对加密后的第一平台的公钥进行解密,得到第一平台的公钥。
可选地,第二确定模块503包括:
第一计算子模块,用于分别计算参数数据、计算函数和第一计算结果对应的哈希值;
第一作为子模块,用于将参数数据、计算函数和第一计算结果对应的哈希值,分别作为哈希树的叶子节点;
第二作为子模块,用于分别对叶子节点中相邻两个叶子节点进行哈希计算,并将计算得到的哈希值作为中间节点;
第二计算子模块,用于分别对中间节点中相邻两个中间节点进行哈希计算,得到第一中间数值。
该基于可信计算环境的多方计算装置500能够实现上述基于可信计算环境的多方计算方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
除此之外,参见图6,图6为本申请实施例提供的基于可信计算环境的多方计算装置的结构示意图之二。如图6所示,该基于可信计算环境的多方计算装置600,应用于第二平台,包括:
获取模块601,用于获取区块链中的第一中间数值,区块链用于接收并存储第一平台发送的第一中间数值,第一中间数值为第一平台根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算获得,第一计算结果是根据参数数据和计算函数确定得到,参数数据和计算函数均由至少两个计算参与方发送;
第二接收模块602,用于接收至少两个计算参与方发送的参数数据和计算函数;
第三确定模块603,用于根据参数数据和计算函数,确定第二计算结果;
第四确定模块604,用于根据预设算法对参数数据、计算函数和第二计算结果进行计算,确定第二中间数值;
验证模块605,用于根据第二中间数值和第一中间数值,对第一计算结果进行验证。
可选地,验证模块605包括:
验证通过子模块,用于若第二中间数值与第一中间数值相同,则第一计算结果验证通过;
验证失败子模块,用于若第二中间数值与第一中间数值不同,则第一计算结果验证失败。
该基于可信计算环境的多方计算装置600能够实现上述基于可信计算环境的多方计算方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
除此之外,参见图7,图7为本申请实施例提供的基于可信计算环境的多方计算装置的结构示意图之三。如图7所示,该基于可信计算环境的多方计算装置应用于提供可信计算环境的第一平台,包括总线701、收发机702、天线703、总线接口704、处理器705和存储器706。
收发机702,用于接收至少两个计算参与方发送的参数数据和计算函数;
处理器705,用于根据参数数据和计算函数,确定第一计算结果;根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算,确定第一中间数值;
收发机702,还用于将第一中间数值发送至区块链,以使第二平台获取区块链中的第一中间数值并对第一计算结果进行验证。
可选地,收发机702,还用于接收至少两个计算参与方发送的参数数据的密文和计算函数的密文,其中,参数数据的密文和计算函数的密文均由各计算参与方通过第一平台的公钥加密得到;
处理器705,还用于利用第一平台的私钥,对参数数据的密文和计算函数的密文进行解密,得到参数数据和计算函数,其中,第一平台的私钥与第一平台的公钥相互配对。
可选地,收发机702,还用于分别接收至少两个计算参与方发送的公钥;
处理器705,还用于根据接收到的至少两个计算参与方发送的公钥,分别对第一平台的公钥进行加密;
收发机702,还用于将加密后的第一平台的公钥分别发送至对应的计算参与方,以使至少两个计算参与方根据自身的私钥对加密后的第一平台的公钥进行解密,得到第一平台的公钥。
可选地,处理器705,还用于分别计算参数数据、计算函数和第一计算结果对应的哈希值;将参数数据、计算函数和第一计算结果对应的哈希值,分别作为哈希树的叶子节点;分别对叶子节点中相邻两个叶子节点进行哈希计算,并将计算得到的哈希值作为中间节点;分别对中间节点中相邻两个中间节点进行哈希计算,得到第一中间数值。
在图7中,总线架构(用总线701来代表),总线701可以包括任意数量的互联的总线和桥,总线701将包括由处理器705代表的一个或多个处理器和存储器706代表的存储器的各种电路链接在一起。总线701还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口704在总线701和收发机702之间提供接口。收发机702可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器705处理的数据通过天线703在无线介质上进行传输,进一步,天线703还接收数据并将数据传送给处理器705。
处理器705负责管理总线701和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器706可以被用于存储处理器705在执行操作时所使用的数据。
可选的,处理器705可以是CPU、ASIC、FPGA或CPLD。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述基于可信计算环境的多方计算方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等。
本申请实施例还提供了一种基于可信计算环境的多方计算装置,应用于提供可信计算环境的第一平台,包括:处理器、存储器及存储在存储器上并可在处理器上运行的程序,程序被处理器执行时实现上述基于可信计算环境的多方计算方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
除此之外,参见图8,图8为本申请实施例提供的基于可信计算环境的多方计算装置的结构示意图之四。如图8所示,该基于可信计算环境的多方计算装置应用于第二平台,包括总线801、收发机802、天线803、总线接口804、处理器805和存储器806。
收发机802,用于获取区块链中的第一中间数值,区块链用于接收并存储第一平台发送的第一中间数值,第一中间数值为第一平台根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算获得,第一计算结果是根据参数数据和计算函数确定得到,参数数据和计算函数均由至少两个计算参与方发送;
收发机802,还用于接收至少两个计算参与方发送的参数数据和计算函数;
处理器805,用于根据参数数据和计算函数,确定第二计算结果;根据预设算法对参数数据、计算函数和第二计算结果进行计算,确定第二中间数值;根据第二中间数值和第一中间数值,对第一计算结果进行验证。
可选地,处理器805,用于若第二中间数值与第一中间数值相同,则第一计算结果验证通过;
若第二中间数值与第一中间数值不同,则第一计算结果验证失败。
在图8中,总线架构(用总线801来代表),总线801可以包括任意数量的互联的总线和桥,总线801将包括由处理器805代表的一个或多个处理器和存储器806代表的存储器的各种电路链接在一起。总线801还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口804在总线801和收发机802之间提供接口。收发机802可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器805处理的数据通过天线803在无线介质上进行传输,进一步,天线803还接收数据并将数据传送给处理器805。
处理器805负责管理总线801和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器806可以被用于存储处理器805在执行操作时所使用的数据。
可选的,处理器805可以是CPU、ASIC、FPGA或CPLD。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述基于可信计算环境的多方计算方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等。
本申请实施例还提供了一种基于可信计算环境的多方计算装置,应用于第二平台,包括:处理器、存储器及存储在存储器上并可在处理器上运行的程序,程序被处理器执行时实现上述基于可信计算环境的多方计算方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (12)
1.一种基于可信计算环境的多方计算方法,其特征在于,应用于提供所述可信计算环境的第一平台,所述方法包括:
接收至少两个计算参与方发送的参数数据和计算函数;
根据所述参数数据和所述计算函数,确定第一计算结果;
根据预设算法对所述参数数据、所述计算函数和所述第一计算结果进行哈希计算,确定第一中间数值;
将所述第一中间数值发送至区块链,以使第二平台获取所述区块链中的所述第一中间数值并对所述第一计算结果进行验证。
2.根据权利要求1所述的方法,其特征在于,所述接收至少两个计算参与方发送的参数数据和计算函数,包括:
接收所述至少两个计算参与方发送的所述参数数据的密文和所述计算函数的密文,其中,所述参数数据的密文和所述计算函数的密文均由各计算参与方通过所述第一平台的公钥加密得到;
利用所述第一平台的私钥,对所述参数数据的密文和所述计算函数的密文进行解密,得到所述参数数据和所述计算函数,其中,所述第一平台的私钥与所述第一平台的公钥相互配对。
3.根据权利要求2所述的方法,其特征在于,在所述接收所述至少两个计算参与方发送的所述参数数据的密文和所述计算函数的密文之前,所述方法还包括:
分别接收所述至少两个计算参与方发送的公钥;
根据接收到的所述至少两个计算参与方发送的公钥,分别对所述第一平台的公钥进行加密;
将加密后的第一平台的公钥分别发送至对应的计算参与方,以使所述至少两个计算参与方根据自身的私钥对加密后的第一平台的公钥进行解密,得到第一平台的公钥。
4.根据权利要求1所述的方法,其特征在于,所述根据预设算法对所述参数数据、所述计算函数和所述第一计算结果进行哈希计算,确定第一中间数值,包括:
分别计算所述参数数据、所述计算函数和所述第一计算结果对应的哈希值;
将所述参数数据、所述计算函数和所述第一计算结果对应的哈希值,分别作为哈希树的叶子节点;
分别对所述叶子节点中相邻两个叶子节点进行哈希计算,并将计算得到的哈希值作为中间节点;
分别对所述中间节点中相邻两个中间节点进行哈希计算,得到第一中间数值。
5.一种基于可信计算环境的多方计算方法,其特征在于,应用于第二平台,所述方法包括:
获取区块链中的第一中间数值,所述区块链用于接收并存储第一平台发送的所述第一中间数值,所述第一中间数值为所述第一平台根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算获得,所述第一计算结果是根据所述参数数据和所述计算函数确定得到,所述参数数据和所述计算函数均由至少两个计算参与方发送;
接收所述至少两个计算参与方发送的参数数据和计算函数;
根据所述参数数据和所述计算函数,确定第二计算结果;
根据所述预设算法对所述参数数据、所述计算函数和所述第二计算结果进行计算,确定第二中间数值;
根据所述第二中间数值和所述第一中间数值,对所述第一计算结果进行验证。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第二中间数值和所述第一中间数值,对所述第一计算结果进行验证,包括:
若所述第二中间数值与所述第一中间数值相同,则所述第一计算结果验证通过;
若所述第二中间数值与所述第一中间数值不同,则所述第一计算结果验证失败。
7.一种基于可信计算环境的多方计算装置,其特征在于,应用于提供所述可信计算环境的第一平台,所述装置包括:
第一接收模块,用于接收至少两个计算参与方发送的参数数据和计算函数;
第一确定模块,用于根据所述参数数据和所述计算函数,确定第一计算结果;
第二确定模块,用于根据预设算法对所述参数数据、所述计算函数和所述第一计算结果进行哈希计算,确定第一中间数值;
发送模块,用于将所述第一中间数值发送至区块链,以使第二平台获取所述区块链中的所述第一中间数值并对所述第一计算结果进行验证。
8.一种基于可信计算环境的多方计算装置,其特征在于,应用于第二平台,所述装置包括:
获取模块,用于获取区块链中的第一中间数值,所述区块链用于接收并存储第一平台发送的所述第一中间数值,所述第一中间数值为所述第一平台根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算获得,所述第一计算结果是根据所述参数数据和所述计算函数确定得到,所述参数数据和所述计算函数均由至少两个计算参与方发送;
第二接收模块,用于接收所述至少两个计算参与方发送的参数数据和计算函数;
第三确定模块,用于根据所述参数数据和所述计算函数,确定第二计算结果;
第四确定模块,用于根据所述预设算法对所述参数数据、所述计算函数和所述第二计算结果进行计算,确定第二中间数值;
验证模块,用于根据所述第二中间数值和所述第一中间数值,对所述第一计算结果进行验证。
9.一种基于可信计算环境的多方计算装置,其特征在于,应用于提供所述可信计算环境的第一平台,所述装置包括收发机和处理器;
所述收发机,用于接收至少两个计算参与方发送的参数数据和计算函数;
所述处理器,用于根据所述参数数据和所述计算函数,确定第一计算结果;根据预设算法对所述参数数据、所述计算函数和所述第一计算结果进行哈希计算,确定第一中间数值;
所述收发机,还用于将所述第一中间数值发送至区块链,以使第二平台获取所述区块链中的所述第一中间数值并对所述第一计算结果进行验证。
10.一种基于可信计算环境的多方计算装置,其特征在于,应用于第二平台,所述装置包括收发机和处理器;
所述收发机,用于获取区块链中的第一中间数值,所述区块链用于接收并存储第一平台发送的所述第一中间数值,所述第一中间数值为所述第一平台根据预设算法对参数数据、计算函数和第一计算结果进行哈希计算获得,所述第一计算结果是根据所述参数数据和所述计算函数确定得到,所述参数数据和所述计算函数均由至少两个计算参与方发送;
所述收发机,还用于接收所述至少两个计算参与方发送的参数数据和计算函数;
所述处理器,用于根据所述参数数据和所述计算函数,确定第二计算结果;根据所述预设算法对所述参数数据、所述计算函数和所述第二计算结果进行计算,确定第二中间数值;根据所述第二中间数值和所述第一中间数值,对所述第一计算结果进行验证。
11.一种基于可信计算环境的多方计算装置,其特征在于,所述装置包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至4中任一项所述的基于可信计算环境的多方计算方法的步骤;或者所述程序被所述处理器执行时实现如权利要求5至6中任一项所述的基于可信计算环境的多方计算方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的基于可信计算环境的多方计算方法的步骤;或者所述计算机程序被处理器执行时实现如权利要求5至6中任一项所述的基于可信计算环境的多方计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110517314.9A CN115344882A (zh) | 2021-05-12 | 2021-05-12 | 基于可信计算环境的多方计算方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110517314.9A CN115344882A (zh) | 2021-05-12 | 2021-05-12 | 基于可信计算环境的多方计算方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115344882A true CN115344882A (zh) | 2022-11-15 |
Family
ID=83946818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110517314.9A Pending CN115344882A (zh) | 2021-05-12 | 2021-05-12 | 基于可信计算环境的多方计算方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115344882A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115859371A (zh) * | 2023-03-03 | 2023-03-28 | 蓝象智联(杭州)科技有限公司 | 基于区块链的隐私计算方法、电子设备和存储介质 |
-
2021
- 2021-05-12 CN CN202110517314.9A patent/CN115344882A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115859371A (zh) * | 2023-03-03 | 2023-03-28 | 蓝象智联(杭州)科技有限公司 | 基于区块链的隐私计算方法、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347835B (zh) | 信息传输方法、客户端、服务器以及计算机可读存储介质 | |
US10178090B2 (en) | System and methods for protecting keys using garbled circuits | |
WO2022199290A1 (zh) | 多方安全计算 | |
CN108199835B (zh) | 一种多方联合私钥解密方法 | |
CN110890962B (zh) | 认证密钥协商方法、装置、存储介质及设备 | |
US8396218B2 (en) | Cryptographic module distribution system, apparatus, and program | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
CN112287377A (zh) | 基于联邦学习的模型训练方法、计算机设备及存储介质 | |
CN109309566B (zh) | 一种认证方法、装置、系统、设备及存储介质 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN109978543B (zh) | 一种合同签署的方法、装置、电子设备及存储介质 | |
CN117220865A (zh) | 经纬度加密方法、经纬度校验方法、装置及可读存储介质 | |
CN110796448A (zh) | 基于区块链的智能合约验证方法、参与节点及介质 | |
CN113726772A (zh) | 实现在线问诊会话的方法、装置、设备及存储介质 | |
CN115344882A (zh) | 基于可信计算环境的多方计算方法、装置及存储介质 | |
CN111565108A (zh) | 签名处理方法、装置及系统 | |
CN114785527B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN115022012B (zh) | 一种数据传输方法、装置、系统、设备及存储介质 | |
CN115378725A (zh) | 基于多方安全计算中的隐私保护方法及装置 | |
CN113420886B (zh) | 纵向联邦学习模型的训练方法、装置、设备及存储介质 | |
CN116155483A (zh) | 区块链签名机安全设计方法及签名机 | |
CN114584347A (zh) | 验证短信收发方法、服务器、终端及存储介质 | |
CN114036546A (zh) | 基于手机号的身份验证方法、装置、计算机设备和介质 | |
CN112925535A (zh) | 一种密码芯片嵌入式应用安装方法及装置 | |
CN112995096A (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 |