Autonomous controllable ciphertext data security calculation method and system

By using homomorphic encryption and smart contract mechanisms generated by the data owner, combined with random number verification, the problem of lack of autonomy and controllability in existing technologies is solved, and the data owner's supervision of the decryption results and autonomy and controllability of data security are realized.

CN115603891BActive Publication Date: 2026-04-07SHANGHAI WANXIANG BLOCK CHAIN CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-29
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing homomorphic ciphertext computation schemes require users to trust a third party's public key for encryption, which lacks autonomy, controllability, and the data owner's oversight.

Method used

Plaintext data is encrypted using a homomorphic encryption public and private key generated by the data owner. Smart contracts and random number verification mechanisms are used to ensure the data owner's right to supervise the decryption results and prevent the forgery of decryption results.

Benefits of technology

It enables data owners to have complete control over their data without relying on trusted third parties, prevents decryption parties from forging decryption results, and ensures data security and computational accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115603891B_ABST
    Figure CN115603891B_ABST
Patent Text Reader

Abstract

This invention provides an autonomous and controllable secure computation method and system for encrypted data, and its electronic device, comprising: enabling the data owner to perform computation on plaintext data m i Homomorphic encryption is performed to obtain ciphertext data c. i ; instruct the data user to use the encrypted data c i The selected random number is used by a smart contract to calculate the ciphertext c that can be used to verify the key result. ver And initiate a decryption request to the data owner through a smart contract; instruct the data owner to use the ciphertext c of the verifiable key result. ver Homomorphic decryption yields plaintext m ver The decryption result is then sent to the data user, who can then use this result to determine whether the data owner has correctly decrypted the data. This invention ensures the data owner's right to supervise data usage by having the data owner perform the decryption, and solves the problem of the decryption party forging the decryption result by adding a random number.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of encryption technology, specifically to an independently controllable method and system for secure computation of encrypted data, and its electronic equipment. Background Technology

[0002] Patent document CN107592195A discloses a quasi-fully homomorphic ciphertext data operation method and system, which is deployed on a private cloud platform in a local data center and establishes a connection between the local data center and a third-party public cloud platform. It adopts a classification field expansion mode to expand the fields of numerical data and character data, and combines a ciphertext service strategy based on functional requirements to realize conventional arithmetic operations on quasi-fully homomorphic ciphertext of numerical data.

[0003] In existing homomorphic ciphertext computation schemes, most computations are encrypted using a trusted third-party public key, requiring the user to trust a third party. Summary of the Invention

[0004] In view of the deficiencies in the prior art, the purpose of this invention is to provide an autonomous and controllable method and system for secure computation of encrypted data, as well as its electronic equipment.

[0005] A method for secure computation of encrypted data that is autonomous and controllable according to the present invention includes:

[0006] Step S1: Instruct the data owner to configure the plaintext data m i Homomorphic encryption is performed to obtain ciphertext data c. i ;

[0007] Step S2: Instruct the data user to use the encrypted data c i The selected random number is used by a smart contract to calculate the ciphertext c that can be used to verify the key result. ver And initiate a decryption request to the data owner through a smart contract;

[0008] Step S3: Instruct the data owner to use the ciphertext c of the verifiable key result. ver Homomorphic decryption yields plaintext m ver As the decryption result, the decryption result is sent to the data user;

[0009] Step S4: The data user is instructed to determine whether the data owner has correctly decrypted the data based on the decryption result.

[0010] Preferably, step S1 includes:

[0011] Step S1.1: The data owner generates the corresponding homomorphic encryption public / private key (PK). A SK A ); where PKA SK represents the public key generated by the data owner. A This represents the private key generated by the data owner;

[0012] Step S1.2: The data owner uses the homomorphic encryption algorithm E(·) to encrypt the plaintext data m. i Encryption is performed to obtain ciphertext c. i = Then the encrypted data c i Public; among them, This indicates the use of the public key (PK) generated by the data owner. A Encrypt plaintext data.

[0013] Preferably, step S2 includes:

[0014] Step S2.1: The data user selects the calculation function f() and the encrypted data c to be used in the calculation. i ;

[0015] Step S2.2: The data user executes the calculation through the smart contract to obtain the encrypted calculation result c. result , where c result =f(c i );

[0016] Step S2.3: The data user selects a prime random number 'a' and a random number 'b', and calculates the ciphertext 'c', which is the result of the verifiable key, through a smart contract. ver , where c ver =E(ac) result +b); Then, a decryption request is sent to the data owner via a smart contract.

[0017] Preferably, in step S3, the data owner receives a decryption request and obtains ciphertext c, which verifies the key result. ver Using homomorphic decryption, the plaintext m is obtained by decrypting with the private key. ver ,in, The decryption result is sent to the data user; among which, This indicates the use of the private key SK generated by the data owner. A Decrypt the encrypted data;

[0018] In step S4, the data user obtains the decryption result m. ver Verify m i =(m ver -b) / a: Is the result an integer? If the result is an integer, the data owner is considered to have correctly decrypted the result m. i =(m ver -b) / a; otherwise, it is assumed that the data owner has not correctly decrypted the result, and the data user has not obtained the correct result.

[0019] According to the present invention, a self-controllable encrypted data security computing system includes:

[0020] Module M1: Enables the data owner to view plaintext data m i Homomorphic encryption is performed to obtain ciphertext data c. i ;

[0021] Module M2: Instructs the data user to use the encrypted data c i The selected random number is used by a smart contract to calculate the ciphertext c that can be used to verify the key result. ver And initiate a decryption request to the data owner through a smart contract;

[0022] Module M3: Instructs the data owner to use the ciphertext c resulting from the verifiable key. ver Homomorphic decryption yields plaintext m ver As the decryption result, the decryption result is sent to the data user;

[0023] Module M4: Enables the data user to determine whether the data owner has correctly decrypted the data based on the decryption result.

[0024] Preferably, the module M1 includes:

[0025] Module M1.1: The data owner generates the corresponding homomorphic encryption public / private key (PK). A SK A ); where PK A SK represents the public key generated by the data owner. A This represents the private key generated by the data owner;

[0026] Module M1.2: The data owner uses the homomorphic encryption algorithm E(·) to encrypt the plaintext data m. i Encryption is performed to obtain ciphertext. Then the encrypted data c i Public; among them, This indicates the use of the public key (PK) generated by the data owner. A Encrypt plaintext data.

[0027] Preferably, the module M2 includes:

[0028] Module M2.1: The data user selects the computation function f() and the encrypted data c to be used in the computation. i ;

[0029] Module M2.2: The data user obtains the encrypted computation result c through a smart contract. result , where cresult =f(c i );

[0030] Module M2.3: The data user selects a prime random number 'a' and a random number 'b', and through a smart contract, calculates the ciphertext 'c', which yields a verifiable key result. ver , where c ver =E(ac) result +b); Then, a decryption request is sent to the data owner via a smart contract.

[0031] Preferably, in module M3, the data owner receives a decryption request and obtains ciphertext c, which verifies the key result. ver Using homomorphic decryption, the plaintext m is obtained by decrypting with the private key. ver ,in, The decryption result is sent to the data user; among which, This indicates the use of the private key SK generated by the data owner. A Decrypt the encrypted data;

[0032] In module M4, the data user obtains the decryption result m. ver Verify m i =(m ver -b) / a: Is the result an integer? If the result is an integer, the data owner is considered to have correctly decrypted the result m. i =(m ver -b) / a; otherwise, it is assumed that the data owner has not correctly decrypted the result, and the data user has not obtained the correct result.

[0033] According to the present invention, a computer-readable storage medium storing a computer program is characterized in that, when the computer program is executed by a processor, it implements the steps of the autonomous and controllable encrypted data security calculation method.

[0034] An electronic device provided by the present invention includes the aforementioned autonomous and controllable encrypted data security computing system, or includes the aforementioned computer-readable storage medium storing a computer program.

[0035] Compared with the prior art, the present invention has the following beneficial effects:

[0036] 1. This invention ensures the data owner's right to supervise the use of data by having the data owner complete the decryption of the result data.

[0037] 2. This invention solves the problem of detecting forged decryption results by adding random numbers.

[0038] 3. This invention solves the problem of data users forging calculation formulas and abusing private data by using smart contracts to complete encrypted calculations. Attached Figure Description

[0039] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:

[0040] Figure 1 This is a schematic diagram of the process steps of the present invention. Detailed Implementation

[0041] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the protection scope of the present invention.

[0042] This invention maintains the encrypted state of privacy data during its circulation and use without the need for trusted third-party assistance, while ensuring the data is computable and granting the data owner complete control over the data through a protocol algorithm.

[0043] A method for secure computation of encrypted data that is autonomous and controllable according to the present invention includes:

[0044] Step S1: Instruct the data owner to configure the plaintext data m i Homomorphic encryption is performed to obtain ciphertext data c. i Step S1 includes the following steps:

[0045] Step S1.1: The data owner generates the corresponding homomorphic encryption public / private key (PK). A SK A ).

[0046] PK A This represents the public key generated by the data owner;

[0047] SK A This represents the private key generated by the data owner;

[0048] Step S1.2: The data owner uses the homomorphic encryption algorithm E(·) to encrypt the plaintext data m. i Encryption is performed to obtain ciphertext. Then the encrypted data c i public;

[0049] This indicates the use of the public key (PK) generated by the data owner. AEncrypt plaintext data.

[0050] Step S2: Instruct the data user to use the encrypted data c i The selected random number is used by a smart contract to calculate the ciphertext c that can be used to verify the key result. ver And initiate a decryption request to the data owner through a smart contract; step S2 includes the following steps:

[0051] Step S2.1: The data user selects the calculation function f() and the encrypted data c to be used in the calculation. i .

[0052] Step S2.2: The data user executes the calculation through the smart contract to obtain the encrypted calculation result c. result , where c result =f(c i ).

[0053] Step S2.3: The data user selects a prime random number 'a' and a random number 'b', and calculates the ciphertext 'c', which is the result of the verifiable key, through a smart contract. ver , where c ver =E(ac) result +b). Then, a decryption request is initiated to the data owner via a smart contract. Because this invention avoids the problem of the decryption party forging the decryption result by adding a random number.

[0054] Step S3: Instruct the data owner to use the ciphertext c of the verifiable key result. ver Homomorphic decryption yields plaintext m ver As the decryption result, the decryption result is sent to the data user; in step S3: the data owner receives the decryption request and obtains the ciphertext c that can verify the key result. ver Using homomorphic decryption, the plaintext m is obtained by decrypting with the private key. ver ,in, The decryption result is sent to the data user. This indicates the use of the private key SK generated by the data owner. A Decrypt the encrypted data.

[0055] Step S4: The data user verifies whether the data owner has correctly decrypted the data based on the decryption result. In step S4: the data user obtains the decryption result m. ver Verify m i =(m ver Is -b) / a an integer?

[0056] If the result is an integer, then the data owner is considered to have correctly decrypted the result m. i =(mver -b) / a,

[0057] Otherwise, it is assumed that the data owner did not correctly decrypt the result, and the data user did not receive the correct result.

[0058] Because of the addition of random numbers a and b, the data owner cannot correctly forge the decryption result without knowing a and b; if the data owner forges the result m in the form of a multiple of n... ver’ =n*m ver =anm i +bn, since there exists a random number b, then m i’ =(m ver’ -b) / a=(anm i +bn-b) / a, where m i’ The result is not an integer and cannot pass validation; if the data owner adds another value k to the result, the result will be m. ver’ =k+m ver =am i +b+k, due to the existence of random numbers a and b, then m i’ =(m ver’ -b) / a=(am i +b+kb) / a, where m i’ The result is not an integer, so the verification fails. Without random numbers a and b, the data owner cannot be guaranteed a correct decryption result.

[0059] In this invention, the data owner needs to hide the data from the data user, meaning the data user cannot decrypt the data provided by the data owner. To this end, the data owner publishes the data in encrypted form for the data user to perform calculations on; decryption can only be performed by the data owner. If the data user wants the decryption result, they need to request it from the data owner. The data owner checks the user's calculation method according to the smart contract to see if it is compliant, and then decides whether to decrypt. Simultaneously, the data user verifies the data owner's correct decryption by adding a random number.

[0060] This invention also provides an autonomous and controllable encrypted data security computing system. Those skilled in the art can implement the autonomous and controllable encrypted data security computing system by executing the steps of the described method. That is, the autonomous and controllable encrypted data security computing method can be understood as a preferred embodiment of the autonomous and controllable encrypted data security computing system. Specifically, according to the autonomous and controllable encrypted data security computing system provided by this invention, it includes:

[0061] Module M1: Enables the data owner to view plaintext data m iHomomorphic encryption is performed to obtain ciphertext data c. i ;

[0062] Module M2: Instructs the data user to use the encrypted data c i The selected random number is used by a smart contract to calculate the ciphertext c that can be used to verify the key result. ver And initiate a decryption request to the data owner through a smart contract;

[0063] Module M3: Instructs the data owner to use the ciphertext c resulting from the verifiable key. ver Homomorphic decryption yields plaintext m ver As the decryption result, the decryption result is sent to the data user;

[0064] Module M4: Enables the data user to determine whether the data owner has correctly decrypted the data based on the decryption result.

[0065] The module M1 includes:

[0066] Module M1.1: The data owner generates the corresponding homomorphic encryption public / private key (PK). A SK A ); where PK A SK represents the public key generated by the data owner. A This represents the private key generated by the data owner;

[0067] Module M1.2: The data owner uses the homomorphic encryption algorithm E(·) to encrypt the plaintext data m. i Encryption is performed to obtain ciphertext. Then the encrypted data c i Public; among them, This indicates the use of the public key (PK) generated by the data owner. A Encrypt plaintext data.

[0068] The module M2 includes:

[0069] Module M2.1: The data user selects the computation function f() and the encrypted data c to be used in the computation. i ;

[0070] Module M2.2: The data user obtains the encrypted computation result c through a smart contract. result , where c result =f(c i );

[0071] Module M2.3: The data user selects a prime random number 'a' and a random number 'b', and through a smart contract, calculates the ciphertext 'c', which yields a verifiable key result. ver, where c ver =E(ac) result +b); Then, a decryption request is sent to the data owner via a smart contract.

[0072] In module M3, the data owner receives a decryption request and obtains ciphertext c, which verifies the key result. ver Using homomorphic decryption, the plaintext m is obtained by decrypting with the private key. ver ,in, The decryption result is sent to the data user; among which, This indicates the use of the private key SK generated by the data owner. A Decrypt the encrypted data;

[0073] In module M4, the data user obtains the decryption result m. ver Verify m i =(m ver -b) / a: Is the result an integer? If the result is an integer, the data owner is considered to have correctly decrypted the result m. i =(m ver -b) / a; otherwise, it is assumed that the data owner has not correctly decrypted the result, and the data user has not obtained the correct result.

[0074] Those skilled in the art will understand that, in addition to implementing the system, apparatus, and their modules provided by this invention in purely computer-readable program code, the same program can be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, the system, apparatus, and their modules provided by this invention can be considered a hardware component, and the modules included therein for implementing various programs can also be considered structures within the hardware component; alternatively, modules for implementing various functions can be considered both software programs implementing the method and structures within the hardware component.

[0075] According to the present invention, a computer-readable storage medium storing a computer program is characterized in that, when the computer program is executed by a processor, it implements the steps of the autonomous and controllable encrypted data security calculation method.

[0076] An electronic device provided by the present invention includes the aforementioned autonomous and controllable encrypted data security computing system, or includes the aforementioned computer-readable storage medium storing a computer program.

[0077] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.

Claims

1. A method for secure computation of encrypted data that is autonomous and controllable, characterized in that, include: Step S1: Instruct the data owner to configure the plaintext data m i Homomorphic encryption is performed to obtain ciphertext data c. i ; Step S2: Instruct the data user to use the encrypted data c i The selected random number is used by a smart contract to calculate the ciphertext c that can be used to verify the key result. ver And initiate a decryption request to the data owner through a smart contract; Step S3: Instruct the data owner to use the ciphertext c of the verifiable key result. ver Homomorphic decryption yields plaintext m ver As the decryption result, the decryption result is sent to the data user; Step S4: The data user determines whether the data owner has correctly decrypted the data based on the decryption result; Step S1 includes: Step S1.1: The data owner generates the corresponding homomorphic encryption public / private key (PK). A SK A ); where PK A SK represents the public key generated by the data owner. A This represents the private key generated by the data owner; Step S1.2: The data owner uses a homomorphic encryption algorithm. Plaintext data m i Encryption is performed to obtain ciphertext c. i = Then ciphertext data c i Public; among them, This indicates the use of the public key (PK) generated by the data owner. A Encrypt plaintext data; Step S2 includes: Step S2.1: The data user selects the calculation function f() and the encrypted data c to be used in the calculation. i ; Step S2.2: The data user executes the calculation through the smart contract to obtain the encrypted calculation result c. result , where c result =f(c i ); Step S2.3: The data user selects a prime random number 'a' and a random number 'b', and calculates the ciphertext 'c', which is the result of the verifiable key, through a smart contract. ver , where c ver = E(ac result +b); Then, a decryption request is sent to the data owner via a smart contract; In step S3, the data owner receives a decryption request and obtains ciphertext c, which verifies the key result. ver Using homomorphic decryption, the plaintext m is obtained by decrypting with the private key. ver , where m ver = = am i +b sends the decryption result to the data user; where... This indicates the use of the private key SK generated by the data owner. A Decrypt the encrypted data; In step S4, the data user obtains the decryption result m. ver Verify m i =(m ver -b) / a: Is the result an integer? If the result is an integer, the data owner is considered to have correctly decrypted the result m. i = (m ver -b) / a; otherwise, it is assumed that the data owner has not correctly decrypted the result, and the data user has not obtained the correct result.

2. A self-controllable encrypted data security computing system, characterized in that, include: Module M1: Enables the data owner to view plaintext data m i Homomorphic encryption is performed to obtain ciphertext data c. i ; Module M2: Instructs the data user to use the encrypted data c i The selected random number is used by a smart contract to calculate the ciphertext c that can be used to verify the key result. ver And initiate a decryption request to the data owner through a smart contract; Module M3: Instructs the data owner to use the ciphertext c resulting from the verifiable key. ver Homomorphic decryption yields plaintext m ver As the decryption result, the decryption result is sent to the data user; Module M4: Enables the data user to determine whether the data owner has correctly decrypted the data based on the decryption result; The module M1 includes: Module M1.1: The data owner generates the corresponding homomorphic encryption public / private key (PK). A SK A ); where PK A SK represents the public key generated by the data owner. A This represents the private key generated by the data owner; Module M1.2: Data owner uses homomorphic encryption algorithm Plaintext data m i Encryption is performed to obtain ciphertext c. i = Then ciphertext data c i Public; among them, This indicates the use of the public key (PK) generated by the data owner. A Encrypt plaintext data; The module M2 includes: Module M2.1: The data user selects the computation function f() and the encrypted data c to be used in the computation. i ; Module M2.2: The data user obtains the encrypted computation result c through a smart contract. result , where c result =f(c i ); Module M2.3: The data user selects a prime random number 'a' and a random number 'b', and through a smart contract, calculates the ciphertext 'c', which yields a verifiable key result. ver , where c ver = E(ac result +b); Then, a decryption request is sent to the data owner via a smart contract; In module M3, the data owner receives a decryption request and obtains ciphertext c, which verifies the key result. ver Using homomorphic decryption, the plaintext m is obtained by decrypting with the private key. ver , where m ver = = am i +b sends the decryption result to the data user; where... This indicates the use of the private key SK generated by the data owner. A Decrypt the encrypted data; In module M4, the data user obtains the decryption result m. ver Verify m i =(m ver -b) / a: Is the result an integer? If the result is an integer, the data owner is considered to have correctly decrypted the result m. i = (m ver -b) / a; otherwise, it is assumed that the data owner has not correctly decrypted the result, and the data user has not obtained the correct result.

3. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the autonomous and controllable encrypted data security calculation method as described in claim 1.

4. An electronic device, characterized in that, It includes the autonomous and controllable encrypted data security computing system as described in claim 2, or the computer-readable storage medium storing a computer program as described in claim 3.

Citation Information

Patent Citations

  • Quasi-fully homomorphic ciphertext data operation method and system

    CN107592195A

  • Encryption method and system based on privacy protection

    CN111371545A