Data security sharing method and device for linkable ring signature
By dividing the key images signed by linkable rings into K1 and K2, and using the non-interactive sum zero-knowledge proof method, the problem of insufficient security guarantee in the traditional data sharing mode is solved, efficient and secure data sharing is achieved, and the computing overhead of signature generation and verification is reduced.
Patent Information
- Application Number
- CN202411938541.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-04-01
AI Technical Summary
In the traditional data sharing model, third-party platforms are prone to leaking the identity information of both parties in data sharing, which lacks security guarantees, and the ring signature technology has problems such as too long signature length and too large computing overhead.
A data security sharing method for linkable ring signatures is proposed. By dividing the traditional linkable ring signature key image K into key images K1 and K2, the number of operations in the signature generation and verification process is reduced, and the non-interactive sum zero-knowledge proof method is used to realize logarithmic compression of the signature size.
It effectively reduces the time consumption of signature generation and verification, prevents illegal identification and association between the two parties to the data sharing, provides comprehensive security guarantees for transactions between the two parties to the data sharing, and operates efficiently in an environment with limited computing power and limited bandwidth.
Smart Images

Figure CN119743315A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a data security sharing method and device for linkable ring signatures, belonging to the technical field of information security. Background Art
[0002] Data is a collection of symbols that record objective events in various forms such as text, numbers, and images. With the rapid development of information technology, the data generated by various industries has exploded, and data has become an important resource for human society. Due to different business needs, data is divided and stored in different departments and individuals, presenting separate data sets, which makes it impossible for data to circulate freely, forming "data islands", resulting in low data utilization and hindering the value of data. Data sharing can make full use of data resources by sharing your own data for others to use.
[0003] The traditional data sharing model relies on a third-party platform. The data owner uploads the data to the third-party platform, and the data demander pays the platform to obtain the data. After the data sharing is completed, the third-party platform pays a certain fee to the data owner. This data sharing model is easy to manage and maintain. However, in the process of data sharing between data owners and data users, the third-party platform is very likely to leak the identity information of both parties of the data sharing, and there are problems such as lack of security.
[0004] As a privacy protection mechanism, ring signature technology can effectively prevent third-party platforms from identifying specific data providers and ensure that both parties to data sharing can conduct transactions safely in an anonymous state. To this end, the present invention proposes a data security sharing method and device for linkable ring signatures. The key image of the linkable ring signature is innovatively designed, and the original key image K is divided into key images K1 and K2 to reduce the time consumption for generating and verifying the linkable ring signature. The present invention can produce smaller signatures and lower computational overhead, effectively preventing illegal identification and association of both parties to data sharing, and providing comprehensive security protection for transactions between both parties to data sharing. Summary of the invention
[0005] Purpose of the invention: Data sharing systems have always faced problems such as lack of security, and third-party platforms are very likely to expose the identity privacy of both parties to data sharing. Although ring signatures have significant advantages in privacy protection, they also have problems such as long signature length and excessive computational overhead. To this end, the present invention proposes a data security sharing method and device for linkable ring signatures. First, the key image K of the traditional linkable ring signature is divided into key images K1 and K2, which effectively reduces the number of operations in the signature generation and verification process, and prevents third-party platforms from illegally identifying and associating the two parties to data sharing.
[0006] A data security sharing method for a linkable ring signature according to the present invention comprises the following steps:
[0007] 1) Initialization setting: The data sharing system is given a parameter λ to generate a generator g with a prime number q on the elliptic curve. The data sharing system selects a cryptographic hash function H s : {0, 1} * →Z q and H p : {0, 1} * →G. Among them, Z q represents a set {0, ..., q-1}. G represents a base point on the elliptic curve.
[0008] 2) Generate a key. The data sharing system gives a parameter λ to generate a private key sk for the data user or data owner. i , and calculate the public key Thus generating a public-private key pair (sk i , pk i ).
[0009] 3) The data owner generates a signature and randomly selects the public keys of other data owners to generate a public key set of length n Among them, pk ε is the data owner's own public key, and the remaining public keys are the public keys of other data owners selected by the data owner. ε represents the position of the data owner in the public key set. Next, the data owner selects the data M to be shared and his own private key sk ∈ , to generate the signature σ corresponding to M.
[0010] In the process of the data owner generating the signature, the key image is innovatively designed, splitting the original key image K into two independent key images K1 and K2. Among them, K2 is calculated from K1. The data owner calculates his own key image (K1, K2):
[0011] h=H p (pk ε )
[0012]
[0013] Among them, h is the intermediate variable generated in the signature generation process, sk ε is the data owner's own private key, K1 and K2 are key images, pk ε is the public key of the data owner, H p () is a hash function.
[0014] The data owner randomly selects α ε, β ε ∈Z q , and pick a random challenge c i ∈Z q . Where 1≤i≤n and i≠ε, i is an integer. Then, the data owner calculates and And the generated challenge sum c:
[0015]
[0016] in, and It is an intermediate variable used for subsequent calculations during the signature process. c is the data M and intermediate variables shared by the data owner during the signature process. and Public Key Ring The resulting hash value.
[0017] According to c i ∈Z q , where 1≤i≤n(i≠ε) and i is an integer, the data owner calculates the challenge c ε , and generate responses v and w:
[0018] c ε =c-(c1+…+c ε-1 +c ε+1 +…+c n )
[0019] v=α ε -c ε ·sk ε
[0020] w=β ε -c ε ·(sk ε ) -1
[0021] Among them, v and w are the components of the signature, c ε It is the sum of challenges c in substep 3-2 minus all random challenges c i Generated.
[0022] The signer gets the final generated signature
[0023] 4) The data user verifies the signature and receives the signature of the data owner Shared data M and public key set And verify it and get the verification result.
[0024] Data users use M and Calculate c, calculate W through K2, w, and calculate V through v:
[0025]
[0026] W=K2 w
[0027] V = g v
[0028] in, K2, w, and v are the components of the signature σ. c is the hash value generated by the data user. W and V are intermediate variables generated by the data user during the verification process.
[0029] The data user first determines whether c and c1+…+c n Are they equal? Then judge With K1 c Are they equal?
[0030] c ? c1+…+c i +…+c n
[0031]
[0032] Among them, K1 and c i is the component of the received signature σ. If c=c1+…+c i +…+c n and The data user continues to execute sub-step 4-3. Otherwise, the data user determines that the signature has a forgery risk and outputs the verification result as false.
[0033] Ultimately, the data user determines Is it equal to
[0034]
[0035] Among them, pk i Is a collection of public keys The public key of the i-th data owner in . If This means that if the signature σ received by the data user is true, the verification result output is true and the data user accepts the signature.
[0036] 5) The data user links the signatures. The data user receives two pairs of signatures σ′ and σ″, and the corresponding shared data are M′ and M″ respectively. If K1′ and K1″ in σ′ and σ″ are equal, then the data user directly determines that σ′ and σ″ are linked, and the data user will discard the signature σ″.
[0037] A data security sharing device with a linkable ring signature, the device implements the data security sharing method with a linkable ring signature, including: module 1: initialization setting module; module 2: key generation module; module 3: data owner signature generation module; module 4: data user signature verification module; module 5: data user link signature module.
[0038] An electronic device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the data security sharing method of the linkable ring signature when executing the program.
[0039] A computer-readable storage medium stores computer instructions, which, when executed by a processor, implement the data security sharing method of the linkable ring signature.
[0040] Compared with the prior art, the advantages of the present invention are as follows:
[0041] (1) The present invention optimizes the key image structure of the linkable ring signature by adding a new key image K2, thereby significantly reducing the time consumption in the signature generation and verification process. In addition, the present invention uses a non-interactive summation zero-knowledge proof method to achieve logarithmic compression of the linkable ring signature size, thereby reducing the communication cost of the signature.
[0042] (2) The present invention can generate smaller signatures and lower computational overhead, effectively preventing illegal identification and association of data sharing parties, and providing comprehensive security protection for transactions between data sharing parties.
[0043] (3) By reducing the signature size and lowering the computational overhead in the signature generation and verification process, the present invention can achieve efficient operation in an environment with limited computing power and bandwidth, thereby reducing the burden on computing resources and providing a low-cost and efficient solution for both parties to data sharing. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 The figure is a flow chart of a method according to an embodiment of the present invention.
[0045] Figure 2 It is an overall model diagram of an embodiment of the present invention. DETAILED DESCRIPTION
[0046] In order to deepen the understanding of the present invention, the present invention is further explained in detail below in conjunction with specific embodiments. The method flow and overall model of the present invention are respectively as follows: Figure 1 and Figure 2 The detailed implementation process is as follows.
[0047] Embodiment: A data security sharing method of a linkable ring signature, the method comprising the following steps:
[0048] Step 1: Initialization settings. The data sharing system is given a parameter λ to generate a generator g with a prime number q on the elliptic curve. The data sharing system selects a cryptographic hash function H s : {0, 1} * →Z q and H p : {0, 1} * →G. Among them, Z q represents a set {0, ..., q-1}. G represents a base point on the elliptic curve.
[0049] Step 2: Generate a key. The data sharing system gives a parameter λ and generates a private key sk for the data user or data owner. i , and calculate the public key Thus generating a public-private key pair (sk i , pk i ).
[0050] Step 3: The data owner generates a signature. The data owner randomly selects the public keys of other data owners to generate a public key set of length n. Among them, pk ε is the data owner's own public key, and the remaining public keys are the public keys of other data owners selected by the data owner. ε represents the position of the data owner in the public key set. Next, the data owner selects the data M to be shared and his own private key sk ∈ , to generate the signature σ corresponding to M.
[0051] Sub-step 3-1, the key image is innovatively designed, and the original key image K is split into two independent key images K1 and K2. Among them, K2 is calculated from K1. The data owner calculates his own key image (K1, K2):
[0052] h=H p (pk ε )
[0053]
[0054] Among them, h is the intermediate variable generated in the signature generation process, sk ε is the data owner's own private key, K1 and K2 are key images, pk ε is the public key of the data owner, H p () is a hash function.
[0055] Sub-step 3-2, the data owner randomly selects αε , β ε ∈Z q , and pick a random challenge c i ∈Z q . Where 1≤i≤n and i≠ε, i is an integer. Then, the data owner calculates and And the generated challenge sum c:
[0056]
[0057]
[0058] in, and It is an intermediate variable used for subsequent calculations during the signature process. c is the data M and intermediate variables shared by the data owner during the signature process. and Public Key Ring The resulting hash value.
[0059] Sub-step 3-3, according to c i ∈Z q , where 1≤i≤n(i≠ε) and i is an integer, the data owner calculates the challenge c ε , and generate responses v and w:
[0060] c ε =c-(c1+…+c ε-1 +c ε+1 +…+c n )
[0061] v=α ε -c ε ·sk ε
[0062] w=β ε -c ε ·(sk ε ) -1
[0063] Among them, v and w are the components of the signature, c ε It is the sum of challenges c in substep 3-2 minus all random challenges c i Generated.
[0064] In sub-step 3-4, the data owner uses the non-interactive summation zero-knowledge proof (NISA) method to perform logarithmic compression of the signature and calculate P and To reduce the communication cost of signing:
[0065]
[0066] Among them, P, and It is the input of the NISA method generated during the signature generation process. The data owner will P, and c generated in sub-step 3-2 as input, using Get proof π NISA .in, It is a proof algorithm used to achieve logarithmic compression of signature size. NISA is the proof generated by NISA. Ultimately, the data owner gets the generated signature
[0067] Step 4: Data user verifies signature. Data user receives signature from data owner And the shared data M, and verify it to obtain the verification result.
[0068] Sub-step 4-1: Data users use M and Calculate c, calculate W through K2, w, and calculate V through v:
[0069]
[0070] W=K2 w
[0071] in, K2 and w are components of the signature σ. c is the hash value generated by the data user. W is an intermediate variable generated by the data user during the verification process.
[0072] Sub-step 4-2: Data user judgment With K1 c Are they equal, as follows:
[0073]
[0074] Among them, K1 and c i is the component of the received signature σ. If The data user continues to execute sub-step 4-3. Otherwise, the data user determines that the signature has a forgery risk and outputs the verification result as false.
[0075] Sub-step 4-3, the data user calculates P and And for the π in the signature σ NISA Perform the final verification as follows:
[0076]
[0077] Among them, P and It is the input of the NISA method generated during the signature verification process. The data user will P, π in signature σ NISA and c generated in sub-step 4-1 as input, using The verification result is obtained. is the verification algorithm used to verify π NISA Is it true? When the verification result is true, the data user accepts the signature σ. Otherwise, the data user discards the signature.
[0078] Step 5: The data user links the signatures. The data user receives two pairs of signatures σ′ and σ″, and the corresponding shared data are M′ and M″ respectively. If K1′ and K1″ in σ′ and σ″ are equal, then the data user directly determines that σ′ and σ″ are linked, and the data user will discard the signature σ″.
[0079] Based on the same inventive concept, the present invention provides a method and device for securely sharing data with a linkable ring signature, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is loaded into the processor, the method and device for securely sharing data with a linkable ring signature described above are implemented.
[0080] It should be noted that the above embodiments are only used to illustrate the present invention and are not used to limit the scope of the present invention. After reading the present invention, various equivalent modifications of the present invention by those skilled in the art all fall within the scope defined by the claims attached to this application.
Claims
1. A data security sharing method for linkable ring signatures, characterized in that: The method comprises the following steps: Step 1: Initialization settings; Step 2: Generate a key; Step 3: The data owner generates a signature; Step 4: Data user verifies the signature; Step 5: Data user links the signature.
2. A data security sharing method for a linkable ring signature according to claim 1, characterized in that: Step 1: Initialization settings, as follows: the data sharing system is given a security parameter λ to generate a generator g with a prime number q on the elliptic curve, and the data sharing system selects a cryptographic hash function H s :{0,1} * →Z q and H p :{0,1} * →G, where Z q represents a set {0,…,q-1}, and G represents the base point on the elliptic curve.
3. A data security sharing method for a linkable ring signature according to claim 1, characterized in that: Step 2: Generate a key. Specifically, the data sharing system generates a private key sk for the data user or data owner. i , and calculate the public key Thus generating a public-private key pair (sk i ,pk i ).
4. A data security sharing method for a linkable ring signature according to claim 1, characterized in that: Step 3: The data owner generates a signature. Specifically, the data owner randomly selects the public keys of other data owners to generate a public key set of length n. Among them, pk ε is the data owner's own public key, and the remaining public keys are the public keys of other data owners selected by the data owner. ε represents the position of the data owner in the public key set. Then, the data owner selects the data M to be shared and his own private key sk ∈ , to generate the signature σ corresponding to M. The specific implementation process is as follows: Sub-step 3-1, an innovative design is made for the key image, the original key image K is split into two independent key images K1 and K2, where K2 is calculated from K1. The data owner calculates his own key image (K1, K2): h=H p (pk ε ) Among them, h is the intermediate variable generated in the signature generation process, sk ε is the data owner's own private key, K1 and K2 are key images, pk ε is the public key of the data owner, H p () is a hash function, Sub-step 3-2, the data owner randomly selects α ε ,β ε ∈Z q , and pick a random challenge c i ∈Z q , where 1≤i≤n and i≠ε, i is an integer. Then, the data owner calculates and And the generated challenge sum c: in, and It is an intermediate variable used for subsequent calculations during the signature process. c is the data M and intermediate variables shared by the data owner during the signature process. and Public Key Ring The resulting hash value, Sub-step 3-3, according to c i ∈Z q , where 1≤i≤n(i≠ε) and i is an integer, the data owner calculates the challenge c ε , and generate responses v and w: c ε =c-(c1+…+c ε-1 +c ε+1 +…+c n ) v=α ε -c ε ·en ε w=β ε -c ε ·(en ε ) -1 Among them, v and w are the components of the signature, c ε It is the sum of challenges c in substep 3-2 minus all random challenges c i Generated, Sub-step 3-4, the signer obtains the final generated signature 5. A data security sharing method for linkable ring signature according to claim 1, characterized in that: Step 4: The data user verifies the signature and receives the signature from the data owner Shared data M and public key set And verify it to get the verification result. The specific process is as follows: Sub-step 4-1: Data users use M and Calculate c, calculate W through K2,w, and calculate V through v: W=K2 w V=g v in, K2, w and v are the components of the signature σ, c is the hash value generated by the data user, W and V are the intermediate variables generated by the data user during the verification process, Sub-step 4-2, the data user first determines whether c and c1+…+c n Are they equal? Then judge With K1 c Are they equal? c ? c1+…+c i +…+c n Among them, K1 and c i is the component of the received signature σ, if c=c1+…+c i +…+c n and The data user continues to execute sub-step 4-3. Otherwise, the data user determines that the signature has a forgery risk and outputs the verification result as false. Sub-step 4-3: Data user determination Is it equal to Among them, pk i Is a collection of public keys The public key of the i-th data owner in This means that if the signature σ received by the data user is true, the verification result output is true and the data user accepts the signature.
6. A data security sharing method for linkable ring signature according to claim 1, characterized in that: Step 5: The data user links the signatures. The data user receives two pairs of signatures σ′ and σ″, and the corresponding shared data are M′ and M″ respectively. If the key image K1′ and the key image K1″ in the signature σ′ and the signature σ″ are equal, then the data user directly determines that the signature σ′ and the signature σ″ are linked, and the data user will discard σ″.
7. A data security sharing device capable of linking ring signatures, characterized in that: The device implements the data security sharing method of the linkable ring signature described in any one of claims 1-6, including: module 1: initialization setting module; module 2: key generation module; module 3: data owner signature generation module; module 4: data user signature verification module; module 5: data user link signature module.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the data security sharing method of the linkable ring signature as described in any one of claims 1 to 6 is implemented.
9. A computer-readable storage medium having computer instructions stored thereon, characterized in that: When the computer instruction is executed by the processor, the data security sharing method of the linkable ring signature as described in any one of claims 1 to 6 is implemented.