Multi-party computation method, device and storage medium based on trusted computing environment

By using hash calculation and blockchain notarization in a trusted computing environment, the problems of data leakage and tampering in existing secure multi-party computations are solved, achieving higher security and integrity.

CN115344882BActive Publication Date: 2026-06-05CHINA MOBILE SHANGHAI ICT CO LTD +2

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA MOBILE SHANGHAI ICT CO LTD
Filing Date
2021-05-12
Publication Date
2026-06-05

Smart Images

  • Figure CN115344882B_ABST
    Figure CN115344882B_ABST
Patent Text Reader

Abstract

The application discloses a multi-party computing method and device based on a trusted computing environment and a storage medium, and relates to the field of secure multi-party computation. The method comprises the following steps: receiving parameter data and a computing function sent by at least two computing participants; determining a first computing result according to the parameter data and the computing function; performing hash calculation on the parameter data, the computing function and the first computing result according to a preset algorithm to determine a first intermediate value; and sending the first intermediate value to a block chain, so that a second platform acquires the first intermediate value in the block chain and verifies the first computing result. In this way, a trusted computing environment is provided for the computing participants, and the computing process of the computing participants is completed in the trusted computing environment, so that the privacy data of the computing participants is prevented from being leaked. Meanwhile, the second platform verifies the first computing result, determines whether the data participating in the computation is tampered with, and therefore the security of the multi-party computation is further improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of secure multi-party computation, and in particular to a multi-party computation method and device based on a trusted computing environment and a storage medium. BACKGROUND

[0002] Secure multi-party computation (SMC) is a problem of solving how two or more users in a multi-user network that does not trust each other can cooperatively perform a certain computing task without leaking their private input information. It plays a very important role in cryptography and is the cryptographic basis for many applications such as electronic voting, threshold signature, and electronic auction.

[0003] At present, existing secure multi-party computation generally uses homomorphic encryption (HE) algorithm, zero-knowledge proof (ZKP) algorithm and other methods to realize, but these methods cannot guarantee that the data of the computing participants will not be leaked and tampered with, resulting in the problem of low security of multi-party computation. SUMMARY

[0004] The embodiments of the present application provide a multi-party computation method and device based on a trusted computing environment and a storage medium to solve the problem that existing secure multi-party computation cannot guarantee that the data of the computing participants will not be leaked and tampered with, resulting in low security of multi-party computation.

[0005] To solve the above technical problems, the present application is implemented as follows:

[0006] In a first aspect, the embodiments of the present application provide a multi-party computation method based on a trusted computing environment, applied to a first platform providing the trusted computing environment, and the method comprises:

[0007] receiving parameter data and a computing function sent by at least two computing participants;

[0008] determining a first computing result according to the parameter data and the computing function;

[0009] performing hash calculation on the parameter data, the computing function and the first computing result according to a preset algorithm to determine a first intermediate value;

[0010] sending the first intermediate value to a block chain, so that a second platform obtains the first intermediate value in the block chain and verifies the first computing result.

[0011] Optionally, the receiving of the parameter data and the computing function sent by the at least two computing participants comprises:

[0012] The system receives ciphertext of the parameter data and ciphertext of the computation function sent by the at least two computation participants, wherein the ciphertext of the parameter data and the ciphertext of the computation function are both obtained by each computation participant through the public key of the first platform.

[0013] Using the private key of the first platform, the ciphertext of the parameter data and the ciphertext of the calculation function are decrypted to obtain the parameter data and the calculation function, wherein the private key of the first platform is paired with the public key of the first platform.

[0014] Optionally, before receiving the ciphertext of the parameter data and the ciphertext of the computation function sent by the at least two computation participants, the method further includes:

[0015] Each of the at least two computation participants receives its public key.

[0016] The public key of the first platform is encrypted based on the public keys sent by the at least two computing participants.

[0017] The encrypted public key of the first platform is sent to the corresponding computing participants, so that the at least two computing participants can decrypt the encrypted public key of the first platform using their own private keys to obtain the public key of the first platform.

[0018] Optionally, the step of performing hash calculations on the parameter data, the calculation function, and the first calculation result according to a preset algorithm to determine the first intermediate value includes:

[0019] Calculate the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result, respectively;

[0020] The parameter data, the calculation function, and the hash value corresponding to the first calculation result are respectively used as the leaf nodes of the hash tree;

[0021] Perform hash calculations on each of the two adjacent leaf nodes in the leaf node, and use the calculated hash value as the intermediate node;

[0022] The first intermediate value is obtained by performing hash calculations on two adjacent intermediate nodes in the intermediate node.

[0023] Secondly, embodiments of this application also provide a multi-party computation method based on a trusted computing environment, applied to a second platform, the method comprising:

[0024] The first intermediate value is obtained from the blockchain, which is used to receive and store the first intermediate value sent by the first platform. The first intermediate value is obtained by the first platform through hash calculation of parameter data, calculation function and first calculation result according to a preset algorithm. The first calculation result is determined according to the parameter data and the calculation function. The parameter data and the calculation function are both sent by at least two calculation participants.

[0025] Receive parameter data and calculation functions sent by the at least two computation participants;

[0026] The second calculation result is determined based on the parameter data and the calculation function;

[0027] The second intermediate value is determined by calculating the parameter data, the calculation function, and the second calculation result according to the preset algorithm.

[0028] The first calculation result is verified based on the second intermediate value and the first intermediate value.

[0029] Optionally, verifying the first calculation result based on the second intermediate value and the first intermediate value includes:

[0030] If the second intermediate value is the same as the first intermediate value, then the first calculation result is verified.

[0031] If the second intermediate value is different from the first intermediate value, then the verification of the first calculation result fails.

[0032] Thirdly, embodiments of this application also provide a multi-party computing device based on a trusted computing environment, applied to a first platform providing the trusted computing environment, the device comprising:

[0033] The first receiving module is used to receive parameter data and calculation functions sent by at least two computing participants;

[0034] The first determining module is used to determine the first calculation result based on the parameter data and the calculation function;

[0035] The second determining module is used to perform hash calculations on the parameter data, the calculation function and the first calculation result according to a preset algorithm to determine the first intermediate value;

[0036] The sending module is used to send the first intermediate value to the blockchain so that the second platform can obtain the first intermediate value in the blockchain and verify the first calculation result.

[0037] Optionally, the first receiving module includes:

[0038] The first receiving submodule is used to receive the ciphertext of the parameter data and the ciphertext of the calculation function sent by the at least two computing participants, wherein the ciphertext of the parameter data and the ciphertext of the calculation function are both obtained by each computing participant through the public key of the first platform;

[0039] The decryption submodule is used to decrypt the ciphertext of the parameter data and the ciphertext of the calculation function using the private key of the first platform to obtain the parameter data and the calculation function, wherein the private key of the first platform is paired with the public key of the first platform.

[0040] Optionally, the first receiving module further includes:

[0041] The second receiving submodule is used to receive the public keys sent by the at least two computing participants respectively;

[0042] The encryption submodule is used to encrypt the public key of the first platform according to the public keys sent by the at least two computing participants.

[0043] The sending submodule is used to send the encrypted public key of the first platform to the corresponding computing participants, so that the at least two computing participants can decrypt the encrypted public key of the first platform according to their own private keys to obtain the public key of the first platform.

[0044] Optionally, the second determining module includes:

[0045] The first calculation submodule is used to calculate the hash value corresponding to the parameter data, the calculation function, and the first calculation result, respectively.

[0046] The first module is used as a submodule to use the parameter data, the calculation function, and the hash value corresponding to the first calculation result as the leaf nodes of the hash tree, respectively.

[0047] The second module is a submodule used to perform hash calculations on two adjacent leaf nodes in the leaf node respectively, and use the calculated hash value as the intermediate node.

[0048] The second calculation submodule is used to perform hash calculations on two adjacent intermediate nodes in the intermediate nodes respectively to obtain the first intermediate value.

[0049] Fourthly, embodiments of this application also provide a multi-party computing device based on a trusted computing environment, applied to a second platform, the device comprising:

[0050] The acquisition module is used to acquire a first intermediate value in the blockchain. The blockchain is used to receive and store the first intermediate value sent by the first platform. The first intermediate value is obtained by the first platform through hash calculation of parameter data, calculation function and first calculation result according to a preset algorithm. The first calculation result is determined according to the parameter data and the calculation function. The parameter data and the calculation function are both sent by at least two calculation participants.

[0051] The second receiving module is used to receive parameter data and calculation functions sent by the at least two computing participants;

[0052] The third determining module is used to determine the second calculation result based on the parameter data and the calculation function;

[0053] The fourth determining module is used to calculate the parameter data, the calculation function, and the second calculation result according to the preset algorithm to determine the second intermediate value;

[0054] The verification module is used to verify the first calculation result based on the second intermediate value and the first intermediate value.

[0055] Optionally, the verification module includes:

[0056] The verification passed submodule is used to verify the first calculation result if the second intermediate value is the same as the first intermediate value.

[0057] The verification failure submodule is used to verify the first calculation result if the second intermediate value is different from the first intermediate value.

[0058] Fifthly, embodiments of this application also provide a multi-party computing device based on a trusted computing environment, applied to a first platform providing the trusted computing environment, the device including a transceiver and a processor;

[0059] The transceiver is used to receive parameter data and computation functions sent by at least two computation participants;

[0060] The processor is configured to determine a first calculation result based on the parameter data and the calculation function; and to perform a hash calculation on the parameter data, the calculation function, and the first calculation result according to a preset algorithm to determine a first intermediate value.

[0061] The transceiver is also used to send the first intermediate value to the blockchain, so that the second platform can obtain the first intermediate value in the blockchain and verify the first calculation result.

[0062] Optionally, the transceiver is further configured to receive the ciphertext of the parameter data and the ciphertext of the computation function sent by the at least two computation participants, wherein the ciphertext of the parameter data and the ciphertext of the computation function are both obtained by each computation participant through the public key of the first platform;

[0063] The processor is further configured to use the private key of the first platform to decrypt the ciphertext of the parameter data and the ciphertext of the calculation function to obtain the parameter data and the calculation function, wherein the private key of the first platform is paired with the public key of the first platform.

[0064] Optionally, the transceiver is further configured to receive public keys sent by the at least two computing participants respectively;

[0065] The processor is further configured to encrypt the public key of the first platform according to the public keys sent by the at least two computing participants;

[0066] The transceiver is also used to send the encrypted public key of the first platform to the corresponding computing participants, so that the at least two computing participants can decrypt the encrypted public key of the first platform according to their own private keys to obtain the public key of the first platform.

[0067] Optionally, the processor is further configured to calculate the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result respectively; use the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result as leaf nodes of a hash tree respectively; perform hash calculations on two adjacent leaf nodes in the leaf nodes respectively, and use the calculated hash values ​​as intermediate nodes; and perform hash calculations on two adjacent intermediate nodes in the intermediate nodes respectively to obtain a first intermediate value.

[0068] Sixthly, embodiments of this application also provide a multi-party computing device based on a trusted computing environment, applied to a second platform, the device including a transceiver and a processor;

[0069] The transceiver is used to obtain a first intermediate value in the blockchain. The blockchain is used to receive and store the first intermediate value sent by the first platform. The first intermediate value is obtained by the first platform through hash calculation of parameter data, calculation function and first calculation result according to a preset algorithm. The first calculation result is determined based on the parameter data and the calculation function. The parameter data and the calculation function are both sent by at least two calculation participants.

[0070] The transceiver is also used to receive parameter data and calculation functions sent by the at least two computing participants;

[0071] The processor is configured to determine a second calculation result based on the parameter data and the calculation function; calculate the parameter data, the calculation function, and the second calculation result according to the preset algorithm to determine a second intermediate value; and verify the first calculation result based on the second intermediate value and the first intermediate value.

[0072] Optionally, the processor is configured to verify the first calculation result if the second intermediate value is the same as the first intermediate value;

[0073] If the second intermediate value is different from the first intermediate value, then the verification of the first calculation result fails.

[0074] In a seventh aspect, embodiments of this application also provide a multi-party computing device based on a trusted computing environment, applied to a first platform providing the trusted computing environment. The device includes: a processor, a memory, and a program stored in the memory and executable on the processor. When the program is executed by the processor, it implements the steps of the multi-party computing method based on a trusted computing environment as described in the first aspect; or when the program is executed by the processor, it implements the steps of the multi-party computing method based on a trusted computing environment as described in the second aspect.

[0075] Eighthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of the multi-party computation method based on a trusted computing environment as described in the first aspect; or when the computer program is executed by a processor, it implements the steps of the multi-party computation method based on a trusted computing environment as described in the second aspect.

[0076] In this embodiment, the system receives parameter data and computation functions from at least two computation participants; determines a first computation result based on the parameter data and computation functions; performs a hash calculation on the parameter data, computation functions, and the first computation result according to a preset algorithm to determine a first intermediate value; and sends the first intermediate value to the blockchain so that a second platform can obtain the first intermediate value from the blockchain and verify the first computation result. This provides a trusted computing environment for the computation participants, allowing them to complete their computations and preventing the leakage of their privacy data. Furthermore, by hashing the parameter data and computation functions sent by the computation participants, along with the first computation result, to obtain the first intermediate value, and then sending this first intermediate value to the blockchain for storage, the second platform can verify the first computation result based on the first intermediate value in the blockchain. This ensures that the parameter data and computation functions used in the trusted computing environment have not been tampered with, further enhancing the security of multi-party computation. Attached Figure Description

[0077] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0078] Figure 1 This is one of the flowcharts for a multi-party computation method based on a trusted computing environment provided in the embodiments of this application;

[0079] Figure 2 A schematic diagram illustrating the generation process of the first intermediate value provided in the embodiments of this application;

[0080] Figure 3 Flowchart 2 of the multi-party computation method based on a trusted computing environment provided for the implementation of this application;

[0081] Figure 4 A schematic diagram illustrating the interaction process between computing participant A, computing participant B, first platform C, blockchain, and second platform in the multi-party computing system provided for the implementation of this application;

[0082] Figure 5 This is a schematic diagram of the structure of a multi-party computing device based on a trusted computing environment provided in an embodiment of this application;

[0083] Figure 6 A second schematic diagram of the structure of a multi-party computing device based on a trusted computing environment provided in the embodiments of this application;

[0084] Figure 7 The third schematic diagram of the structure of the multi-party computing device based on a trusted computing environment provided in the embodiments of this application;

[0085] Figure 8 The fourth schematic diagram of the structure of the multi-party computing device based on a trusted computing environment provided in the embodiments of this application. Detailed Implementation

[0086] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.

[0087] In this application embodiment, a multi-party computation method, apparatus and storage medium based on a trusted computing environment are proposed to solve the problem that existing secure multi-party computation cannot guarantee that the data of the computation participants will not be leaked or tampered with, resulting in low security of multi-party computation.

[0088] See Figure 1 , Figure 1 This is one of the flowcharts for a multi-party computation method based on a trusted computing environment provided in an embodiment of this application. The method is applied to a first platform providing a trusted computing environment. Figure 1 As shown, the method may include the following steps:

[0089] Step 101: Receive parameter data and calculation functions sent by at least two computation participants.

[0090] Specifically, the aforementioned computational participants refer to those involved in multi-party computation, which provide computational functions and parameter data for the multi-party computation. These computational participants may include multiple participants, such as any positive integer greater than 1, such as 2, 3, or 4; this application does not impose specific limitations.

[0091] It should be noted that the multi-party computation method based on a trusted computing environment provided in this embodiment is applied to a first platform. This first platform can provide a Trusted Execution Environment (TEE) for multiple computation participants and execute the computation process. This trusted computing environment can provide multiple software development kits (SDKs), a secure storage module for computation functions, a public-private key pair management module, a secure transmission service module, etc. The multiple SSDs are used to implement data receiving interfaces for computation participants, interfaces for sending computation results to computation participants, interfaces for uploading first intermediate values ​​to the blockchain, etc. This first platform can be implemented based on hardware chips, or it can be implemented based on ARM TrustZone, smart cards, etc., and this application does not make specific limitations.

[0092] Step 102: Determine the first calculation result based on the parameter data and calculation function.

[0093] Specifically, the aforementioned computation function refers to the computation algorithm determined by the participants in the computation based on their computational needs. The private data of each participant required to complete this computation algorithm is called parameter data.

[0094] Because the first platform provides a trusted computing environment for the computing participants, it can not only protect the parameter data and calculation functions to prevent data leakage or tampering by others, but also perform calculations based on the parameter data and calculation functions to obtain the first calculation result.

[0095] Step 103: Perform hash calculation on the parameter data, calculation function and first calculation result according to the preset algorithm to determine the first intermediate value.

[0096] The aforementioned preset algorithm can be any hash calculation algorithm, such as Message-Digest Algorithm 5 (MD5), Secure Hash Algorithm (SHA), Merkel tree algorithm, etc.

[0097] In this step, the first platform can use a preset algorithm to perform hash calculations on the parameter data, calculation function, and first calculation result to obtain a first intermediate value. This first intermediate value is a hash value obtained after the hash calculation.

[0098] Step 104: Send the first intermediate value to the blockchain so that the second platform can obtain the first intermediate value in the blockchain and verify the first calculation result.

[0099] After obtaining the first intermediate value, the first platform can upload it to the blockchain for storage. In other words, in this step, the first platform uploads the hashed intermediate value to the blockchain, rather than directly uploading the parameter data, calculation function, and first calculation result. This eliminates concerns about the leakage of privacy data from each participant and allows the second platform to obtain the first calculation result through the blockchain, enabling it to trace and verify the result and determine whether the parameter data and calculation function of each participant have been tampered with.

[0100] In this embodiment, the first platform can provide a trusted computing environment for the computing participants, allowing them to complete their computations within this environment and thus preventing the leakage of their privacy data. Simultaneously, the first platform performs a hash calculation on the parameter data and computation functions sent by the computing participants, along with the first computation result, to obtain a first intermediate value. This first intermediate value is then sent to the blockchain for storage, facilitating the second platform's verification of the first computation result based on the first intermediate value in the blockchain. This allows the platform to determine whether the parameter data and computation functions used in the trusted computing environment have been tampered with, further enhancing the security of multi-party computation.

[0101] Furthermore, based on Figure 1 In the illustrated embodiment, step 101, receiving parameter data and computation functions sent by at least two computation participants, may specifically include the following steps:

[0102] Receive ciphertext of parameter data and ciphertext of computation function sent by at least two computation participants, wherein the ciphertext of parameter data and ciphertext of computation function are both obtained by each computation participant through the public key of the first platform;

[0103] Using the private key of the first platform, the ciphertext of the parameter data and the ciphertext of the calculation function are decrypted to obtain the parameter data and the calculation function. The private key of the first platform is paired with the public key of the first platform.

[0104] It should be noted that the first platform possesses a public-private key pair, which enables secure data transmission with the computation participants. Before performing computations using the first platform, each participant needs to obtain the platform's public key. This public key allows the participant to encrypt parameter data and computation functions, resulting in ciphertext of the parameter data and computation functions. The participant then sends these ciphertexts to the first platform. Upon receiving these ciphertexts, the first platform decrypts them using its private key, yielding the plaintext of the parameter data and computation functions.

[0105] In this embodiment, the public and private keys of the first platform are used to encrypt and decrypt the parameter data and calculation functions, thereby achieving secure data transmission between the first platform and the computing participants. This effectively avoids data leakage or tampering during data transmission between the first platform and the computing participants.

[0106] Furthermore, prior to the above steps, and before receiving the ciphertext of the parameter data and the ciphertext of the computation function sent by at least two computational participants, the method may further include the following steps:

[0107] Receive public keys from at least two computation participants;

[0108] Encrypt the public key of the first platform based on the public keys sent by at least two computing participants;

[0109] The encrypted public key of the first platform is sent to the corresponding computing participants, so that at least two computing participants can decrypt the encrypted public key of the first platform using their own private keys to obtain the public key of the first platform.

[0110] Specifically, each participant in the multi-party computation has its own public-private key pair. Before each participant sends parameter data and / or computation functions to the first platform, each participant needs to obtain the public key of the first platform in order to encrypt its own parameter data and / or computation functions using the public key of the first platform.

[0111] The process of obtaining the public key of the first platform is as follows: each computing participant first sends its own public key to the first platform. After receiving the public keys from each computing participant, the first platform encrypts its own public key using each participant's public key, and then sends the encrypted public key to the corresponding computing participant. Each computing participant can then decrypt the encrypted public key using its own private key to obtain the public key of the first platform.

[0112] For example, assume that computation participants A and B each possess their own public-private key pair A and B, respectively, and platform C possesses its own public-private key pair C. During the three-way interaction, participant A first sends public key A to platform C. Then, in the trusted computing environment, platform C encrypts its public key C using public key A and returns it to participant A. Participant A, upon receiving the encrypted public key C, decrypts it using its private key A and saves the decrypted public key C to its local storage. Similarly, participant B sends public key B to platform C. In the trusted computing environment, platform C encrypts its public key C using public key B and returns it to participant B. Participant B, upon receiving the encrypted public key C, decrypts it using its private key B and saves the decrypted public key C to its local storage. Of course, if there are other computing participants besides computing participants A and B, these other computing participants can also obtain the public key C of the first platform C through the above method.

[0113] In this embodiment, the public and private keys of each computing participant are used to encrypt and decrypt the public key of the first platform, thereby achieving secure transmission of the public key of the first platform and effectively preventing the public key of the first platform from being leaked or tampered with.

[0114] Furthermore, based on the above Figure 1 In the embodiment shown, step 103 above, which involves performing a hash calculation on the parameter data, the calculation function, and the first calculation result according to a preset algorithm to determine the first intermediate value, may specifically include the following steps:

[0115] Calculate the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result, respectively.

[0116] The parameter data, the calculation function, and the hash value corresponding to the first calculation result are respectively used as the leaf nodes of the hash tree;

[0117] Perform hash calculations on each pair of adjacent leaf nodes and use the calculated hash values ​​as the intermediate nodes.

[0118] The first intermediate value is obtained by performing hash calculations on two adjacent intermediate nodes in the intermediate node.

[0119] In this embodiment, the first platform can construct a binary hash tree based on parameter data, a calculation function, and a first calculation result, thereby obtaining the root hash of the hash tree. Specifically, the first platform can calculate the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result respectively, and then use these hash values ​​as leaf nodes of the binary hash tree. Furthermore, the hash values ​​of two adjacent leaf nodes are hashed again to obtain new hash values, which are then used as intermediate nodes of the binary hash tree. The hash values ​​of two adjacent intermediate nodes are then hashed again to finally obtain the root hash of the binary hash tree, i.e., the first intermediate value.

[0120] See details Figure 2 , Figure 2 This is a schematic diagram illustrating the generation process of the first intermediate value provided in an embodiment of this application. Figure 2 As shown, assuming the computation participants include participant A and participant B, where the hash value of the parameter data provided by participant A is hash1, the hash value of the parameter data provided by participant B is hash2, the hash value of the computation function provided by participants A and / or B is hash3, and the hash value of the first computation result is hash4, then hash1, hash2, hash3, and hash4 can be used as leaf nodes of a binary hash tree. Hash1 and hash2 are then hashed to obtain hash12; hash3 and hash4 are hashed to obtain hash34. Finally, the intermediate nodes hash12 and hash34 are hashed to obtain the root hash1234 of the binary hash tree, which is the first intermediate value.

[0121] It should be noted that the algorithms used for hash calculation of the leaf nodes and intermediate nodes mentioned above may include, but are not limited to: Message-Digest Algorithm 5 (MD5) and SecureHash Algorithm (SHA).

[0122] In this embodiment, a first intermediate value is obtained by hashing the parameter data, the calculation function, and the first calculation result. Since the calculated first intermediate value is irreversible, it is difficult for others to crack, and even if uploaded to the blockchain, it has high security. Furthermore, by uploading this first intermediate value to the blockchain, instead of the parameter data, the calculation function, and the first calculation result data themselves, not only can the amount of data stored on the blockchain be effectively reduced, but data tampering can also be effectively prevented. Simultaneously, during the subsequent verification process on the second platform, the second platform can verify the data tampering based on the first intermediate value in the blockchain, effectively improving the security of multi-process computation.

[0123] See Figure 3 ,Figure 3 The second flowchart illustrates the multi-party computation method based on a trusted computing environment provided for the implementation of this application. This method is applied to a second platform and may specifically include the following steps:

[0124] Step 301: Obtain the first intermediate value in the blockchain. The blockchain is used to receive and store the first intermediate value sent by the first platform. The first intermediate value is obtained by the first platform through hash calculation of parameter data, calculation function and first calculation result according to a preset algorithm. The first calculation result is determined based on parameter data and calculation function. Parameter data and calculation function are sent by at least two calculation participants.

[0125] The multi-party computation method based on a trusted computing environment provided in this embodiment is applied to a second platform, which is used to verify the first computation result obtained by the first platform. This second platform may be located in the same device as the first platform or in a different device; this application does not impose specific limitations.

[0126] The second platform can obtain the first intermediate value uploaded by the first platform from the blockchain. The process by which the first platform calculates the first intermediate value has been described in the above embodiments and will not be repeated here.

[0127] Step 302: Receive parameter data and calculation functions sent by at least two computation participants.

[0128] After receiving the first intermediate value, the second platform can receive parameter data and computation functions sent by each computation participant. Specifically, after receiving the first intermediate value, the second platform can send a verification request to each computation participant. Upon receiving the verification request, each computation participant sends the plaintext of the parameter data and the plaintext of the computation function to the second platform.

[0129] It should be noted that the computing participants here refer to at least two computing participants who participate in the computing process of the first platform.

[0130] Step 303: Determine the second calculation result based on the parameter data and calculation function.

[0131] The process for determining the second calculation result is the same as the process for determining the first calculation result. The second calculation result may be the same as or different from the first calculation result. If the second calculation result is the same as the first calculation result, it indicates that the parameter data and calculation functions involved in the calculation on the first platform have not been tampered with; if the second calculation result is different from the first calculation result, it indicates that at least one of the parameter data and calculation functions involved in the calculation on the first platform has been tampered with.

[0132] Step 304: Calculate the parameter data, calculation function, and second calculation result according to the preset algorithm to determine the second intermediate value.

[0133] The process of determining the second intermediate value is the same as the calculation process for determining the first intermediate value. The second intermediate value may be the same as or different from the first intermediate value.

[0134] Step 305: Verify the first calculation result based on the second intermediate value and the first intermediate value.

[0135] The second platform, after acquiring the second intermediate value and the first intermediate value, can verify the first calculation result based on the magnitude of the second intermediate value and the first intermediate value. Specifically, if the second intermediate value is the same as the first intermediate value, it indicates that the parameter data and calculation function involved in the calculation on the first platform have not been tampered with, and the first calculation result is successfully verified; if the second intermediate value is different from the first intermediate value, it indicates that at least one of the parameter data and calculation function involved in the calculation on the first platform has been tampered with, and the first calculation result verification fails.

[0136] In this embodiment, the second platform verifies the first calculation result based on the first intermediate value in the blockchain, thereby determining whether the parameter data and calculation function involved in the calculation in the trusted computing environment have been tampered with, thus further improving the security of multi-party computation.

[0137] Furthermore, based on the above Figure 3 In the embodiment shown, step 305, verifying the first calculation result based on the second intermediate value and the first intermediate value, specifically includes the following steps:

[0138] If the second intermediate value is the same as the first intermediate value, then the first calculation result is verified.

[0139] If the second intermediate value is different from the first intermediate value, then the verification of the first calculation result fails.

[0140] Specifically, after acquiring the second intermediate value and the first intermediate value, the second platform can verify the first calculation result based on the magnitude of the second intermediate value and the first intermediate value. If the second intermediate value is the same as the first intermediate value, it indicates that the parameter data and calculation function involved in the calculation on the first platform have not been tampered with, and the first calculation result is successfully verified. If the second intermediate value is different from the first intermediate value, it indicates that at least one of the parameter data and calculation function involved in the calculation on the first platform has been tampered with, and the first calculation result verification fails. In this way, by using the irreversible first intermediate value as the basis for verification, the accuracy of verification is improved.

[0141] In one application example, the multi-party computation system includes computational participant A, computational participant B, a first platform C, a blockchain, and a second platform. Computational participant A, computational participant B, the first platform C, the blockchain, and the second platform interact to complete the multi-party computation process. See also Figure 4 , Figure 4 This diagram illustrates the interaction process between computational participant A, computational participant B, the first platform C, the blockchain, and the second platform in a multi-party computation system. (Example:) Figure 4 As shown, computational participants A and B respectively send their public keys A and B to the first platform C. Upon receiving public key A, the first platform C encrypts its own public key C using public key A and sends the encrypted public key C to computational participant A. Similarly, upon receiving public key B, the first platform C encrypts its own public key C using public key B and sends the encrypted public key C to computational participant B. Computational participant A decrypts the encrypted public key C using its own private key A and uses public key C to encrypt parameter data, then uploads the encrypted parameter data to the first platform C. Computational participant B decrypts the encrypted public key C using its own private key B and uses public key C to encrypt parameter data, then uploads the encrypted parameter data to the first platform C. The first platform C decrypts the encrypted parameter data using its own private key C and performs calculations using the plaintext parameter data and the plaintext computation function to obtain the first calculation result. After obtaining the first computation result, the first platform C can encrypt the first computation result using public key A and return it to computation participant A, and then encrypt the first computation result using public key B and return it to computation participant B. It should be noted that the computation function of the first platform is also sent by computation participant A and / or B and stored in the computation function secure storage module of the first platform C. Furthermore, when the first platform C receives the public keys A and B from computation participant A and computation participant B, it also stores them in the first platform's public-private key pair management module.

[0142] Furthermore, after obtaining the first calculation result, the first platform can perform hash calculations on the parameter data, calculation function, and first calculation result according to a preset algorithm to obtain a first intermediate value, and upload this first intermediate value to the blockchain. The second platform can obtain the first intermediate value from the blockchain, the plaintext parameter data of calculation participant A, the plaintext parameter data of calculation participant B, and the plaintext calculation function from the first platform C. Based on the plaintext parameter data of calculation participant A, the plaintext parameter data of calculation participant B, and the plaintext calculation function from the first platform C, it calculates the second calculation result. Then, using the same preset algorithm as in the first platform, it performs hash calculations on the plaintext parameter data of calculation participant A, the plaintext parameter data of calculation participant B, the plaintext calculation function from the first platform C, and the second calculation result to obtain the second intermediate value. Finally, it compares the first intermediate value and the second intermediate value to determine the verification result, thereby realizing the entire multi-party computation and verification process.

[0143] In addition, see Figure 5 , Figure 5 This is a schematic diagram of the structure of a multi-party computing device based on a trusted computing environment, provided in an embodiment of this application. Figure 5 As shown, the multi-party computing device 500 based on a trusted computing environment is applied to a first platform providing a trusted computing environment, including:

[0144] The first receiving module 501 is used to receive parameter data and calculation functions sent by at least two computing participants;

[0145] The first determining module 502 is used to determine the first calculation result based on the parameter data and the calculation function;

[0146] The second determining module 503 is used to perform hash calculation on the parameter data, calculation function and first calculation result according to a preset algorithm to determine the first intermediate value;

[0147] The sending module 504 is used to send the first intermediate value to the blockchain so that the second platform can obtain the first intermediate value in the blockchain and verify the first calculation result.

[0148] Optionally, the first receiving module 501 includes:

[0149] The first receiving submodule is used to receive the ciphertext of parameter data and the ciphertext of the computation function sent by at least two computation participants, wherein the ciphertext of parameter data and the ciphertext of computation function are both obtained by each computation participant through the public key of the first platform.

[0150] The decryption submodule is used to decrypt the ciphertext of the parameter data and the ciphertext of the calculation function using the private key of the first platform, so as to obtain the parameter data and the calculation function. The private key of the first platform is paired with the public key of the first platform.

[0151] Optionally, the first receiving module 501 further includes:

[0152] The second receiving submodule is used to receive public keys sent by at least two computing participants respectively;

[0153] The encryption submodule is used to encrypt the public key of the first platform based on the public keys sent by at least two computing participants.

[0154] The sending submodule is used to send the encrypted public key of the first platform to the corresponding computing participants, so that at least two computing participants can decrypt the encrypted public key of the first platform according to their own private keys to obtain the public key of the first platform.

[0155] Optionally, the second determining module 503 includes:

[0156] The first calculation submodule is used to calculate the hash value corresponding to the parameter data, the calculation function, and the first calculation result, respectively.

[0157] The first module, as a submodule, is used to treat the parameter data, the calculation function, and the hash value corresponding to the first calculation result as the leaf nodes of the hash tree, respectively.

[0158] The second module is a submodule used to perform hash calculations on two adjacent leaf nodes in the leaf node respectively, and use the calculated hash value as the intermediate node.

[0159] The second calculation submodule is used to perform hash calculations on two adjacent intermediate nodes in the intermediate node to obtain the first intermediate value.

[0160] The multi-party computing device 500 based on a trusted computing environment can implement all the processes of the above-described embodiments of the multi-party computing method based on a trusted computing environment and achieve the same technical effect. To avoid repetition, it will not be described again here.

[0161] In addition, see Figure 6 , Figure 6 This is a second schematic diagram of the structure of a multi-party computing device based on a trusted computing environment, provided as an embodiment of this application. Figure 6 As shown, the multi-party computing device 600 based on a trusted computing environment is applied to a second platform and includes:

[0162] The acquisition module 601 is used to acquire the first intermediate value in the blockchain. The blockchain is used to receive and store the first intermediate value sent by the first platform. The first intermediate value is obtained by the first platform through hash calculation of parameter data, calculation function and first calculation result according to a preset algorithm. The first calculation result is determined according to parameter data and calculation function. Parameter data and calculation function are both sent by at least two calculation participants.

[0163] The second receiving module 602 is used to receive parameter data and calculation functions sent by at least two computing participants;

[0164] The third determining module 603 is used to determine the second calculation result based on the parameter data and the calculation function;

[0165] The fourth determining module 604 is used to calculate the parameter data, calculation function and second calculation result according to the preset algorithm to determine the second intermediate value;

[0166] The verification module 605 is used to verify the first calculation result based on the second intermediate value and the first intermediate value.

[0167] Optionally, the verification module 605 includes:

[0168] The verification passed submodule is used to verify the first calculation result if the second intermediate value is the same as the first intermediate value.

[0169] The verification failure submodule is used to verify the first calculation result if the second intermediate value is different from the first intermediate value.

[0170] The multi-party computing device 600 based on a trusted computing environment can implement all the processes of the above-described embodiments of the multi-party computing method based on a trusted computing environment and achieve the same technical effect. To avoid repetition, it will not be described again here.

[0171] In addition, see Figure 7 , Figure 7 This is the third schematic diagram of the structure of a multi-party computing device based on a trusted computing environment, provided as an embodiment of this application. Figure 7 As shown, the multi-party computing device based on a trusted computing environment is applied to a first platform that provides a trusted computing environment, including a bus 701, a transceiver 702, an antenna 703, a bus interface 704, a processor 705, and a memory 706.

[0172] Transceiver 702 is used to receive parameter data and computation functions sent by at least two computation participants;

[0173] Processor 705 is used to determine a first calculation result based on parameter data and calculation function; and to perform hash calculation on parameter data, calculation function and first calculation result according to a preset algorithm to determine a first intermediate value;

[0174] The transceiver 702 is also used to send the first intermediate value to the blockchain so that the second platform can obtain the first intermediate value in the blockchain and verify the first calculation result.

[0175] Optionally, transceiver 702 is also used to receive ciphertext of parameter data and ciphertext of computation function sent by at least two computation participants, wherein the ciphertext of parameter data and ciphertext of computation function are both obtained by each computation participant through the public key of the first platform;

[0176] The processor 705 is also used to decrypt the ciphertext of the parameter data and the ciphertext of the calculation function using the private key of the first platform to obtain the parameter data and the calculation function, wherein the private key of the first platform is paired with the public key of the first platform.

[0177] Optionally, transceiver 702 is also configured to receive public keys sent by at least two computing participants respectively;

[0178] The processor 705 is also configured to encrypt the public key of the first platform based on the public keys sent by at least two computing participants;

[0179] The transceiver 702 is also used to send the encrypted public key of the first platform to the corresponding computing participants, so that at least two computing participants can decrypt the encrypted public key of the first platform according to their own private keys to obtain the public key of the first platform.

[0180] Optionally, the processor 705 is further configured to calculate the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result respectively; use the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result as leaf nodes of the hash tree respectively; perform hash calculations on two adjacent leaf nodes in the leaf nodes respectively, and use the calculated hash values ​​as intermediate nodes; and perform hash calculations on two adjacent intermediate nodes in the intermediate nodes respectively to obtain the first intermediate value.

[0181] exist Figure 7 In this document, a bus architecture (represented by bus 701) is used. Bus 701 can include any number of interconnected buses and bridges, linking various circuits including one or more processors represented by processor 705 and memory represented by memory 706. Bus 701 can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. Bus interface 704 provides an interface between bus 701 and transceiver 702. Transceiver 702 can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by processor 705 is transmitted over a wireless medium via antenna 703, which further receives data and transmits data to processor 705.

[0182] Processor 705 manages bus 701 and general processing, and also provides various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. Memory 706 can be used to store data used by processor 705 during operation.

[0183] Optionally, the processor 705 can be a CPU, ASIC, FPGA, or CPLD.

[0184] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, this computer program implements the various processes of the above-described multi-party computation method embodiments based on a trusted computing environment, achieving the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0185] This application also provides a multi-party computing device based on a trusted computing environment, applied to a first platform providing a trusted computing environment, including: a processor, a memory, and a program stored in the memory and executable on the processor. When the program is executed by the processor, it implements the various processes of the above-described multi-party computing method embodiments based on a trusted computing environment and achieves the same technical effect. To avoid repetition, it will not be described again here.

[0186] In addition, see Figure 8 , Figure 8 This is the fourth schematic diagram of the structure of a multi-party computing device based on a trusted computing environment, provided as an embodiment of this application. Figure 8 As shown, the multi-party computing device based on a trusted computing environment is applied to the second platform, including a bus 801, a transceiver 802, an antenna 803, a bus interface 804, a processor 805, and a memory 806.

[0187] Transceiver 802 is used to obtain the first intermediate value in the blockchain. The blockchain is used to receive and store the first intermediate value sent by the first platform. The first intermediate value is obtained by the first platform through hash calculation of parameter data, calculation function and first calculation result according to a preset algorithm. The first calculation result is determined according to parameter data and calculation function. Parameter data and calculation function are both sent by at least two calculation participants.

[0188] Transceiver 802 is also used to receive parameter data and computation functions sent by at least two computation participants;

[0189] The processor 805 is used to determine a second calculation result based on parameter data and a calculation function; to calculate the parameter data, the calculation function, and the second calculation result according to a preset algorithm to determine a second intermediate value; and to verify the first calculation result based on the second intermediate value and the first intermediate value.

[0190] Optionally, the processor 805 is configured to verify the first calculation result if the second intermediate value is the same as the first intermediate value;

[0191] If the second intermediate value is different from the first intermediate value, then the verification of the first calculation result fails.

[0192] exist Figure 8 In this document, a bus architecture (represented by bus 801) is used. Bus 801 can include any number of interconnected buses and bridges, linking various circuits including one or more processors represented by processor 805 and memory represented by memory 806. Bus 801 can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. Bus interface 804 provides an interface between bus 801 and transceiver 802. Transceiver 802 can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by processor 805 is transmitted over a wireless medium via antenna 803, which further receives data and transmits data to processor 805.

[0193] The processor 805 manages the bus 801 and handles general processing, and also provides various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions. The memory 806 can be used to store data used by the processor 805 during operation.

[0194] Optionally, the processor 805 can be a CPU, ASIC, FPGA, or CPLD.

[0195] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, this computer program implements the various processes of the above-described multi-party computation method embodiments based on a trusted computing environment, achieving the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0196] This application also provides a multi-party computing device based on a trusted computing environment, applied to a second platform, including: a processor, a memory, and a program stored in the memory and executable on the processor. When the program is executed by the processor, it implements the various processes of the above-described multi-party computing method embodiments based on a trusted computing environment and achieves the same technical effect. To avoid repetition, it will not be described again here.

[0197] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0198] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0199] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of the present invention.

Claims

1. A multi-party computation method based on a trusted computing environment, characterized in that, The method, applied to a first platform providing the trusted computing environment, includes: Receive parameter data and computation functions sent by at least two computation participants; Based on the parameter data and the calculation function, a first calculation result is determined; A first intermediate value is determined by performing a hash calculation on the parameter data, the calculation function, and the first calculation result according to a preset algorithm. The first intermediate value is sent to the blockchain so that the second platform can obtain the first intermediate value in the blockchain and verify the first calculation result; The step of performing hash calculations on the parameter data, the calculation function, and the first calculation result according to a preset algorithm to determine the first intermediate value includes: Calculate the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result, respectively; The parameter data, the calculation function, and the hash value corresponding to the first calculation result are respectively used as the leaf nodes of the hash tree; Perform hash calculations on each of the two adjacent leaf nodes in the leaf node, and use the calculated hash value as the intermediate node; The first intermediate value is obtained by performing hash calculations on two adjacent intermediate nodes in the intermediate node.

2. The method according to claim 1, characterized in that, The receiving of parameter data and computation functions sent by at least two computation participants includes: The system receives ciphertext of the parameter data and ciphertext of the computation function sent by the at least two computation participants, wherein the ciphertext of the parameter data and the ciphertext of the computation function are both obtained by each computation participant through the public key of the first platform. Using the private key of the first platform, the ciphertext of the parameter data and the ciphertext of the calculation function are decrypted to obtain the parameter data and the calculation function, wherein the private key of the first platform is paired with the public key of the first platform.

3. The method according to claim 2, characterized in that, Before receiving the ciphertext of the parameter data and the ciphertext of the computation function sent by the at least two computation participants, the method further includes: Each of the at least two computation participants receives its public key. The public key of the first platform is encrypted based on the public keys sent by the at least two computing participants. The encrypted public key of the first platform is sent to the corresponding computing participants, so that the at least two computing participants can decrypt the encrypted public key of the first platform using their own private keys to obtain the public key of the first platform.

4. A multi-party computation method based on a trusted computing environment, characterized in that, Applied to a second platform, the method includes: The first intermediate value is obtained from the blockchain, which is used to receive and store the first intermediate value sent by the first platform. The first intermediate value is obtained by the first platform through hash calculation of parameter data, calculation function and first calculation result according to a preset algorithm. The first calculation result is determined based on the parameter data and the calculation function. The parameter data and the calculation function are both sent by at least two calculation participants. The first intermediate value is obtained by hash calculation of two adjacent intermediate nodes respectively. The intermediate nodes are obtained by hash calculation of two adjacent leaf nodes respectively. The leaf nodes are the hash values ​​corresponding to the parameter data, the calculation function and the first calculation result. Receive parameter data and calculation functions sent by the at least two computation participants; The second calculation result is determined based on the parameter data and the calculation function; The second intermediate value is determined by calculating the parameter data, the calculation function, and the second calculation result according to the preset algorithm. The first calculation result is verified based on the second intermediate value and the first intermediate value.

5. The method according to claim 4, characterized in that, The step of verifying the first calculation result based on the second intermediate value and the first intermediate value includes: If the second intermediate value is the same as the first intermediate value, then the first calculation result is verified. If the second intermediate value is different from the first intermediate value, then the verification of the first calculation result fails.

6. A multi-party computing device based on a trusted computing environment, characterized in that, The apparatus is applied to a first platform providing the trusted computing environment, the apparatus comprising: The first receiving module is used to receive parameter data and calculation functions sent by at least two computing participants; The first determining module is used to determine the first calculation result based on the parameter data and the calculation function; The second determining module is used to perform hash calculations on the parameter data, the calculation function and the first calculation result according to a preset algorithm to determine the first intermediate value; A sending module is used to send the first intermediate value to the blockchain so that the second platform can obtain the first intermediate value in the blockchain and verify the first calculation result; The second determining module includes: The first calculation submodule is used to calculate the hash value corresponding to the parameter data, the calculation function, and the first calculation result, respectively. The first module is used as a submodule to use the parameter data, the calculation function, and the hash value corresponding to the first calculation result as the leaf nodes of the hash tree, respectively. The second module is a submodule used to perform hash calculations on two adjacent leaf nodes in the leaf node respectively, and use the calculated hash value as the intermediate node. The second calculation submodule is used to perform hash calculations on two adjacent intermediate nodes in the intermediate nodes respectively to obtain the first intermediate value.

7. A multi-party computing device based on a trusted computing environment, characterized in that, Applied to a second platform, the device includes: An acquisition module is used to acquire a first intermediate value in the blockchain. The blockchain is used to receive and store the first intermediate value sent by a first platform. The first intermediate value is obtained by the first platform performing hash calculations on parameter data, calculation functions, and a first calculation result according to a preset algorithm. The first calculation result is determined based on the parameter data and the calculation function. The parameter data and the calculation function are both sent by at least two calculation participants. The first intermediate value is obtained by performing hash calculations on two adjacent intermediate nodes respectively. The intermediate nodes are obtained by performing hash calculations on two adjacent leaf nodes respectively. The leaf nodes are the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result. The second receiving module is used to receive parameter data and calculation functions sent by the at least two computing participants; The third determining module is used to determine the second calculation result based on the parameter data and the calculation function; The fourth determining module is used to calculate the parameter data, the calculation function, and the second calculation result according to the preset algorithm to determine the second intermediate value; The verification module is used to verify the first calculation result based on the second intermediate value and the first intermediate value.

8. A multi-party computing device based on a trusted computing environment, characterized in that, A first platform for providing the trusted computing environment, the device comprising a transceiver and a processor; The transceiver is used to receive parameter data and computation functions sent by at least two computation participants; The processor is configured to determine a first calculation result based on the parameter data and the calculation function; A first intermediate value is determined by performing a hash calculation on the parameter data, the calculation function, and the first calculation result according to a preset algorithm. The transceiver is also used to send the first intermediate value to the blockchain so that the second platform can obtain the first intermediate value in the blockchain and verify the first calculation result; The processor is also used to calculate the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result, respectively; The parameter data, the calculation function, and the hash value corresponding to the first calculation result are respectively used as the leaf nodes of the hash tree; Perform hash calculations on each pair of adjacent leaf nodes and use the calculated hash values ​​as the intermediate nodes. The first intermediate value is obtained by performing hash calculations on two adjacent intermediate nodes in the intermediate node.

9. A multi-party computing device based on a trusted computing environment, characterized in that, The device, applied to a second platform, includes a transceiver and a processor; The transceiver is used to acquire a first intermediate value in the blockchain. The blockchain is used to receive and store the first intermediate value sent by the first platform. The first intermediate value is obtained by the first platform performing hash calculations on parameter data, calculation functions, and a first calculation result according to a preset algorithm. The first calculation result is determined based on the parameter data and the calculation function. The parameter data and the calculation function are both sent by at least two calculation participants. The first intermediate value is obtained by performing hash calculations on two adjacent intermediate nodes respectively. The intermediate nodes are obtained by performing hash calculations on two adjacent leaf nodes respectively. The leaf nodes are the hash values ​​corresponding to the parameter data, the calculation function, and the first calculation result. The transceiver is also used to receive parameter data and calculation functions sent by the at least two computing participants; The processor is configured to determine a second calculation result based on the parameter data and the calculation function; The second intermediate value is determined by calculating the parameter data, the calculation function, and the second calculation result according to the preset algorithm. The first calculation result is verified based on the second intermediate value and the first intermediate value.

10. A multi-party computing device based on a trusted computing environment, characterized in that, The apparatus includes: a processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, it implements the steps of the multi-party computation method based on a trusted computing environment as described in any one of claims 1 to 3; or when the program is executed by the processor, it implements the steps of the multi-party computation method based on a trusted computing environment as described in any one of claims 4 to 5.

11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the multi-party computation method based on a trusted computing environment as described in any one of claims 1 to 3; or, when executed by a processor, the computer program implements the steps of the multi-party computation method based on a trusted computing environment as described in any one of claims 4 to 5.