CN115118411B - 链下多方可信计算方法、装置、设备及存储介质 - Google Patents
链下多方可信计算方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115118411B CN115118411B CN202211037908.0A CN202211037908A CN115118411B CN 115118411 B CN115118411 B CN 115118411B CN 202211037908 A CN202211037908 A CN 202211037908A CN 115118411 B CN115118411 B CN 115118411B
- Authority
- CN
- China
- Prior art keywords
- computing
- encrypted
- calculation
- signature
- node
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 172
- 238000012795 verification Methods 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000012856 packing Methods 0.000 claims abstract description 11
- 230000015654 memory Effects 0.000 claims description 29
- 239000000126 substance Substances 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 20
- 125000004122 cyclic group Chemical group 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000005094 computer simulation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
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)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本说明书涉及链下可信计算技术领域,提供了一种链下多方可信计算方法、装置、设备及存储介质,该方法包括:接收到调用计算模型的计算请求时生成N个随机数;从链下计算集群中随机选择N个计算节点;根据N个随机数生成中间参数及N个加密随机数;将中间参数、N个加密随机数和N个计算节点的地址打包为计算任务;将计算任务提供给数据源,以使数据源根据地址将N份同态加密入参数据对应提供给N个计算节点处理;接收每个计算节点返回的携带签名的加密计算结果;每个签名由对应计算节点基于中间参数及各自的加密随机数生成;对加密计算结果进行签名验证及同态解密后的结果一致性验证。本说明书实施例可兼顾链上数据在链下计算的安全性和实现成本。
Description
技术领域
本说明书涉及链下可信计算技术领域,尤其是涉及一种链下多方可信计算方法、装置、设备及存储介质。
背景技术
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约建立的权利和义务,是由一台计算机或者计算机网络执行的。智能合约引擎利用合约运行环境控制模块,依据合约执行事务请求中指定的合约地址,获取链上保存的对应合约代码,并验证合约代码的真实性;在确保合约代码的正确性后,将合约代码自动部署在合约运行环境中;智能合约引擎在验证合约执行事务请求的合法性后,依据合约执行事务请求中的合约调用信息,在部署好的对应合约运行环境中自动执行相应的合约方法,从而完成对链上数据的操作。
区块链智能合约的执行指令有限,且执行的时间和算力都限于区块的大小,所以一般不会参与复杂的计算。涉及链外数据和统计等复杂计算,一般采用预言机(Oracle)、或者网桥计算后的数据给链上的合约,对数据结果进行投票验证。然而,链外计算节点一旦被控制,数据可能会泄漏且计算结果也会受到影响。而基于硬件的可信执行环境(TrustedExecution Environment,TEE )过于苛刻,对计算的数据范围有限,且实现成本较高。因此,如何平衡链上数据在链下进行计算的安全性和实现成本已成为目前亟待解决的技术问题。
发明内容
本说明书实施例的目的在于提供一种链下多方可信计算扩容方法、装置、设备及存储介质,以兼顾链上数据在链下进行计算的安全性和实现成本。
为达到上述目的,一方面,本说明书实施例提供了一种链下多方可信计算方法,包括:
接收到调用计算模型的计算请求时生成N个随机数;N为指定数量;
从链下计算集群中随机选择N个计算节点;
根据所述N个随机数生成中间参数及N个加密随机数;
将所述中间参数、所述N个加密随机数和所述N个计算节点的地址打包为计算任务;
将所述计算任务提供给数据源,以使所述数据源根据所述地址将N份同态加密入参数据对应提供给所述N个计算节点处理;
接收每个所述计算节点返回的携带签名的加密计算结果;每个所述签名由对应计算节点基于所述中间参数及各自的加密随机数生成;
对所述加密计算结果进行签名验证及同态解密后的结果一致性验证。
本说明书实施例的链下多方可信计算方法中,根据所述N个随机数生成中间参数,包括:
本说明书实施例的链下多方可信计算方法中,根据所述N个随机数生成N个加密随机数,包括:
为每个所述计算节点分配一个公私钥对;
用所述N个计算节点的公钥对应加密所述N个随机数,获得N个加密随机数。
本说明书实施例的链下多方可信计算方法中,所述N份同态加密入参数据由所述数据源利用所述N个计算节点的随机公钥对应入参数据生成,所述N个计算节点的随机公钥由所述数据源生成并分配。
本说明书实施例的链下多方可信计算方法中,每个所述签名由对应计算节点根据公式计算得到;其中,为第i个计算节点的签名,H为中间参数,为第i个计算节点的私钥,为第i个计算节点的随机数,且由第i个计算节点利用解密其加密随机数得到。
本说明书实施例的链下多方可信计算方法中,对所述加密计算结果进行签名验证及同态解密后的结果一致性验证,包括:
当签名验证成功时,利用N个计算节点的随机私钥对应同态解密N个加密计算结果,获得N个计算结果;所述N个计算节点的随机私钥由所述数据源生成并分配;
比较所述N个计算结果是否一致;
如果所述N个计算结果一致,则结果一致性验证成功;
另一方面,本说明书实施例还提供了另一种链下多方可信计算方法,包括:
接收计算任务;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址;
为每个所述计算节点分配一个随机公私钥对;
用所述N个计算节点的随机公钥分别对入参数据进行加密,获得N份同态加密入参数据;
根据所述N个计算节点的地址将所述N份同态加密入参数据对应提供给所述N个计算节点处理;
用区块链节点的公钥加密所述N个计算节点的随机私钥,获得加密随机私钥;
将所述加密随机私钥提供给所述区块链节点,以便所述区块链节点对所述N个计算节点返回的携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证。
本说明书实施例的链下多方可信计算方法中,所述中间参数由所述区块链节点根据以下方式获得:
本说明书实施例的链下多方可信计算方法中,所述加密随机数由所述区块链节点根据以下方式获得:
为每个所述计算节点分配一个公私钥对;
用所述N个计算节点的公钥对应加密N个随机数,获得N个加密随机数。
本说明书实施例的链下多方可信计算方法中,每个所述签名由对应计算节点根据公式计算得到;其中,为第i个计算节点的签名,H为中间参数,为第i个计算节点的私钥,为第i个计算节点的随机数,且由第i个计算节点利用解密其加密随机数得到。
本说明书实施例的链下多方可信计算方法中,所述区块链节点对所述N个计算节点返回的携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证,包括:
所述区块链节点在确认签名验证成功时,利用N个计算节点的随机私钥对应同态解密N个加密计算结果,获得N个计算结果;
所述区块链节点比较所述N个计算结果是否一致;
如果所述N个计算结果一致,则所述区块链节点确认结果一致性验证成功;
另一方面,本说明书实施例还提供了另一种链下多方可信计算方法,包括:
将区块链节点发送的计算任务转发给数据源;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址;
接收所述数据源根据所述地址返回的同态加密入参数据;
根据所述计算任务对应的计算模型处理所述同态加密入参数据,获得加密计算结果;
基于所述中间参数及自身对应的加密随机数对所述加密计算结果进行签名;
将携带签名的加密计算结果提供给所述区块链节点,以便所述区块链节点对携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证。
本说明书实施例的链下多方可信计算方法中,基于所述中间参数及自身对应的加密随机数对所述加密计算结果进行签名,包括:
利用自身的私钥解密所述计算任务中对应的加密随机数,获得随机数;
本说明书实施例的链下多方可信计算方法中,所述中间参数由所述区块链节点根据以下方式获得:
本说明书实施例的链下多方可信计算方法中,所述加密随机数由所述区块链节点根据以下方式获得:
为每个所述计算节点分配一个公私钥对;
用所述N个计算节点的公钥对应加密N个随机数,获得N个加密随机数。
本说明书实施例的链下多方可信计算方法中,所述区块链节点对携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证,包括:
所述区块链节点在确认签名验证成功时,利用N个计算节点的随机私钥对应同态解密N个加密计算结果,获得N个计算结果;所述N个计算节点的随机私钥由所述数据源生成并分配;
所述区块链节点比较所述N个计算结果是否一致;
如果所述N个计算结果一致,则所述区块链节点确认结果一致性验证成功;
另一方面,本说明书实施例还提供了一种链下多方可信计算装置,包括:
第一生成模块,用于接收到调用计算模型的计算请求时生成N个随机数;N为指定数量;
节点选择模块,用于从链下计算集群中随机选择N个计算节点;
第二生成模块,用于根据所述N个随机数生成中间参数及N个加密随机数;
数据打包模块,用于将所述中间参数、所述N个加密随机数和所述N个计算节点的地址打包为计算任务;
任务提供模块,用于将所述计算任务提供给数据源,以使所述数据源根据所述地址将N份同态加密入参数据对应提供给所述N个计算节点处理;
结果接收模块,用于接收每个所述计算节点返回的携带签名的加密计算结果;每个所述签名由对应计算节点基于所述中间参数及各自的加密随机数生成;
结果验证模块,用于对所述加密计算结果进行签名验证及同态解密后的结果一致性验证。
另一方面,本说明书实施例还提供了另一种链下多方可信计算装置,包括:
任务接收模块,用于接收计算任务;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址;
密钥分配模块,用于为每个所述计算节点分配一个随机公私钥对;
第一加密模块,用于用所述N个计算节点的随机公钥分别对入参数据进行加密,获得N份同态加密入参数据;
数据提供模块,用于根据所述N个计算节点的地址将所述N份同态加密入参数据对应提供给所述N个计算节点处理;
第二加密模块,用于用区块链节点的公钥加密所述N个计算节点的随机私钥,获得加密随机私钥;
私钥提供模块,用于将所述加密随机私钥提供给所述区块链节点,以便所述区块链节点进行结果一致性验证处理。
另一方面,本说明书实施例还提供了另一种链下多方可信计算装置,包括:
任务转发模块,用于将区块链节点发送的计算任务转发给数据源;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址;
数据接收模块,用于接收所述数据源根据所述地址返回的同态加密入参数据;
任务执行模块,用于根据所述计算任务对应的计算模型处理所述同态加密入参数据,获得加密计算结果;
结果签名模块,用于基于所述中间参数及自身对应的加密随机数对所述加密计算结果进行签名;
结果提供模块,用于将携带签名的加密计算结果提供给所述区块链节点,以便所述区块链节点对携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证。
另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
另一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,由于入参数据通过同态加密进行了混淆,每个计算节点返回的计算结果也进行了混淆,且所有计算结果达到结果一致性时才能验证通过,从而实现了在避免采用基于硬件的可信执行环境下,提高了链上数据在链下进行计算的安全性,从而兼顾了链上数据在链下进行计算的安全性和实现成本。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本说明书一些实施例中链下多方可信计算系统的结构框图;
图2示出了本说明书一些实施例中链下多方可信计算系统的链下多方可信计算示意图;
图3示出了本说明书一些实施例中链下多方可信计算方法的流程图;
图4示出了本说明书另一些实施例中链下多方可信计算方法的流程图;
图5示出了本说明书另一些实施例中链下多方可信计算方法的流程图;
图6示出了本说明书一些实施例中链下多方可信计算装置的结构框图;
图7示出了本说明书另一些实施例中链下多方可信计算装置的结构框图;
图8示出了本说明书另一些实施例中链下多方可信计算装置的结构框图;
图9示出了本说明书一些实施例中计算机设备的结构框图。
【附图标记说明】
10、用户端;
20、区块链节点;
30、计算节点;
40、数据源;
61、第一生成模块;
62、节点选择模块;
63、第二生成模块;
64、数据打包模块;
65、任务提供模块;
66、结果接收模块;
67、结果验证模块;
71、任务接收模块;
72、密钥分配模块;
73、第一加密模块;
74、数据提供模块;
75、第二加密模块;
76、私钥提供模块;
81、任务转发模块;
82、数据接收模块;
83、任务执行模块;
84、结果签名模块;
85、结果提供模块;
902、计算机设备;
904、处理器;
906、存储器;
908、驱动机构;
910、输入/输出接口;
912、输入设备;
914、输出设备;
916、呈现设备;
918、图形用户接口;
920、网络接口;
922、通信链路;
924、通信总线。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例涉及链下多方可信计算技术,可以应用于各业务领域的联合数据分析、联合机器学习训练等场景。例如,在一示例性实施例中,本说明书实施例的链下多方可信计算技术可以应用于律师信用积分计算场景。
图1中示出了本说明书一些实施例中链下多方可信计算系统的示意图,该链下多方可信计算系统可以包括用户端10、区块链分布式网络(包括多个区块链节点20)、链下计算节点集群(包括多个计算节点30)和数据源40。结合图2所示,用户端10可以向区块链节点20发送计算请求;区块链节点20(具体为区块链的前端节点)可以根据计算请求生成计算任务,并通过计算节点30转发给数据源;数据源40可以为该计算任务生成同态加密入参数据并提供给计算节点30处理;每个计算节点30根据同态加密入参数据和计算任务中指定调用的计算模型处理计算任务,生成加密计算结果并进行签名,然后将携带签名的加密计算结果返回给区块链节点20;区块链节点20对携带签名的加密计算结果进行签名验证和同态解密后的结果一致性验证,并据此更新区块链分布式账本,然后将结果以日志的形式推送给用户端10。由于数据源提供的入参数据通过同态加密进行了混淆,每个计算节点30返回的计算结果也进行了混淆,且所有计算结果达到结果一致性时才能验证通过,从而实现了在避免采用基于硬件的可信执行环境下,提高了链上数据在链下进行计算的安全性,从而兼顾了链上数据在链下进行计算的安全性和实现成本。
在一些实施例中,所述用户端可以为自助终端设备、移动终端(即智能手机)、显示器、台式电脑、平板电脑、笔记本电脑、数字助理或智能可穿戴设备等。其中,智能可穿戴设备可以包括智能手环、智能手表、智能眼镜或智能头盔等。当然,所述用户端并不限于上述具有一定实体的电子设备,其还可以为运行于上述电子设备中的软件(例如app等)。
在一些实施例中,所述计算节点、所述区块链节点和所述数据源均可以为具有运算和网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理和网络交互提供业务逻辑的软件。其中,所述数据源可以为一个或多个,每个数据源可以根据预先协商的智能合约向参与计算计算节点的计算任务提供同态加密入参数据。为便于理解,以下结合若干个实施例进行具体说明。
本说明书实施例提供了一种链下多方可信计算方法,可以应用于上述的区块链节点(具体为区块链的前端节点)侧。参考图3所示,在一些实施例中,所述链下多方可信计算方法包括以下步骤:
步骤301、接收到调用计算模型的计算请求时生成N个随机数。
计算请求可以由智能合约签约方通过用户端发起。在发起计算请求前,多个智能合约用户已协商出智能合约,并将智能合约保存在区块链分布式账本中。在此基础上,对于任意一个智能合约签约方,当需要调用智能合约进行数据计算时,可以基于用户端发起计算请求。
计算请求即为调用某个智能合约的请求,换而言之,计算请求中携带有智能合约的地址或标识,而智能合约中一般约定有特定的计算模型(计算模型时数据的处理逻辑)。因此,接收到计算请求,即可以确定该计算请求所期望调用的计算模型。
为了实现链下多方可信计算的安全性和可追溯性,本说明书实施例的链下多方可信计算方法中,需要用各个参与计算的计算节点进行数字签名,从而需要用到随机数。
区块链节点可以基于任何合适的随机数生成方法生成N个随机数,其中N为指定的需要参与计算的计算节点数量。
步骤302、从链下计算集群中随机选择N个计算节点。
考虑到效率和资源消耗问题,一般不会指定链下计算节点集群中的所有计算节点都要参与计算。例如,一个链下计算节点集群中有100个计算节点,根据需要,每次可以指定其中的部分(例如10个计算节点)参与计算。
步骤303、根据所述N个随机数生成中间参数及N个加密随机数。
中间参数和随机数可用于签名和签名验证,为了提高随机数的安全性,还需要对随机数进行加密处理。
在一些实施例中,根据所述N个随机数生成中间参数可以包括以下步骤:
其中,为第i个计算节点的随机数,为的承诺,g为椭圆曲线的循环群中的基点,为承诺集合,H为中间参数,m为计算模型(例如计算模型的字节码),为N个计算节点的公钥集合,表示m、和的字符串组合,sha256为一种哈希算法。
在一些实施例中,根据所述N个随机数生成N个加密随机数可以包括:
1)为每个所述计算节点分配一个公私钥对;
2)用所述N个计算节点的公钥对应加密所述N个随机数,获得N个加密随机数。
步骤304、将所述中间参数、所述N个加密随机数和所述N个计算节点的地址打包为计算任务。
步骤305、将所述计算任务提供给数据源,以使所述数据源根据所述地址将N份同态加密入参数据对应提供给所述N个计算节点处理。
在一些实施例中,在生成计算任务后,区块链节点可以事件触发方式通知计算节点主动查询并获取计算任务,然后将计算任务转发给数据源。
其中,同态加密入参数据是指将入参数据经同态加密处理后获得的数据;入参数据是指为执行计算所需的输入参数数据。例如,在一示例性实施例中,若一计算模型f(x,y,z)=ax+by+cz是以x,y,z为自变量,以f(x,y,z)为因变量的函数,其中,a,b,c为常数系数,则x,y,z对应的数据即为入参数据。
N份同态加密入参数据由数据源利用所述N个计算节点的随机公钥对应入参数据生成,N个计算节点的随机公钥也是由所述数据源生成并分配。由于入参数据在传给计算节点前,已通过同态加密进行了混淆,从而使得计算节点无法获得入参数据,进而实现了数据的隐私保护。其中,同态加密是一种特殊的加密算法,对明文进行椭圆环上的加法或乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的;即在密文基础上直接进行计算,与基于解密后的明文进行相应的运算是一样的计算结果。但是,与基于解密后的明文进行相应的运算相比,同态加密实现了数据的隐私保护。
步骤306、接收每个所述计算节点返回的携带签名的加密计算结果;每个所述签名由对应计算节点基于所述中间参数及各自的加密随机数生成。
每个计算节点收到对应的同态加密入参数据后,可以根据计算任务对应的计算模型直接处理同态加密入参数据,而无需对同态加密入参数据进行解密,从而获得对应的加密计算结果。在此基础上,每个计算节点对自身得到的加密计算结果进行签名,从而生成携带签名的加密计算结果。
步骤307、对所述加密计算结果进行签名验证及同态解密后的结果一致性验证。
对所述加密计算结果进行签名验证及同态解密后的结果一致性验证,可以包括下述步骤:
4)当签名验证成功时,利用N个计算节点的随机私钥对应同态解密N个加密计算结果,获得N个计算结果;所述N个计算节点的随机私钥由所述数据源生成并分配;
5)比较所述N个计算结果是否一致;
6)如果所述N个计算结果一致,则结果一致性验证成功;
当签名验证成功时,表明N计算节点均实际参与了计算,而不是仅有N计算节点中的一部分参与了计算;并且,由于每个加密计算结果都携带有对应计算节点的签名,也可以便于实现链下多方可信计算的可追溯性。当结果一致性验证成功时,表明N计算节点的计算结果是正确可靠的。
在加密计算结果通过签名验证及同态解密后的结果一致性验证后,区块链节点可以将计算结果上链存储,即将计算结果存储于区块链分布式账本中。当然,对于计算失败情况,也可以将计算失败的状态登记在链。
图3所示的链下多方可信计算方法中,由于数据源提供的入参数据通过同态加密进行了混淆,每个计算节点返回的计算结果也进行了混淆,且所有计算结果达到结果一致性时才能验证通过,从而实现了在避免采用基于硬件的可信执行环境下,提高了链上数据在链下进行计算的安全性,从而兼顾了链上数据在链下进行计算的安全性和实现成本。
本说明书实施例提供了另一种链下多方可信计算方法,可以应用于上述的数据源侧。参考图4所示,在一些实施例中,所述链下多方可信计算方法包括以下步骤:
步骤401、接收计算任务;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址。
步骤402、为每个所述计算节点分配一个随机公私钥对。
步骤403、用所述N个计算节点的随机公钥分别对入参数据进行加密,获得N份同态加密入参数据。
例如,对于第i个计算节点,数据源可以用第i个计算节点的随机公钥对入参数据D进行加密,从而可以得以一份同态加密入参数据;对于第i+1个计算节点,数据源可以用第i+1个计算节点的随机公钥对入参数据D进行加密,从而可以得以另一份同态加密入参数据;基于此,用N个计算节点的随机公钥分别对入参数据进行加密,可以获得N份同态加密入参数据。
步骤404、根据所述N个计算节点的地址将所述N份同态加密入参数据对应提供给所述N个计算节点处理。
在一些实施例中,若N个计算节点此前在转发计算任务时没有保存计算任务;为了方便N个计算节点的处理,数据源可以将同态加密入参数据和计算任务打包,并根据计算节点的地址将计算任务及同态加密入参数据提供给对应的计算节点处理。
步骤405、用区块链节点的公钥加密所述N个计算节点的随机私钥,获得加密随机私钥。
步骤406、将所述加密随机私钥提供给所述区块链节点,以便所述区块链节点对所述N个计算节点返回的携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证。
数据源可以通过计算节点将所述加密随机私钥提供给所述区块链节点。
图4所示的链下多方可信计算方法中,数据源可以将入参数据通过同态加密的方式进行混淆,使得计算节点不能获得入参数据;从而保证了入参数据的隐私安全。
本说明书实施例提供了另一种链下多方可信计算方法,可以应用于上述的计算节点侧。参考图5所示,在一些实施例中,所述链下多方可信计算方法包括以下步骤:
步骤501、将区块链节点发送的计算任务转发给数据源;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址。
步骤502、接收所述数据源根据所述地址返回的同态加密入参数据。
步骤503、根据所述计算任务对应的计算模型处理所述同态加密入参数据,获得加密计算结果。
步骤504、基于所述中间参数及自身对应的加密随机数对所述加密计算结果进行签名。
在一些实施例中,基于所述中间参数及自身对应的加密随机数对所述加密计算结果进行签名,可以包括:
1)利用自身的私钥解密所述计算任务中对应的加密随机数,获得随机数;
步骤505、将携带签名的加密计算结果提供给所述区块链节点,以便所述区块链节点对携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证。
图5所示的链下多方可信计算方法中,由于同态加密入参数据是混淆的,计算节点获得的加密计算结果也是混淆的,从而保证了入参数据和计算结果的隐私安全。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
与上述图3所示的链下多方可信计算方法对应,本说明书实施例还提供了一种链下多方可信计算装置,其可以配置于上述的区块链节点上,参考图6所示,所述链下多方可信计算装置可以包括:
第一生成模块61,可以用于接收到调用计算模型的计算请求时生成N个随机数;N为指定数量;
节点选择模块62,可以用于从链下计算集群中随机选择N个计算节点;
第二生成模块63,可以用于根据所述N个随机数生成中间参数及N个加密随机数;
数据打包模块64,可以用于将所述中间参数、所述N个加密随机数和所述N个计算节点的地址打包为计算任务;
任务提供模块65,可以用于将所述计算任务提供给数据源,以使所述数据源根据所述地址将N份同态加密入参数据对应提供给所述N个计算节点处理;
结果接收模块66,可以用于接收每个所述计算节点返回的携带签名的加密计算结果;每个所述签名由对应计算节点基于所述中间参数及各自的加密随机数生成;
结果验证模块67,可以用于对所述加密计算结果进行签名验证及同态解密后的结果一致性验证。
与上述图4所示的链下多方可信计算方法对应,本说明书实施例还提供了另一种链下多方可信计算装置,其可以配置于上述的数据源上,参考图7所示,所述链下多方可信计算装置可以包括:
任务接收模块71,可以用于接收计算任务;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址;
密钥分配模块72,可以用于为每个所述计算节点分配一个随机公私钥对;
第一加密模块73,可以用于用所述N个计算节点的随机公钥分别对入参数据进行加密,获得N份同态加密入参数据;
数据提供模块74,可以用于根据所述N个计算节点的地址将所述N份同态加密入参数据对应提供给所述N个计算节点处理;
第二加密模块75,可以用于用区块链节点的公钥加密所述N个计算节点的随机私钥,获得加密随机私钥;
私钥提供模块76,可以用于将所述加密随机私钥提供给所述区块链节点,以便所述区块链节点进行结果一致性验证处理。
与上述图5所示的链下多方可信计算方法对应,本说明书实施例还提供了另一种链下多方可信计算装置,其可以配置于上述的计算节点上,参考图8所示,所述链下多方可信计算装置可以包括:
任务转发模块81,可以用于将区块链节点发送的计算任务转发给数据源;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址;
数据接收模块82,可以用于接收所述数据源根据所述地址返回的同态加密入参数据;
任务执行模块83,可以用于根据所述计算任务对应的计算模型处理所述同态加密入参数据,获得加密计算结果;
结果签名模块84,可以用于基于所述中间参数及自身对应的加密随机数对所述加密计算结果进行签名;
结果提供模块85,可以用于将携带签名的加密计算结果提供给所述区块链节点,以便所述区块链节点对携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
需要说明的是,本说明书的实施例中,链下多方可信计算所可能涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权同意且经过各方充分授权的信息和数据。
本说明书的实施例还提供一种计算机设备。如图9所示,在本说明书一些实施例中,所述计算机设备902可以包括一个或多个处理器904,诸如一个或多个中央处理单元(CPU)或图形处理器(GPU),每个处理单元可以实现一个或多个硬件线程。计算机设备902还可以包括任何存储器906,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施例中,存储器906上并可在处理器904上运行的计算机程序,所述计算机程序被所述处理器904运行时,可以执行上述任一实施例所述的链下多方可信计算方法的指令。非限制性的,比如,存储器906可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备902的固定或可移除部件。在一种情况下,当处理器904执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备902可以执行相关联指令的任一操作。计算机设备902还包括用于与任何存储器交互的一个或多个驱动机构908,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备902还可以包括输入/输出接口910(I/O),其用于接收各种输入(经由输入设备912)和用于提供各种输出(经由输出设备914)。一个具体输出机构可以包括呈现设备916和相关联的图形用户接口918(GUI)。在其他实施例中,还可以不包括输入/输出接口910(I/O)、输入设备912以及输出设备914,仅作为网络中的一台计算机设备。计算机设备902还可以包括一个或多个网络接口920,其用于经由一个或多个通信链路922与其他设备交换数据。一个或多个通信总线924将上文所描述的部件耦合在一起。
通信链路922可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路922可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本申请是参照本说明书一些实施例的方法、设备(系统)、计算机可读存储介质和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理器的处理器以产生一个机器,使得通过计算机或其他可编程数据处理器的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理器以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理器上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算机设备访问的信息。按照本说明书中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理器来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
还应理解,在本说明书实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种链下多方可信计算方法,其特征在于,包括:
接收到调用计算模型的计算请求时生成N个随机数;N为指定数量;
从链下计算集群中随机选择N个计算节点;
根据所述N个随机数生成中间参数及N个加密随机数;
将所述中间参数、所述N个加密随机数和所述N个计算节点的地址打包为计算任务;
将所述计算任务提供给数据源,以使所述数据源根据所述地址将N份同态加密入参数据对应提供给所述N个计算节点处理;所述同态加密入参数据为将入参数据经同态加密处理后获得的数据;所述入参数据为计算模型执行计算所需输入的参数数据;
接收每个所述计算节点返回的携带签名的加密计算结果;每个所述签名由对应计算节点基于所述中间参数及各自的加密随机数生成;
对所述加密计算结果进行签名验证及同态解密后的结果一致性验证;
其中,根据所述N个随机数生成中间参数,包括:
2.如权利要求1所述的链下多方可信计算方法,其特征在于,根据所述N个随机数生成N个加密随机数,包括:
为每个所述计算节点分配一个公私钥对;
用所述N个计算节点的公钥对应加密所述N个随机数,获得N个加密随机数。
3.如权利要求1所述的链下多方可信计算方法,其特征在于,所述N份同态加密入参数据由所述数据源利用所述N个计算节点的随机公钥对应入参数据生成,所述N个计算节点的随机公钥由所述数据源生成并分配。
6.一种链下多方可信计算方法,其特征在于,包括:
接收计算任务;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址;
为每个所述计算节点分配一个随机公私钥对;
用所述N个计算节点的随机公钥分别对入参数据进行加密,获得N份同态加密入参数据;所述同态加密入参数据为将入参数据经同态加密处理后获得的数据;所述入参数据为计算模型执行计算所需输入的参数数据;
根据所述N个计算节点的地址将所述N份同态加密入参数据对应提供给所述N个计算节点处理;
用区块链节点的公钥加密所述N个计算节点的随机私钥,获得加密随机私钥;
将所述加密随机私钥提供给所述区块链节点,以便所述区块链节点对所述N个计算节点返回的携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证;
其中,所述中间参数由所述区块链节点根据以下方式获得:
7.如权利要求6所述的链下多方可信计算方法,其特征在于,所述加密随机数由所述区块链节点根据以下方式获得:
为每个所述计算节点分配一个公私钥对;
用所述N个计算节点的公钥对应加密N个随机数,获得N个加密随机数。
9.如权利要求6所述的链下多方可信计算方法,其特征在于,所述区块链节点对所述N个计算节点返回的携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证,包括:
所述区块链节点在确认签名验证成功时,利用N个计算节点的随机私钥对应同态解密N个加密计算结果,获得N个计算结果;
所述区块链节点比较所述N个计算结果是否一致;
如果所述N个计算结果一致,则所述区块链节点确认结果一致性验证成功;
10.一种链下多方可信计算方法,其特征在于,包括:
将区块链节点发送的计算任务转发给数据源;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址;
接收所述数据源根据所述地址返回的同态加密入参数据;所述同态加密入参数据为将入参数据经同态加密处理后获得的数据;所述入参数据为计算模型执行计算所需输入的参数数据;
根据所述计算任务对应的计算模型处理所述同态加密入参数据,获得加密计算结果;
基于所述中间参数及自身对应的加密随机数对所述加密计算结果进行签名;
将携带签名的加密计算结果提供给所述区块链节点,以便所述区块链节点对携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证;
其中,所述中间参数由所述区块链节点根据以下方式获得:
12.如权利要求10所述的链下多方可信计算方法,其特征在于,所述加密随机数由所述区块链节点根据以下方式获得:
为每个所述计算节点分配一个公私钥对;
用所述N个计算节点的公钥对应加密N个随机数,获得N个加密随机数。
13.如权利要求10所述的链下多方可信计算方法,其特征在于,所述区块链节点对携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证,包括:
所述区块链节点在确认签名验证成功时,利用N个计算节点的随机私钥对应同态解密N个加密计算结果,获得N个计算结果;所述N个计算节点的随机私钥由所述数据源生成并分配;
所述区块链节点比较所述N个计算结果是否一致;
如果所述N个计算结果一致,则所述区块链节点确认结果一致性验证成功;
14.一种链下多方可信计算装置,其特征在于,包括:
第一生成模块,用于接收到调用计算模型的计算请求时生成N个随机数;N为指定数量;
节点选择模块,用于从链下计算集群中随机选择N个计算节点;
第二生成模块,用于根据所述N个随机数生成中间参数及N个加密随机数;
数据打包模块,用于将所述中间参数、所述N个加密随机数和所述N个计算节点的地址打包为计算任务;
任务提供模块,用于将所述计算任务提供给数据源,以使所述数据源根据所述地址将N份同态加密入参数据对应提供给所述N个计算节点处理;所述同态加密入参数据为将入参数据经同态加密处理后获得的数据;所述入参数据为计算模型执行计算所需输入的参数数据;
结果接收模块,用于接收每个所述计算节点返回的携带签名的加密计算结果;每个所述签名由对应计算节点基于所述中间参数及各自的加密随机数生成;
结果验证模块,用于对所述加密计算结果进行签名验证及同态解密后的结果一致性验证;
其中,根据所述N个随机数生成中间参数,包括:
15.一种链下多方可信计算装置,其特征在于,包括:
任务接收模块,用于接收计算任务;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址;
密钥分配模块,用于为每个所述计算节点分配一个随机公私钥对;
第一加密模块,用于用所述N个计算节点的随机公钥分别对入参数据进行加密,获得N份同态加密入参数据;所述同态加密入参数据为将入参数据经同态加密处理后获得的数据;所述入参数据为计算模型执行计算所需输入的参数数据;
数据提供模块,用于根据所述N个计算节点的地址将所述N份同态加密入参数据对应提供给所述N个计算节点处理;
第二加密模块,用于用区块链节点的公钥加密所述N个计算节点的随机私钥,获得加密随机私钥;
私钥提供模块,用于将所述加密随机私钥提供给所述区块链节点,以便所述区块链节点进行结果一致性验证处理;
其中,所述中间参数由所述区块链节点根据以下方式获得:
16.一种链下多方可信计算装置,其特征在于,包括:
任务转发模块,用于将区块链节点发送的计算任务转发给数据源;所述计算任务包括中间参数、N个加密随机数和N个计算节点的地址;
数据接收模块,用于接收所述数据源根据所述地址返回的同态加密入参数据;所述同态加密入参数据为将入参数据经同态加密处理后获得的数据;所述入参数据为计算模型执行计算所需输入的参数数据;
任务执行模块,用于根据所述计算任务对应的计算模型处理所述同态加密入参数据,获得加密计算结果;
结果签名模块,用于基于所述中间参数及自身对应的加密随机数对所述加密计算结果进行签名;
结果提供模块,用于将携带签名的加密计算结果提供给所述区块链节点,以便所述区块链节点对携带签名的加密计算结果进行签名验证及同态解密后的结果一致性验证;
其中,所述中间参数由所述区块链节点根据以下方式获得:
17.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求1-13任意一项所述方法的指令。
18.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-13任意一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211037908.0A CN115118411B (zh) | 2022-08-29 | 2022-08-29 | 链下多方可信计算方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211037908.0A CN115118411B (zh) | 2022-08-29 | 2022-08-29 | 链下多方可信计算方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115118411A CN115118411A (zh) | 2022-09-27 |
CN115118411B true CN115118411B (zh) | 2022-11-29 |
Family
ID=83336438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211037908.0A Active CN115118411B (zh) | 2022-08-29 | 2022-08-29 | 链下多方可信计算方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115118411B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115809482B (zh) * | 2023-02-01 | 2023-05-16 | 上海金仕达软件科技股份有限公司 | 基于随机数混淆的数据聚合计算方法、装置、介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159723A (zh) * | 2018-11-08 | 2020-05-15 | 埃森哲环球解决方案有限公司 | 用于区块链的密码数据共享控制 |
US10979225B1 (en) * | 2018-11-15 | 2021-04-13 | Amazon Technologies, Inc. | Secure and anonymous electronic polling |
CN114614970A (zh) * | 2022-03-23 | 2022-06-10 | 北京邮电大学 | 一种基于多计算方和同态加密的隐私数据安全处理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341086B2 (en) * | 2013-01-29 | 2019-07-02 | Nec Corporation | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data |
US10484168B2 (en) * | 2015-03-02 | 2019-11-19 | Dell Products L.P. | Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger |
MX2019009412A (es) * | 2018-12-21 | 2019-10-02 | Alibaba Group Holding Ltd | Proteccion de datos de cadena de bloques con base en modelo de cuenta generico y cifrado homomorfico. |
CN113129017B (zh) * | 2020-08-31 | 2022-06-24 | 支付宝(杭州)信息技术有限公司 | 一种信息共享方法、装置及设备 |
US11366894B1 (en) * | 2020-12-08 | 2022-06-21 | International Business Machines Corporation | Secure computing resource deployment using homomorphic encryption |
-
2022
- 2022-08-29 CN CN202211037908.0A patent/CN115118411B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159723A (zh) * | 2018-11-08 | 2020-05-15 | 埃森哲环球解决方案有限公司 | 用于区块链的密码数据共享控制 |
US10979225B1 (en) * | 2018-11-15 | 2021-04-13 | Amazon Technologies, Inc. | Secure and anonymous electronic polling |
CN114614970A (zh) * | 2022-03-23 | 2022-06-10 | 北京邮电大学 | 一种基于多计算方和同态加密的隐私数据安全处理方法 |
Non-Patent Citations (1)
Title |
---|
基于区块链的安全多方计算方法研究;周笑;《中国优秀硕士学位论文全文数据库(月刊)》;20220115(第1期);第2.1-2.3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN115118411A (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105812141B (zh) | 一种面向外包加密数据的可验证交集运算方法及系统 | |
WO2021103794A1 (zh) | 在区块链中实现隐私保护的高效交易方法及装置 | |
US10911231B2 (en) | Method for restoring public key based on SM2 signature | |
CN110020855B (zh) | 区块链中实现隐私保护的方法、节点、存储介质 | |
JP2020528224A (ja) | 信頼できる実行環境におけるスマート契約動作のセキュアな実行 | |
CN110289968B (zh) | 私钥恢复、协同地址的创建、签名方法及装置、存储介质 | |
TW201947909A (zh) | 一種區塊鏈資料處理方法、裝置、處理設備及系統 | |
CN111371545B (zh) | 一种基于隐私保护的加密方法和系统 | |
JP7149445B2 (ja) | ブロックチェーンのための暗号化データ共有管理 | |
CN110060054B (zh) | 区块链中实现隐私保护的方法、节点、系统和存储介质 | |
CN110580411B (zh) | 基于智能合约的权限查询配置方法及装置 | |
CN111612462B (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
CN109743168B (zh) | 一种联盟链资源共享方法、装置及其存储介质 | |
CN114172667A (zh) | 基于合约的隐私存证方法及装置 | |
CN111639362B (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
CN110690963A (zh) | 基于fpga的密钥协商方法及装置 | |
CN112199697A (zh) | 基于共享根密钥的信息处理方法、装置、设备及介质 | |
WO2021057124A1 (zh) | 基于fpga实现隐私区块链的方法及装置 | |
CN115102688A (zh) | 数据处理方法、多项式计算方法及电子设备 | |
CN115118411B (zh) | 链下多方可信计算方法、装置、设备及存储介质 | |
US20240187256A1 (en) | Systems and methods for enforcing cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs comprising shared digital signature requirements | |
CN113992325A (zh) | 一种隐私数据共享方法及装置 | |
CN111597586A (zh) | 一种区块链隐私保护方法、系统及装置 | |
WO2020211075A1 (zh) | 去中心化多方安全数据处理方法、装置及存储介质 | |
Ding et al. | Computing maximum and minimum with privacy preservation and flexible access control |
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 | ||
CP03 | Change of name, title or address |
Address after: 200233 Room 201, Building 14, No. 655 Fengzhou Road, Jiading District, Shanghai JT6344 Patentee after: Shanghai Xiecheng New Technology Development Co.,Ltd. Patentee after: PEOPLE'S COURT INFORMATION TECHNOLOGY SERVICE CENTER Address before: No. 27, dongjiaomin lane, Dongcheng District, Beijing 100745 Patentee before: PEOPLE'S COURT INFORMATION TECHNOLOGY SERVICE CENTER Patentee before: Shanghai Xiecheng New Technology Development Co.,Ltd. |
|
CP03 | Change of name, title or address |