Message strong blind signature method and system, blockchain electronic voting method and system, electronic device, medium and product

By optimizing elliptic curve computation using a double-blind factor strong-blind signature method and blockchain technology, the computational efficiency and privacy protection issues of existing electronic voting schemes are resolved, resulting in an efficient and secure electronic voting system that meets the real-time and transparency requirements of large-scale voting.

CN122437653APending Publication Date: 2026-07-21ZHENGZHOU UNIV

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZHENGZHOU UNIV
Filing Date
2026-04-27
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

Existing electronic voting schemes based on elliptic curve blind signatures suffer from problems such as high computational overhead, vulnerability to privacy protection mechanisms, and disconnect between algorithms and system business logic in large-scale voting scenarios, making it difficult to meet the real-time requirements of high concurrency and low latency.

Method used

A double-blind factor strong blind signature method is adopted. By introducing a reversible blinding factor a and a random blinding factor b to construct a composite public key r, the signing process cannot be traced afterward. The computation path of elliptic curve cryptography is optimized, and blockchain technology is combined to achieve efficient signing and verification throughout the entire process.

Benefits of technology

It significantly improves the processing efficiency and security of the electronic voting system, achieving single-vote signature time at the millisecond level and system throughput of hundreds of votes per second. It provides provable strong anonymity and untraceability, ensuring the transparency and auditability of the voting process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122437653A_ABST
    Figure CN122437653A_ABST
Patent Text Reader

Abstract

The application discloses a message strong blind signature method and system, a block chain electronic voting method and system, an electronic device, a medium and a product. The application introduces two independent blind factors, constructs a composite public key, actively destroys the cryptography association generated in the signature interaction process, designs a double-blind factor construction scheme with provable security, and ensures that even if the authentication center retains all interaction records, the association between the vote and the voter cannot be established, thereby significantly improving the execution efficiency of the whole process from voter authentication to vote verification. The strong blind signature mechanism and the efficient operation architecture designed by the application provide a core technical basis for constructing an electronic voting system meeting large-scale high-security requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the fields of information security and blockchain technology, and in particular to a message strong blind signature method and system, a blockchain electronic voting method and system, electronic devices, media and products. Background Technology

[0002] With the deepening of digitalization, electronic voting has been widely used due to its efficiency and convenience. However, its widespread application has always revolved around a contradiction: how to strictly protect the privacy of voters while ensuring the fairness, transparency, and verifiability of the entire voting process and the final results. To solve this problem, blind signature technology has been introduced into electronic voting systems. This technology allows authentication centers to effectively sign the "blinded" ballots submitted by voters, thereby authenticating the voter's legitimate identity without knowing the specific content of the ballot. This mechanism achieves the separation of "ballot content" and "voter identity" from the basic principles of cryptography, laying a key technological foundation for building anonymous voting systems.

[0003] Existing technical solutions for implementing blind signatures mainly fall into three categories:

[0004] One is the traditional approach based on the large number factorization problem, represented by RSA, whose main bottleneck is its low computational efficiency;

[0005] The second is an improved scheme based on the discrete logarithm problem, represented by the ElGamal type. Although it improves efficiency, it still faces the problem of large overhead in signature and verification.

[0006] The third, and currently the focus of research, is elliptic curve cryptography. Compared to the first two types, elliptic curve cryptography offers significant advantages in terms of shorter keys, faster computation, and lower bandwidth requirements at the same level of security, making it more suitable for high-concurrency, resource-constrained electronic voting environments.

[0007] To address potential internal malicious attacks in electronic voting (e.g., attackers with powerful computing capabilities attempting to retain interaction records for post-event correlation), this research further focuses on designing a "strongly blinded signature" scheme within an elliptic curve framework. This scheme, through the introduction of multiple blinding factors and other transformations, aims to ensure that even after the event, the signer cannot associate the final signature with a specific signature request, thus achieving stronger untraceability.

[0008] However, when these theoretical solutions are considered for application in practical electronic voting systems, limitations are revealed in terms of security, efficiency, and system integration:

[0009] (1) System efficiency bottleneck restricts scalability: A complete electronic voting process covers multiple stages, including voter registration, ballot blinding, signature request, signature generation, ballot deblinding, submission, and verification. In existing elliptic curve blind signature-based schemes, the complex scalar multiplication operations they rely on accumulate significant computational overhead at each stage of the process. In large-scale voting scenarios, the extended processing time per vote and the limited overall system throughput form a scalability bottleneck, making it difficult to support the real-time election requirements of high concurrency and low latency;

[0010] (2) Privacy protection mechanisms have attack surfaces: When faced with malicious attackers who have powerful computing resources, including potentially dishonest insiders, the security assumptions of the blinding mechanisms used in some existing solutions are too idealistic. Their security models may have flaws, and attackers can use the intermediate state data leaked during the signing process, or combine it with publicly available external information for correlation analysis, thereby inferring the correlation between voter identity and ballot, which actually undermines the anonymity of voting;

[0011] (3) Disconnect between algorithm and system business logic: Most current research focuses on the optimization and proof of blind signature algorithms themselves, failing to integrate them with other key business modules of electronic voting systems—such as anti-duplicate voting, ballot format compliance verification, and end-to-end verifiability—into a unified and collaborative design. This disconnect often leads to blurred security boundaries, mutually exclusive functions, or new attack surfaces when the solution is integrated into the actual system, affecting the overall credibility and availability of the system.

[0012] Therefore, there is an urgent need for a systematic solution specifically designed for electronic voting scenarios. This solution not only requires a blind signature mechanism that can provide provable strong anonymity to counter powerful internal and external attacks, but also must comprehensively optimize the efficiency of the entire voting process to ensure its feasibility in large-scale deployment, ultimately achieving a balance between security and practicality. Summary of the Invention

[0013] This invention addresses the shortcomings of existing blind signature-based electronic voting schemes in resisting internal attacker correlation analysis and meeting the real-time requirements of large-scale voting. It proposes a blockchain electronic voting method based on strong blind signatures with double-blind factors. By designing a double-blind factor construction scheme with provably secure capabilities and optimizing the computational path of elliptic curve cryptography in blind signatures, this method significantly improves the execution efficiency of the entire process from voter authentication to vote verification, ensuring that even if the certification center retains all interaction records, it cannot establish a link between the ballot and the voter. The strong blind signature mechanism and efficient computational architecture designed in this scheme provide the core technical foundation for building electronic voting systems that meet the requirements of large-scale, high-security systems.

[0014] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0015] The first aspect of this invention provides a message strong-blind signature method based on a double-blind factor, applied to a requester requesting a signature and a signer performing the signature, the method comprising:

[0016] The signer holds two pairs of public and private keys:

[0017] A pair is a long-term key pair (x, y), where the private key x∈[2, n-1] and the public key y=x·G, and y is made public;

[0018] The other pair is a temporary key pair (k, r'), where the signer randomly selects a temporary private key k each time they sign, calculates a temporary public key r' = k·G, and then publishes r'; where k ∈ [2, n-2] and satisfies gcd(k, n) = 1; gcd() is the greatest common divisor function; G is the key in the finite field F p Elliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation;

[0019] After obtaining r', the requester first generates a reversible blinding factor a and a random blinding factor b, and then calculates the composite public key r = a·r' + b·G; where a∈[2,n-1] and gcd(a,n)=1; b∈[1,n-1]; + represents elliptic curve point addition operation;

[0020] The requester takes the integer value of the x-coordinate of r. int =get_point_x_int(r) mod n, calculates the hash value h of message m. m =H(m), and calculate the inverse of a. inv =a -1 mod n;

[0021] The requester generates a blinding message m blind =a inv ·(r int ·h m ) mod n, and m blind Send to the signatory;

[0022] The signer receives m blind Then, calculate the blind signature s'=(x·m) blind +k) mod n, and return s' to the requester;

[0023] After receiving s', the requester executes the deblinding algorithm s=(a·s'+b) mod n to obtain the signature s, and finally outputs the publicly verifiable signature pair (r,s).

[0024] The method is also applied to a verifier that verifies the validity of the signature s, and the method further includes:

[0025] After obtaining the message m, the signature pair (r, s), and the public key y, the verifier performs the following steps to verify the signature validity:

[0026] Verify whether r is an elliptic curve E(F) p ) valid points;

[0027] Calculate the hash value h of message m m =H(m);

[0028] Take the integer value of the x-coordinate of r. int =get_point_x int (r) mod n;

[0029] Calculate the left side of the expression: left = s·G;

[0030] Calculate the right side: right = r + (r int ·h m )·y;

[0031] Verify if left=right is true; if true, then signature s is valid; otherwise, it is invalid.

[0032] Existing elliptic curve-based blind signature schemes (such as SM2 blind signatures) typically employ a single blinding factor to blind the message, and the temporary public key r' generated during the signing process is directly published as part of the final signature. This allows the signer to retain the interaction record (r', m) blind This method allows for the establishment of a connection between a signature and a specific signature request by matching the publicly disclosed r' with the recorded r' after the fact. However, it has limited privacy protection and can be classified as a "weakly blind signature".

[0033] The algorithm of this invention provides strong blind signatures: ensuring that even a malicious authentication center that has recorded all intermediate data cannot associate any message with a specific signature request session afterwards.

[0034] A second blinding factor b is introduced, and a composite public key r is constructed: by calculating r = a·r' + b·G, the final public key r used for verification is not the r' originally generated by the signer, but the result modified by the requester using factor b. This construction ensures that the public key r cannot be derived from or correlated with the r' held by the signer.

[0035] Assuming the Elliptic Curve Discrete Logarithm Problem (ECDLP) is computationally difficult, even if the signer maliciously stores the set of all interaction records {r',m}... blindIt is also impossible to establish an association between (r, s) and any valid signature pair that is eventually made public. This is because a successful association is equivalent to solving for the secret b from the public r and the known r', or determining that r and r' satisfy the linear relationship, which is computationally infeasible.

[0036] The algorithm of this invention elevates the security model from resisting "honest but curious" signers to resisting malicious insider signers who "actively record and attempt to perform post-event correlation analysis," providing enhanced protection at the cryptographic primitive level for application scenarios such as electronic voting that require absolute privacy protection.

[0037] In summary, the strong blind signature generation method defined by the algorithm of this invention solves the problem that traditional blind signature schemes cannot resist internal signers' traceability based on session records through the synergistic effect of double blind factors and the innovative construction of composite public keys, and achieves true strong blindness with provable security.

[0038] A second aspect of the present invention provides a message strong-blind signature system based on a double-blind factor, the system comprising:

[0039] The requesting device used to request a signature and the signing device used to perform the signature;

[0040] The signature device,

[0041] Used to hold two pairs of public and private keys:

[0042] A pair is a long-term key pair (x, y), where the private key x∈[2, n-1] and the public key y=x·G, and y is made public;

[0043] The other pair is a temporary key pair (k, r'), where the signer randomly selects a temporary private key k each time they sign, calculates a temporary public key r' = k·G, and then publishes r'; where k ∈ [2, n-2] and satisfies gcd(k, n) = 1; gcd() is the greatest common divisor function; G is the key in the finite field F p Elliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation;

[0044] Used to receive m blind Then, calculate the blind signature s'=(x·m) blind +k) mod n, and return s' to the requesting device;

[0045] The requesting device.

[0046] After obtaining r', it is used to first generate the reversible blinding factor a and the random blinding factor b, and then calculate the composite public key r = a·r' + b·G; where a∈[2,n-1] and gcd(a,n)=1; b∈[1,n-1]; + represents the elliptic curve point addition operation;

[0047] The integer value r used to retrieve the x-coordinate of r. int =get_point_x_int(r) mod n, calculates the hash value h of message m. m =H(m), and calculate the inverse of a. inv =a -1 mod n;

[0048] Used to generate blinding message m blind =a inv ·(r int ·h m ) mod n, and m blind Send the signature device;

[0049] This algorithm is used to execute the deblinding algorithm s = (a·s' + b) mod n after receiving s', obtain the signature s, and finally output the publicly verifiable signature pair (r, s).

[0050] The third aspect of this invention provides a blockchain electronic voting method based on double-blind factor strong blind signature, applied to a voter V requesting a signature, a certification center CA performing the signature, and a blockchain ballot box BB storing all submitted valid ballots, comprising five stages: initialization stage, voter identity authentication stage, blind signature generation stage, deblinding and ballot submission stage, and ballot verification and counting stage;

[0051] During the initialization phase, the following is executed:

[0052] The CA generates a long-term key pair (X,Y) and a temporary key pair (K,R'), and publishes Y and R'; where,

[0053] X is a long-term private key, satisfying X∈[2,n-1], and a long-term public key Y=X·G; K is a temporary private key, randomly selected by the CA, satisfying K∈[2,n-2], and gcd(K,n)=1; where gcd() is the greatest common divisor function; R' is a temporary public key, R'=K·G; G is the key in the finite field F. p Elliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation;

[0054] R' is a temporary public key, R'=K·G;

[0055] During the voter identity verification phase, the following procedures shall be followed:

[0056] (1) Voter V submits identity credential ID_V to the authentication center CA;

[0057] (2) The Certificate Authority (CA) verifies the validity of ID_V;

[0058] (3) After verifying the validity of ID_V, the Certification Authority (CA) generates a one-time authentication token Token and issues it to the voter V. Then, it establishes a binding relationship between the Token and ID_V and sets the initial state of the Token to false.

[0059] During the blind signature generation phase, the following steps are executed:

[0060] (1) Voter V constructs the plaintext of the ballot M as a message;

[0061] (2) Voter V executes the blinding algorithm:

[0062] ① Generate a reversible blinding factor A and a random blinding factor b; where A∈[2,n-1] and gcd(A,n)=1; B∈[1,n-1];

[0063] ② After receiving R', calculate the composite public key R = A·R' + B·G; where + represents the elliptic curve point addition operation;

[0064] ③ Take the integer value of the x-coordinate of R. int =get_point_x_int(R) mod n, calculates the hash value h of the plaintext vote M. M =H(M), and calculate the inverse A of A. inv =A -1 mod n;

[0065] ④ Generate blinding message M blind =A inv ·(R int ·h M ) mod n;

[0066] (3) Voter V will (M) blind Send the token to the Certificate Authority (CA);

[0067] (4) The Certificate Authority (CA) receives (M) blind After verifying that the state of the token is false, calculate the blind signature S'=(X·M). blind +K) mod n, and at the same time update the Token's state to true;

[0068] (5) The certification authority (CA) returns S' to the voter (V);

[0069] During the deblinding and ballot submission phase, the following procedures are followed:

[0070] (1) After receiving S', the voter V executes the deblinding algorithm S=(A·S'+B) mod n to obtain the signature S;

[0071] (2) Voter V constructs a ballot transaction (M,R,S);

[0072] (3) Voter V submits (M,R,S) to the blockchain ballot box BB;

[0073] During the ballot verification and counting phase, the following procedures shall be followed:

[0074] (1) Traverse all ballots (M) in the blockchain ballot box BB. i ,R i ,S i ), i=1,2,3……;

[0075] (2) For the i-th vote (M) encountered during the iteration i ,R i ,S i Execute the verification algorithm:

[0076] Verify R i Is it an elliptic curve E(F)? p ) valid points;

[0077] Calculate M i Hash value h Mi =H(M i );

[0078] Take R i The integer value of the x-coordinate R int-i =get_point_x int (R i ) mod n;

[0079] Calculate the left side i =S i ·G;

[0080] Calculate the right side: i =R i +(R int-i ·h Mi )·Y;

[0081] Validate left i =right i Is it true? If true, then sign S. i Valid; otherwise invalid;

[0082] (3) Filter the signatures S to select valid ballots M;

[0083] (4) Count all valid votes to obtain the voting results.

[0084] The security of the blockchain electronic voting method of this invention is ensured by a layered cryptographic mechanism deployed across five stages of the process, forming a complete closed loop from identity authentication to vote counting and auditing. Its core lies in a double-blind factor strong blind signature algorithm. This algorithm ensures that when the authentication center signs the blinded message, it cannot computationally associate it with the final published plaintext ballot, thus providing provable strong anonymity. Based on this, a one-time token mechanism establishes a strict one-to-one correspondence between voters and voting rights during the identity authentication stage, effectively preventing duplicate voting and identity theft. At the data layer, all legitimate ballots are submitted to blockchain storage, and its immutability ensures the permanent integrity of the ballot records. Finally, a public verification mechanism allows any third party to independently verify the validity of each ballot during the vote counting stage, ensuring the transparency of the entire process and the auditability of the results. These interconnected mechanisms together construct a secure electronic voting system that combines strong privacy protection, tamper-proof data integrity, and global public verifiability.

[0085] A fourth aspect of the present invention provides a blockchain electronic voting system based on double-blind factor strong blind signature, comprising: a voter terminal for requesting a signature, an authentication center terminal for performing the signature, and a blockchain ballot box device for storing all submitted valid ballots;

[0086] The authentication center terminal,

[0087] This is used to hold a long-term private key pair (X,Y), and to generate a temporary private key pair (K,R') for each signing session, and to publicly disclose Y and R'; where X is the long-term private key, satisfying X∈[2,n-1], and the long-term public key Y=X·G; K is the temporary private key, randomly selected by the CA, satisfying K∈[2,n-2], and gcd(K,n)=1; where gcd() is the greatest common divisor function; R' is the temporary public key, R'=K·G; G is the key in the finite field F p Elliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation;

[0088] This is used to verify the validity of ID_V upon receiving the identity credential ID_V, and after verifying the validity of ID_V, to generate a one-time authentication token Token and issue it to the voter V; then, to establish a binding relationship between the Token and ID_V, and to set the initial state of the Token to false;

[0089] Used to receive (M) blind After verifying that the state of the token is false, calculate the blind signature S'=(X·M).blind +K) mod n, and at the same time update the Token's state to true;

[0090] Used to return S' to the voter's terminal;

[0091] The voter terminal,

[0092] Used to submit identity credential ID_V to the authentication center terminal;

[0093] This is used to perform a blinding algorithm on the plaintext M of the ballot after constructing it as a message, to obtain the blinded message M. blind The blinding algorithm is as follows:

[0094] ① Generate a reversible blinding factor A and a random blinding factor b; where A∈[2,n-1] and gcd(A,n)=1; B∈[1,n-1];

[0095] ② After receiving R', calculate the composite public key R = A·R' + B·G; where + represents the elliptic curve point addition operation;

[0096] ③ Take the integer value of the x-coordinate of R. int =get_point_x_int(R) mod n, calculates the hash value h of the plaintext vote M. M =H(M), and calculate the inverse A of A. inv =A -1 mod n;

[0097] ④ Generate blinding message M blind =A inv ·(R int ·h M ) mod n;

[0098] Used to obtain the blinding message M blind Then, (M) blind The token is sent to the authentication center terminal.

[0099] Used to execute the deblinding algorithm S=(A·S'+B) mod n after receiving S', to obtain the signature S;

[0100] Used to submit (M,R,S) to the blockchain ballot box device after constructing the ballot transaction (M,R,S);

[0101] The blockchain voting box device

[0102] Used to iterate through all received votes (M) i ,R i ,S i), i=1,2,3……, and iterate over the i-th vote (M) i ,R i ,S i Execute the verification algorithm:

[0103] ①Verify R i Is it an elliptic curve E(F)? p ) valid points;

[0104] ② Calculate M i Hash value h Mi =H(M i );

[0105] ③ Take R i The integer value of the x-coordinate R int-i =get_point_x int (R i ) mod n;

[0106] ④ Calculate the left side i =S i ·G;

[0107] ⑤ Calculate the expression on the right: right i =R i +(R int-i ·h Mi )·Y;

[0108] ⑥ Verify left i =right i Is it true? If true, then sign S. i Valid; otherwise invalid;

[0109] Used to filter valid ballots M with signature S;

[0110] Used to count all valid votes and obtain the voting results.

[0111] A fifth aspect of the present invention provides an electronic device comprising: at least one processor; and

[0112] A memory communicatively connected to the at least one processor; wherein,

[0113] The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enable the at least one processor to execute the message strong blind signature method based on double-blind factors; or, execute the blockchain electronic voting method based on double-blind factor strong blind signatures.

[0114] A sixth aspect of the present invention provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the message strong blind signature method based on double blind factors; or to execute the blockchain electronic voting method based on double blind factors strong blind signature.

[0115] The seventh aspect of the present invention provides a computer program product, comprising a computer program that, when executed by a processor, implements the message strong blind signature method based on double-blind factors; or, executes the blockchain electronic voting method based on double-blind factor strong blind signatures.

[0116] This invention has outstanding substantive effects and significant progress compared to the prior art, specifically:

[0117] The voting method of this invention significantly improves system performance while ensuring strong security by optimizing the computation path of elliptic curve scalar multiplication. Employing an efficient blinded factor generation algorithm and optimized dot product operations, the single-vote signature processing time is controlled at the millisecond level, and the system throughput reaches a processing capacity of hundreds of votes per second, meeting the real-time requirements of large-scale electronic voting scenarios.

[0118] The signature method of this invention employs a double-blind factor mechanism and session state management, effectively resisting internal attacks and replay attacks. By introducing two independent blinding factors and strict session usage flags, a complete session lifecycle management mechanism is established, ensuring that even if the authentication center retains all interaction records, it cannot establish a link between the ballot and the voter's identity, thus providing provable security guarantees for voting privacy.

[0119] The method of this invention is based on the standard secp256k1 elliptic curve, making full use of its security features and computational efficiency. This curve has rigorous security verification and excellent computational performance, providing strong security protection while completing complex cryptographic operations with relatively small computational overhead. It is particularly suitable for applications such as electronic voting, which have high requirements for both security and efficiency.

[0120] The electronic voting system of this invention achieves deep integration of cryptographic algorithms and the voting process. By organically combining strong blind signature algorithms with key aspects such as identity authentication, prevention of duplicate voting, and result verification, a complete solution is constructed that both protects voting privacy and ensures the credibility of the voting process, overcoming the shortcomings of existing solutions in terms of system integration.

[0121] This invention possesses excellent practicality and adaptability. Through careful parameter design and algorithm optimization, the system can maintain stable performance in voting scenarios of varying scales. It is suitable for critical elections with high security requirements, as well as meeting the efficiency needs of ordinary voting scenarios, and has broad application prospects. Attached Figure Description

[0122] Figure 1 This is a signature generation diagram of the elliptic curve strong blind signature algorithm of the present invention.

[0123] Figure 2 This is a flowchart illustrating the verification process of the elliptic curve strong blind signature algorithm of the present invention.

[0124] Figure 3 This is a flowchart of the electronic voting system of the present invention. Detailed Implementation

[0125] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the described embodiments of the present invention are within the scope of protection of the present invention.

[0126] Example 1

[0127] This embodiment provides a message strong blind signature method based on double blind factor, which is applied to the requester requesting the signature, the signer performing the signature, and the verifier verifying the validity of the signature s.

[0128] like Figure 1 and Figure 2 As shown, the construction process of this message strong-blind signature algorithm based on double-blind factors is as follows:

[0129] (1) System parameters

[0130] This algorithm uses the internationally standardized elliptic curve secp256k1 as its cryptographic foundation, and its system parameters are defined as follows:

[0131] 1) Finite field: Let p be a large prime number, and define a finite field F. p ,in

[0132] p=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2F, that is, p=2 256 -2 32 -2 9 -2 8 -2 7 -2 6 -2 4 -1.

[0133] 2) Elliptic curve equation: in the finite field F pDefine an elliptic curve E, whose equation is:

[0134] y 2 =x 3 +7 (mod p)

[0135] 3) Base point: Curve E(F) p A base point G = (G) on ) x G y Its coordinates are:

[0136] G x =0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798;

[0137] G y =0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8).

[0138] 4) Curve order: The order n of the base point G is a large prime number.

[0139] n=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141.

[0140] 5) Hash function:

[0141] Define a hash function H: {0,1}*→Z n Z n Let H(m) represent the set of integers modulo n, implemented as follows: for input message m, calculate H(m) = SHA256(m) (mod n).

[0142] 6) Signing key pair: private key x∈[2, n-1], public key y=x·G, where · represents scalar multiplication on an elliptic curve.

[0143] (2) Strong blind signature generation

[0144] This algorithm generates a strong blind signature according to the following steps:

[0145] The process is completed through interaction between the signer and the requester. The requester introduces two independent blinding factors and transforms the temporary public key provided by the signer.

[0146] 1) Temporary key generation:

[0147] The signer randomly selects a temporary private key k, where k∈[2,n-2] and gcd(k,n)=1;

[0148] Calculate the temporary public key r' = k·G, and then publish r'.

[0149] Explanation: In traditional blind signatures, this r' will be used directly for final verification, becoming a key tracking marker for the signer to trace back afterward.

[0150] 2) Double-blind factor construction:

[0151] The requester generates a reversible blinding factor a∈[2,n-1], and gcd(a,n)=1;

[0152] The requester generates a random blinding factor b∈[1,n-1].

[0153] Explanation: b is used to break public key association. An elliptic curve summation is performed on a random point b·G that is completely controlled by the requester and kept completely secret from the signer. The result r is computationally indistinguishable from r' (based on the ECDLP difficulty assumption).

[0154] 3) Computation of composite public key:

[0155] The requester calculates the composite public key r = a·r' + b·G, where + denotes elliptic curve point addition.

[0156] The requester takes the integer value of the x-coordinate of r. int =get_point_x_int(r) mod n.

[0157] Explanation: The requester calculates the composite public key r = a·r' + b·G. This step adds the signer's temporary public key r' to an offset b·G randomly generated by the requester, making the output r computationally independent of the input r'.

[0158] 4) Blinding process:

[0159] The requester calculates the hash value h of message m. m =H(m);

[0160] The requester calculates the inverse of a. inv =a -1 mod n;

[0161] The requester generates a blinding message m blind =a inv ·(r int ·h m ) mod n, where · represents the finite field multiplication operation;

[0162] Synergistic effect: Hash value h herem It is the coordinate r of the composite public key r. int Instead of being combined with the coordinates of r' as in traditional blind signatures, this ensures the consistency of the entire signature logic, revolving around the "untraceable r".

[0163] 5) Blind signature generation:

[0164] The signer calculates the blind signature s'=(x·m) blind +k) mod n;

[0165] Explanation: The signer can only observe (r', m) blind This is a partial view (s').

[0166] 6) Signature Debunking:

[0167] The requester obtains the final signature s = (a·s' + b) mod n after deblinding.

[0168] The requester finally completes the signature output, producing a complete, publicly verifiable signature pair (r, s).

[0169] Explanation: The final verification uses the composite public key *r*, not the *r'* initially generated by the signer. The deblinding process must use both *a* and *b*. The factor *b*, introduced into the composite public key *r*, ensures that the final signature pair (*r*, *s*) satisfies the standard verification equation. This constitutes a complete and self-consistent two-factor blinding-deblinding logical loop.

[0170] (3) Signature verification

[0171] After obtaining the message m, the signature pair (r, s), and the public key y, the verifier performs the following steps to verify the signature validity:

[0172] ① Verify whether r is an elliptic curve E(F) p ) valid points;

[0173] ② Calculate the hash value h of message m m =H(m);

[0174] ③ Take the integer value of the x-coordinate of r. int =get_point_x int (r) mod n;

[0175] ④ Calculate the left side of the equation: left = s·G;

[0176] ⑤ Calculate the right side: right = r + (r int ·h m )·y;

[0177] ⑥ Verify whether left=right is true; if true, then signature s is valid; otherwise, it is invalid.

[0178] The following rigorous mathematical derivation proves that the signature generated by this algorithm satisfies the verification equation, ensuring its logical correctness. The derivation process is as follows:

[0179] s·G=(a·s'+b)·G

[0180] =a·s'·G+b·G

[0181] =a·(x·m blind +k)·G+b·G

[0182] =x·(a·m blind )·G+a·k·G+b·G

[0183] =x·(r int ·h m )·G+a·r'+b·G

[0184] =(r int ·h m )·x·G+r

[0185] =(r int ·h m )·y+r

[0186] We have proved that s·G = r + (r int ·h m The result of y is consistent with the verification equation, proving that the algorithm is correct.

[0187] The following is an analysis of the strong blinding of this algorithm:

[0188] This algorithm achieves strong blind signature characteristics by introducing double-blind factors a and b. During the signing process, the signer can only access the message m after it has been blinded by factor a. blind The intermediate signature s' generated by the public key r is then used, and the final publicly available valid signature s is obtained by the requester transforming s' using a and b. This mechanism ensures the integrity of the horizontal coordinate component r of the composite public key r. int and the original message hash h m The association between them is broken, causing the view {r',m} held by the signer to be invalidated. blind The signature pair (r, s) is computationally uncorrelated with the publicly available signature pair (r, s). Therefore, even if the signer records all interaction data, it is impossible to trace the original request corresponding to any signature without knowing (a, b), thus ensuring that no association can be established between the requester and its message, providing stronger untraceability and privacy protection than traditional single-blind factor schemes.

[0189] Example 2

[0190] This embodiment provides a message strong-blind signature system based on double-blind factors. The system includes: a requesting device for requesting a signature, a signing device for performing the signature, and a verification device for verifying the validity of the signature s.

[0191] The signature device,

[0192] Used to hold two pairs of public and private keys:

[0193] A pair is a long-term key pair (x, y), where the private key x∈[2, n-1] and the public key y=x·G, and y is made public;

[0194] The other pair is a temporary key pair (k, r'), where the signer randomly selects a temporary private key k each time they sign, calculates a temporary public key r' = k·G, and then publishes r'; where k ∈ [2, n-2] and satisfies gcd(k, n) = 1; gcd() is the greatest common divisor function; G is the key in the finite field F p Elliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation;

[0195] Used to receive m blind Then, calculate the blind signature s'=(x·m) blind +k) mod n, and return s' to the requesting device.

[0196] The requesting device.

[0197] After obtaining r', it is used to first generate the reversible blinding factor a and the random blinding factor b, and then calculate the composite public key r = a·r' + b·G; where a∈[2,n-1] and gcd(a,n)=1; b∈[1,n-1]; + represents the elliptic curve point addition operation;

[0198] The integer value r used to retrieve the x-coordinate of r. int =get_point_x_int(r) mod n, calculates the hash value h of message m. m =H(m), and calculate the inverse of a. inv =a -1 mod n;

[0199] Used to generate blinding message m blind =a inv ·(r int ·h m ) mod n, and m blind Send the signature device;

[0200] This algorithm is used to execute the deblinding algorithm s = (a·s' + b) mod n after receiving s', obtain the signature s, and finally output the publicly verifiable signature pair (r, s).

[0201] The verification device is configured to perform the following steps to verify the validity of signature s after obtaining message m, signature pair (r, s), and public key y:

[0202] Verify whether r is an elliptic curve E(F) p ) valid points;

[0203] Calculate the hash value h of message m m =H(m);

[0204] Take the integer value of the x-coordinate of r. int =get_point_x int (r) mod n;

[0205] Calculate the left side of the expression: left = s·G;

[0206] Calculate the right side: right = r + (r int ·h m )·y;

[0207] Verify if left=right is true; if true, then signature s is valid; otherwise, it is invalid.

[0208] The message strong blind signature system based on double blind factors in this embodiment corresponds to the message strong blind signature method based on double blind factors in Embodiment 1, and will not be described again here.

[0209] Example 3

[0210] This embodiment provides a blockchain electronic voting method based on double-blind factor strong blind signature, which is applied to the voter V who requests a signature, the certification authority CA that performs the signature, and the blockchain ballot box BB that stores all submitted valid ballots.

[0211] The blockchain electronic voting method in this embodiment includes the following roles:

[0212] Certification Authority (CA): As the signatory, it is responsible for verifying voter identity and generating signatures for blinded ballots.

[0213] Voter V: A legitimate voter holding a ballot who is the requesting party, and performs the blinding, deblinding, and submission operations.

[0214] BB Blockchain Voting Box: As a public, immutable distributed ledger, it stores all submitted valid votes and provides a public verification interface.

[0215] like Figure 3As shown, the blockchain electronic voting method in this embodiment includes five stages: initialization stage, voter identity authentication stage, blind signature generation stage, deblinding and ballot submission stage, and ballot verification and counting stage.

[0216] During the initialization phase, the following is executed:

[0217] The CA generates a long-term key pair (X,Y) and a temporary key pair (K,R'), and publishes Y and R'; where,

[0218] X is a long-term private key, satisfying X∈[2,n-1], and a long-term public key Y=X·G;

[0219] K is a temporary private key, randomly selected by the CA, satisfying K∈[2,n-2] and gcd(K,n)=1; where gcd() is the greatest common divisor function; R' is a temporary public key, R'=K·G; G is the key in the finite field F p Elliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation;

[0220] R' is a temporary public key, R'=K·G;

[0221] During the voter identity verification phase, the following procedures shall be followed:

[0222] (1) Voter V submits identity credential ID_V to the authentication center CA;

[0223] (2) The Certificate Authority (CA) verifies the validity of ID_V;

[0224] (3) After verifying the validity of ID_V, the Certification Authority (CA) generates a one-time authentication token Token and issues it to the voter V. Then, it establishes a binding relationship between the Token and ID_V and sets the initial state of the Token to false.

[0225] During the blind signature generation phase, the following steps are executed:

[0226] (1) Voter V constructs the plaintext of the ballot M as a message;

[0227] (2) Voter V executes the blinding algorithm:

[0228] ① Generate a reversible blinding factor A and a random blinding factor b; where A∈[2,n-1] and gcd(A,n)=1; B∈[1,n-1];

[0229] ② After receiving R', calculate the composite public key R = A·R' + B·G; where + represents the elliptic curve point addition operation;

[0230] ③ Take the integer value of the x-coordinate of R. int=get_point_x_int(R) mod n, calculates the hash value h of the plaintext vote M. M =H(M), and calculate the inverse A of A. inv =A -1 mod n;

[0231] ④ Generate blinding message M blind =A inv ·(R int ·h M ) mod n;

[0232] (3) Voter V will (M) blind Send the token to the Certificate Authority (CA);

[0233] (4) The Certificate Authority (CA) receives (M) blind After verifying that the state of the token is false, calculate the blind signature S'=(X·M). blind +K) mod n, and at the same time update the Token's state to true;

[0234] (5) The certification authority (CA) returns S' to the voter (V);

[0235] During the deblinding and ballot submission phase, the following procedures are followed:

[0236] (1) After receiving S', the voter V executes the deblinding algorithm S=(A·S'+B) mod n to obtain the signature S;

[0237] (2) Voter V constructs a ballot transaction (M,R,S);

[0238] (3) Voter V submits (M,R,S) to the blockchain ballot box BB;

[0239] During the ballot verification and counting phase, the following procedures shall be followed:

[0240] (1) Traverse all ballots (M) in the blockchain ballot box BB. i ,R i ,S i ), i=1,2,3……;

[0241] (2) For the i-th vote (M) encountered during the iteration i ,R i ,S i Execute the verification algorithm:

[0242] Verify R i Is it an elliptic curve E(F)? p ) valid points;

[0243] Calculate M iHash value h Mi =H(M i );

[0244] Take R i The integer value of the x-coordinate R int-i =get_point_x int (R i ) mod n;

[0245] Calculate the left side i =S i ·G;

[0246] Calculate the right side: i =R i +(R int-i ·h Mi )·Y;

[0247] Validate left i =right i Is it true? If true, then sign S. i Valid; otherwise invalid;

[0248] Explanation: Blockchain plays an indispensable role as a "neutral arbiter" here. Since the CA cannot be linked to the ballots, a public, immutable storage and verification platform is necessary. Any third party can obtain the ballots from the blockchain and independently verify the signature validity using the CA's public key R' and the verification algorithm, achieving global verifiability while protecting privacy.

[0249] (3) Filter the signatures S to select valid ballots M;

[0250] (4) Count all valid votes to obtain the voting results.

[0251] Example 4

[0252] This embodiment provides a blockchain electronic voting system based on double-blind factor strong blind signature, including: a voter terminal for requesting a signature, an authentication center terminal for performing the signature, and a blockchain ballot box device for storing all submitted valid ballots;

[0253] The authentication center terminal,

[0254] This is used to hold a long-term private key pair (X,Y), and to generate a temporary private key pair (K,R') for each signing session, and to publicly disclose Y and R'; where X is the long-term private key, satisfying X∈[2,n-1], and the long-term public key Y=X·G; K is the temporary private key, randomly selected by the CA, satisfying K∈[2,n-2], and gcd(K,n)=1; where gcd() is the greatest common divisor function; R' is the temporary public key, R'=K·G; G is the key in the finite field F pElliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation;

[0255] This is used to verify the validity of ID_V upon receiving the identity credential ID_V, and after verifying the validity of ID_V, to generate a one-time authentication token Token and issue it to the voter V; then, to establish a binding relationship between the Token and ID_V, and to set the initial state of the Token to false;

[0256] Used to receive (M) blind After verifying that the state of the token is false, calculate the blind signature S'=(X·M). blind +K) mod n, and at the same time update the Token's state to true;

[0257] Used to return S' to the voter's terminal;

[0258] The voter terminal,

[0259] Used to submit identity credential ID_V to the authentication center terminal;

[0260] This is used to perform a blinding algorithm on the plaintext M of the ballot after constructing it as a message, to obtain the blinded message M. blind The blinding algorithm is as follows:

[0261] ① Generate a reversible blinding factor A and a random blinding factor b; where A∈[2,n-1] and gcd(A,n)=1; B∈[1,n-1];

[0262] ② After receiving R', calculate the composite public key R = A·R' + B·G; where + represents the elliptic curve point addition operation;

[0263] ③ Take the integer value of the x-coordinate of R. int =get_point_x_int(R) mod n, calculates the hash value h of the plaintext vote M. M =H(M), and calculate the inverse A of A. inv =A -1 mod n;

[0264] ④ Generate blinding message M blind =A inv ·(R int ·h M ) mod n;

[0265] Used to obtain the blinding message M blind Then, (M) blindThe token is sent to the authentication center terminal.

[0266] Used to execute the deblinding algorithm S=(A·S'+B) mod n after receiving S', to obtain the signature S;

[0267] Used to submit (M,R,S) to the blockchain ballot box device after constructing the ballot transaction (M,R,S);

[0268] The blockchain voting box device

[0269] Used to iterate through all received votes (M) i ,R i ,S i ), i=1,2,3……, and iterate over the i-th vote (M) i ,R i ,S i Execute the verification algorithm:

[0270] ①Verify R i Is it an elliptic curve E(F)? p ) valid points;

[0271] ② Calculate M i Hash value h Mi =H(M i );

[0272] ③ Take R i The integer value of the x-coordinate R int-i =get_point_x int (R i ) mod n;

[0273] ④ Calculate the left side i =S i ·G;

[0274] ⑤ Calculate the expression on the right: right i =R i +(R int-i ·h Mi )·Y;

[0275] ⑥ Verify left i =right i Is it true? If true, then sign S. i Valid; otherwise invalid;

[0276] Used to filter valid ballots M with signature S;

[0277] Used to count all valid votes and obtain the voting results.

[0278] The message strong blind signature system based on double-blind factors in this embodiment corresponds to the message strong blind signature method based on double-blind factors in Embodiment 3, and will not be described again here.

[0279] Example 5

[0280] This embodiment provides an electronic device, including: at least one processor; and

[0281] A memory communicatively connected to the at least one processor; wherein,

[0282] The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the message strong blind signature method based on double blind factor as described in Embodiment 1; or to perform the blockchain electronic voting method based on double blind factor strong blind signature as described in Embodiment 3.

[0283] Example 6

[0284] This embodiment provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the message strong blind signature method based on double blind factor described in Embodiment 1; or to execute the blockchain electronic voting method based on double blind factor strong blind signature described in Embodiment 3.

[0285] Example 7

[0286] This embodiment provides a computer program product, including a computer program that, when executed by a processor, implements the message strong blind signature method based on double-blind factors as described in Embodiment 1; or, executes the blockchain electronic voting method based on double-blind factors strong blind signature as described in Embodiment 3.

[0287] Those skilled in the art will understand that the embodiments of this application can be provided as methods, systems, devices, media, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. The solutions in the embodiments of this application can be implemented using various computer languages.

[0288] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.

[0289] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A message strong-blind signature method based on a double-blind factor, applied to a requester requesting a signature and a signer performing the signature, the method comprising: The signer holds two pairs of public and private keys: A pair is a long-term key pair (x, y), where the private key x∈[2, n-1] and the public key y=x·G, and y is made public; The other pair is a temporary key pair (k, r'), where the signer randomly selects a temporary private key k each time they sign, calculates a temporary public key r' = k·G, and then publishes r'; where k ∈ [2, n-2] and satisfies gcd(k, n) = 1; gcd() is the greatest common divisor function; G is the key in the finite field F p Elliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation; After obtaining r', the requester first generates a reversible blinding factor a and a random blinding factor b, and then calculates the composite public key r = a·r' + b·G; where a∈[2,n-1] and gcd(a,n)=1; b∈[1,n-1]; + represents elliptic curve point addition operation; The requester takes the integer value of the x-coordinate of r. int =get_point_x_int(r) mod n, calculates the hash value h of message m. m =H(m), and calculate the inverse of a. inv =a -1 mod n; The requester generates a blind message m blind =a inv ·(r int ·h m ) mod n, and m blind Send to the signatory; The signer receives m blind Then, calculate the blind signature s'=(x·m) blind +k) mod n, and return s' to the requester; After receiving s', the requester executes the deblinding algorithm s=(a·s'+b) mod n to obtain the signature s, and finally outputs the publicly verifiable signature pair (r,s).

2. The message strong-blind signature method based on double-blind factor according to claim 1, characterized in that, The method is also applied to a verifier that verifies the validity of the signature s, and the method further includes: After obtaining the message m, the signature pair (r, s), and the public key y, the verifier performs the following steps to verify the signature validity: Verify whether r is an elliptic curve E(F) p ) valid points; Calculate the hash value h of message m m =H(m); Take the integer value of the x-coordinate of r. int =get_point_x int (r) mod n; Calculate the left side of the equation: left = s·G; Calculate the right side: right = r + (r int ·h m )·y; Verify if left=right is true; if true, then signature s is valid; otherwise, it is invalid.

3. The message strong-blind signature method based on double-blind factor according to claim 1 or 2, characterized in that, The elliptic curve E(F) p The international standard elliptic curve secp256k1 is adopted.

4. A message strong-blind signature system based on double-blind factor, characterized in that, The system includes: The requesting device used to request a signature and the signing device used to perform the signature; The signature device, Used to hold two pairs of public and private keys: A pair is a long-term key pair (x, y), where the private key x∈[2, n-1] and the public key y=x·G, and y is made public; The other pair is a temporary key pair (k, r'), where the signer randomly selects a temporary private key k each time they sign, calculates a temporary public key r' = k·G, and then publishes r'; where k ∈ [2, n-2] and satisfies gcd(k, n) = 1; gcd() is the greatest common divisor function; G is the key in the finite field F p Elliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation; Used to receive m blind Then, calculate the blind signature s'=(x·m) blind +k) mod n, and return s' to the requesting device; The requesting device. After obtaining r', it is used to first generate the reversible blinding factor a and the random blinding factor b, and then calculate the composite public key r = a·r' + b·G; where a∈[2,n-1] and gcd(a,n)=1; b∈[1,n-1]; + represents the elliptic curve point addition operation; The integer value r used to retrieve the x-coordinate of r. int =get_point_x_int(r) mod n, calculates the hash value h of message m. m =H(m), and calculate the inverse of a. inv =a -1 mod n; Used to generate blinding message m blind =a inv ·(r int ·h m ) mod n, and m blind Send the signature device; This algorithm is used to execute the deblinding algorithm s = (a·s' + b) mod n after receiving s', obtain the signature s, and finally output the publicly verifiable signature pair (r, s).

5. The message strong-blind signature system based on double-blind factor according to claim 4, characterized in that, The system also includes a verification device for verifying the validity of the signature s; The verification device is configured to perform the following steps to verify the validity of signature s after obtaining message m, signature pair (r, s), and public key y: Verify whether r is an elliptic curve E(F) p ) valid points; Calculate the hash value h of message m m =H(m); Take the integer value of the x-coordinate of r. int =get_point_x int (r) mod n; Calculate the left side of the equation: left = s·G; Calculate the right side: right = r + (r int ·h m )·y; Verify if left=right is true; if true, then signature s is valid; otherwise, it is invalid.

6. A blockchain electronic voting method based on double-blind factor strong-blind signature, applied to a voter V requesting a signature, a certification authority CA performing the signature, and a blockchain ballot box BB storing all submitted valid ballots, characterized in that, include: The process consists of five stages: initialization, voter identity verification, blind signature generation, deblinding and ballot submission, and ballot verification and counting. During the initialization phase, the following is executed: The CA generates a long-term key pair (X,Y) and a temporary key pair (K,R'), and publishes Y and R'; where, X is a long-term private key, satisfying X∈[2,n-1], and a long-term public key Y=X·G; K is a temporary private key, randomly selected by the CA, satisfying K∈[2,n-2], and gcd(K,n)=1; where gcd() is the greatest common divisor function; R' is a temporary public key, R'=K·G; G is the key in the finite field F. p Elliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation; R' is a temporary public key, R'=K·G; During the voter identity verification phase, the following procedures shall be followed: (1) Voter V submits identity credential ID_V to the authentication center CA; (2) The Certificate Authority (CA) verifies the validity of ID_V; (3) After verifying the validity of ID_V, the Certification Authority (CA) generates a one-time authentication token Token and issues it to the voter V. Then, it establishes a binding relationship between the Token and ID_V and sets the initial state of the Token to false. During the blind signature generation phase, the following steps are executed: (1) Voter V constructs the plaintext of the ballot M as a message; (2) Voter V executes the blinding algorithm: ① Generate a reversible blinding factor A and a random blinding factor b; where A∈[2,n-1] and gcd(A,n)=1; B∈[1,n-1]; ② After receiving R', calculate the composite public key R = A·R' + B·G; where + represents the elliptic curve point addition operation; ③ Take the integer value of the x-coordinate of R. int =get_point_x_int(R) mod n, calculates the hash value h of the plaintext vote M. M =H(M), and calculate the inverse A of A. inv =A -1 mod n; ④ Generate blinding message M blind =A inv ·(R int ·h M ) mod n; (3) Voter V will (M) blind Send the token to the Certificate Authority (CA); (4) The Certificate Authority (CA) receives (M) blind After verifying that the state of the token is false, calculate the blind signature S'=(X·M). blind +K) mod n, and at the same time update the Token's state to true; (5) The certification authority (CA) returns S' to the voter (V); During the deblinding and ballot submission phase, the following procedures are followed: (1) After receiving S', the voter V executes the deblinding algorithm S=(A·S'+B) mod n to obtain the signature S; (2) Voter V constructs a ballot transaction (M,R,S); (3) Voter V submits (M,R,S) to the blockchain ballot box BB; During the ballot verification and counting phase, the following procedures shall be followed: (1) Traverse all ballots (M) in the blockchain ballot box BB. i ,R i ,S i ), i=1,2,3……; (2) For the i-th vote (M) encountered during the iteration i ,R i ,S i Execute the verification algorithm: Verify R i Is it an elliptic curve E(F)? p ) valid points; Calculate M i Hash value h Mi =H(M i ); Take R i The integer value of the x-coordinate R int-i =get_point_x int (R i ) mod n; Calculate the left side i =S i ·G; Calculate the right side: i =R i +(R int-i ·h Mi )·Y; Validate left i =right i Is it true? If true, then sign S. i Valid; otherwise invalid; (3) Screening the signatures S for valid ballots M; (4) Count all valid votes to obtain the voting results.

7. A blockchain electronic voting system based on double-blind factor strong-blind signatures, characterized in that, include: The voting terminal for requesting a signature, the authentication center terminal for performing the signature, and the blockchain ballot box device for storing all submitted valid ballots; The authentication center terminal, This is used to hold a long-term private key pair (X,Y), and to generate a temporary private key pair (K,R') for each signing session, and to publicly disclose Y and R'; where X is the long-term private key, satisfying X∈[2,n-1], and the long-term public key Y=X·G; K is the temporary private key, randomly selected by the CA, satisfying K∈[2,n-2], and gcd(K,n)=1; where gcd() is the greatest common divisor function; R' is the temporary public key, R'=K·G; G is the key in the finite field F p Elliptic curve E(F) defined on p A base point on G, where n is the order of the base point G; · represents the finite field multiplication operation; This is used to verify the validity of ID_V upon receiving the identity credential ID_V, and after verifying the validity of ID_V, to generate a one-time authentication token Token and issue it to the voter V; then, to establish a binding relationship between the Token and ID_V, and to set the initial state of the Token to false; Used to receive (M) blind After verifying that the state of the token is false, calculate the blind signature S'=(X·M). blind +K) mod n, and at the same time update the Token's state to true; Used to return S' to the voter's terminal; The voter terminal, Used to submit identity credential ID_V to the authentication center terminal; This is used to perform a blinding algorithm on the plaintext M of the ballot after constructing it as a message, to obtain the blinded message M. blind The blinding algorithm is as follows: ① Generate a reversible blinding factor A and a random blinding factor b; where A∈[2,n-1] and gcd(A,n)=1; B∈[1,n-1]; ② After receiving R', calculate the composite public key R = A·R' + B·G; where + represents the elliptic curve point addition operation; ③ Take the integer value of the x-coordinate of R. int =get_point_x_int(R) mod n, calculates the hash value h of the plaintext vote M. M =H(M), and calculate the inverse A of A. inv =A -1 mod n; ④ Generate blinding message M blind =A inv ·(R int ·h M ) mod n; Used to obtain the blinding message M blind Then, (M) blind The token is sent to the authentication center terminal. Used to execute the deblinding algorithm S=(A·S'+B) mod n after receiving S', to obtain the signature S; Used to submit (M,R,S) to the blockchain ballot box device after constructing the ballot transaction (M,R,S); The blockchain voting box device Used to iterate through all received votes (M) i ,R i ,S i ), i=1,2,3……, and iterate over the i-th vote (M) i ,R i ,S i Execute the verification algorithm: ①Verify R i Is it an elliptic curve E(F)? p ) valid points; ② Calculate M i Hash value h Mi =H(M i ); ③Take R i The integer value of the x-coordinate R int-i =get_point_x int (R i ) mod n; ④ Calculate the left side i =S i ·G; ⑤ Calculate the right side: i =R i +(R int-i ·h Mi )·Y; ⑥ Verify left i =right i Is it true? If true, then sign S. i Valid; otherwise invalid; Used to filter valid ballots M with signature S; Used to count all valid votes and obtain the voting results.

8. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enable the at least one processor to perform the message strong-blind signature method based on double-blind factor as described in any one of claims 1 to 3; Alternatively, the blockchain electronic voting method based on double-blind factor strong blind signature as described in claim 6 may be implemented.

9. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to execute the message strong blind signature method based on double blind factors as described in any one of claims 1 to 3; or to execute the blockchain electronic voting method based on double blind factors as described in claim 6.

10. A computer program product comprising a computer program that, when executed by a processor, implements the message strong blind signature method based on double-blind factor as described in any one of claims 1 to 3; or implements the blockchain electronic voting method based on double-blind factor strong blind signature as described in claim 6.