Identity-Based Linkable Ring Signature Method and System

Through the linkable double-ring signature scheme based on the identity, the main public and private keys and the user's private keys are generated and the link tags are calculated, and the cumbersome problems of certificate exchange and management in the prior art are solved, and the signature size is reduced and the resource consumption is reduced, and the safe and efficient signature generation and verification are achieved.

CN116915409BActive Publication Date: 2025-08-05INST OF SOFTWARE - CHINESE ACAD OF SCI +2
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310650815.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-02
Publication Date
2025-08-05
Estimated Expiration
2043-06-02

AI Technical Summary

Technical Problem

The existing linkable double-ring signature scheme requires the exchange of digital certificates and public keys, resulting in high bandwidth resource consumption and cumbersome certificate management, making it difficult to meet the needs of security and efficiency.

Method used

The linkable double-ring signature scheme based on identity is adopted. By generating the main public-private key pair and the user private key, the link tag and signature are calculated, and the exchange of public key certificates and the storage of the key directory are avoided, and the signature is generated using user identity information.

Benefits of technology

Effectively reduce signature size, reduce bandwidth resource consumption, simplify certificate management, and achieve safe and efficient signature generation and verification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116915409B_ABST
    Figure CN116915409B_ABST
Patent Text Reader

Abstract

The present invention discloses a linkable double-ring signature method and system based on identification, the method comprising: obtaining a master public-private key pair; based on the master private key and the user identity ID of the ring member node j; j , generate the user private key sk of the ring member node j j When ring member node j signs a message, it calculates a link tag I based on the user identity and user private key of the ring member node in the ring member list. It then outputs a signature σ of the message based on the link tag I, the master public key, and the user private keys of all ring member nodes. The signature σ is then verified. This invention effectively reduces bandwidth resource consumption and makes the solution easy to deploy, manage, and implement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of information security technology, and in particular to an identifier-based linkable double-ring signature method and system. Background Art

[0002] Linkable Ring Signature (LRS) is a special ring signature technology that, in addition to the unforgeability and anonymity of ring signatures, can also link signatures signed by the same signer. It is widely used in scenarios such as electronic voting and anonymous electronic elections to address the issues of duplicate voting or multiple elections. Although existing linkable ring signature schemes can effectively reduce signature length by using dual ring technology (DualRing), these schemes involve the exchange of digital certificates and public keys, which consumes high bandwidth resources and involves cumbersome certificate management.

[0003] To address the above issues, this patent designs a linkable double-ring signature scheme based on identification cryptography, which not only effectively reduces the signature size, but also allows the communicating parties to securely generate and verify signatures without having to exchange public key certificates or save key directories. Summary of the Invention

[0004] The present invention aims to provide a linkable double-ring signature scheme based on identifiers, which aims to solve the problems of existing linkable double-ring signatures involving cumbersome digital certificate exchange and large signature length, effectively reduce bandwidth resource consumption, and make the scheme easy to deploy, manage and implement.

[0005] The technical solution of the present invention includes:

[0006] A linkable double-ring signature method based on identification is applied to a ring member node j in a ring member list, the method comprising:

[0007] Obtain a master public-private key pair; wherein the master public-private key pair is generated by a trusted central node;

[0008] Based on the master private key and the user identity ID of the ring member node j j , generate the user private key sk of the ring member node j j ;

[0009] When the ring member node j signs a message, the link tag I is calculated based on the user identity and user private key of the ring member node in the ring member list, and the signature σ of the message is output according to the link tag I, the master public key and the user private keys of all ring member nodes;

[0010] Verify the signature σ.

[0011] Furthermore, the master public-private key pair is generated by a trusted central node and includes:

[0012] Get the system parameter λ and select a random number in, represents the set of integers consisting of 0, 1, 2, ..., q-1, where q represents a large prime number;

[0013] The random number x is used as the value of the master private key sk, and the master public key pk=g is calculated x ; where g represents the multiplicative cyclic group The generator of .

[0014] Furthermore, the master private key and the user ID of the ring member node j are j , generate the user private key sk of the ring member node j j ,include:

[0015] Pick a random number in, represents the set of integers consisting of 0, 1, 2, ..., q-1, where q represents a large prime number;

[0016] Calculate the first part of the user's private key K j =g l ; where g represents the multiplicative cyclic group Generators of

[0017] Calculate the first part K of the user's private key j and user ID j The hash value h;

[0018] Calculate the second part d of the user's private key j = l + xh (mod q); where x represents the value of the master private key sk;

[0019] Output the user private key sk of ring member node j j =(K j ,d j ).

[0020] Furthermore, the link label I is calculated based on the user identity and user private key of the ring member node in the ring member list, including:

[0021] Get a list of ring members Among them, n represents the number of ring member nodes in the ring member list, ID i represents the user identity of the i-th ring member node, K i Indicates that the first part of the user private key of the i-th ring member node is used as the user identifier of the i-th ring member node;

[0022] Generate parameters based on the user IDs of all ring member nodes And calculate the parameters The hash value u;

[0023] Calculating link labels

[0024] Furthermore, the step of outputting the signature σ of the message according to the link label I, the master public key, and the user private keys of all ring member nodes includes:

[0025] Pick a random number and a set of random numbers Among them, the random number set Contains n-1 random numbers c i ;

[0026] Calculate intermediate parameters Among them, g r represents r times the group element g, pk represents the master public key, Represents a bit string of arbitrary length {0,1} * Maps to a set of integers Secure cryptographic hashing function on ;

[0027] Based on the random number r, the hash value u and the link label I, the intermediate parameter is calculated

[0028] Calculate message m and parameters The hash value c of the intermediate parameter R and the intermediate parameter T;

[0029] According to the hash value c and the random number set Get the intermediate reference value c signed by ring member node j j ;

[0030] The random number set As the first part of the signature σ, the intermediate parameter s is used as the second part of the signature σ, and the link tag I is used as the third part of the signature σ; wherein the intermediate parameter s=rc j ·d j (mod q).

[0031] Furthermore, the verifying the signature σ includes:

[0032] Generate parameters based on the user IDs of all ring member nodes And calculate the parameters Hash value

[0033] Calculate intermediate parameters and intermediate parameters

[0034] Calculate message m and parameters The hash value c′ of the intermediate parameter R′ and the intermediate parameter T′;

[0035] In the hash value In this case, the signature σ is verified successfully.

[0036] A linkable double-ring signature device based on identification, the device being arranged in a ring member node j, the device comprising:

[0037] A key acquisition module is used to obtain a master public-private key pair; wherein the master public-private key pair is generated by a trusted central node;

[0038] A private key generation module is used to generate a private key based on the master private key and the user ID of the ring member node j. j , generate the user private key sk of the ring member node j j ;

[0039] a signature generation module, configured to calculate a link tag I based on the user identity and user private key of the ring member node in the ring member list when the ring member node j signs a message, and output a signature σ of the message based on the link tag I, the master public key, and the user private keys of all ring member nodes;

[0040] The signature verification module is used to verify the signature σ.

[0041] A linkable double-ring signature system based on identification, characterized in that the system comprises:

[0042] Several ring member nodes; each ring member node j is used to:

[0043] Obtain a master public-private key pair; wherein the master public-private key pair is generated by a trusted central node;

[0044] Based on the master private key and the user identity ID of the ring member node j j , generate the user private key sk of the ring member node j j ;

[0045] When the ring member node j signs a message, the link tag I is calculated based on the user identity and user private key of the ring member node in the ring member list, and the signature σ of the message is output according to the link tag I, the master public key and the user private keys of all ring member nodes;

[0046] Verify the signature σ.

[0047] A computer device comprises a memory and a processor, wherein the memory stores a computer program, and wherein the processor implements any of the above methods when executing the computer program.

[0048] A computer-readable storage medium having computer program instructions stored thereon, wherein the computer program instructions implement any of the above methods when executed.

[0049] Compared with the prior art, the present invention can have the following beneficial effects:

[0050] Currently, identification passwords are mostly combined with single-ring signatures, and the existing linkable double-ring signatures involve the process of exchanging digital certificates and public keys, which consumes high bandwidth resources and involves cumbersome certificate management issues, making it difficult to meet the development needs of security and efficiency.

[0051] The present invention designs a linkable double-ring signature scheme based on the identification cryptographic algorithm, which can not only effectively reduce the signature size, but also effectively reduce the size of the signature. In practice, the user identity is public information such as email address, mobile phone number, QQ number, ID card code, etc., and the K in the private key information is i It is publicly available, so signatures can be securely generated and verified without exchanging public key certificates and saving key directories. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 The figure is a flowchart of a linkable double-ring signature method based on identification according to an exemplary embodiment. DETAILED DESCRIPTION

[0053] The present invention will be described in detail below with reference to the embodiments and accompanying drawings. The following embodiment only represents one possible implementation of the present invention, not all possible implementations, and is not intended to limit the present invention.

[0054] The present invention mainly includes four parts: key generation (KGen), identity encryption (Extract), signature (Sign), and verification (Verify). The details are as follows:

[0055] Algorithm 1. Key Generation (KGen): Input system parameter λ, randomly select Calculate y = g x , the algorithm outputs the sender's master private key sk = x, master public key pk = y. Among them, is the set of integers consisting of the integers 0, 1, 2, ..., q-1, where q is a large prime number and g is a multiplicative cyclic group. The generator of .

[0056] Algorithm 2. Identification key extraction (Extract): Input the master private key sk and user identity IDa , randomly selected Calculate the first part of the user's private key K a =g l , master private key sk and user identity ID a Hash value The second part of the user's private key d a =l+xh(mod q), output user private key sk a =(K a ,d a ). Among them, mod q is the modulo q operation, Represents a bit string of arbitrary length {0,1} * Maps to a set of integers A secure cryptographic hash function on .

[0057] Algorithm 3. Signature:

[0058] Step 3.1: Enter the user private key sk j =(K j ,d j ), Ring member list Message m. Calculate the hash value of the first part of the user's private key Among them, the present invention converts the first part of the user's private key K i As user identification, ID i Indicates the user identity of ring member i, n indicates the number of ring member users, 1 <i<n。

[0059] Step 3.2: Calculate link labels

[0060] Step 3.3: Randomly pick a random number calculate and s = rc j ·d j (modq). Among them, g r r times the group element g, Indicates the user ID K in the ring member list i The vector composed of, j represents the signer serial number, 1 <j<n, is the random number selected during the calculation process, c j Generated by calculation, R and T are intermediate values, and s is part of the signature result.

[0061] Step 3.4: Output signature σ=(c1,…c n ,s,I).

[0062] Algorithm 4. Verify: Input the signature to be verified σ and the ring member list Message m. Calculation like The algorithm outputs 1 if the verification is successful, otherwise it outputs 0.

[0063] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the present disclosure. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The embodiments are to be considered merely as illustrative, and the present disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and variations may be made without departing from the scope thereof.

Claims

1. A linkable double-ring signature method based on identification, characterized in that: Applied to a ring member node j in the ring member list, the method includes: Obtain a master public-private key pair; wherein the master public-private key pair is generated by a trusted central node; Based on the master private key and the user identity ID of the ring member node j j , generate the user private key sk of the ring member node j j ; Wherein, the user identity ID based on the master private key and the ring member node j j , generate the user private key sk of the ring member node j j ,include: Pick a random number in, represents the set of integers consisting of 0, 1, 2, ..., q-1, where q represents a large prime number; Calculate the first part of the user's private key K j =g l ; where g represents the multiplicative cyclic group Generators of Calculate the first part K of the user's private key j and user ID j The hash value h; Calculate the second part d of the user's private key j = l + xh (mod q); where x represents the value of the master private key sk; Output the user private key sk of ring member node j j =(K j , d j ); When the ring member node j signs a message, a link tag I is calculated based on the user identity and user private key of the ring member node in the ring member list, and a signature σ of the message is output based on the link tag I, the master public key, and the user private keys of all ring member nodes. Calculating the link tag I based on the user identity and user private key of the ring member node in the ring member list includes: Get a list of ring members Among them, n represents the number of ring member nodes in the ring member list, ID i represents the user identity of the i-th ring member node, K i Indicates that the first part of the user private key of the i-th ring member node is used as the user identifier of the i-th ring member node; Generate parameters based on the user IDs of all ring member nodes And calculate the parameters The hash value u; Calculating link labels Verify the signature σ.

2. The method according to claim 1, wherein The master public-private key pair is generated by a trusted central node and includes: Get the system parameter λ and select a random number in, represents the set of integers consisting of 0, 1, 2, ..., q-1, where q represents a large prime number; The random number x is used as the value of the master private key sk, and the master public key pk=g is calculated x ; where g represents the multiplicative cyclic group The generator of .

3. The method according to claim 1, wherein Outputting the signature σ of the message according to the link label I, the master public key, and the user private keys of all ring member nodes includes: Pick a random number and a set of random numbers Among them, the random number set Contains n-1 random numbers c i ; Calculate intermediate parameters Among them, g r represents r times the group element g, pk represents the master public key, Represents a bit string of arbitrary length {0, 1} * Maps to a set of integers Secure cryptographic hashing function on ; Based on the random number r, the hash value u and the link label I, the intermediate parameter is calculated Calculate message m and parameters The hash value c of the intermediate parameter R and the intermediate parameter T; According to the hash value c and the random number set Get the intermediate reference value c signed by ring member node j j ; The random number set As the first part of the signature σ, the intermediate parameter s is used as the second part of the signature σ, and the link tag I is used as the third part of the signature σ; wherein the intermediate parameter s=rc j ·d j (mod q).

4. The method according to claim 3, wherein The verifying the signature σ comprises: Generate parameters based on the user IDs of all ring member nodes And calculate the parameters Hash value Calculate intermediate parameters and intermediate parameters Calculate message m and parameters The hash value c′ of the intermediate parameter R′ and the intermediate parameter T′; In the hash value In this case, the signature σ is verified successfully.

5. A linkable double-ring signature device based on identification, characterized in that: The device is set in a ring member node j in the ring member list, and the device includes: A key acquisition module is used to obtain a master public-private key pair; wherein the master public-private key pair is generated by a trusted central node; A private key generation module is used to generate a private key based on the master private key and the user ID of the ring member node j. j , generate the user private key sk of the ring member node j j ; Wherein, the user identity ID based on the master private key and the ring member node j j , generate the user private key sk of the ring member node j j ,include: Pick a random number in, represents the set of integers consisting of 0, 1, 2, ..., q-1, where q represents a large prime number; Calculate the first part of the user's private key K j =g l ; where g represents the multiplicative cyclic group Generators of Calculate the first part K of the user's private key j and user ID j The hash value h; Calculate the second part d of the user's private key j = l + xh (mod q); where x represents the value of the master private key sk; Output the user private key sk of ring member node j j =(K j , d j ); The signature generation module is configured to calculate a link tag I based on the user identity and user private key of the ring member node in the ring member list when the ring member node j signs a message, and output a signature σ of the message based on the link tag I, the master public key, and the user private keys of all ring member nodes; wherein the calculation of the link tag I based on the user identity and user private key of the ring member node in the ring member list includes: Get a list of ring members Where n represents the number of ring member nodes in the ring member list, ID i represents the user identity of the i-th ring member node, K i Indicates that the first part of the user private key of the i-th ring member node is used as the user identifier of the i-th ring member node; Generate parameters based on the user IDs of all ring member nodes And calculate the parameters The hash value u; Calculating link labels The signature verification module is used to verify the signature σ.

6. A linkable double-ring signature system based on identification, characterized in that: The system comprises: Several ring member nodes in the ring member list; each ring member node j is used to: Obtain a master public-private key pair; wherein the master public-private key pair is generated by a trusted central node; Based on the master private key and the user identity ID of the ring member node j j , generate the user private key sk of the ring member node j j ; Wherein, the user identity ID based on the master private key and the ring member node j j , generate the user private key sk of the ring member node j j ,include: Pick a random number in, represents the set of integers consisting of 0, 1, 2, ..., q-1, where q represents a large prime number; Calculate the first part of the user's private key K j =g l ; where g represents the multiplicative cyclic group Generators of Calculate the first part K of the user's private key j and user ID j The hash value h; Calculate the second part d of the user's private key j = l + xh (mod q); where x represents the value of the master private key sk; Output the user private key sk of ring member node j j =(K j , d j ); When the ring member node j signs a message, a link tag I is calculated based on the user identity and user private key of the ring member node in the ring member list, and a signature σ of the message is output based on the link tag I, the master public key, and the user private keys of all ring member nodes. Calculating the link tag I based on the user identity and user private key of the ring member node in the ring member list includes: Get a list of ring members Among them, n represents the number of ring member nodes in the ring member list, ID i represents the user identity of the i-th ring member node, K i Indicates that the first part of the user private key of the i-th ring member node is used as the user identifier of the i-th ring member node; Generate parameters based on the user IDs of all ring member nodes And calculate the parameters Hash value u; calculate link label Verify the signature σ.

7. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the method according to any one of claims 1 to 4 is implemented.

8. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: The computer program instructions implement the method of any one of claims 1 to 4 when executed.

Citation Information

Patent Citations

  • Blockchain anonymous signature method based on linkable ring signature and multiple signatures

    CN110011810A