Data Transmission Control Method and Device Applied to Blockchain Network System
Through the blockchain smart contract custody key, the sender generates a re-encryption key and encrypts the data. The receiver solves the security risks caused by third-party intervention in proxy re-encryption technology through public information generation permissions, and achieves higher data transmission security and privacy protection.
Patent Information
- Application Number
- CN202510623759.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-15
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2045-05-15
AI Technical Summary
The existing proxy re-encryption technology has security risks caused by the intervention of third-party proxy service providers during data transmission. The risk of private key leakage is high, which affects the security of data transmission.
Through the blockchain smart contract custody key, the sender generates a re-encrypts key and encrypts the data. The receiver generates permissions through public information to avoid third-party intervention, and uses the immutable and decentralized characteristics of blockchain technology to improve data transmission security.
It enhances the privacy protection and security of the data transmission process, reduces the security risks brought by third-party agents, and improves the reliability and integrity of data transmission.
Smart Images

Figure CN120151114B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of blockchain technology, and in particular to a data transmission control method and device applied to a blockchain network system. Background Art
[0002] Currently, proxy re-encryption technology has been widely used in encrypted data transmission. Proxy re-encryption technology allows an authorized agent to convert a sender's ciphertext into another receiver's ciphertext without exposing the plaintext. This technology is very useful in data transmission, reducing the decryption and re-encryption process and improving communication efficiency.
[0003] However, practice has found that in the process of encrypting and transmitting data using proxy re-encryption technology, the intervention of third-party proxy service providers poses security risks. For example, the private key of the authorized person needs to be submitted to the authorizer to generate the re-encryption key, which can easily lead to the leakage of the private key, thereby causing security problems.
[0004] Therefore, how to improve the security of the data transmission process is a technical problem that needs to be solved urgently. Summary of the Invention
[0005] The present invention provides a data transmission control method and device applied to a blockchain network system, which can improve the security of the data transmission process.
[0006] In order to solve the above technical problems, the first aspect of the present invention discloses a data transmission control method applied to a blockchain network system, the method comprising:
[0007] receiving target data uploaded by a sender, generating a first feedback value according to the target data, and sending the first feedback value to the sender;
[0008] Receive a first ciphertext and a re-encryption key uploaded by the sender through a preset blockchain smart contract; wherein the first ciphertext is obtained by the sender encrypting the first feedback value, and the re-encryption key is obtained by the sender performing a preset key generation operation based on the public information of the receiver;
[0009] re-encrypting the first ciphertext using the re-encryption key to obtain a second ciphertext;
[0010] When the target data acquisition request of the recipient is received, the second ciphertext is sent to the recipient to grant the recipient the authority to obtain the target data; wherein the target data acquisition request of the recipient is a request instruction generated by the recipient to obtain the target data.
[0011] As an optional implementation manner, in the first aspect of the present invention, before receiving the target data uploaded by the sender, generating a first feedback value based on the target data, and sending the first feedback value to the sender, the method further includes:
[0012] Receiving a unique user identification parameter uploaded by each network system user; wherein all the network system users include the sender and the receiver;
[0013] For each network system user, generating a user initial key corresponding to the network system user according to a user identification parameter uniquely corresponding to the network system user, and sending the user initial key to the network system user to trigger the network system user to generate a user formal key corresponding to the network system user based on the user initial key; the user formal key corresponding to the network system user includes at least a user formal public key;
[0014] The first ciphertext is specifically obtained by the sender encrypting the first feedback value using its corresponding user official public key;
[0015] The re-encryption key is specifically obtained by the sender performing a key generation operation according to the official public key of the user corresponding to the receiver and the public identity of the receiver.
[0016] As an optional implementation manner, in the first aspect of the present invention, before receiving the target data uploaded by the sender, generating a first feedback value based on the target data, and sending the first feedback value to the sender, the method further includes:
[0017] Initializing the blockchain network system to obtain system operating parameters;
[0018] The system operation parameters include at least a system private key, and the system private key is used to generate at least an initial private key of each user of the network system;
[0019] Initializing the blockchain network system to obtain system operating parameters at least includes:
[0020] generating a target elliptic curve according to a predetermined first prime number and a predetermined second prime number;
[0021] Constructing a target additive group based on the target elliptic curve; wherein the target additive group is an additive group composed of a plurality of points on the target elliptic curve as group elements, and the group elements in the target additive group are used for performing encryption and / or decryption operations;
[0022] Screening the group elements in the target additive group according to a predetermined target order to obtain a target high-order subgroup; wherein the element order of each group element in the target high-order subgroup is equal to the target order;
[0023] Determining a target generator corresponding to the target high-order subgroup; wherein the target generator includes a plurality of group elements in the target high-order subgroup, and the group elements in the target generator are used to obtain other group elements in the target high-order subgroup except the target generator through a product operation;
[0024] A key is generated according to the target generator and a preset multiplication cyclic group to obtain a system private key.
[0025] As an optional implementation manner, in the first aspect of the present invention, for each network system user, the user initial key corresponding to the network system user includes a user initial public key and a user initial private key;
[0026] For each of the network system users, generating a user initial key corresponding to the network system user according to a user identification parameter uniquely corresponding to the network system user includes:
[0027] For each network system user, determining an initial key parameter uniquely corresponding to the network system user according to the multiplication cyclic group, performing a product operation on the initial key parameter and the target generator to obtain an initial user public key corresponding to the network system user, and performing key generation according to the initial key parameter, the user identification parameter, and the system private key to obtain an initial user private key corresponding to the network system user;
[0028] The initial key parameter is a group element in the multiplication cycle group.
[0029] As an optional implementation manner, in the first aspect of the present invention, for each of the network system users, the user official key corresponding to the network system user further includes a user official private key;
[0030] After receiving the target data acquisition request from the recipient, sending the second ciphertext to the recipient to grant the recipient permission to acquire the target data, the method further includes:
[0031] receiving a second feedback value uploaded by the recipient obtained by decrypting the second ciphertext using the recipient's official private key, and determining whether the second feedback value matches the first feedback value; if so, sending the target data corresponding to the first feedback value to the recipient.
[0032] As an optional implementation, in the first aspect of the present invention, after receiving the first ciphertext and the re-encryption key uploaded by the sender through a preset blockchain smart contract, the method further includes:
[0033] When receiving the target data acquisition request from the sender, sending the first ciphertext to the sender; wherein the target data acquisition request from the sender is a request instruction generated by the sender to obtain the target data;
[0034] receiving a third feedback value uploaded by the sender obtained by decrypting the first ciphertext using the sender's official user private key, and determining whether the third feedback value matches the first feedback value; if so, sending the target data corresponding to the first feedback value to the sender.
[0035] As an optional implementation, in the first aspect of the present invention, the blockchain network system includes an IPFS cluster;
[0036] The receiving target data uploaded by the sender, generating a first feedback value according to the target data, and sending the first feedback value to the sender includes:
[0037] Receive the target data uploaded by the sender and store the target data in the IPFS cluster;
[0038] The IPFS cluster is called to generate a first feedback value according to the target data, and the first feedback value is sent to the sender.
[0039] A second aspect of the present invention discloses a data transmission control device applied to a blockchain network system, the device comprising:
[0040] a first data transmission module, configured to receive target data uploaded by a sender, generate a first feedback value according to the target data, and send the first feedback value to the sender;
[0041] a second data transmission module, configured to receive a first ciphertext and a re-encryption key uploaded by the sender through a preset blockchain smart contract; wherein the first ciphertext is obtained by the sender encrypting the first feedback value, and the re-encryption key is obtained by the sender performing a preset key generation operation based on the public information of the receiver;
[0042] a data re-encryption module, configured to perform a re-encryption operation on the first ciphertext according to the re-encryption key to obtain a second ciphertext;
[0043] The third data transmission module is used to send the second ciphertext to the recipient when receiving the recipient's target data acquisition request, so as to grant the recipient the authority to obtain the target data; wherein the recipient's target data acquisition request is a request instruction generated by the recipient to obtain the target data.
[0044] As an optional embodiment, in the second aspect of the present invention, the device further includes:
[0045] an identification parameter acquisition module, configured to receive a unique user identification parameter uploaded by each network system user before the first data transmission module receives the target data uploaded by the sender, generates a first feedback value based on the target data, and sends the first feedback value to the sender; wherein all the network system users include the sender and the receiver;
[0046] An initial key generation module is configured to generate, for each network system user, an initial user key corresponding to the network system user based on a user identification parameter uniquely corresponding to the network system user, and send the initial user key to the network system user to trigger the network system user to generate a formal user key corresponding to the network system user based on the initial user key; the formal user key corresponding to the network system user includes at least a formal user public key;
[0047] The first ciphertext is specifically obtained by the sender encrypting the first feedback value using its corresponding user official public key;
[0048] The re-encryption key is specifically obtained by the sender performing a key generation operation according to the official public key of the user corresponding to the receiver and the public identity of the receiver.
[0049] As an optional embodiment, in the second aspect of the present invention, the device further includes:
[0050] a system initialization module, configured to initialize the blockchain network system to obtain system operating parameters before the first data transmission module receives the target data uploaded by the sender, generates a first feedback value based on the target data, and sends the first feedback value to the sender;
[0051] The system operation parameters include at least a system private key, and the system private key is used to generate at least an initial private key of each user of the network system;
[0052] The specific manner in which the system initialization module initializes the blockchain network system to obtain system operating parameters includes at least:
[0053] generating a target elliptic curve according to a predetermined first prime number and a predetermined second prime number;
[0054] Constructing a target additive group based on the target elliptic curve; wherein the target additive group is an additive group composed of a plurality of points on the target elliptic curve as group elements, and the group elements in the target additive group are used for performing encryption and / or decryption operations;
[0055] Screening the group elements in the target additive group according to a predetermined target order to obtain a target high-order subgroup; wherein the element order of each group element in the target high-order subgroup is equal to the target order;
[0056] Determining a target generator corresponding to the target high-order subgroup; wherein the target generator includes a plurality of group elements in the target high-order subgroup, and the group elements in the target generator are used to obtain other group elements in the target high-order subgroup except the target generator through a product operation;
[0057] A key is generated according to the target generator and a preset multiplication cyclic group to obtain a system private key.
[0058] As an optional implementation manner, in the second aspect of the present invention, for each network system user, the user initial key corresponding to the network system user includes a user initial public key and a user initial private key;
[0059] The specific manner in which the initial key generation module generates, for each network system user, the user initial key corresponding to the network system user according to the user identification parameter uniquely corresponding to the network system user includes:
[0060] For each network system user, determining an initial key parameter uniquely corresponding to the network system user according to the multiplication cyclic group, performing a product operation on the initial key parameter and the target generator to obtain an initial user public key corresponding to the network system user, and performing key generation according to the initial key parameter, the user identification parameter, and the system private key to obtain an initial user private key corresponding to the network system user;
[0061] The initial key parameter is a group element in the multiplication cycle group.
[0062] As an optional implementation, in the second aspect of the present invention, for each of the network system users, the user official key corresponding to the network system user also includes a user official private key;
[0063] The device further comprises:
[0064] The first data matching module is configured to, upon receiving a target data acquisition request from the recipient, receive a second feedback value uploaded by the recipient obtained by decrypting the second ciphertext using the recipient's user official private key after the third data transmission module sends the second ciphertext to the recipient to grant the recipient permission to obtain the target data, and determine whether the second feedback value matches the first feedback value; if so, send the target data corresponding to the first feedback value to the recipient.
[0065] As an optional embodiment, in the second aspect of the present invention, the device further includes:
[0066] a fourth data transmission module, configured to, after the second data transmission module receives the first ciphertext and re-encryption key uploaded by the sender through the preset blockchain smart contract, send the first ciphertext to the sender upon receiving a target data acquisition request from the sender; wherein the target data acquisition request from the sender is a request instruction generated by the sender to acquire the target data;
[0067] The second data matching module is used to receive a third feedback value uploaded by the sender obtained by decrypting the first ciphertext using the sender's user official private key, and determine whether the third feedback value matches the first feedback value. If so, send the target data corresponding to the first feedback value to the sender.
[0068] As an optional implementation, in the second aspect of the present invention, the blockchain network system includes an IPFS cluster;
[0069] The specific manner in which the first data transmission module receives the target data uploaded by the sender, generates a first feedback value according to the target data, and sends the first feedback value to the sender includes:
[0070] Receive the target data uploaded by the sender and store the target data in the IPFS cluster;
[0071] The IPFS cluster is called to generate a first feedback value according to the target data, and the first feedback value is sent to the sender.
[0072] A third aspect of the present invention discloses another data transmission control device applied to a blockchain network system, the device comprising:
[0073] a memory storing executable program code;
[0074] a processor coupled to the memory;
[0075] The processor calls the executable program code stored in the memory to execute the data transmission control method applied to the blockchain network system disclosed in the first aspect of the present invention.
[0076] The fourth aspect of the present invention discloses a computer storage medium, which stores computer instructions. When the computer instructions are called by a processor, they are used to execute the data transmission control method applied to the blockchain network system disclosed in the first aspect of the present invention.
[0077] Compared with the prior art, the present invention has the following beneficial effects:
[0078] In the present invention, after receiving the target data uploaded by the sender, a first feedback value is first generated based on the target data, and then the first feedback value is fed back to the sender, thereby triggering the sender to encrypt the first feedback value to obtain a first ciphertext and generate a re-encryption key. After receiving the first ciphertext and re-encryption key uploaded by the sender through the blockchain smart contract, the first ciphertext is re-encrypted according to the re-encryption key to obtain a second ciphertext. When a target data acquisition request is received from the receiver, the second ciphertext is sent to the receiver to grant the receiver the right to obtain the target data. The receiver can obtain the corresponding target data through the second ciphertext. It can be seen that the present invention generates a re-encryption key by the sender and escrows the key through the blockchain smart contract, without the intervention of a third-party agent service provider, thereby strengthening the reliability of privacy protection and improving the security of the data transmission process. BRIEF DESCRIPTION OF THE DRAWINGS
[0079] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0080] Figure 1 This is a flow chart of a data transmission control method applied to a blockchain network system disclosed in an embodiment of the present invention;
[0081] Figure 2 This is a schematic structural diagram of a data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention;
[0082] Figure 3 This is a schematic structural diagram of another data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention;
[0083] Figure 4 This is a structural diagram of another data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention;
[0084] Figure 5 This is a structural diagram of another data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention;
[0085] Figure 6 This is a structural diagram of another data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention;
[0086] Figure 7 This is a structural diagram of another data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention. DETAILED DESCRIPTION
[0087] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0088] The terms "first," "second," and so on, in the description and claims of the present invention and the accompanying drawings are used to distinguish between different items, not to describe a specific order. Furthermore, the terms "including," "having," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, apparatus, product, or end comprising a series of steps or elements is not limited to the listed steps or elements but may optionally include steps or elements not listed therein, or may optionally include other steps or elements inherent to such process, method, product, or end.
[0089] References herein to "embodiments" mean that a particular feature, structure, or characteristic described in connection with the embodiments may be included in at least one embodiment of the present invention. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor does it constitute a separate or alternative embodiment that is mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0090] Currently, proxy re-encryption technology is widely used for encrypted data transmission. It allows an authorized proxy to convert ciphertext from one sender to another without exposing the plaintext. This technology is very useful for data transmission, reducing the decryption and re-encryption process and improving communication efficiency. However, in practice, the involvement of third-party proxy service providers in the encrypted data transmission process using proxy re-encryption technology poses security risks. For example, the authorized person's private key needs to be submitted to the authorizer to generate the re-encryption key, which can easily lead to private key leakage and cause security issues. Therefore, how to improve the security of the data transmission process is a pressing technical problem.
[0091] To address the above technical issues, the present invention discloses a data transmission control method and device for a blockchain network system, aiming to improve the security of the data transmission process. These methods are described in detail below.
[0092] To better understand the data transmission control method and device for a blockchain network system, the present invention relates to, let's first explain the blockchain network system used by the present invention. The blockchain network system used by the present invention utilizes cryptography and consensus mechanisms to establish and store massive amounts of transaction data in a peer-to-peer network system. It is understood that each network user of the blockchain network system used by the present invention can be both a sender and a receiver. For a specific piece of data, the network user that uploaded the data is the sender, and other network users are potential receivers. The network user that uploaded the data is also a potential receiver of data uploaded by other network users.
[0093] Example 1
[0094] See also Figure 1 , Figure 1 This is a flow chart of a data transmission control method applied to a blockchain network system disclosed in an embodiment of the present invention. Figure 1 The method shown can be applied to a data transmission control device, which can control the data transmission process of the blockchain network system. Furthermore, the data transmission control device can be integrated into the blockchain network system or exist independently of the blockchain network system, which is not limited in the embodiment of the present invention. Figure 1 As shown, the data transmission control method applied to the blockchain network system disclosed in the embodiment of the present invention includes but is not limited to the following operations:
[0095] 101. Receive target data uploaded by a sender, generate a first feedback value according to the target data, and send the first feedback value to the sender.
[0096] In the embodiment of the present invention, the first feedback value is a parameter value that uniquely corresponds to the target data and characterizes the data characteristics of the target data. Furthermore, a hash value of the target data can be calculated using a hash algorithm as the first feedback value of the target data.
[0097] 102. Receive the first ciphertext and re-encryption key uploaded by the sender through a preset blockchain smart contract; wherein the first ciphertext is obtained by encrypting the first feedback value by the sender, and the re-encryption key is obtained by the sender performing a preset key generation operation based on the public information of the receiver.
[0098] As can be seen, in this embodiment of the present invention, after the sender receives the first feedback value corresponding to the target data it uploaded, it encrypts the first feedback value and uploads it to the blockchain network system. Simultaneously, to facilitate sharing of the target data, it generates a re-encryption key and uploads it to the blockchain network system. Using the first feedback value to complete data encryption and transmission operations, rather than directly encrypting the target data and transmitting it multiple times, not only alleviates on-chain storage pressure on the blockchain network system, but also effectively reduces the possibility of data tampering during transmission, thereby improving the security of the data transmission process.
[0099] 103. Re-encrypt the first ciphertext according to the re-encryption key to obtain a second ciphertext.
[0100] In this embodiment of the present invention, the re-encryption key is generated by the sender using the public information of the recipient. Therefore, only the recipient can decrypt the re-encrypted second ciphertext, thereby improving the security of data transmission. It should be noted that the sender can generate re-encryption keys based on the public information of multiple recipients, allowing the target data to be shared with multiple recipients.
[0101] 104. When receiving a target data acquisition request from the recipient, send the second ciphertext to the recipient to grant the recipient permission to acquire the target data.
[0102] The target data acquisition request of the receiver is a request instruction generated by the receiver to obtain the target data.
[0103] As can be seen, in this embodiment of the present invention, after receiving the target data uploaded by the sender, a first feedback value is first generated based on the target data. The first feedback value is then fed back to the sender, triggering the sender to encrypt the first feedback value to obtain a first ciphertext and generate a re-encryption key. After receiving the first ciphertext and re-encryption key uploaded by the sender via a blockchain smart contract, the first ciphertext is re-encrypted using the re-encryption key to obtain a second ciphertext. Upon receiving a target data acquisition request from the receiver, the second ciphertext is sent to the receiver, granting the receiver access to the target data. The receiver can then obtain the corresponding target data using the second ciphertext. This invention generates the re-encryption key by the sender and escrows it through a blockchain smart contract, eliminating the need for a third-party proxy service provider. This strengthens the reliability of privacy protection and improves the security of the data transmission process. This invention optimizes traditional third-party proxy services by implementing the third-party proxy function through blockchain smart contracts, reducing the security risks associated with traditional third-party proxy services. Furthermore, by leveraging the traceability and immutability of blockchain technology for data sharing and use, the security, integrity, and authenticity of data storage can be improved.
[0104] In an optional embodiment, before receiving the target data uploaded by the sender, generating a first feedback value based on the target data, and sending the first feedback value to the sender, the data transmission control method applied to the blockchain network system according to the embodiment of the present invention may further include:
[0105] Receive a unique user identification parameter uploaded by each network system user; wherein all network system users include senders and receivers;
[0106] For each network system user, generating a user initial key corresponding to the network system user based on a user identification parameter uniquely corresponding to the network system user, and sending the user initial key to the network system user to trigger the network system user to generate a user official key corresponding to the network system user based on the user initial key; the user official key corresponding to the network system user includes at least the user official public key;
[0107] The first ciphertext is specifically obtained by the sender encrypting the first feedback value using its corresponding user official public key;
[0108] The re-encryption key is specifically obtained by the sender performing a key generation operation based on the recipient's corresponding user official public key and the recipient's public identity.
[0109] In an embodiment of the present invention, a user initial key is a key that contains only partial key data content, while a user formal key is a key that contains complete key data content. User identification parameters are first obtained for all network system users. Then, user initial keys are generated for all network system users based on the user identification parameters. These user initial keys are then sent to the corresponding network system users, allowing them to generate user formal keys based on the user initial keys. This present invention introduces a certificateless key mechanism, where the blockchain network system first generates a user initial key that contains only partial key content and sends it to the network system user. The network system user then generates a user formal key that contains the complete key content based on the received user initial key. Keys are managed through the blockchain network system's smart contracts, improving data transmission security and data integrity.
[0110] In an optional embodiment, before receiving the target data uploaded by the sender, generating a first feedback value based on the target data, and sending the first feedback value to the sender, the data transmission control method applied to the blockchain network system according to the embodiment of the present invention may further include:
[0111] Initialize the blockchain network system to obtain system operating parameters.
[0112] The system operation parameters include at least a system private key, and the system private key is used to generate at least an initial private key of each network system user.
[0113] The specific method of initializing the blockchain network system to obtain system operating parameters includes at least:
[0114] generating a target elliptic curve according to a predetermined first prime number and a predetermined second prime number;
[0115] Constructing a target additive group based on the target elliptic curve; wherein the target additive group is an additive group composed of multiple points on the target elliptic curve as group elements, and the group elements in the target additive group are used for encryption and / or decryption operations;
[0116] The group elements in the target additive group are screened according to a predetermined target order to obtain a target high-order subgroup; wherein the element order of each group element in the target high-order subgroup is equal to the target order;
[0117] Determine a target generator corresponding to a target high-order subgroup; wherein the target generator includes group elements in a plurality of target high-order subgroups, and the group elements in the target generator are used to obtain other group elements in the target high-order subgroup except the target generator through a product operation;
[0118] The key is generated according to the target generator and the preset multiplication cycle group to obtain the system private key.
[0119] In this embodiment of the present invention, the system private key is constructed using the elliptic curve cryptography algorithm. This algorithm is an encryption algorithm based on mathematical operations on an elliptic curve. It can perform encryption and decryption operations using points on the elliptic curve and has high security and efficiency. The elliptic curve cryptography algorithm is widely used in cryptography fields such as digital signatures and identity authentication. It is considered an excellent encryption algorithm that can provide strong security protection with relatively short key lengths. This embodiment of the present invention initializes the blockchain network system to obtain system operating parameters, thereby establishing a system encryption foundation to ensure confidentiality and data integrity during data transmission.
[0120] It should be noted that the system operating parameters may also include other data or function sets, such as a secure hash function.
[0121] In an optional embodiment, for each network system user, the user initial key corresponding to the network system user includes a user initial public key and a user initial private key.
[0122] For each network system user, generating a user initial key corresponding to the network system user according to a user identification parameter uniquely corresponding to the network system user may include:
[0123] For each network system user, determine an initial key parameter uniquely corresponding to the network system user according to the multiplication cyclic group, perform a product operation on the initial key parameter and the target generator to obtain an initial user public key corresponding to the network system user, and perform key generation according to the initial key parameter, the user identification parameter, and the system private key to obtain an initial user private key corresponding to the network system user;
[0124] The initial key parameter is a group element in the multiplication cycle group.
[0125] In the embodiment of the present invention, a user initial key corresponding to each network system user is generated according to the system operation parameters obtained by initialization.
[0126] In an optional embodiment, for each network system user, the user official key corresponding to the network system user also includes the user official private key;
[0127] When a target data acquisition request is received from the recipient, the second ciphertext is sent to the recipient to grant the recipient the right to obtain the target data. The data transmission control method applied to the blockchain network system in the embodiment of the present invention may further include:
[0128] Receive the second feedback value uploaded by the recipient obtained by decrypting the second ciphertext using the recipient's user official private key, and determine whether the second feedback value matches the first feedback value. If so, send the target data corresponding to the first feedback value to the recipient.
[0129] In an embodiment of the present invention, the recipient decrypts the re-encrypted second ciphertext using the user's official private key and uploads it to the blockchain network system. The blockchain network system matches the second feedback value with the first feedback value, and when the match is successful, the target data is sent to the recipient, thereby improving the security and confidentiality of the data transmission process and effectively reducing information leakage and unauthorized access.
[0130] In an optional embodiment, after receiving the first ciphertext and re-encryption key uploaded by the sender through a preset blockchain smart contract, the data transmission control method applied to the blockchain network system according to the embodiment of the present invention may further include:
[0131] When receiving a target data acquisition request from a sender, sending the first ciphertext to the sender; wherein the target data acquisition request from the sender is a request instruction generated by the sender to obtain the target data;
[0132] Receive the third feedback value uploaded by the sender obtained by decrypting the first ciphertext using the sender's user official private key, and determine whether the third feedback value matches the first feedback value. If so, send the target data corresponding to the first feedback value to the sender.
[0133] In an embodiment of the present invention, when the sender needs to obtain the target data uploaded previously, it also decrypts the first ciphertext through the sender's user official private key to obtain the third feedback value and uploads it to the blockchain network system. The blockchain network system matches the third feedback value with the first feedback value. When the match is successful, the target data is sent to the sender, thereby maintaining the security and privacy of the data.
[0134] In an optional embodiment, the blockchain network system includes an IPFS cluster;
[0135] Receiving target data uploaded by a sender, generating a first feedback value according to the target data, and sending the first feedback value to the sender may include:
[0136] Receive the target data uploaded by the sender and store the target data in the IPFS cluster; call the IPFS cluster to generate a first feedback value based on the target data, and send the first feedback value to the sender.
[0137] Traditional proxy re-encryption technology, in applications requiring high computing power, requires a central server to manage data to ensure algorithm efficiency. If the central server fails or is attacked and its control authority is compromised, the entire system may be paralyzed, resulting in service interruptions and data leakage and loss.
[0138] In an embodiment of the present invention, the IPFS cluster constitutes a peer-to-peer distributed file system that accesses data through content addressing, improving availability and redundancy. The content caching mechanism reduces network reliance and accelerates data acquisition. The IPFS cluster is decentralized. Blockchain technology can ensure the security, integrity, and authenticity of data after it is stored on the chain, but the storage space on the chain is limited, and security precautions must be taken for other nodes on the chain. The IPFS cluster is used to alleviate the lack of on-chain storage space, and the IPFS cluster can quickly process data, improving the operating efficiency of the entire system.
[0139] It can be seen that in the embodiment of the present invention, storing encrypted data in the IPFS cluster can not only quickly process data, but also effectively prevent security risks such as data tampering and server downtime in the traditional centralized storage mechanism.
[0140] In another optional embodiment, the specific method of initializing the blockchain network system to obtain system operating parameters includes:
[0141] Determine the security factor k of the blockchain network system, select the first prime number p and the second prime number q of k bits in the preset prime number value range, and generate a defined in F according to the first prime number p and the second prime number q. q The target elliptic curve E on which F q is the finite field of the second prime number q;
[0142] Construct the target additive group G based on the target elliptic curve E;
[0143] Take the second prime number q as the target order to screen the group elements in the target additive group G and obtain the target high-order subgroup G q ;
[0144] Determine the target high-order subgroup G q The corresponding target generator g; where g∈G q ;
[0145] From the predefined multiplication cyclic group Z * q A system initial key is randomly selected, and the system formal key is generated according to the system initial key and the target generator g; the system formal key includes the system formal private key system sk and the system's official public key systempk ;
[0146] Define the following seven collision-resistant secure hash functions (denoted as H1, H2, H3, H4, H5, H6, H7):
[0147] H1:G q ×G q ×{0,1} l1 →Z * q ;
[0148] H2:G q ×{0,1} l1 →Z * q ;
[0149] H3: {0,1} l2 →Z * q ;
[0150] H4:Z * q →Z * q ;
[0151] H5:Z * q →Z * q ;
[0152] H6:Z * q ×Z * q →{0,1} l2 ;
[0153] H7: {0,1} l1 →Z * q ;
[0154] Among them, l1 is the length of the network system user's identity ID, and l2 is the length of the plaintext space;
[0155] Set the system operating parameters: {p, q, l1, l2, E, G, G q ,g,system pk , H1, H2, H3, H4, H5, H6, H7} are made public within the blockchain network system.
[0156] In another optional embodiment, a certain network system user is denoted as user i, and its corresponding user identification parameters include public parameters T i and public identity ID i , where Ti =t i g, t i ∈Z * q , t i is the secret value of user i. The specific method of generating the user initial key of user i includes:
[0157] According to the multiplicative cyclic group Z * q Determine the initial key parameter y that is unique to user i i ; Among them, y i ∈Z * q ;
[0158] Generate user i's initial public key Y i :Y i =y i g;
[0159] Generate user i's initial private key k i :k i =y i +system sk H1(Y i , T i , ID i )+H2(system sk T i , ID i ).
[0160] The operations for user i to generate the corresponding user official key based on the user initial key include:
[0161] Determine the preset key verification parameter gh;
[0162] Determine k i gh and Y i +system pk H1(Y i ,T i ,ID i )+H2(t i system pk ,ID i ) The size of g;
[0163] If k i gh and Y i+system pk H1(Y i ,T i ,ID i )+H2(t i system pk ,ID i ) If the value of g is equal, the official private key sk of user i is generated i =(s i ,t i ) and the user's official public key pk i =(Y i ,T i ), where s i is the private key parameter of user i, and s i =k i -H2(t i system pk ,ID i );
[0164] If k i gh and Y i +system pk H1(Y i ,T i ,ID i )+H2(t i system pk ,ID i ) If the values of g are not equal, an invalid result is returned to the blockchain network system, so that the blockchain network system regenerates a new user initial key for user i.
[0165] It should be noted that the "i" in the superscript or subscript of the above parameters corresponds to user i. When user i uses other symbols to identify and distinguish, the "i" in the superscript or subscript of the above parameters also changes adaptively but always corresponds to the corresponding user identification symbol. The embodiments of the present invention will not be elaborated later.
[0166] In another optional embodiment, the blockchain network system includes an IPFS cluster, and the hash value of the target data is calculated by the hash algorithm as the first feedback value of the target data (denoted as Hash1). The sender is user s, and the sender's user formal private key is sk s , the sender's official public key is pk s .
[0167] The specific manner in which the sender encrypts the first feedback value using its corresponding user official public key to obtain the first ciphertext includes:
[0168] Let z = H3(Hash1); Z = z g, calculate:
[0169] S=z (s s +t s ) -1 ;
[0170] U s =z (Y s +system pk H1(Y s ,T s ,ID s )+T s );
[0171] α=H4(s s t s );
[0172] θ=H5(U s α);
[0173] C0=H6(Z,θ)⊕Hash1;
[0174] E(Hash1)=(Z,C0,S);
[0175] Among them, E(Hash1) represents the first ciphertext, z, Z, S, U s , α, θ, C0 are all encryption intermediate parameters, ⊕ is the XOR operator, s s The private key parameter of user s.
[0176] Let any receiver be user Rj, and j=1, 2, ..., n (there are n receiver users in total). The set of official public keys of all receiver users is pk R ={pk R1 ,pk R2 ,...,pk Rn}, the public identity set of all recipients is ID R ={ID R1 ,ID R2 ,…,ID Rn}.
[0177] The specific method by which the sender performs a key generation operation based on the receiver's corresponding user official public key and the receiver's public identity to obtain the re-encryption key includes:
[0178] In the multiplicative cyclic group Z * q Choose a re-encryption parameter β and calculate:
[0179] U j =z (Y j +system pk H1(Y j ,T j ,ID j )+T j );
[0180] (xU j ) + β = x n +a n-1 x n-1 +...+a1x+a0;
[0181] δ=(s s +t s ) α β -1 ;
[0182] Among them, β, U j , δ are re-encryption key parameters, x is a custom unknown number, and {a0, a1, ...., an-1} is a custom parameter group;
[0183] Generate re-encryption key rk S→R =(rk1,rk2)=(δ,{a0,a1,....,a n-1}).
[0184] The specific method of re-encrypting the first ciphertext according to the re-encryption key to obtain the second ciphertext includes:
[0185] Calculate C1=rk1 Z and let C2=rk2, then the second ciphertext is RE(E(Hash1))=(Z,C0,C1,C2,S), where C1 and C2 are the intermediate parameters of re-encryption.
[0186] The specific manner in which the receiver decrypts the second ciphertext using the receiver's official private key to obtain the second feedback value includes:
[0187] Use C2={a0,...,a n-1}Construct polynomial: f(x)=x n +a n-1 x n-1 +...+a1x+a0;
[0188] Calculate U' j =(s j +t j ) Z;
[0189] β'=f(U' j );
[0190] θ''=H5(C1 β');
[0191] Hash2=(C0⊕H6(Z,θ''));
[0192] Among them, Hash2 is the decryption feedback value of the receiver, U' j , β', θ'' are the receiver's decryption parameters, x is a custom unknown number, {a0,a1,....,a n-1} is a custom parameter group;
[0193] Verify Z=S (Y s +system pk H1(Y s ,T s ,ID s )+T s ) is true, if so, Hash2 is a valid receiver decryption feedback value, and Hash2 is marked as the second feedback value; if not, a result indicating invalid parameters is returned to the blockchain network system.
[0194] The specific method of obtaining the third feedback value by the sender through decrypting the first ciphertext using the sender's official private key includes:
[0195] Calculation: U' s =(s s +t s ) Z;
[0196] θ' s =H5(U' s α);
[0197] Hash3=C0⊕H6(Z,θ' s );
[0198] Among them, Hash3 is the decryption feedback value of the sender, U' s ,θ' s Both are the decryption parameters of the sender, and ⊕ is the exclusive OR operator;
[0199] Verify Z=S (Ys +system pk H1(Y s ,T s ,ID s )+T s ) is true, if so, Hash3 is a valid sender decryption feedback value, and Hash3 is marked as the third feedback value; if not, a result indicating invalid parameters is returned to the blockchain network system.
[0200] Example 2
[0201] See also Figure 2 , Figure 2 This is a schematic diagram of the structure of a data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention. Figure 2 The device shown is used to implement the data transmission control method applied to the blockchain network system described in Example 1. The data transmission control device can control the data transmission process of the blockchain network system. Furthermore, the data transmission control device can be integrated into the blockchain network system or exist independently of the blockchain network system. This embodiment of the present invention does not limit this. Figure 2 As shown, the data transmission control device applied to the blockchain network system disclosed in the embodiment of the present invention includes but is not limited to the following modules:
[0202] The first data transmission module 201 is configured to receive target data uploaded by a sender, generate a first feedback value based on the target data, and send the first feedback value to the sender;
[0203] The second data transmission module 202 is configured to receive a first ciphertext and a re-encryption key uploaded by a sender through a preset blockchain smart contract; wherein the first ciphertext is obtained by encrypting the first feedback value by the sender, and the re-encryption key is obtained by performing a preset key generation operation by the sender based on the public information of the receiver;
[0204] A data re-encryption module 203 is configured to re-encrypt the first ciphertext according to the re-encryption key to obtain a second ciphertext;
[0205] The third data transmission module 204 is used to send the second ciphertext to the recipient when receiving the recipient's target data acquisition request to grant the recipient the right to obtain the target data; wherein the recipient's target data acquisition request is a request instruction generated by the recipient to obtain the target data.
[0206] As can be seen, in this embodiment of the present invention, after receiving the target data uploaded by the sender, a first feedback value is first generated based on the target data. The first feedback value is then fed back to the sender, triggering the sender to encrypt the first feedback value to obtain a first ciphertext and generate a re-encryption key. After receiving the first ciphertext and re-encryption key uploaded by the sender via a blockchain smart contract, the first ciphertext is re-encrypted using the re-encryption key to obtain a second ciphertext. Upon receiving a target data acquisition request from the receiver, the second ciphertext is sent to the receiver, granting the receiver access to the target data. The receiver can then obtain the corresponding target data using the second ciphertext. This invention generates the re-encryption key by the sender and escrows it through a blockchain smart contract, eliminating the need for a third-party proxy service provider. This strengthens the reliability of privacy protection and improves the security of the data transmission process. This invention optimizes traditional third-party proxy services by implementing the third-party proxy function through blockchain smart contracts, reducing the security risks associated with traditional third-party proxy services. Furthermore, by leveraging the traceability and immutability of blockchain technology for data sharing and use, the security, integrity, and authenticity of data storage can be improved.
[0207] In an alternative embodiment, see Figure 3 , Figure 3 This is a schematic diagram of the structure of another data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention. Figure 3 As shown, a data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention may further include:
[0208] The identification parameter acquisition module 205 is configured to receive the target data uploaded by the sender in the first data transmission module 201, generate a first feedback value based on the target data, and receive a unique user identification parameter uploaded by each network system user before sending the first feedback value to the sender. All network system users include the sender and the receiver.
[0209] The initial key generation module 206 is configured to generate, for each network system user, an initial user key corresponding to the network system user based on a unique user identification parameter corresponding to the network system user, and send the initial user key to the network system user to trigger the network system user to generate a formal user key corresponding to the network system user based on the initial user key; the formal user key corresponding to the network system user includes at least a formal user public key;
[0210] The first ciphertext is specifically obtained by the sender encrypting the first feedback value using its corresponding user official public key;
[0211] The re-encryption key is specifically obtained by the sender performing a key generation operation based on the recipient's corresponding user official public key and the recipient's public identity.
[0212] In an embodiment of the present invention, a user initial key is a key that contains only partial key data content, while a user formal key is a key that contains complete key data content. User identification parameters are first obtained for all network system users. Then, user initial keys are generated for all network system users based on the user identification parameters. These user initial keys are then sent to the corresponding network system users, allowing them to generate user formal keys based on the user initial keys. This present invention introduces a certificateless key mechanism, where the blockchain network system first generates a user initial key that contains only partial key content and sends it to the network system user. The network system user then generates a user formal key that contains the complete key content based on the received user initial key. Keys are managed through the blockchain network system's smart contracts, improving data transmission security and data integrity.
[0213] In an alternative embodiment, see Figure 4 , Figure 4 This is a structural diagram of another data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention. Figure 4 As shown, a data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention may further include:
[0214] The system initialization module 207 is configured to receive the target data uploaded by the sender in the first data transmission module 201, generate a first feedback value based on the target data, and initialize the blockchain network system to obtain system operating parameters before sending the first feedback value to the sender;
[0215] The system operation parameters include at least a system private key, which is used to generate at least an initial private key for each network system user.
[0216] The specific method in which the system initialization module 207 initializes the blockchain network system to obtain system operating parameters includes at least:
[0217] generating a target elliptic curve according to a predetermined first prime number and a predetermined second prime number;
[0218] Constructing a target additive group based on the target elliptic curve; wherein the target additive group is an additive group composed of multiple points on the target elliptic curve as group elements, and the group elements in the target additive group are used for encryption and / or decryption operations;
[0219] The group elements in the target additive group are screened according to a predetermined target order to obtain a target high-order subgroup; wherein the element order of each group element in the target high-order subgroup is equal to the target order;
[0220] Determine a target generator corresponding to a target high-order subgroup; wherein the target generator includes group elements in a plurality of target high-order subgroups, and the group elements in the target generator are used to obtain other group elements in the target high-order subgroup except the target generator through a product operation;
[0221] The key is generated according to the target generator and the preset multiplication cycle group to obtain the system private key.
[0222] In an embodiment of the present invention, the system private key is constructed using the elliptic curve encryption algorithm. The elliptic curve encryption algorithm is an encryption algorithm based on mathematical operations on an elliptic curve. It can perform encryption and decryption operations through points on the elliptic curve and has high security and efficiency. The elliptic curve encryption algorithm is widely used in the field of cryptography, such as digital signatures, identity authentication, etc. It is considered to be an excellent encryption algorithm that can provide strong security protection with a relatively short key length.
[0223] It can be seen that in the embodiment of the present invention, the blockchain network system is initialized to obtain system operating parameters, thereby building a system encryption foundation to ensure the confidentiality and data integrity of the data transmission process.
[0224] In an optional embodiment, for each network system user, the user initial key corresponding to the network system user includes a user initial public key and a user initial private key;
[0225] The specific method in which the initial key generation module 206 generates the user initial key corresponding to each network system user according to the unique user identification parameter of the network system user includes:
[0226] For each network system user, determine an initial key parameter uniquely corresponding to the network system user according to the multiplication cyclic group, perform a product operation on the initial key parameter and the target generator to obtain an initial user public key corresponding to the network system user, and perform key generation according to the initial key parameter, the user identification parameter, and the system private key to obtain an initial user private key corresponding to the network system user;
[0227] The initial key parameter is a group element in the multiplication cycle group.
[0228] In the embodiment of the present invention, a user initial key corresponding to each network system user is generated according to the system operation parameters obtained by initialization.
[0229] In an optional embodiment, for each network system user, the user official key corresponding to the network system user also includes the user official private key;
[0230] See also Figure 5 , Figure 5 This is a structural diagram of another data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention. Figure 5 As shown, a data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention may further include:
[0231] The first data matching module 208 is configured to, upon receiving a target data acquisition request from a recipient, receive a second feedback value uploaded by the recipient obtained by decrypting the second ciphertext using the recipient's official user private key after the third data transmission module 204 sends the second ciphertext to the recipient to grant the recipient the right to acquire the target data, and determine whether the second feedback value matches the first feedback value. If so, the target data corresponding to the first feedback value is sent to the recipient.
[0232] In an embodiment of the present invention, the recipient decrypts the re-encrypted second ciphertext using the user's official private key and uploads it to the blockchain network system. The blockchain network system matches the second feedback value with the first feedback value, and when the match is successful, the target data is sent to the recipient, thereby improving the security and confidentiality of the data transmission process and effectively reducing information leakage and unauthorized access.
[0233] In an alternative embodiment, see Figure 6 , Figure 6 This is a structural diagram of another data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention. Figure 6 As shown, a data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention may further include:
[0234] The fourth data transmission module 209 is configured to, after the second data transmission module 202 receives the first ciphertext and the re-encryption key uploaded by the sender through the preset blockchain smart contract, send the first ciphertext to the sender upon receiving a target data acquisition request from the sender; wherein the target data acquisition request from the sender is a request instruction generated by the sender to acquire the target data;
[0235] The second data matching module 210 is used to receive the third feedback value uploaded by the sender obtained by decrypting the first ciphertext using the sender's user official private key, and determine whether the third feedback value matches the first feedback value. If so, the target data corresponding to the first feedback value is sent to the sender.
[0236] In an embodiment of the present invention, when the sender needs to obtain the target data uploaded previously, it also decrypts the first ciphertext through the sender's user official private key to obtain the third feedback value and uploads it to the blockchain network system. The blockchain network system matches the third feedback value with the first feedback value. When the match is successful, the target data is sent to the sender, thereby maintaining the security and privacy of the data.
[0237] In an optional embodiment, the blockchain network system includes an IPFS cluster;
[0238] The first data transmission module 201 receives the target data uploaded by the sender, generates a first feedback value according to the target data, and sends the first feedback value to the sender in the following specific manners:
[0239] Receive the target data uploaded by the sender and store the target data in the IPFS cluster;
[0240] Call the IPFS cluster to generate a first feedback value according to the target data, and send the first feedback value to the sender.
[0241] Traditional proxy re-encryption technology, in applications requiring high computing power, requires a central server to manage data to ensure algorithm efficiency. If the central server fails or is attacked and its control authority is compromised, the entire system may be paralyzed, resulting in service interruptions and data leakage and loss.
[0242] In an embodiment of the present invention, the IPFS cluster constitutes a peer-to-peer distributed file system that accesses data through content addressing, improving availability and redundancy. The content caching mechanism reduces network reliance and accelerates data acquisition. The IPFS cluster is decentralized. Blockchain technology can ensure the security, integrity, and authenticity of data after it is stored on the chain, but the storage space on the chain is limited, and security precautions must be taken for other nodes on the chain. The IPFS cluster is used to alleviate the lack of on-chain storage space, and the IPFS cluster can quickly process data, improving the operating efficiency of the entire system.
[0243] It can be seen that in the embodiment of the present invention, storing encrypted data in the IPFS cluster can not only quickly process data, but also effectively prevent security risks such as data tampering and server downtime in the traditional centralized storage mechanism.
[0244] Example 3
[0245] See also Figure 7 , Figure 7 This is a structural diagram of another data transmission control device applied to a blockchain network system disclosed in an embodiment of the present invention. Figure 7The device shown is used to implement the data transmission control method applied to the blockchain network system described in Example 1. The data transmission control device can control the data transmission process of the blockchain network system. Furthermore, the data transmission control device can be integrated into the blockchain network system or exist independently of the blockchain network system. This embodiment of the present invention does not limit this. Figure 7 As shown, the data transmission control device applied to the blockchain network system disclosed in the embodiment of the present invention includes but is not limited to:
[0246] A memory 301 storing executable program code;
[0247] a processor 302 coupled to the memory 301;
[0248] The processor 302 calls the executable program code stored in the memory 301 to execute some or all of the steps of the data transmission control method applied to the blockchain network system described in the first embodiment of the present invention.
[0249] Example 4
[0250] An embodiment of the present invention discloses a computer storage medium, which stores computer instructions. When the computer instructions are called by a processor, they are used to execute some or all of the steps of the data transmission control method applied to a blockchain network system described in the first embodiment of the present invention.
[0251] The device embodiments described above are merely illustrative, wherein the modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, and may be located in one place or distributed across multiple network modules. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Those skilled in the art can understand and implement the present invention without inventive effort.
[0252] Through the detailed description of the above embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by means of hardware. Based on this understanding, the above technical solution, in essence, or the portion that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as a read-only memory (ROM), a random access memory (RAM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), a one-time programmable read-only memory (OTPROM), an electronically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other optical disk storage, magnetic disk storage, magnetic tape storage, or any other computer-readable medium capable of carrying or storing data.
[0253] Finally, it should be noted that the data transmission control method and device applied to the blockchain network system disclosed in the embodiment of the present invention are only preferred embodiments of the present invention, which are only used to illustrate the technical solution of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, it should be understood by those skilled in the art that the technical solutions described in the aforementioned embodiments can still be modified, or some of the technical features therein can be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.
Claims
1. A data transmission control method applied to a blockchain network system, characterized in that: The method comprises: receiving target data uploaded by a sender, generating a first feedback value according to the target data, and sending the first feedback value to the sender; Receive a first ciphertext and a re-encryption key uploaded by the sender through a preset blockchain smart contract; wherein the first ciphertext is obtained by the sender encrypting the first feedback value, and the re-encryption key is obtained by the sender performing a preset key generation operation based on the public information of the receiver; re-encrypting the first ciphertext using the re-encryption key to obtain a second ciphertext; When the target data acquisition request of the recipient is received, the second ciphertext is sent to the recipient to grant the recipient the authority to obtain the target data; wherein the target data acquisition request of the recipient is a request instruction generated by the recipient to obtain the target data.
2. The data transmission control method applied to the blockchain network system according to claim 1 is characterized in that: Before receiving the target data uploaded by the sender, generating a first feedback value according to the target data, and sending the first feedback value to the sender, the method further includes: Receiving a unique user identification parameter uploaded by each network system user; wherein all the network system users include the sender and the receiver; For each network system user, generating a user initial key corresponding to the network system user according to a user identification parameter uniquely corresponding to the network system user, and sending the user initial key to the network system user to trigger the network system user to generate a user formal key corresponding to the network system user based on the user initial key; the user formal key corresponding to the network system user includes at least a user formal public key; The first ciphertext is specifically obtained by the sender encrypting the first feedback value using its corresponding user official public key; The re-encryption key is specifically obtained by the sender performing a key generation operation according to the official public key of the user corresponding to the receiver and the public identity of the receiver.
3. The data transmission control method applied to the blockchain network system according to claim 2 is characterized in that: Before receiving the target data uploaded by the sender, generating a first feedback value according to the target data, and sending the first feedback value to the sender, the method further includes: Initializing the blockchain network system to obtain system operating parameters; The system operation parameters include at least a system private key, and the system private key is used to generate at least an initial private key of each user of the network system; Initializing the blockchain network system to obtain system operating parameters at least includes: generating a target elliptic curve according to a predetermined first prime number and a predetermined second prime number; Constructing a target additive group based on the target elliptic curve; wherein the target additive group is an additive group composed of a plurality of points on the target elliptic curve as group elements, and the group elements in the target additive group are used for performing encryption and / or decryption operations; Screening the group elements in the target additive group according to a predetermined target order to obtain a target high-order subgroup; wherein the element order of each group element in the target high-order subgroup is equal to the target order; Determining a target generator corresponding to the target high-order subgroup; wherein the target generator includes a plurality of group elements in the target high-order subgroup, and the group elements in the target generator are used to obtain other group elements in the target high-order subgroup except the target generator through a product operation; A key is generated according to the target generator and a preset multiplication cyclic group to obtain a system private key.
4. The data transmission control method applied to the blockchain network system according to claim 3 is characterized in that: For each network system user, the user initial key corresponding to the network system user includes a user initial public key and a user initial private key; For each of the network system users, generating a user initial key corresponding to the network system user according to a user identification parameter uniquely corresponding to the network system user includes: For each network system user, determining an initial key parameter uniquely corresponding to the network system user according to the multiplication cyclic group, performing a product operation on the initial key parameter and the target generator to obtain an initial user public key corresponding to the network system user, and performing key generation according to the initial key parameter, the user identification parameter, and the system private key to obtain an initial user private key corresponding to the network system user; The initial key parameter is a group element in the multiplication cycle group.
5. The data transmission control method applied to the blockchain network system according to claim 2 is characterized in that: For each of the network system users, the user official key corresponding to the network system user also includes the user official private key; After receiving the target data acquisition request from the recipient, sending the second ciphertext to the recipient to grant the recipient permission to acquire the target data, the method further includes: receiving a second feedback value uploaded by the recipient obtained by decrypting the second ciphertext using the recipient's official private key, and determining whether the second feedback value matches the first feedback value; if so, sending the target data corresponding to the first feedback value to the recipient.
6. The data transmission control method applied to the blockchain network system according to claim 5 is characterized in that: After receiving the first ciphertext and the re-encryption key uploaded by the sender through a preset blockchain smart contract, the method further includes: When receiving the target data acquisition request from the sender, sending the first ciphertext to the sender; wherein the target data acquisition request from the sender is a request instruction generated by the sender to obtain the target data; receiving a third feedback value uploaded by the sender obtained by decrypting the first ciphertext using the sender's official user private key, and determining whether the third feedback value matches the first feedback value; if so, sending the target data corresponding to the first feedback value to the sender.
7. The data transmission control method applied to a blockchain network system according to any one of claims 1 to 6, characterized in that: The blockchain network system includes an IPFS cluster; The receiving target data uploaded by the sender, generating a first feedback value according to the target data, and sending the first feedback value to the sender includes: Receive the target data uploaded by the sender and store the target data in the IPFS cluster; The IPFS cluster is called to generate a first feedback value according to the target data, and the first feedback value is sent to the sender.
8. A data transmission control device applied to a blockchain network system, characterized in that: The device comprises: a first data transmission module, configured to receive target data uploaded by a sender, generate a first feedback value according to the target data, and send the first feedback value to the sender; a second data transmission module, configured to receive a first ciphertext and a re-encryption key uploaded by the sender through a preset blockchain smart contract; wherein the first ciphertext is obtained by the sender encrypting the first feedback value, and the re-encryption key is obtained by the sender performing a preset key generation operation based on the public information of the receiver; a data re-encryption module, configured to perform a re-encryption operation on the first ciphertext according to the re-encryption key to obtain a second ciphertext; The third data transmission module is used to send the second ciphertext to the recipient when receiving the recipient's target data acquisition request, so as to grant the recipient the authority to obtain the target data; wherein the recipient's target data acquisition request is a request instruction generated by the recipient to obtain the target data.
9. A data transmission control device applied to a blockchain network system, characterized in that: The device comprises: a memory storing executable program code; a processor coupled to the memory; The processor calls the executable program code stored in the memory to execute the data transmission control method applied to the blockchain network system according to any one of claims 1 to 7.
10. A computer storage medium, characterized in that The computer storage medium stores computer instructions, which, when called by the processor, are used to execute the data transmission control method applied to the blockchain network system according to any one of claims 1 to 7.
Citation Information
Patent Citations
Private data access control method based on alliance chain smart contract
CN115580431A
System and method for protecting, managing and monetizing creative works using blockchain
US20220229883A1