Group identity security anonymous authentication method and system based on secret sharing
By dividing the user's private key into three shares and having the computing party calculate the public key share, and then comparing the public key hash value with the management party, the problem of some management parties being unable to authenticate their identities is solved, thus achieving anonymous authentication and data security.
Patent Information
- Application Number
- CN202411669921.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-21
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2044-11-21
AI Technical Summary
In existing technologies, some administrators are unable to perform identity authentication because they do not store all user public keys, resulting in user identity authentication failure.
The access party's private key is divided into three shares, and three computing parties calculate the public key shares. The management party calculates the public key hash value based on the public key shares and compares it with the authentication hash fingerprint set for authentication.
It enables authentication without exposing public keys, ensuring user anonymity and improving the security and reliability of data transmission.
Smart Images

Figure CN119484127B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of privacy computing, and in particular to a group identity security anonymous authentication method and system based on secret sharing. Background Art
[0002] In many environments, secure user identity authentication is required to ensure that users can continue with other business processes after authentication. For example, secure user identity authentication is required in application scenarios such as electronic voting systems, enterprise access control, government services such as tax filing, and remote healthcare services.
[0003] In the prior art, the user's public key is often obtained and compared with the public key in the public key set to complete the authentication. However, in some scenarios, some administrators do not have the authority to store all the user's public keys. In this case, the administrator cannot authenticate the user.
[0004] There is currently no effective solution to the above-mentioned problems in the prior art. Summary of the Invention
[0005] To solve the above problems, the present invention provides a group identity security anonymous authentication method and system based on secret sharing. By having the management party store the authentication hash fingerprint set of the public key, the access party divides its private key and distributes it to three computing parties to calculate the public key shares. The management party calculates the overall hash value of the public key based on the public key shares and compares it with the authentication hash fingerprint set to complete user identity authentication, thereby solving the problem in the existing technology that some management parties are unable to perform identity authentication.
[0006] To achieve the above-mentioned purpose, the present invention provides a group identity security anonymous authentication method based on secret sharing, comprising: determining public parameters according to security level parameters; each accessing party randomly selects its own private key, calculates its own public key according to the public parameters and its own private key, calculates the corresponding public key hash according to its own public key, sends the public key hash to and stores it in the authentication hash fingerprint set of the management party; the target accessing party divides its own target private key into a first private key share, a second private key share and a third private key share, sends the first private key share and the second private key share to the first calculation party, sends the second private key share and the third private key share to the second calculation party, and sends the third private key share and the first private key share to the third calculation party; the first calculation party calculates the first private key share, the second private key share and the public key share according to the first private key share, the second private key share and the public key share. parameters, and jointly obtains the first public key share and the second public key share with the second computing party and the third computing party; the second computing party obtains the second public key share and the third public key share according to the second private key share, the third private key share and the public parameters, and jointly obtains the third public key share and the first public key share according to the third private key share, the first private key share and the public parameters, and jointly obtains the third public key share and the first public key share with the first computing party and the second computing party; the public key shares of two parties are randomly selected from the first computing party, the second computing party and the third computing party and sent to the management party, the management party calculates the target public key hash according to the first public key share, the second public key share and the third public key share, and determines whether the target public key hash exists in the authentication hash fingerprint set. If so, the authentication is successful; otherwise, the authentication fails.
[0007] Further optionally, the public parameters include: a public key calculation modulus, an interval factor, and a public key construction coefficient; calculating the own public key based on the public parameters and the own private key includes: determining the private key interval to which the own private key belongs based on the interval factor and the own private key; calculating the own public key based on the public key construction coefficient corresponding to the private key interval, the public key calculation modulus, and the own private key.
[0008] Further optionally, the first computing party obtains the first public key share and the second public key share based on the first private key share, the second private key share and the public parameters, and jointly with the second computing party and the third computing party, including: based on the first private key share and the second private key share, and jointly with the second computing party and the third computing party, calling the first multiplication calculation protocol to obtain a private key power share set; based on the private key power share set and the public key construction coefficient, obtaining a possible public key share set; based on the first private key share, the second private key share and the interval factor, and jointly with the second computing party and the third computing party, calling the comparison protocol to obtain an interval factor comparison value set; calculating the interval set to which the private key belongs based on the interval factor comparison value set; based on the possible public key share set and the interval set to which the private key belongs, and jointly with the second computing party and the third computing party, calling the second multiplication calculation protocol to obtain a possible public key distribution interval set; and calculating the first public key share and the second public key share based on the possible public key distribution interval set.
[0009] Further optionally, the target access party divides its target private key into a first private key share, a second private key share and a third private key share, including: randomly selecting the first private key share and the second private key share of the target private key; and calculating the third private key share based on the target private key and the first private key share and the second private key share.
[0010] On the other hand, the present invention also provides a group identity security anonymous authentication system based on secret sharing, including: a public parameter initialization module, used to determine the public parameters according to the security level parameters; a public-private key calculation module, used for each access party to randomly select its own private key, calculate its own public key according to the public parameters and its own private key, and calculate the corresponding public key hash according to its own public key, and send and store the public key hash to the authentication hash fingerprint set of the management party; a private key share distribution module, used for the target access party to divide its own target private key into a first private key share, a second private key share and a third private key share, send the first private key share and the second private key share to the first calculation party, send the second private key share and the third private key share to the second calculation party, and send the third private key share and the first private key share to the third calculation party; a public key share calculation module, used for the first calculation party to calculate the target private key according to the first calculation party. The first private key share, the second private key share and the public parameters, and jointly with the second and third computing parties obtain the first public key share and the second public key share; the second computing party obtains the second public key share and the third public key share based on the second private key share, the third private key share and the public parameters, and jointly with the first and third computing parties; the third computing party obtains the third public key share and the first public key share based on the third private key share, the first private key share and the public parameters, and jointly with the first and second computing parties; the authentication module is used to randomly select the public key shares of two parties from the first, second and third computing parties and send them to the management party, the management party calculates the target public key hash based on the first, second and third public key shares, and determines whether the target public key hash exists in the authentication hash fingerprint set. If so, the authentication is successful; otherwise, the authentication fails.
[0011] Further optionally, the public parameters include: a public key calculation modulus, an interval factor, and a public key construction coefficient; the public-private key calculation module includes: an interval selection submodule, for determining the private key interval to which the own private key belongs based on the interval factor and the own private key; a public key calculation submodule, for calculating the own public key based on the public key construction coefficient corresponding to the private key interval, the public key calculation modulus, and the own private key.
[0012] Further optionally, the public key share calculation module includes: a first multiplication calculation submodule, used to call the first multiplication calculation protocol according to the first private key share and the second private key share, and jointly with the second and third calculation parties, to obtain a private key power share set; a public key share construction submodule, used to obtain a possible public key share set according to the private key power share set and the public key construction coefficient; an interval comparison submodule, used to call the comparison protocol according to the first private key share, the second private key share and the interval factor, and jointly with the second and third calculation parties, to obtain an interval factor comparison value set; an interval determination submodule, used to calculate the interval set to which the private key belongs based on the interval factor comparison value set; a second multiplication calculation submodule, used to call the second multiplication calculation protocol according to the possible public key share set and the interval set to which the private key belongs, and jointly with the second and third calculation parties, to obtain a possible public key distribution interval set; a public key share calculation module, used to calculate the first public key share and the second public key share based on the possible public key distribution interval set.
[0013] Further optionally, the private key share distribution module includes: a random selection submodule, used to randomly select the first private key share and the second private key share of the target private key; and a remaining share calculation submodule, used to calculate the third private key share based on the target private key and the first private key share and the second private key share.
[0014] On the other hand, the present invention further provides a group identity security anonymous authentication device based on secret sharing, comprising the above-mentioned group identity security anonymous authentication system based on secret sharing.
[0015] On the other hand, the present invention further provides a computer-readable storage medium having a computer program stored thereon, which implements the above-mentioned group identity security and anonymous authentication method based on secret sharing when the program is executed by a processor.
[0016] The above technical solution has the following beneficial effects: by storing the public key hash of the authorized access party to the management party and using the public key hash as a comparison value for authentication, the user can perform identity authentication without exposing the public key, thereby ensuring the user's anonymous authentication; the private key is divided into three shares and the combined shares are sent to three calculation parties for calculation of the public key shares, thereby ensuring the security and data reliability during data transmission. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. 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 paying any creative work.
[0018] Figure 1Flowchart of a method for secure anonymous authentication of group identities based on secret sharing provided by an embodiment of the present invention;
[0019] Figure 2 is a flowchart of a public key calculation method provided by an embodiment of the present invention;
[0020] Figure 3 This is a flowchart of a method for calculating a public key share of a first computing party provided by an embodiment of the present invention;
[0021] Figure 4 is a flowchart of a method for selecting a private key share provided by an embodiment of the present invention;
[0022] Figure 5 1 is a schematic diagram of the structure of a group identity security anonymous authentication system based on secret sharing provided by an embodiment of the present invention;
[0023] Figure 6 Schematic diagram of the structure of the public and private key calculation module provided by an embodiment of the present invention;
[0024] Figure 7 Schematic diagram of the structure of the public key share calculation module provided by an embodiment of the present invention;
[0025] Figure 8 It is a structural diagram of the private key share distribution module provided in an embodiment of the present invention.
[0026] Figure markings: 100-public parameter initialization module; 200-public and private key calculation module; 2001-interval selection submodule; 2002-public key calculation submodule; 300-private key share distribution module; 3001-random selection submodule; 3002-remaining share calculation submodule; 400-public key share calculation module; 4001-first multiplication calculation submodule; 4002-public key share construction submodule; 4003-interval comparison submodule; 4004-interval determination submodule; 4005-second multiplication calculation submodule; 4006-public key share calculation module; 500-authentication module. DETAILED DESCRIPTION
[0027] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0028] In order to solve the problem that some management parties are unable to securely authenticate user identities in the prior art, an embodiment of the present invention provides a group identity security anonymous authentication method based on secret sharing. Figure 1Flowchart of a method for secure anonymous authentication of group identities based on secret sharing provided by an embodiment of the present invention. Figure 1 As shown, the method includes:
[0029] S1. Determine public parameters based on security level parameters;
[0030] Before performing user identity authentication, it is necessary to determine the security level of the current scenario, set different public parameters for different security levels, and use appropriate public parameters for calculations in different scenarios.
[0031] S2. Each accessing party randomly selects its own private key, calculates its own public key based on the public parameters and its own private key, calculates the corresponding public key hash based on its own public key, and sends and stores the public key hash to the authentication hash fingerprint set of the management party;
[0032] For the multi-party management platform, the set of access parties to which the system grants access rights is V: {v1, v2, ..., v I}, where each access party randomly selects its own private key sk i∈[I] Based on the private key and public parameters, the public key corresponding to each local private key can be calculated, and the public key hash of each local public key can be calculated. The accessing party sends the public key hash to the management party, and the management party stores the received public key hash in the authentication hash fingerprint set for subsequent authentication comparison.
[0033] S3. The target access party divides its target private key into a first private key share, a second private key share, and a third private key share. The first private key share and the second private key share are sent to the first computing party, the second private key share and the third private key share are sent to the second computing party, and the third private key share and the first private key share are sent to the third computing party.
[0034] The target access party to be authenticated divides its target private key into three private key shares, namely the first private key share [sk x ]1. Second private key share [sk x ]2 and the third private key share [sk x ]3.
[0035] The target access party will share the first private key [sk x ]1. Second private key share [sk x ]2 is sent to the first computing party C1, and the second private key share [sk x ]2. The third private key share [sk x ]3 is sent to the second computing party C2, and the third private key share [sk x ]3. First private key share [sk x ]1 is sent to the third computing party C3.
[0036] S4. The first computing party obtains the first public key share and the second public key share based on the first private key share, the second private key share, and the public parameters, in conjunction with the second computing party and the third computing party; the second computing party obtains the second public key share and the third public key share based on the second private key share, the third private key share, and the public parameters, in conjunction with the first computing party and the third computing party; the third computing party obtains the third public key share and the first public key share based on the third private key share, the first private key share, and the public parameters, in conjunction with the first computing party and the second computing party;
[0037] The first computing party C1 calculates the first private key share [sk x ]1. Second private key share [sk x ]2 and the public parameters, and combined with the second private key share [sk x ]2. The third private key share [sk x ]3 and the third private key share [sk x ]3. First private key share [sk x ]1, calculate the first public key share [pk x ]1 and the second public key share [pk x ]2.
[0038] Similarly, the second computing party C2 calculates the second private key share [sk x ]2. The third private key share [sk x ]3 and public parameters, and combined with the first private key share [sk x ]1. Second private key share [sk x ]2 and the third private key share [sk x ]3. First private key share [sk x ]1, calculate the second public key share [pk x ]2 and the third public key share [pk x ]3;
[0039] Similarly, the third computing party C3 calculates the third private key share [sk x ]3. First private key share [sk x ]1 and public parameters, and combined with the first private key share [sk x ]1. Second private key share [sk x ]2 and the second private key share [sk x ]2. The third private key share [sk x ]3, calculate the third public key share [pk x ]3 and the first public key share [pk x ]1.
[0040] S5. Randomly select the public key shares of two parties from the first computing party, the second computing party, and the third computing party and send them to the management party. The management party calculates the target public key hash based on the first public key share, the second public key share, and the third public key share, and determines whether the target public key hash exists in the authentication hash fingerprint set. If so, the authentication is successful; otherwise, the authentication fails.
[0041] The public key share results of two computing parties are randomly selected and sent to the management party. The management party can then calculate the hash fingerprint of the public key based on the share results.
[0042] For example, the first computing party C1 sends the public key share, namely the first public key share [pk x ]1 and the second public key share [pk x ]2Sent to the management party.
[0043] The second computing party C2 converts the public key share, i.e. the second public key share [pk x ]2 and the third public key share [pk x ]3Send to the administrator.
[0044] The management party receives the first public key share [pk x ]1. Second public key share [pk x ]2 and the third public key share [pk x ]3 Calculate the target public key hash Hash (pk x ), where Hash(pk x )=Hash([pk x ]1+[pk x ]2+[pk x ]3).
[0045] Check whether the target public key hash exists in the authentication hash fingerprint set. If so, the authentication is successful and subsequent operations can be performed. Otherwise, the authentication fails.
[0046] As an optional implementation, the public parameters include: a public key calculation modulus, an interval factor, and a public key construction coefficient;
[0047] Public parameters in, is the public key construction coefficient, c k is the interval factor, n is the modulus for public key calculation, i=0,1,…,l; j=1,2,…,m; k=1,2,…,m-1.
[0048] Figure 2 is a flow chart of a public key calculation method provided by an embodiment of the present invention, such as Figure 2 As shown, calculating the public key based on the public parameters and the private key includes:
[0049] S201. Determine the private key interval to which the party's private key belongs based on the interval factor and the party's private key;
[0050] S202. Construct a coefficient of the public key corresponding to the private key interval, calculate the modulus of the public key, and calculate the party's private key and the party's public key.
[0051] For each private key of the party, different public key construction coefficients are required according to the interval to which it belongs. The corresponding public key pk is calculated by the public key construction coefficient, private key and public key calculation modulus. i =f(sk i ).
[0052] As an optional implementation, the calculation of the public key is implemented by the following formula:
[0053]
[0054] From the above formula, we can see that for private keys sk in different intervals, different calculation methods are required to obtain the public key pk.
[0055] As an optional implementation, Figure 3 This is a flow chart of a method for calculating the public key share of a first computing party provided by an embodiment of the present invention. Figure 3 As shown, the first computing party obtains the first public key share and the second public key share based on the first private key share, the second private key share and the public parameters, in conjunction with the second computing party and the third computing party, including:
[0056] S401: Based on the first private key share and the second private key share, the first multiplication calculation protocol is called in conjunction with the second computing party and the third computing party to obtain a private key power share set;
[0057] For the first computing party C1, according to the first private key share and the second private key share 9[sk x ]1,[sk x ]2:, and jointly with the second computing party C2 and the third computing party C3 call the first multiplication computing protocol to obtain the private key power share set
[0058] S402. Obtain a possible public key share set based on the private key power share set and the public key construction coefficient;
[0059] According to the private key power share set And all public key construction coefficients Calculate all possible sets of public key shares in sequence
[0060] in,
[0061] S403: Based on the first private key share, the second private key share, and the interval factor, the second computing party and the third computing party jointly invoke a comparison protocol to obtain a set of interval factor comparison values;
[0062] According to the first private key share and the second private key share 9[sk x ]1,[sk x ]2: and interval factors, construct the private key interval distance share set {([sk x ]1-c1,[sk x ]2-c1),([sk x ]1-c2, [sk x ]2-c2),…,([sk x ]1-c 781 ,[sk x ]2-c 781 )}.
[0063] Based on the private key interval distance share set, the second computing party C2 and the third computing party C3 call the comparison protocol to obtain the interval factor comparison value set [B] 12 :{([b1]1=9[MSB(x-c1)]1,[b1]2=MSB(x-c1)]2:, 9[b2]1=MSB(x-c2)]1,[b2]2=MSB(x-c2)]2:,…,([b 781 ]1=MSB(xc 781 )]1),[b 781 ]2=MSB(xc 781 )]2)}.
[0064] S404. Calculate the interval set to which the private key belongs based on the interval factor comparison value set;
[0065] Comparing sets of values according to interval factors [B] 12 , calculate the interval set to which the private key belongs [R] 12 : {9[r1]1=[b1]1, [r1]2=[b1]2:, 9[r2]1=[b1]1⊕[b2]1, [r2]2=[b1]2⊕[b2]2:,…, 9[r 781 ]1=[b 782 ]1⊕
[0066] [b 781 ]1,[r 781 ]2=[b 782 ]2⊕[b 781 ]2:,9[r7]1=1⊕[b 781 ]1,[r7]2=1⊕[b 781]2:
[0067] Among them, r1:=b1; r2:=b1⊕b2; ...; r 781 :=b 782 ⊕b 781 ; r7: = 1 ⊕ b 781 .
[0068] S405: Based on the possible public key share set and the private key interval set, the second computing party and the third computing party jointly call the second multiplication computing protocol to obtain the possible public key distribution interval set;
[0069] According to the possible public key share set and the interval set to which the private key belongs [R] 12 , and jointly with the second computing party C2 and the third computing party C3 to call the second multiplication computing protocol, obtain the possible public key distribution interval set [pk Si< ] 12 :{([r1f1(sk x )]1,[r1f1(sk x )]2),([r2f2(sk x )]1,[r2f2(sk x )]2),…,
[0070] ([r7f7(sk x )]1,[r7f7(sk x )]2)}.
[0071] S406. Calculate the first public key share and the second public key share according to the possible public key distribution interval set.
[0072] According to the possible public key distribution interval set [pk Si< ] 12 Calculate the first public key share [pk x ]1=[r1f1(sk x )]1+[r2f2(sk x )]1+…+[r 781 f 781 (sk x )]1+[r7f7(sk x )]1;
[0073] According to the possible public key distribution interval set [pk Si< ] 12 Calculate the second public key share [pk x ]2=[r1f1(sk x )]2+[r2f2(sk x )]2+…+[r 781 f 781 (sk x)]2+[r7f7(sk x )]2.
[0074] Among them, the above: pk x =r1f1(sk x )+r2f2(sk x )+…+r 781 f 781 (sk x )+r7f7(sk x ).
[0075] Similarly, when the first computing party C1 obtains the first public key share and the second public key share, the second computing party C2 and the third computing party C3 respectively obtain corresponding public key shares.
[0076] That is, the second computing party C2 calculates the second private key share [sk x ]2. The third private key share [sk x ]3 and public parameters, and combined with the first private key share [sk x ]1. Second private key share [sk x ]2 and the third private key share [sk x ]1. First private key share [sk x ]1, calculate the second public key share [pk x ]2 and the third public key share [pk x ]3; The third computing party C3 calculates the third private key share [sk x ]3. First private key share [sk x ]1 and public parameters, and combined with the first private key share [sk x ]1. Second private key share [sk x ]2 and the second private key share [sk x ]2. The third private key share [sk x ]3, calculate the third public key share [pk x ]3 and the first public key share [pk x ]1.
[0077] The calculation steps for the second computing party C2 and the third computing party C3 to obtain their corresponding public key shares are as follows:
[0078] 1) The second computing party C2 calculates the value of the second private key share and the third private key share 9[sk x ]2、[sk x ]3:, jointly call the first multiplication calculation protocol with the first computing party C1 and the third computing party C3 to obtain the private key power share set
[0079] The third computing party C3 calculates the value of the third private key share and the value of the first private key share according to the third private key share and the value of the first private key share. x ]3. [sk x ]1:, jointly call the first multiplication calculation protocol with the first computing party C1 and the second computing party C2 to obtain the private key power share set
[0080] 2) The second computing party C2 calculates the power share set based on the private key And all public key construction coefficients Calculate all possible sets of public key shares in sequence
[0081] The third computing party C3 calculates the power share set based on the private key And all public key construction coefficients Calculate all possible sets of public key shares in sequence
[0082] in,
[0083] 3) The second computing party C2 calculates the value of the second private key share and the third private key share 9[sk x ]2,[sk x ]3: and interval factors, construct the private key interval distance share set {([sk x ]2-c1,[sk x ]3-c1),([sk x ]2-c2, [sk x ]3-c2),…,([sk x ]2-c 781 ,[sk x ]3-c 781 )}, based on the private key interval distance share set, the first computing party C1 and the third computing party C3 jointly call the comparison protocol to obtain the interval factor comparison value set [B] 23 :{9[b1]2=MSB(x-c1)]2,[b1]3=MSB(x-c1)]3:, 9[b2]2=MSB(x-c2)]2,[b2]3=MSB(x-c2)]3:,…,([b 781 ]2=
[0084] MSB(xc 781 )]2,[b 781 ]3=MSB(xc 781 )]3)};
[0085] The third computing party C3 calculates the value of the third private key share and the value of the first private key share according to the third private key share and the value of the first private key share. x ]3,[sk x ]1: and interval factors, construct the private key interval distance share set {([sk x ]3-c1, [sk x ]1-c1),([sk x ]3-c2, [sk x ]1-c2),…,([sk x ]3-c 781 ,[sk x ]1-c 781 )}, based on the private key interval distance share set, and jointly with the first computing party C1 and the second computing party C2, call the comparison protocol to obtain the interval factor comparison value set [B] 31 :{9[b1]3=MSB(x-c1)]3,[b1]1=[MSB(x-c1)]1:, 9[b2]3=MSB(x-c2)]3,[b2]1=MSB(x-c2)]1:,…,([b 781 ]3=MSB(xc 781 )]3),[b 781 ]1=MSB(xc 781 )]1)}.
[0086] 4) The second computing party C2 compares the value set according to the interval factor [B] 23 , calculate the interval set to which the private key belongs [R] 23 : {9[r1]2=[b1]2, [r1]3=[b1]3:, 9[r2]2=[b1]2⊕[b2]2, [r2]3=[b1]3⊕[b2]3:,…, 9[r 781 ]2=
[0087] [b 782 ]2⊕[b 781 ]2,[r 781 ]3=[b 782 ]3⊕[b 781 ]3:,9[r7]2=1⊕[b 781 ]2,[r7]3=1⊕[b 781 ]3:};
[0088] The third computing party C3 compares the value sets according to the interval factor [B] 31 , calculate the interval set to which the private key belongs [R] 31: {9[r1]3=[b1]3, [r1]1=[b1]1:, 9[r2]3=[b1]3⊕[b2]3, [r2]1=[b1]1⊕[b2]1:,…,9[r 781 ]3=
[0089] [b 782 ]3⊕[b 781 ]3,[r 781 ]1=[b 782 ]1⊕[b 781 ]1:,9[r7]3=1⊕[b 781 ]3,[r7]1=1⊕[b 781 ]1:}.
[0090] 5) The second computing party C2 uses the possible public key share set and the interval set to which the private key belongs [R] 23 , and jointly call the second multiplication protocol with the first computing party C1 and the third computing party C3 to obtain the possible public key distribution interval set [pk Si< ] 23 :{([r1f1(sk x )]2,[r1f1(sk x )]3),([r2f2(sk x )]2,[r1f1(sk x )]3),…,([r7f7(sk x )]2,
[0091] [r1f1(sk x )]3)};
[0092] The third computing party C3 uses the possible public key share set and the interval set to which the private key belongs [R] 31 , and jointly call the second multiplication protocol with the first computing party C1 and the second computing party C2 to obtain the possible public key distribution interval set [pk Si< ] 31 :{([r1f1(sk x )]3,[r1f1(sk x )]1),([r2f2(sk x )]3,[r2f2(sk x )]1),…,([r7f7(sk x )]3,
[0093] [r2f2(sk x )]1)}.
[0094] 6) The second computing party C2 calculates the possible public key distribution interval set [pk Si< ]23 Calculate the second public key share [pk x ]2=[r1f1(sk x )]2+[r2f2(sk x )]2+…+[r 781 f 781 (sk x )]2+[r7f7(sk x )]2, and the third public key share [pk x ]3=[r1f1(sk x )]3+[r2f2(sk x )]3+…+[r 781 f 781 (sk x )]3+[r7f7(sk x )]3;
[0095] The third computing party C1 calculates the possible public key distribution interval set [pk Si< ] 31 Calculate the third public key share [pk x ]3=[r1f1(sk x )]3+[r2f2(sk x )]3+…+[r 781 f 781 (sk x )]3+[r7f7(sk x )]3, and the first public key share [pk x ]1=[r1f1(sk x )]1+[r2f2(sk x )]1+…+[r 781 f 781 (sk x )]1+[r7f7(sk x )]1.
[0096] As an optional implementation, Figure 4 This is a flow chart of a method for selecting a private key share according to an embodiment of the present invention. Figure 4 As shown, the target access party divides its target private key into a first private key share, a second private key share, and a third private key share, including:
[0097] S301, randomly selecting a first private key share and a second private key share of a target private key;
[0098] S302: Calculate a third private key share based on the target private key, the first private key share, and the second private key share.
[0099] Randomly select access private key sk x First private key share [skx ]1←n / 3, access private key sk x Second private key share [sk x ]2←n / 3, then, according to the first private key share [sk x ]1 and the second private key share [sk x ]2Calculate the third private key share [sk x ]3=sk x -[sk x ]1-[sk x ]2 to ensure that the access private key is complete and randomly distributed among the three private key shares.
[0100] The embodiment of the present invention also provides a group identity security anonymous authentication system based on secret sharing, Figure 5 Schematic diagram of the structure of a group identity security anonymous authentication system based on secret sharing provided by an embodiment of the present invention. Figure 5 As shown, the system includes:
[0101] The public parameter initialization module 100 is used to determine the public parameters according to the security level parameters;
[0102] Before performing user identity authentication, it is necessary to determine the security level of the current scenario, set different public parameters for different security levels, and use appropriate public parameters for calculations in different scenarios.
[0103] The public and private key calculation module 200 is used for each access party to randomly select its own private key, calculate its own public key based on the public parameters and its own private key, calculate the corresponding public key hash based on its own public key, and send and store the public key hash to the authentication hash fingerprint set of the management party;
[0104] For the multi-party management platform, the set of access parties to which the system grants access rights is V: {v1, v2, ..., v I}, where each access party randomly selects its own private key sk i∈[I] Based on the private key and public parameters, the public key corresponding to each local private key can be calculated, and the public key hash of each local public key can be calculated. The accessing party sends the public key hash to the management party, and the management party stores the received public key hash in the authentication hash fingerprint set for subsequent authentication comparison.
[0105] The private key share distribution module 300 is configured to divide the target private key of the target access party into a first private key share, a second private key share, and a third private key share, and send the first private key share and the second private key share to the first computing party, send the second private key share and the third private key share to the second computing party, and send the third private key share and the first private key share to the third computing party;
[0106] The target access party to be authenticated divides its target private key into three private key shares, namely the first private key share [sk x ]1. Second private key share [sk x ]2 and the third private key share [sk x ]3.
[0107] The target access party will share the first private key [sk x ]1. Second private key share [sk x ]2 is sent to the first computing party C1, and the second private key share [sk x ]2. The third private key share [sk x ]3 is sent to the second computing party C2, and the third private key share [sk x ]3. First private key share [sk x ]1 is sent to the third computing party C3.
[0108] Public key share calculation module 400, configured for the first computing party, in conjunction with the second and third computing parties, to obtain the first and second public key shares based on the first and second private key shares and public parameters; the second computing party, in conjunction with the first and third computing parties, to obtain the second and third public key shares based on the second and third private key shares and public parameters; and the third computing party, in conjunction with the first and second computing parties, to obtain the third and first public key shares based on the third private key shares, the first private key shares and public parameters.
[0109] The first computing party C1 calculates the first private key share [sk x ]1. Second private key share [sk x ]2 and the public parameters, and combined with the second private key share [sk x ]2. The third private key share [sk x ]3 and the third private key share [sk x ]3. First private key share [sk x ]1, calculate the first public key share [pk x ]1 and the second public key share [pk x ]2.
[0110] Similarly, the second computing party C2 calculates the second private key share [sk x ]2. The third private key share [sk x ]3 and public parameters, and combined with the first private key share [sk x ]1. Second private key share [sk x ]2 and the third private key share [sk x ]3. First private key share [sk x]1, calculate the second public key share [pk x ]2 and the third public key share [pk x ]3;
[0111] Similarly, the third computing party C3 calculates the third private key share [sk x ]3. First private key share [sk x ]1 and public parameters, and combined with the first private key share [sk x ]1. Second private key share [sk x ]2 and the second private key share [sk x ]2. The third private key share [sk x ]3, calculate the third public key share [pk x ]3 and the first public key share [pk x ]1.
[0112] The authentication module 500 is used to randomly select the public key shares of two parties from the first computing party, the second computing party and the third computing party and send them to the management party. The management party calculates the target public key hash based on the first public key share, the second public key share and the third public key share, and determines whether the target public key hash exists in the authentication hash fingerprint set. If so, the authentication is successful; otherwise, the authentication fails.
[0113] The public key share results of two computing parties are randomly selected and sent to the management party. The management party can then calculate the hash fingerprint of the public key based on the share results.
[0114] For example, the first computing party C1 sends the public key share, namely the first public key share [pk x ]1 and the second public key share [pk x ]2Sent to the management party.
[0115] The second computing party C2 converts the public key share, i.e. the second public key share [pk x ]2 and the third public key share [pk x ]3Send to the administrator.
[0116] The management party receives the first public key share [pk x ]1. Second public key share [pk x ]2 and the third public key share [pk x ]3 Calculate the target public key hash Hash (pk x ), where Hash(pk x )=Hash([pk x ]1+[pk x ]2+[pk x ]3).
[0117] Check whether the target public key hash exists in the authentication hash fingerprint set. If so, the authentication is successful and subsequent operations can be performed. Otherwise, the authentication fails.
[0118] As an optional implementation, the public parameters include: a public key calculation modulus, an interval factor, and a public key construction coefficient;
[0119] Public parameters in, is the public key construction coefficient, c k is the interval factor, n is the modulus for public key calculation, i=0,1,…,l; j=1,2,…,m; k=1,2,…,m-1.
[0120] Figure 6 Schematic diagram of the structure of the public and private key calculation module provided by the embodiment of the present invention. Figure 6 As shown, the public-private key calculation module 200 includes:
[0121] The interval selection submodule 2001 is used to determine the private key interval to which the party's private key belongs based on the interval factor and the party's private key;
[0122] The public key calculation submodule 2002 is used to construct a coefficient of the public key corresponding to the private key interval, calculate the modulus of the public key and the private key of the party, and calculate the public key of the party.
[0123] For each private key of the party, different public key construction coefficients are required according to its interval. The corresponding public key pk is calculated by the public key construction coefficient, private key and public key calculation modulus. i =f(sk i ).
[0124] As an optional implementation, the calculation of the public key is implemented by the following formula:
[0125]
[0126] From the above formula, we can see that for private keys sk in different intervals, different calculation methods are required to obtain the public key pk.
[0127] As an optional implementation, Figure 7 This is a schematic diagram of the structure of the public key share calculation module provided by an embodiment of the present invention. Figure 7 As shown, the public key share calculation module 400 includes:
[0128] The first multiplication calculation submodule 4001 calls the first multiplication calculation protocol based on the first private key share and the second private key share, in conjunction with the second and third calculation parties, to obtain a private key power share set;
[0129] For the first computing party C1, according to the first private key share and the second private key share 9[sk x ]1,[sk x ]2:, and jointly with the second computing party C2 and the third computing party C3 call the first multiplication computing protocol to obtain the private key power share set
[0130] Public key share construction submodule 4002, for obtaining a possible public key share set based on the private key power share set and the public key construction coefficient;
[0131] According to the private key power share set And all public key construction coefficients Calculate all possible sets of public key shares in sequence
[0132] in,
[0133] The interval comparison submodule 4003 is configured to obtain a set of interval factor comparison values by invoking a comparison protocol in conjunction with the second and third computing parties based on the first and second private key shares and the interval factor.
[0134] According to the first private key share and the second private key share 9[sk x ]1,[sk x ]2: and interval factors, construct the private key interval distance share set {([sk x ]1-c1,[sk x ]2-c1),([sk x ]1-c2, [sk x ]2-c2),…,([sk x ]1-c 781 ,[sk x ]2-c 781 )}.
[0135] Based on the private key interval distance share set, the second computing party C2 and the third computing party C3 call the comparison protocol to obtain the interval factor comparison value set [B] 12 :{([b1]1=9[MSB(x-c1)]1,[b1]2=MSB(x-c1)]2:, 9[b2]1=MSB(x-c2)]1,[b2]2=MSB(x-c2)]2:,…,([b 781 ]1=MSB(xc 781 )]1),[b 781 ]2=MSB(xc 781 )]2)}.
[0136] The interval determination submodule 4004 is used to calculate the interval set to which the private key belongs based on the interval factor comparison value set;
[0137] Comparing sets of values according to interval factors [B] 12 , calculate the interval set to which the private key belongs [R] 12 : {9[r1]1=[b1]1, [r1]2=[b1]2:, 9[r2]1=[b1]1⊕[b2]1, [r2]2=[b1]2⊕[b2]2:,…, 9[r 781 ]1=[b 782 ]1⊕[b 781 ]1,[r 781 ]2=[b 782 ]2⊕[b 781 ]2:,9[r7]1=1⊕[b 781 ]1,[r7]2=1⊕[b 781 ]2:
[0138] Among them, r1:=b1; r2:=b1⊕b2; ...; r 781 :=b 782 ⊕b 781 ; r7: = 1 ⊕ b 781 .
[0139] The second multiplication calculation submodule 4005 is used to call the second multiplication calculation protocol in conjunction with the second and third computing parties based on the possible public key share set and the private key interval set to obtain the possible public key distribution interval set;
[0140] According to the possible public key share set and the interval set to which the private key belongs [R] 12 , and jointly with the second computing party C2 and the third computing party C3 to call the second multiplication computing protocol, obtain the possible public key distribution interval set [pk Si< ] 12 :{([r1f1(sk x )]1,[r1f1(sk x )]2),([r2f2(sk x )]1,[r2f2(sk x )]2),…,
[0141] ([r7f7(sk x )]1,[r7f7(sk x The public key share calculation module 4006 is configured to calculate the first public key share and the second public key share according to the possible public key distribution interval set.
[0142] According to the possible public key distribution interval set [pk Si< ]12 Calculate the first public key share [pk x ]1=[r1f1(sk x )]1+[r2f2(sk x )]1+…+[r 781 f 781 (sk x )]1+[r7f7(sk x )]1;
[0143] According to the possible public key distribution interval set [pk Si< ] 12 Calculate the second public key share [pk x ]2=[r1f1(sk x )]2+[r2f2(sk x )]2+…+[r 781 f 781 (sk x )]2+[r7f7(sk x )]2.
[0144] Among them, the above: pk x =r1f1(sk x )+r2f2(sk x )+…+r 781 f 781 (sk x )+r7f7(sk x ).
[0145] Similarly, when the first computing party C1 obtains the first public key share and the second public key share, the second computing party C2 and the third computing party C3 respectively obtain corresponding public key shares.
[0146] That is, the second computing party C2 calculates the second private key share [sk x ]2. The third private key share [sk x ]3 and public parameters, and combined with the first private key share [sk x ]1. Second private key share [sk x ]2 and the third private key share [sk x ]3. First private key share [sk x ]1, calculate the second public key share [pk x ]2 and the third public key share [pk x ]3; The third computing party C3 calculates the third private key share [sk x ]3. First private key share [sk x ]1 and public parameters, and combined with the first private key share [sk x]1. Second private key share [sk x ]2 and the second private key share [sk x ]2. The third private key share [sk x ]3, calculate the third public key share [pk x ]3 and the first public key share [pk x ]1.
[0147] The calculation steps for the second computing party C2 and the third computing party C3 to obtain their corresponding public key shares are as follows:
[0148] 1) The second computing party C2 calculates the value of the second private key share and the third private key share 9[sk x ]2、[sk x ]3:, jointly call the first multiplication calculation protocol with the first computing party C1 and the third computing party C3 to obtain the private key power share set
[0149] The third computing party C3 calculates the value of the third private key share and the value of the first private key share according to the third private key share and the value of the first private key share. x ]3. [sk x ]1:, jointly call the first multiplication calculation protocol with the first computing party C1 and the second computing party C2 to obtain the private key power share set
[0150] 2) The second computing party C2 calculates the power share set based on the private key And all public key construction coefficients Calculate all possible sets of public key shares in sequence
[0151] The third computing party C3 calculates the power share set based on the private key And all public key construction coefficients Calculate all possible sets of public key shares in sequence
[0152] in,
[0153] 3) The second computing party C2 calculates the value of the second private key share and the third private key share 9[sk x ]2,[sk x ]3: and interval factors, construct the private key interval distance share set {([sk x ]2-c1,[sk x ]3-c1),([sk x]2-c2, [sk x ]3-c2),…,([sk x ]2-c 781 ,[sk x ]3-c 781 )}, based on the private key interval distance share set, the first computing party C1 and the third computing party C3 jointly call the comparison protocol to obtain the interval factor comparison value set [B] 23 :{9[b1]2=MSB(x-c1)]2,[b1]3=MSB(x-c1)]3:, 9[b2]2=MSB(x-c2)]2,[b2]3=MSB(x-c2)]3:,…,([b 781 ]2=
[0154] MSB(xc 781 )]2,[b 781 ]3=MSB(xc 781 )]3)};
[0155] The third computing party C3 calculates the value of the third private key share and the value of the first private key share according to the third private key share and the value of the first private key share. x ]3,[sk x ]1: and interval factors, construct the private key interval distance share set {([sk x ]3-c1, [sk x ]1-c1),([sk x ]3-c2, [sk x ]1-c2),…,([sk x ]3-c 781 ,[sk x ]1-c 781 )}, based on the private key interval distance share set, and jointly with the first computing party C1 and the second computing party C2, call the comparison protocol to obtain the interval factor comparison value set [B] 31 :{9[b1]3=MSB(x-c1)]3,[b1]1=[MSB(x-c1)]1:, 9[b2]3=MSB(x-c2)]3,[b2]1=MSB(x-c2)]1:,…,([b 781 ]3=MSB(xc 781 )]3),[b 781 ]1=MSB(xc 781 )]1)}.
[0156] 4) The second computing party C2 compares the value set according to the interval factor [B] 23 , calculate the interval set to which the private key belongs [R] 23: {9[r1]2=[b1]2, [r1]3=[b1]3:, 9[r2]2=[b1]2⊕[b2]2, [r2]3=[b1]3⊕[b2]3:,…, 9[r 781 ]2=
[0157] [b 782 ]2⊕[b 781 ]2,[r 781 ]3=[b 782 ]3⊕[b 781 ]3:,9[r7]2=1⊕[b 781 ]2,[r7]3=1⊕[b 781 ]3:};
[0158] The third computing party C3 compares the value sets according to the interval factor [B] 31 , calculate the interval set to which the private key belongs [R] 31 : {9[r1]3=[b1]3, [r1]1=[b1]1:, 9[r2]3=[b1]3⊕[b2]3, [r2]1=[b1]1⊕[b2]1:,…,9[r 781 ]3=
[0159] [b 782 ]3⊕[b 781 ]3,[r 781 ]1=[b 782 ]1⊕[b 781 ]1:,9[r7]3=1⊕[b 781 ]3,[r7]1=1⊕[b 781 ]1:}.
[0160] 5) The second computing party C2 uses the possible public key share set and the interval set to which the private key belongs [R] 23 , and jointly call the multiplication protocol with the first computing party C1 and the third computing party C3 to obtain the possible public key distribution interval set [pk Si< ] 23 :{([r1f1(sk x )]2,[r1f1(sk x )]3),([r2f2(sk x )]2,[r1f1(sk x )]3),…,([r7f7(sk x )]2,
[0161] [r1f1(sk x )]3)};
[0162] The third computing party C3 uses the possible public key share set and the interval set to which the private key belongs [R] 31 , and jointly call the multiplication protocol with the first computing party C1 and the second computing party C2 to obtain the possible public key distribution interval set [pk Si< ] 31 :{([r1f1(sk x )]3,[r1f1(sk x )]1),([r2f2(sk x )]3,[r2f2(sk x )]1),…,([r7f7(sk x )]3,
[0163] [r2f2(sk x )]1)}.
[0164] 6) The second computing party C2 calculates the possible public key distribution interval set [pk Si< ] 23 Calculate the second public key share [pk x ]2=[r1f1(sk x )]2+[r2f2(sk x )]2+…+[r 781 f 781 (sk x )]2+[r7f7(sk x )]2, and the third public key share [pk x ]3=[r1f1(sk x )]3+[r2f2(sk x )]3+…+[r 781 f 781 (sk x )]3+[r7f7(sk x )]3;
[0165] The third computing party C3 calculates the possible public key distribution interval set [pk Si< ] 31 Calculate the third public key share [pk x ]3=[r1f1(sk x )]3+[r2f2(sk x )]3+…+[r 781 f 781 (sk x )]3+[r7f7(sk x )]3, and the first public key share [pk x ]1=[r1f1(sk x )]1+[r2f2(sk x )]1+…+[r 781 f 781 (skx )]1+[r7f7(sk x )]1.
[0166] As an optional implementation, Figure 8 This is a structural diagram of the private key share distribution module provided by an embodiment of the present invention. Figure 8 As shown, the private key share distribution module 300 includes:
[0167] Random selection submodule 3001, used to randomly select a first private key share and a second private key share of a target private key;
[0168] The remaining share calculation submodule 3002 is used to calculate the third private key share based on the target private key and the first private key share and the second private key share.
[0169] Randomly select access private key sk x First private key share [sk x ]1←n / 3, access private key sk x Second private key share [sk x ]2←n / 3, then, according to the first private key share [sk x ]1 and the second private key share [sk x ]2Calculate the third private key share [sk x ]3=sk x -[sk x ]1-[sk x ]2 to ensure that the access private key is complete and randomly distributed among the three private key shares.
[0170] An embodiment of the present invention further provides a group identity security anonymous authentication device based on secret sharing, including the above-mentioned group identity security anonymous authentication system based on secret sharing.
[0171] An embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon. When the program is executed by a processor, the above-mentioned group identity security anonymous authentication method based on secret sharing is implemented.
[0172] The above storage media include but are not limited to: CDs, floppy disks, hard disks, erasable memory, etc.
[0173] The above technical solution has the following beneficial effects: by storing the public key hash of the authorized access party to the management party and using the public key hash as a comparison value for authentication, the user can perform identity authentication without exposing the public key, thereby ensuring the user's anonymous authentication; the private key is divided into three shares and the combined shares are sent to three calculation parties for calculation of the public key shares, thereby ensuring the security and data reliability during data transmission.
[0174] The specific implementation methods of the above inventions further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above content is only the specific implementation methods of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A secure anonymous authentication method for group identities based on secret sharing, characterized in that: include: Determine public parameters based on security level parameters; Each accessing party randomly selects its own private key, calculates its own public key based on the public parameters and its own private key, calculates the corresponding public key hash based on its own public key, and sends and stores the public key hash to the authentication hash fingerprint set of the management party; The target access party divides its target private key into a first private key share, a second private key share, and a third private key share, sends the first private key share and the second private key share to the first computing party, sends the second private key share and the third private key share to the second computing party, and sends the third private key share and the first private key share to the third computing party; The first computing party obtains the first public key share and the second public key share based on the first private key share, the second private key share, and the public parameters, in conjunction with the second computing party and the third computing party; the second computing party obtains the second public key share and the third public key share based on the second private key share, the third private key share, and the public parameters, in conjunction with the first computing party and the third computing party; the third computing party obtains the third public key share and the first public key share based on the third private key share, the first private key share, and the public parameters, in conjunction with the first computing party and the second computing party; The public key shares of two parties are randomly selected from the first computing party, the second computing party and the third computing party and sent to the management party. The management party calculates the target public key hash based on the first public key share, the second public key share and the third public key share, and determines whether the target public key hash exists in the authentication hash fingerprint set. If so, the authentication is successful; otherwise, the authentication fails.
2. The method for secure anonymous group identity authentication based on secret sharing according to claim 1, characterized in that: The public parameters include: public key calculation modulus, interval factor and public key construction coefficient; The calculating of the party's public key according to the public parameters and the party's private key includes: Determine the private key interval to which the party's private key belongs based on the interval factor and the party's private key; The public key construction coefficient corresponding to the private key interval, the public key calculation modulus and the party's private key and the party's public key are calculated.
3. The method for secure anonymous group identity authentication based on secret sharing according to claim 2, characterized in that: The first computing party obtains the first public key share and the second public key share in conjunction with the second computing party and the third computing party based on the first private key share, the second private key share, and the public parameter, including: According to the first private key share and the second private key share, the first multiplication calculation protocol is called in conjunction with the second computing party and the third computing party to obtain a private key power share set; Obtaining a possible public key share set according to the private key power share set and the public key construction coefficient; Based on the first private key share, the second private key share, and the interval factor, the comparison protocol is called in conjunction with the second computing party and the third computing party to obtain a set of interval factor comparison values; Calculate the interval set to which the private key belongs based on the interval factor comparison value set; According to the possible public key share set and the private key interval set, the second computing party and the third computing party jointly call the second multiplication computing protocol to obtain the possible public key distribution interval set; A first public key share and a second public key share are calculated according to the possible public key distribution interval set.
4. The method for secure anonymous authentication of group identities based on secret sharing according to claim 1, wherein: The target access party divides its target private key into a first private key share, a second private key share, and a third private key share, including: Randomly selecting a first private key share and a second private key share of the target private key; The third private key share is calculated based on the target private key, the first private key share, and the second private key share.
5. A group identity security anonymous authentication system based on secret sharing, characterized in that: include: A public parameter initialization module is used to determine public parameters according to security level parameters; The public and private key calculation module is used for each access party to randomly select its own private key, calculate its own public key based on the public parameters and its own private key, calculate the corresponding public key hash based on its own public key, and send and store the public key hash to the authentication hash fingerprint set of the management party; A private key share distribution module is configured to divide the target private key of the target access party into a first private key share, a second private key share, and a third private key share, and send the first private key share and the second private key share to the first computing party, send the second private key share and the third private key share to the second computing party, and send the third private key share and the first private key share to the third computing party; a public key share calculation module, configured for the first computing party to obtain the first public key share and the second public key share based on the first private key share, the second private key share, and the public parameters, in conjunction with the second computing party and the third computing party; the second computing party to obtain the second public key share and the third public key share based on the second private key share, the third private key share, and the public parameters, in conjunction with the first computing party and the third computing party; and the third computing party to obtain the third public key share and the first public key share based on the third private key share, the first private key share, and the public parameters, in conjunction with the first computing party and the second computing party; The authentication module is used to randomly select the public key shares of two parties from the first computing party, the second computing party and the third computing party and send them to the management party. The management party calculates the target public key hash based on the first public key share, the second public key share and the third public key share, and determines whether the target public key hash exists in the authentication hash fingerprint set. If so, the authentication is successful; otherwise, the authentication fails.
6. The group identity security anonymous authentication system based on secret sharing according to claim 5, characterized in that: The public parameters include: public key calculation modulus, interval factor and public key construction coefficient; The public and private key calculation module includes: An interval selection submodule, configured to determine the private key interval to which the local private key belongs based on the interval factor and the local private key; The public key calculation submodule is used to construct a coefficient of the public key corresponding to the private key interval, calculate the public key modulus and the party's private key, and calculate the party's public key.
7. The group identity security anonymous authentication system based on secret sharing according to claim 6, characterized in that: The public key share calculation module includes: A first multiplication calculation submodule is configured to call the first multiplication calculation protocol based on the first private key share and the second private key share, in conjunction with the second calculation party and the third calculation party, to obtain a private key power share set; A public key share construction submodule, configured to obtain a possible public key share set based on the private key power share set and the public key construction coefficient; An interval comparison submodule, configured to obtain a set of interval factor comparison values by invoking a comparison protocol in conjunction with the second and third computing parties based on the first and second private key shares and the interval factor; An interval determination submodule, configured to calculate the interval set to which the private key belongs based on the interval factor comparison value set; A second multiplication calculation submodule is configured to obtain a possible public key distribution interval set by invoking a second multiplication calculation protocol in conjunction with the second and third calculation parties based on the possible public key share set and the private key interval set; The public key share calculation module is used to calculate the first public key share and the second public key share according to the possible public key distribution interval set.
8. The group identity security anonymous authentication system based on secret sharing according to claim 5, characterized in that: The private key share distribution module includes: A random selection submodule, configured to randomly select a first private key share and a second private key share of the target private key; The remaining share calculation submodule is used to calculate the third private key share based on the target private key and the first private key share and the second private key share.
9. A group identity security anonymous authentication device based on secret sharing, characterized in that: It includes a group identity security anonymous authentication system based on secret sharing as described in any one of claims 5 to 8.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the group identity security anonymous authentication method based on secret sharing according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Multi-chameleon hashing method and system based on discrete logarithm
CN114978524A
Generating shared encryption key
CN117917041A