CN113992325B - Private data sharing method and device - Google Patents

Private data sharing method and device Download PDF

Info

Publication number
CN113992325B
CN113992325B CN202111174112.5A CN202111174112A CN113992325B CN 113992325 B CN113992325 B CN 113992325B CN 202111174112 A CN202111174112 A CN 202111174112A CN 113992325 B CN113992325 B CN 113992325B
Authority
CN
China
Prior art keywords
public key
node
sub
ciphertext
offset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111174112.5A
Other languages
Chinese (zh)
Other versions
CN113992325A (en
Inventor
李昊轩
严强
廖飞强
贺双洪
王朝阳
李辉忠
张开翔
范瑞彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202111174112.5A priority Critical patent/CN113992325B/en
Publication of CN113992325A publication Critical patent/CN113992325A/en
Priority to PCT/CN2022/101644 priority patent/WO2023056763A1/en
Application granted granted Critical
Publication of CN113992325B publication Critical patent/CN113992325B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The invention discloses a privacy data sharing method and device, wherein the method comprises the following steps: encrypting data to be encrypted according to the generating element of the elliptic curve, the offset public key and the public key corresponding to at least one node of the blockchain to obtain a shared ciphertext; any public key is obtained based on a main private key and the generator according to preset operation in an elliptic curve digital domain, and an offset public key is obtained based on an offset private key and the generator according to the preset operation; uploading the shared ciphertext to a blockchain, and decrypting to-be-encrypted data by using the shared ciphertext for any node according to an elliptic curve algorithm and the preset operation based on the private key of the node, the public key corresponding to at least one node and the generator. When the method is applied to financial science (Fintech), the data can be shared on a plurality of nodes by only generating one share ciphertext according to the property of an elliptic curve.

Description

Private data sharing method and device
Technical Field
The present invention relates to the field of Blockchain (Blockchain) in the field of financial technology (Fintech), and in particular, to a method and apparatus for sharing private data.
Background
With the development of computer technology, more and more technologies are applied in the financial field, and the traditional financial industry is gradually changed to the financial technology (Fintech), but due to the requirements of safety and real-time performance of the financial industry, the requirements of the technology are also higher. Currently, transactions are often conducted through blockchains in the field of financial technology based on the non-tamperability of blockchains. When private data is shared to the blockchain nodes through the blockchain, the data is required to be encrypted by using a corresponding public key for each node, and ciphertext corresponding to each node is uploaded to the blockchain, so that multiple copies of ciphertext can be uploaded to the blockchain, and then each node acquires own ciphertext from the blockchain and decrypts the own ciphertext according to the private key.
Obviously, in the current private data sharing method through the blockchain, multiple ciphertext needs to be uploaded to the blockchain, which is a problem to be solved urgently.
Disclosure of Invention
The invention provides a privacy data sharing method and device, which solve the problem that in the privacy data sharing method in the prior art, multiple ciphertext needs to be uploaded to a blockchain.
In a first aspect, the present invention provides a method for sharing private data, including: encrypting data to be encrypted according to the generating element of the elliptic curve, the offset public key and the public key corresponding to at least one node of the blockchain to obtain a shared ciphertext; the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to preset operation in an elliptic curve number domain based on a main private key and the generator, and the offset public key is obtained according to the preset operation based on an offset private key and the generator;
Uploading the shared ciphertext to the blockchain, wherein the shared ciphertext is used for any node, and decrypting the shared ciphertext to obtain the data to be encrypted according to an elliptic curve algorithm and the preset operation based on a private key of the node, a public key corresponding to at least one node and the generator, and the private key of the node is obtained according to the preset operation based on a main private key and the offset public key.
According to the method, the data to be encrypted is encrypted according to the generating element of the elliptic curve, the offset public key and the public key corresponding to at least one node of the blockchain to obtain the shared ciphertext, the information of the main private key can be covered up due to the fact that the offset private key is introduced, privacy is protected, the public key and the offset public key corresponding to any node are obtained according to the preset operation based on the generating element, therefore, the node can remove redundant items through the public key of the at least one node and the generating element according to the algorithm of the elliptic curve and the preset operation, and the data to be encrypted is decrypted to obtain the data to be encrypted, and therefore according to the property of the elliptic curve, the data can be shared on a plurality of nodes only by generating one share ciphertext.
Optionally, the shared ciphertext includes a first sub ciphertext and a second sub ciphertext, and encrypting the data to be encrypted according to a generating element of the elliptic curve, an offset public key, and a public key corresponding to at least one node of the blockchain to obtain the shared ciphertext, where the encrypting includes:
Obtaining the first sub-ciphertext according to the data to be encrypted and the generator;
and obtaining the second sub-ciphertext according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node.
In the method, the shared ciphertext is divided into the first sub ciphertext and the second sub ciphertext, the two sub ciphertexts form zero knowledge proof of the data to be encrypted, and the data to be encrypted can be determined to be contained in the zero knowledge proof on the premise of not revealing the data to be encrypted, so that the data sharing is not easy to tamper.
Optionally, according to the following formula (1), the first sub-ciphertext is obtained according to the data to be encrypted and the generator:
c1 =m·g … … formula (1);
wherein C1 is the first sub-ciphertext, M is the data to be encrypted, and G is the generator;
the public key corresponding to any node of the at least one node comprises a first sub-public key, and the second sub-ciphertext is obtained according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node according to the following formula (2):
Figure BDA0003294531380000031
wherein C2 is the second sub-ciphertext, pk 0 For the offset public key, i is a node number, i is a positive integer less than or equal to k, R is a number set of the at least one node, k is the number of nodes of the at least one node, and Pk (k+1-i)1 Representing the first sub-public key corresponding to node i.
In the method, the first sub-ciphertext is bound with the generator by the formula, the second sub-ciphertext is bound with the offset public key and the first sub-public key of each node, and any public key is obtained according to the preset operation in the elliptic curve number domain based on the main private key and the generator, so that the first sub-ciphertext and the second sub-ciphertext can be related together through the property of an elliptic curve, and the non-tamper modification of the ciphertext is increased.
Optionally, the preset operation includes a power operation and a dot-multiplication operation, and the public key is obtained by performing a power operation on any public key in the public key set according to the main private key to obtain a first power operation result, performing a dot-multiplication operation on the first power operation result and the generator, and performing a power operation on the offset public key according to the offset private key to obtain a second power operation result, and performing a dot-multiplication operation on the second power operation result and the generator.
In the above way, since the power operation and the point multiplication operation are basic operations in the elliptic curve, the applicability of the private data sharing is higher, the operation efficiency is higher, and the efficiency of the private data sharing is improved.
Optionally, for a jth public key in the public key set, the first sub-public key of the jth public key is specifically obtained according to the following formula (3):
Pk j1 =sk j g … … formula (3);
j is a positive integer less than or equal to k, pk j1 A first sub-public key representing the jth public key, sk representing the master keyA private key, G representing the generator;
the second sub-public key of the jth public key is specifically obtained according to the following formula (4):
Pk j2 =sk k+j g … … formula (4);
Pk j2 a second sub-public key representing the public key;
the offset public key is specifically obtained according to the following formula (5):
Pk 0 =sr·g … … formula (5);
Pk 0 for the offset public key, sr is the offset private key.
In the above manner, the public key and the offset public key in the public key set are bound with the generator, the main private key or the offset private key, and basic point multiplication and power operation are performed, so that the applicability of the private data sharing method is higher and the operation efficiency is higher on the basis of using the public keys, and the efficiency of private data sharing is improved.
In a second aspect, the present invention provides a private data sharing method, including:
the decryption node obtains a shared ciphertext from the blockchain; the shared ciphertext is obtained by encrypting data to be encrypted according to a generating element of an elliptic curve, an offset public key and a public key corresponding to at least one node of the blockchain, wherein the at least one node comprises the decryption node, the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to a preset operation in the elliptic curve number domain based on a main private key and the generating element, and the offset public key is obtained according to the preset operation based on the offset private key and the generating element;
The decryption node decrypts the data to be encrypted according to an elliptic curve algorithm and the preset operation based on the private key of the node, the public key corresponding to the at least one node and the generator, and the private key of the node is obtained according to the preset operation based on the main private key and the offset public key.
In the method, after the decryption node obtains the shared ciphertext from the blockchain, the decryption node decrypts the data to be encrypted according to the private key of the node, the public key corresponding to the at least one node and the generator according to the algorithm of the elliptic curve and the preset operation, the information of the main private key can be covered due to the fact that the offset private key is introduced, privacy is protected, the public key corresponding to any node and the offset public key are obtained according to the preset operation on the basis of the generator, and therefore the decryption node can remove redundant items through the public key of the at least one node and the generator according to the algorithm of the elliptic curve and the preset operation and decrypt the data to be encrypted to obtain the data to be encrypted according to the property of the elliptic curve, and the data sharing on the blockchain can be achieved only by generating one share ciphertext according to the property of the elliptic curve.
Optionally, any public key in the public key set includes a first sub public key and a second sub public key, the elliptic curve algorithm is a bilinear mapping algorithm, and the preset operation includes power operation, point addition operation and point multiplication operation;
For the jth public key in the public key set, the first sub-public key of the jth public key is specifically obtained according to the following formula (3):
Pk j1 =sk j g … … formula (3);
j is a positive integer less than or equal to k, pk j1 A first sub public key representing the jth public key, sk representing the master private key, G representing the generator;
the second sub-public key of the jth public key is specifically obtained according to the following formula (4):
Pk j2 =sk k+j g … … formula (4);
Pk j2 a second sub-public key representing the public key;
the offset public key is specifically obtained according to the following formula (5):
Pk 0 =sr·g … … formula (5);
Pk 0 for the offset public key, sr is the offset private key;
the private key of the ith node is specifically obtained according to the following formula (6):
sk i =sk i ·Pk 0 … … equation (6);
sk i the private key of the ith node is obtained, i is the node number;
the shared ciphertext comprises a first sub ciphertext and a second sub ciphertext, the decryption node decrypts the data to be encrypted according to an elliptic curve algorithm and the preset operation based on a private key of the node, a public key corresponding to the at least one node and the generator according to the following formula (7), and the method comprises the following steps:
Figure BDA0003294531380000051
wherein e represents a bilinear mapping algorithm, M represents the data to be encrypted, n is a node number, M is the number of the decryption node, M, n are positive integers less than or equal to k, R is a number set of the at least one node, sk m And C1 is the first sub-ciphertext, and C2 is the second sub-ciphertext, which is the private key of the decryption node.
In the above manner, since the bilinear mapping algorithm of the elliptic curve is adopted, after the first sub-ciphertext, the second sub-ciphertext, the private key and the offset public key are substituted, the private key, the first sub-public key, the second sub-public key and the offset public key are obtained according to the power operation and the point operation, so that the power value of the bilinear mapping algorithm when the base number is appointed, namely the data to be encrypted, can be calculated according to the property of the bilinear mapping algorithm of the elliptic curve as long as the first sub-ciphertext and the second sub-ciphertext are correct ciphertexts, thereby realizing the sharing of private data of a certain node from the blockchain.
In a third aspect, the present invention provides a private data sharing apparatus, including:
the encryption module is used for encrypting the data to be encrypted according to the generating element of the elliptic curve, the offset public key and the public key corresponding to at least one node of the blockchain to obtain a shared ciphertext; the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to preset operation in an elliptic curve number domain based on a main private key and the generator, and the offset public key is obtained according to the preset operation based on an offset private key and the generator;
And the transmission module is used for uploading the shared ciphertext to the blockchain, and aiming at any node, the shared ciphertext is used for decrypting the data to be encrypted by the node based on the private key of the node, the public key corresponding to at least one node and the generator according to the algorithm of an elliptic curve and the preset operation, and the private key of the node is obtained according to the preset operation based on the main private key and the offset public key.
Optionally, the shared ciphertext includes a first sub ciphertext and a second sub ciphertext, and the encryption module is specifically configured to: obtaining the first sub-ciphertext according to the data to be encrypted and the generator;
and obtaining the second sub-ciphertext according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node.
Optionally, the encryption module is specifically configured to:
according to the following formula (1), the first sub-ciphertext is obtained according to the data to be encrypted and the generator:
c1 =m·g … … formula (1);
wherein C1 is the first sub-ciphertext, M is the data to be encrypted, and G is the generator;
the public key corresponding to any node of the at least one node comprises a first sub-public key, and the second sub-ciphertext is obtained according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node according to the following formula (2):
Figure BDA0003294531380000071
Wherein C2 is the second sub-ciphertext, pk 0 For the offset public key, i is a node number, i is a positive integer less than or equal to k, R is a number set of the at least one node, k is the number of nodes of the at least one node, and Pk (k+1-i)1 Representing the first sub-public key corresponding to node i.
Optionally, the preset operation includes a power operation and a dot-multiplication operation, and the public key is obtained by performing a power operation on any public key in the public key set according to the main private key to obtain a first power operation result, performing a dot-multiplication operation on the first power operation result and the generator, and performing a power operation on the offset public key according to the offset private key to obtain a second power operation result, and performing a dot-multiplication operation on the second power operation result and the generator.
Optionally, for a jth public key in the public key set, the first sub-public key of the jth public key is specifically obtained according to the following formula (3):
Pk j1 =sk j g … … formula (3);
j is a positive integer less than or equal to k, pk j1 A first sub public key representing the jth public key, sk representing the master private key, G representing the generator;
the second sub-public key of the jth public key is specifically obtained according to the following formula (4):
Pk j2 =sk k+j G … … formula (4);
Pk j2 a second sub-public key representing the public key;
the offset public key is specifically obtained according to the following formula (5):
Pk 0 =sr·g … … formula (5);
Pk 0 for the offset public key, sr is the offset private key.
In a fourth aspect, the present invention provides a private data sharing apparatus, the apparatus being a decryption node, the apparatus comprising:
the acquisition module is used for acquiring the shared ciphertext from the block chain; the shared ciphertext is obtained by encrypting data to be encrypted according to a generating element of an elliptic curve, an offset public key and a public key corresponding to at least one node of the blockchain, wherein the at least one node comprises the decryption node, the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to a preset operation in the elliptic curve number domain based on a main private key and the generating element, and the offset public key is obtained according to the preset operation based on the offset private key and the generating element;
and the decryption module is used for decrypting the data to be encrypted according to an elliptic curve algorithm and the preset operation based on the private key corresponding to the decryption node, the public key corresponding to the at least one node and the generator, and the private key of the node is obtained according to the preset operation based on the main private key and the offset public key.
Optionally, any public key in the public key set includes a first sub public key and a second sub public key, the elliptic curve algorithm is a bilinear mapping algorithm, and the preset operation includes power operation, point addition operation and point multiplication operation;
for the jth public key in the public key set, the first sub-public key of the jth public key is specifically obtained according to the following formula (3):
Pk j1 =sk j g … … formula (3);
j is a positive integer less than or equal to k, pk j1 A first sub public key representing the jth public key, sk representing the master private key, G representing the generator;
the second sub-public key of the jth public key is specifically obtained according to the following formula (4):
Pk j2 =sk k+j g … … formula (4);
Pk j2 a second sub-public key representing the public key;
the offset public key is specifically obtained according to the following formula (5):
Pk 0 =sr·g … … formula (5);
Pk 0 for the offset public key, sr is the offset private key;
the private key of the ith node is specifically obtained according to the following formula (6):
sk i =sk i ·Pk 0 … … equation (6);
sk i is the firstThe private key of the i node, i is the node number;
the shared ciphertext comprises a first sub ciphertext and a second sub ciphertext, and the decryption module is specifically configured to:
Figure BDA0003294531380000091
wherein e represents a bilinear mapping algorithm, M represents the data to be encrypted, n is a node number, M is the number of the decryption node, M, n are positive integers less than or equal to k, R is a number set of the at least one node, sk m And C1 is the first sub-ciphertext, and C2 is the second sub-ciphertext, which is the private key of the decryption node.
The advantages of the third aspect, the fourth aspect and the respective optional apparatuses may be referred to the advantages of the first aspect, the second aspect and the respective optional methods, and are not described here again.
In a fifth aspect, the present invention provides a computer device comprising a program or instructions which, when executed, is operable to perform the first or second aspects and the respective alternative methods described above.
In a sixth aspect, the present invention provides a computer readable storage medium comprising a program or instructions which, when executed, is operable to perform the first or second aspects and the respective alternative methods described above.
These and other aspects of the invention will be more readily apparent from the following description of the embodiments.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed in the description of the embodiments will be briefly described below, it will be apparent that the drawings in the following description are only some embodiments of the present invention, and that other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic flow diagram corresponding to a private data sharing method according to an embodiment of the present invention;
fig. 2 is a flow chart corresponding to a private data sharing method according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a private data sharing device according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a private data sharing device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail below with reference to the accompanying drawings, and it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
In the operation of a financial institution (banking institution, insurance institution or securities institution) in performing a business (such as loan business, deposit business, etc. of a bank), when private data is shared to blockchain nodes through a blockchain, the data needs to be encrypted by using a corresponding public key for each node and the corresponding ciphertext of each node is uploaded to the blockchain, so that multiple ciphertexts need to be uploaded to the blockchain. This situation does not meet the requirements of financial institutions such as banks, and cannot guarantee efficient operation of various businesses of the financial institutions.
To this end, as shown in fig. 1, the present invention provides a private data sharing method.
Step 101: and encrypting the data to be encrypted according to the generating element of the elliptic curve, the offset public key and the public key corresponding to at least one node of the blockchain to obtain the shared ciphertext.
Step 102: and uploading the shared ciphertext to the blockchain.
In the steps 101 to 102, the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to a preset operation in an elliptic curve digital domain based on a main private key and the generator, and the offset public key is obtained according to the preset operation based on an offset private key and the generator; for any node, the shared ciphertext is used for the node to decrypt and obtain the data to be encrypted based on the private key of the node, the public key corresponding to the at least one node and the generator according to an elliptic curve algorithm and the preset operation, and the private key of the node is obtained according to the preset operation based on the master private key and the offset public key.
The group is a set of elements satisfying a certain algebraic operation in cryptography, and the elliptic curve group is a set of elements structured based on elliptic curve cryptography. In the elliptic curve group, capital letters such as G1 and G2 indicate points (also referred to as generator) on the elliptic curve, i.e., point field elements, which have additive properties such as g1+g2. And lower case letters, such as a, represent scalar quantities, i.e., number field elements with addition, multiplication, power, etc., such as a x b, a b, a+b, etc.; a.g: the point multiplication operation of the scalar a and any point G on the elliptic curve is shown, and the operation result is still a point on the elliptic curve.
The present application provides a method for sharing private data of a blockchain, which is described in detail below with reference to a specific scenario, where an architecture to which the method may be applied may include: a blockchain management device, a blockchain node (hereinafter referred to as node) and a transaction initiation device. The blockchain management device is used for generating a public key in a public key set according to a main private key and a generating element and a preset operation in an elliptic curve digital domain, generating an offset public key according to the offset private key and the generating element and a private key of a node according to the main private key and the offset public key and a preset operation, and the blockchain can be a alliance chain.
The node has a private key of the node, and the node is used for acquiring the shared ciphertext from the blockchain and decrypting the shared ciphertext to obtain data to be encrypted, and it should be noted that the data to be encrypted can be a section of number, such as 16-system number.
The transaction initiating device is used for encrypting the data to be encrypted to obtain a shared ciphertext, and uploading the shared ciphertext to the blockchain, wherein the shared ciphertext can be decrypted by a designated node to obtain the data to be encrypted, and an execution main body of the steps 101 to 102 can be the transaction initiating device, and the transaction initiating device can be a blockchain node or a device outside a blockchain network.
Therefore, when the private data sharing method of the blockchain is applied to the architecture, the blockchain management device initializes the node private key, generates the public key in the main private key, the offset private key and the public key set, the transaction initiating device can encrypt the data to be encrypted to obtain the shared ciphertext, uploads the shared ciphertext to the blockchain, and the designated node can serve as a decryption party to download the shared ciphertext from the blockchain, decrypt the shared ciphertext and acquire the data to be encrypted.
In an optional implementation manner, in step 101, the shared ciphertext includes a first sub-ciphertext and a second sub-ciphertext, and step 101 may specifically be:
obtaining the first sub-ciphertext according to the data to be encrypted and the generator; and obtaining the second sub-ciphertext according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node.
Specifically, the first sub-ciphertext and the second sub-ciphertext may be obtained as follows:
according to the following formula (1), the first sub-ciphertext is obtained according to the data to be encrypted and the generator:
c1 =m·g … … formula (1);
wherein C1 is the first sub-ciphertext, M is the data to be encrypted, and G is the generator;
The public key corresponding to any node of the at least one node comprises a first sub-public key, and the second sub-ciphertext is obtained according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node according to the following formula (2):
Figure BDA0003294531380000121
wherein C2 is the second sub-ciphertext, pk 0 For the offset public key, i is a node number, i is a positive integer less than or equal to k, R is a number set of the at least one node, k is the number of nodes of the at least one node, and Pk (k+1-i)1 Representing the first sub-public key corresponding to node i.
In step 101 to step 102, the preset operation includes a power operation and a dot-multiplication operation, and for any public key in the public key set, the public key is obtained by performing a power operation according to the master private key to obtain a first power operation result, then performing a dot-multiplication operation on the first power operation result and the generator, and the offset public key is obtained by performing a power operation according to the offset private key to obtain a second power operation result, and then performing a dot-multiplication operation on the second power operation result and the generator.
It should be noted that, the form of the shared ciphertext is only used as an example, and may include only two sub ciphertexts, or may include one sub ciphertext and more than two sub ciphertexts, so long as the remaining items can be eliminated according to a preset operation, and the data to be encrypted may be obtained. In addition, the form of C1 or C2 is also merely an example, and various other forms are also possible, such as C1 may also be:
C1=(M+D)·G;
Where D is data of the same data type as M, e.g., M is a positive integer in 16, and D is also a positive integer in 16. Correspondingly, C2 may also be:
Figure BDA0003294531380000122
in the method, the shared ciphertext is divided into the first sub ciphertext and the second sub ciphertext, the two sub ciphertexts form zero knowledge proof of the data to be encrypted, and the data to be encrypted can be determined to be contained in the zero knowledge proof on the premise of not revealing the data to be encrypted, so that the data sharing is not easy to tamper.
Specifically, for a jth public key in the public key set, a first sub-public key of the jth public key is specifically obtained according to the following formula (3):
Pk j1 =sk j g … … formula (3);
j is a positive integer less than or equal to k, pk j1 A first sub public key representing the jth public key, sk representing the master private key, G representing the generator;
the second sub-public key of the jth public key is specifically obtained according to the following formula (4):
Pk j2 =sk k+j g … … formula (4);
Pk j2 a second sub-public key representing the public key;
the offset public key is specifically obtained according to the following formula (5):
Pk 0 =sr·g … … formula (5);
Pk 0 for the offset public key, sr is the offset private key.
It should be noted that the above formulas (3) to (5) are also only examples, other variations of the formulas (3) to (5) are also possible, and the first sub-public key, the second sub-public key and the offset public key of the j-th public key may be generated in other ways, and only the decryption needs to be satisfied, and then other terms may be eliminated through a preset budget, so as to obtain the data to be encrypted. For example, equation (3) may also be
Pk j1 =sk h+j ·G;
Wherein h is a positive integer;
accordingly, equation (4) may also be:
Pk j2 =sk k+h+j ·G;
accordingly, equation (5) may also be:
Pk 0 =(sr+st)·G;
st is data of the same data type as sr, if sr is a positive integer, then st is also a positive integer.
Accordingly, for the node side, there is also a method for acquiring the shared ciphertext from the blockchain and decrypting the shared ciphertext, as shown in fig. 2:
step 201: the decryption node obtains the shared ciphertext from the blockchain.
Step 202: and the decryption node decrypts the data to be encrypted according to an elliptic curve algorithm and the preset operation based on the private key of the node, the public key corresponding to the at least one node and the generator.
In the steps 201 to 202, the shared ciphertext is obtained by encrypting data to be encrypted according to a generating element of an elliptic curve, an offset public key and a public key corresponding to at least one node of the blockchain, wherein the at least one node comprises the decryption node, the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to a preset operation in a elliptic curve number domain based on a main private key and the generating element, the offset public key is obtained according to a preset operation based on an offset private key and the generating element, and the private key of the node is obtained according to the preset operation based on the main private key and the offset public key.
Specifically, the private key of the ith node can be obtained according to the following formula (6):
sk i =sk i ·Pk 0 … … equation (6);
sk i the private key of the ith node is obtained, i is the node number;
the shared ciphertext includes a first sub-ciphertext and a second sub-ciphertext, and the decryption node performs step 202 according to the following formula (7), specifically as follows:
Figure BDA0003294531380000141
wherein e represents a bilinear mapping algorithm, M represents the data to be encrypted, n is a node number, M is the number of the decryption node, M, n are positive integers less than or equal to k, R is a number set of the at least one node, sk m As the private key of the decryption node, C1 is the first sub-ciphertext, C2 is the second sub-ciphertext, and the bilinear mapping algorithm is a cryptographic protocol satisfying that for any a, b belongs to the number domains Zp and Zr, W, S belongs to the point domain G, e (aW, bS) =e (W, S)/(ab), it should be noted that there is an elliptic protocol supporting the bilinear mapping algorithmCircular curves, as well as elliptic curves that do not support the bilinear mapping algorithm. It should be noted that the above formula (7) is also merely an example, and the form of formula (7) may be as follows:
Figure BDA0003294531380000142
wherein, D is data of the same data type as M, for example, M is a positive integer of 16, D is also a positive integer of 16, and when the scheme is adopted, C1 and C2 are respectively:
C1=(M+D)·G;
Figure BDA0003294531380000151
The scheme supports any number of nodes as decryption parties, only one share ciphertext is needed to be uploaded to the blockchain, the appointed nodes can correctly decrypt and acquire transaction data content through own private keys, and other nodes can only acquire data ciphertext.
In combination with the above description, the overall flow corresponding to the method provided in the present application may be as follows:
step (a): the blockchain management device initializes the master private key and the offset private key.
Step (b): the blockchain management device generates a private key for each node, a public key in the public key set, and an offset public key.
Step (c): the transaction initiating device encrypts data to be encrypted according to the generating element of the elliptic curve, the public key in the public key set and the offset public key to obtain a shared ciphertext which comprises C1 and C2, and uploads the node number list R of the C1 and C2 and the receiver to the blockchain.
Step (d): and judging whether the number of the node belongs to R or not, and if so, decrypting the shared ciphertext to obtain the data to be encrypted.
Specifically, the node may use the local private key ski, combine the transaction cryptograms C1 and C2, and decrypt Pk12 in the public key set, and need to use bilinear mapping algorithm and preset operation, where the preset operation includes elliptic curve point addition, point multiplication, and number domain power operation, and the specific process may refer to the foregoing.
For example, if R is {2,3,5}, k is 5, the decryption process of the shared ciphertext of the node 3 is as follows:
Figure BDA0003294531380000161
in the following description, in connection with a more specific scenario, in this example, the number of block links is 4, the serial numbers are 1, 2,3, and 4, and the user selects 2 nodes as designated nodes, and the number of the designated nodes is 2,3, i.e., r= {2,3}.
The block chain management device executes the step (a) to generate a master private key sk and an offset private key sr; the block chain management equipment executes the step (b) to generate the private key sk of each node i I is the node number, the public key set (Pk 11 ,Pk 12 ,Pk 21 ,Pk 22 ,Pk 31 ,Pk 3 2,Pk 41 ,Pk 42 ) Offset public key Pk 0 And upload the public key set and the offset public key to the blockchain.
The blockchain management device distributes private keys sk for nodes 1, 2,3, 4 1 、sk 2 、sk 3 、sk 4
The transaction initiating device generates a shared secret, including a first sub-secret C1 and a second sub-secret C2, by executing step (C).
The transaction initiating device uploads (C1, C2, R) to the ciphertext list enc_list of the blockchain.
And (3) inquiring the ciphertext list enc_list by the nodes 1, 2,3 and 4, judging whether the node is in R, if not, skipping the transaction processing, otherwise, using a local private key, using C1, C2 and R, and finally decrypting according to the process in the step (d) to obtain the ciphertext M.
Therefore, nodes 1, 4 find that the own node does not belong to R, skip decryption; the nodes 2 and 3 find that the self node belongs to R, and the ciphertext M is finally obtained by decrypting according to the process in the step (d) by using C1, C2 and R.
As shown in fig. 3, the present invention provides a private data sharing apparatus, including:
the encryption module 301 is configured to encrypt data to be encrypted according to a generating element of an elliptic curve, an offset public key, and a public key corresponding to at least one node of a blockchain, to obtain a shared ciphertext; the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to preset operation in an elliptic curve number domain based on a main private key and the generator, and the offset public key is obtained according to the preset operation based on an offset private key and the generator;
and the transmission module 302 is configured to upload the shared ciphertext to the blockchain, where, for any node, the shared ciphertext is used for decrypting the data to be encrypted by the node according to an elliptic curve algorithm and the preset operation based on a private key of the node, a public key corresponding to the at least one node, and the generator, and the private key of the node is obtained by the preset operation based on a master private key and the offset public key.
Optionally, the shared ciphertext includes a first sub ciphertext and a second sub ciphertext, and the encryption module 301 is specifically configured to: obtaining the first sub-ciphertext according to the data to be encrypted and the generator;
And obtaining the second sub-ciphertext according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node.
Optionally, the encryption module 301 is specifically configured to:
according to the following formula (1), the first sub-ciphertext is obtained according to the data to be encrypted and the generator:
c1 =m·g … … formula (1);
wherein C1 is the first sub-ciphertext, M is the data to be encrypted, and G is the generator;
the public key corresponding to any node of the at least one node comprises a first sub-public key, and the second sub-ciphertext is obtained according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node according to the following formula (2):
Figure BDA0003294531380000171
wherein C2 is the second sub-ciphertext, pk 0 For the offset public key, i is a node number, i is a positive integer less than or equal to k, R is a number set of the at least one node, k is the number of nodes of the at least one node, and Pk (k+1-i)1 Representing the first sub-public key corresponding to node i.
Optionally, the preset operation includes a power operation and a dot-multiplication operation, and the public key is obtained by performing a power operation on any public key in the public key set according to the main private key to obtain a first power operation result, performing a dot-multiplication operation on the first power operation result and the generator, and performing a power operation on the offset public key according to the offset private key to obtain a second power operation result, and performing a dot-multiplication operation on the second power operation result and the generator.
Optionally, for a jth public key in the public key set, the first sub-public key of the jth public key is specifically obtained according to the following formula (3):
Pk j1 =sk j g … … formula (3);
j is a positive integer less than or equal to k, pk j1 A first sub public key representing the jth public key, sk representing the master private key, G representing the generator;
the second sub-public key of the jth public key is specifically obtained according to the following formula (4):
Pk j2 =sk k+j g … … formula (4);
Pk j2 a second sub-public key representing the public key;
the offset public key is specifically obtained according to the following formula (5):
Pk 0 =sr·g … … formula (5);
Pk 0 for the offset public key, sr is the offset private key.
As shown in fig. 4, the present invention provides a private data sharing apparatus, which is a decryption node, comprising:
an obtaining module 401, configured to obtain a shared ciphertext from a blockchain; the shared ciphertext is obtained by encrypting data to be encrypted according to a generating element of an elliptic curve, an offset public key and a public key corresponding to at least one node of the blockchain, wherein the at least one node comprises the decryption node, the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to a preset operation in the elliptic curve number domain based on a main private key and the generating element, and the offset public key is obtained according to the preset operation based on the offset private key and the generating element;
The decryption module 402 is configured to decrypt the data to be encrypted according to an elliptic curve algorithm and the preset operation based on the private key corresponding to the decryption node, the public key corresponding to the at least one node, and the generator, where the private key of the node is obtained according to the preset operation based on the main private key and the offset public key.
Optionally, any public key in the public key set includes a first sub public key and a second sub public key, the elliptic curve algorithm is a bilinear mapping algorithm, and the preset operation includes power operation, point addition operation and point multiplication operation;
for the jth public key in the public key set, the first sub-public key of the jth public key is specifically obtained according to the following formula (3):
Pk j1 =sk j g … … formula (3);
j is a positive integer less than or equal to k, pk j1 A first sub public key representing the jth public key, sk representing the master private key, G representing the generator;
the second sub-public key of the jth public key is specifically obtained according to the following formula (4):
Pk j2 =sk k+j g … … formula (4);
Pk j2 a second sub-public key representing the public key;
the offset public key is specifically obtained according to the following formula (5):
Pk 0 =sr·g … … formula (5);
Pk 0 for the offset public key, sr is the offset private key;
The private key of the ith node is specifically obtained according to the following formula (6):
sk i =sk i ·Pk 0 … … equation (6);
sk i the private key of the ith node is obtained, i is the node number;
the shared ciphertext includes a first sub-ciphertext and a second sub-ciphertext, and the decryption module 402 is specifically configured to:
Figure BDA0003294531380000191
wherein e represents a bilinear mapping algorithm, M represents the data to be encrypted, n is a node number, M is the number of the decryption node, M, n are positive integers less than or equal to k, R is a number set of the at least one node, sk m And C1 is the first sub-ciphertext, and C2 is the second sub-ciphertext, which is the private key of the decryption node.
Based on the same inventive concept, the embodiments of the present invention also provide a computer device including a program or an instruction, when the program or the instruction is executed, the privacy data sharing method and any optional method provided by the embodiments of the present invention are executed.
Based on the same inventive concept, the embodiments of the present invention also provide a computer readable storage medium including a program or an instruction, which when executed, performs the privacy data sharing method and any optional method as provided in the embodiments of the present invention.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, or as a computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (8)

1. A method for sharing private data of a blockchain, comprising:
Encrypting data to be encrypted according to the generating element of the elliptic curve, the offset public key and the public key corresponding to at least one node of the blockchain to obtain a shared ciphertext; the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to preset operation in an elliptic curve number domain based on a main private key and the generator, and the offset public key is obtained according to the preset operation based on an offset private key and the generator;
uploading the shared ciphertext to the blockchain, wherein the shared ciphertext is used for any node, and decrypting the shared ciphertext to obtain the data to be encrypted according to an elliptic curve algorithm and the preset operation based on a private key of the node, a public key corresponding to the at least one node and the generator, and the private key of the node is obtained according to the preset operation based on a main private key and the offset public key;
the shared ciphertext comprises a first sub ciphertext and a second sub ciphertext, the data to be encrypted is encrypted according to a generating element of an elliptic curve, an offset public key and a public key corresponding to at least one node of a blockchain, and the shared ciphertext is obtained, and the method comprises the following steps:
Obtaining the first sub-ciphertext according to the data to be encrypted and the generator;
and obtaining the second sub-ciphertext according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node.
2. The method of claim 1, wherein,
according to the following formula (1), the first sub-ciphertext is obtained according to the data to be encrypted and the generator:
c1 =m·g … … formula (1);
wherein C1 is the first sub-ciphertext, M is the data to be encrypted, and G is the generator;
the public key corresponding to any node of the at least one node comprises a first sub-public key, and the second sub-ciphertext is obtained according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node according to the following formula (2):
Figure FDA0004186448750000021
wherein C2 is the second sub-ciphertext, pk 0 For the offset public key, i is a node number, i is a positive integer less than or equal to k, R is a number set of the at least one node, k is the number of nodes of the at least one node, and Pk (k+1-i)1 Representing the first sub-public key corresponding to node i.
3. The method according to any one of claims 1 to 2, wherein the preset operation includes a power operation and a dot-multiplication operation, and the public key is obtained by performing a power operation on any one public key of the public key set according to the master private key to obtain a first power operation result, performing a dot-multiplication operation on the first power operation result and the generator, and performing a power operation on the offset public key according to the offset private key to obtain a second power operation result, and performing a dot-multiplication operation on the second power operation result and the generator.
4. A method according to claim 3, wherein for a j-th public key of the set of public keys, the first sub-public key of the j-th public key is derived in particular according to the following formula (3):
Pk j1 =sk j g … … formula (3);
j is a positive integer less than or equal to k, pk j1 A first sub public key representing the jth public key, sk representing the master private key, G representing the generator;
the second sub-public key of the jth public key is specifically obtained according to the following formula (4):
Pk j2 =sk k+j g … … formula (4);
Pk j2 a second sub-public key representing the public key;
the offset public key is specifically obtained according to the following formula (5):
Pk 0 =sr·g … … formula (5);
Pk 0 for the offset public key, sr is the offset private key.
5. A method for sharing private data of a blockchain, comprising:
the decryption node obtains a shared ciphertext from the blockchain; the shared ciphertext is obtained by encrypting data to be encrypted according to a generating element of an elliptic curve, an offset public key and a public key corresponding to at least one node of the blockchain, wherein the at least one node comprises the decryption node, the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to a preset operation in the elliptic curve number domain based on a main private key and the generating element, and the offset public key is obtained according to the preset operation based on the offset private key and the generating element;
The decryption node decrypts the data to be encrypted according to an elliptic curve algorithm and the preset operation based on a private key of the node, a public key corresponding to the at least one node and the generator, and the private key of the node is obtained according to the preset operation based on a main private key and the offset public key;
any public key in the public key set comprises a first sub public key and a second sub public key, the algorithm of the elliptic curve is a bilinear mapping algorithm, and the preset operation comprises power operation, point addition operation and point multiplication operation;
for the jth public key in the public key set, the first sub-public key of the jth public key is specifically obtained according to the following formula (3):
Pk j1 =sk j g … … formula (3);
j is a positive integer less than or equal to k, pk j1 A first sub public key representing the jth public key, sk representing the master private key, G representing the generator;
the second sub-public key of the jth public key is specifically obtained according to the following formula (4):
Pk j2 =sk k+j g … … formula (4);
Pk j2 a second sub-public key representing the public key;
the offset public key is specifically obtained according to the following formula (5):
Pk 0 =sr·g … … formula (5);
Pk 0 for the offset public key, sr is the offset private key;
the private key of the ith node is specifically obtained according to the following formula (6):
sk i =sk i ·Pk 0 … … equation (6);
sk i the private key of the ith node is obtained, i is the node number;
the shared ciphertext comprises a first sub ciphertext and a second sub ciphertext, the decryption node decrypts the data to be encrypted according to an elliptic curve algorithm and the preset operation based on a private key of the node, a public key corresponding to the at least one node and the generator according to the following formula (7), and the method comprises the following steps:
Figure FDA0004186448750000041
wherein e represents a bilinear mapping algorithm, M represents the data to be encrypted, n is a node number, M is the number of the decryption node, M, n are positive integers less than or equal to k, R is a number set of the at least one node, sk m C1 is the first sub-ciphertext and C2 is the second sub-ciphertext, which is the private key of the decryption nodeText.
6. A private data sharing apparatus of a blockchain, comprising:
the encryption module is used for encrypting the data to be encrypted according to the generating element of the elliptic curve, the offset public key and the public key corresponding to at least one node of the blockchain to obtain a shared ciphertext; the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to preset operation in an elliptic curve number domain based on a main private key and the generator, and the offset public key is obtained according to the preset operation based on an offset private key and the generator;
The transmission module is used for uploading the shared ciphertext to the blockchain, and aiming at any node, the shared ciphertext is used for decrypting the data to be encrypted by the node based on the private key of the node, the public key corresponding to the at least one node and the generator according to an elliptic curve algorithm and the preset operation, and the private key of the node is obtained by the preset operation based on a main private key and the offset public key;
the shared ciphertext comprises a first sub ciphertext and a second sub ciphertext, and the encryption module is specifically configured to: obtaining the first sub-ciphertext according to the data to be encrypted and the generator;
and obtaining the second sub-ciphertext according to the data to be encrypted, the offset public key and the public key corresponding to the at least one node.
7. A private data sharing apparatus of a blockchain, the apparatus being a decryption node, the apparatus comprising:
the acquisition module is used for acquiring the shared ciphertext from the block chain; the shared ciphertext is obtained by encrypting data to be encrypted according to a generating element of an elliptic curve, an offset public key and a public key corresponding to at least one node of the blockchain, wherein the at least one node comprises the decryption node, the public key corresponding to the at least one node is a public key in a public key set, any public key in the public key set is obtained according to a preset operation in the elliptic curve number domain based on a main private key and the generating element, and the offset public key is obtained according to the preset operation based on the offset private key and the generating element;
The decryption module is used for decrypting the data to be encrypted according to an elliptic curve algorithm and the preset operation based on the private key corresponding to the decryption node, the public key corresponding to the at least one node and the generator, and the private key of the node is obtained according to the preset operation based on the main private key and the offset public key;
any public key in the public key set comprises a first sub public key and a second sub public key, the algorithm of the elliptic curve is a bilinear mapping algorithm, and the preset operation comprises power operation, point addition operation and point multiplication operation;
for the jth public key in the public key set, the first sub-public key of the jth public key is specifically obtained according to the following formula (3):
Pk j1 =sk j g … … formula (3);
j is a positive integer less than or equal to k, pk j1 A first sub public key representing the jth public key, sk representing the master private key, G representing the generator;
the second sub-public key of the jth public key is specifically obtained according to the following formula (4):
Pk j2 =sk k+j g … … formula (4);
Pk j2 a second sub-public key representing the public key;
the offset public key is specifically obtained according to the following formula (5):
Pk 0 =sr·g … … formula (5);
Pk 0 for the offset public key, sr is the offset private key;
The private key of the ith node is specifically obtained according to the following formula (6):
sk i =sk i ·Pk 0 … … equation (6);
sk i the private key of the ith node is obtained, i is the node number;
the shared ciphertext comprises a first sub ciphertext and a second sub ciphertext, and the decryption module is specifically configured to:
Figure FDA0004186448750000051
wherein e represents a bilinear mapping algorithm, M represents the data to be encrypted, n is a node number, M is the number of the decryption node, M, n are positive integers less than or equal to k, R is a number set of the at least one node, sk m And C1 is the first sub-ciphertext, and C2 is the second sub-ciphertext, which is the private key of the decryption node.
8. A computer device comprising a program or instructions which, when executed by a processor, performs the method of any of claims 1 to 4 or 5.
CN202111174112.5A 2021-10-09 2021-10-09 Private data sharing method and device Active CN113992325B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111174112.5A CN113992325B (en) 2021-10-09 2021-10-09 Private data sharing method and device
PCT/CN2022/101644 WO2023056763A1 (en) 2021-10-09 2022-06-27 Method and apparatus for sharing private data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111174112.5A CN113992325B (en) 2021-10-09 2021-10-09 Private data sharing method and device

Publications (2)

Publication Number Publication Date
CN113992325A CN113992325A (en) 2022-01-28
CN113992325B true CN113992325B (en) 2023-07-11

Family

ID=79737866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111174112.5A Active CN113992325B (en) 2021-10-09 2021-10-09 Private data sharing method and device

Country Status (2)

Country Link
CN (1) CN113992325B (en)
WO (1) WO2023056763A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992325B (en) * 2021-10-09 2023-07-11 深圳前海微众银行股份有限公司 Private data sharing method and device
CN116743381B (en) * 2023-08-14 2023-10-13 深圳汉德霍尔科技有限公司 RFID read-write data security management method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110839026A (en) * 2019-11-12 2020-02-25 深圳市网心科技有限公司 Data processing method based on block chain and related equipment
CN110880969A (en) * 2019-10-18 2020-03-13 如般量子科技有限公司 Method and system for generating QKD network authentication key based on alliance chain and implicit certificate
CN111162912A (en) * 2019-12-30 2020-05-15 深圳前海微众银行股份有限公司 Verification method and device suitable for block chain
CN111325535A (en) * 2020-02-19 2020-06-23 福州博泉网络科技有限公司 Block chain private key management method, system and storage medium based on elliptic curve migration

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006135840A (en) * 2004-11-09 2006-05-25 Sony Corp Key sharing state shifting method and system, and information storage medium
US20110083015A1 (en) * 2009-10-05 2011-04-07 Eidgenossiche Technische Hochschule Zurich System and method for an electronic signature for quick and efficient data authentication
EP3367608A1 (en) * 2017-02-28 2018-08-29 Koninklijke Philips N.V. Elliptic curve isogeny based key agreement protocol
CN110635897B (en) * 2019-08-28 2021-10-22 如般量子科技有限公司 Key updating or downloading method and system based on alliance chain and resisting quantum computing
CN113158143B (en) * 2020-01-22 2022-05-20 区块链新科技(广州)有限公司 Key management method and device based on block chain digital copyright protection system
CN112487464A (en) * 2020-12-14 2021-03-12 深圳前海微众银行股份有限公司 Encrypted data sharing method and device based on block chain
CN113326525B (en) * 2021-06-22 2024-01-16 深圳前海微众银行股份有限公司 Data processing method and device based on intelligent contract
CN113992325B (en) * 2021-10-09 2023-07-11 深圳前海微众银行股份有限公司 Private data sharing method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110880969A (en) * 2019-10-18 2020-03-13 如般量子科技有限公司 Method and system for generating QKD network authentication key based on alliance chain and implicit certificate
CN110839026A (en) * 2019-11-12 2020-02-25 深圳市网心科技有限公司 Data processing method based on block chain and related equipment
CN111162912A (en) * 2019-12-30 2020-05-15 深圳前海微众银行股份有限公司 Verification method and device suitable for block chain
CN111325535A (en) * 2020-02-19 2020-06-23 福州博泉网络科技有限公司 Block chain private key management method, system and storage medium based on elliptic curve migration

Also Published As

Publication number Publication date
WO2023056763A1 (en) 2023-04-13
CN113992325A (en) 2022-01-28

Similar Documents

Publication Publication Date Title
Mallouli et al. A survey on cryptography: comparative study between RSA vs ECC algorithms, and RSA vs El-Gamal algorithms
DK3268914T3 (en) DETERMINING A COMMON SECRET FOR SECURE EXCHANGE OF INFORMATION AND Hierarchical, Deterministic cryptographic keys
JP6934963B2 (en) Data encryption methods and systems
CN107196926B (en) Cloud outsourcing privacy set comparison method and device
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
WO2019115697A1 (en) Method for faster secure multiparty inner product with spdz
CN108418686A (en) A kind of how distributed SM9 decryption methods and medium and key generation method
CN113992325B (en) Private data sharing method and device
WO2021135694A1 (en) Verification method and apparatus suitable for blockchain
CN111783129A (en) Data processing method and system for protecting privacy
WO2021135695A1 (en) Verification method and apparatus applicable to blockchain
CN111859444A (en) Block chain data supervision method and system based on attribute encryption
CN104158880A (en) User-end cloud data sharing solution
CN112182660A (en) Data sorting method and device
US6111952A (en) Asymmetrical cryptographic communication method and portable object therefore
Chen et al. Threshold proxy re-encryption and its application in blockchain
GB2603495A (en) Generating shared keys
CN114614970A (en) Privacy data security processing method based on multi-calculator and homomorphic encryption
CN114528331A (en) Data query method, device, medium and equipment based on block chain
Khoirom et al. Audio encryption using ameliorated ElGamal public key encryption over finite field
CN112580071B (en) Data processing method and device
CN116318696B (en) Proxy re-encryption digital asset authorization method under condition of no initial trust of two parties
CN110798313B (en) Secret dynamic sharing-based collaborative generation method and system for number containing secret
CN112769539B (en) Method and system for generating RSA key and cooperating with RSA signature and decryption
Muhammed et al. Improved cloud-based N-primes model for symmetric-based fully homomorphic encryption using residue number system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant