Hybrid encryption authentication method, device and equipment for resisting quantum computing

Through the hybrid encryption authentication method, segmented keys are generated using hash iteration, and digital signature generation and verification are performed based on elliptic curve encryption, which solves the vulnerability problem of traditional asymmetric key technology under quantum computing attacks, and achieves higher identity authentication security and quantum computing resistance.

CN119814279AActive Publication Date: 2025-04-11JIANGSU IDEABANK MICROELECTRONICS TECH

Patent Information

Application Number
CN202510283616.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-11
Publication Date
2025-04-11
Estimated Expiration
2045-03-11

AI Technical Summary

Technical Problem

Traditional asymmetric key technology becomes vulnerable under quantum factorization and cracking of quantum computers, resulting in a significant increase in the risk of key leakage and reducing the security of the identity authentication system.

Method used

The hybrid encryption authentication method is adopted to generate segmented keys through hash iteration, and the digital signature generation and verification process is carried out based on elliptic curve encryption to improve the security of identity authentication.

Benefits of technology

Effectively resist quantum computing attacks, improve the security of the identity authentication process, enhance the robustness of the system and the ability to resist quantum computing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119814279A_ABST
    Figure CN119814279A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of identity authentication, and discloses a hybrid encryption authentication method, device and equipment for resisting quantum computing, and the method comprises the steps: obtaining a user password, a system public key and a system private key; performing Hash iteration on the user password to obtain a segmented key; performing elliptic curve encryption according to the segmented key and the system public key to obtain a user private key and a user public key; obtaining a user signature obtained by performing digital signature by a user according to the user private key and the request information; performing elliptic curve decryption according to the user public key, the system private key and the user signature to obtain decrypted identity information; and performing verification according to the decrypted identity information and pre-stored user identity information to obtain a signature authentication result. The method has the advantages that quantum computer attack can be resisted, and the safety of the identity authentication process is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of identity authentication technology, and in particular to a hybrid encryption authentication method, device and equipment for anti-quantum computing. Background Art

[0002] Identity authentication is an important part of ensuring network security and data privacy, especially in environments that require a high degree of trust, such as e-commerce. With the development of Internet technology, the interactions between users and service providers are becoming more and more frequent, and ensuring the security of these interactions has become critical. Identity authentication ensures the data security of network transactions by verifying the legitimacy of the operator's identity. It is the first step in building a trust chain for electronic transactions. Traditional identity authentication methods include username / password, one-time verification code (OTP), biometrics, and other forms.

[0003] In the prior art, traditional asymmetric keys are mostly used for authentication through digital signatures and other technologies. For example, a dynamic password-based identity authentication system receives a dynamic password input by a customer through an identity authentication module, compares it with the dynamic password received from a dynamic password server, verifies the input dynamic password, and gives an authentication result.

[0004] However, asymmetric key technology will become vulnerable to quantum factorization by quantum computers. The powerful computing power of quantum computers can quickly crack traditional encryption algorithms, such as RSA and ECC, which will greatly increase the risk of key leakage and reduce the security of the entire identity authentication system. Summary of the invention

[0005] The present invention provides a hybrid encryption authentication method, device and equipment for resisting quantum computing, which uses hybrid encryption to introduce hash iteration to generate segmented keys, and a digital signature generation and verification process based on elliptic curve encryption, thereby achieving resistance to quantum computer attacks and improving the security of the identity authentication process.

[0006] In a first aspect, in order to solve the above technical problems, the present invention provides a hybrid encryption authentication method for anti-quantum computing, comprising: Obtain user password, system public key and system private key; Perform hash iteration on the user password to obtain a segment key; Perform elliptic curve encryption according to the segment key and the system public key to obtain a user private key and a user public key; Obtaining a user signature obtained by digitally signing the user's private key and the request information; Perform elliptic curve decryption according to the user public key, the system private key and the user signature to obtain decrypted identity information; Verification is performed based on the decrypted identity information and the pre-stored user identity information to obtain a signature authentication result.

[0007] In an optional implementation manner, obtaining the user password, the system public key and the system private key includes: A pair of system public key and system private key is randomly generated by the key management server.

[0008] In an optional implementation, performing hash iteration on the user password to obtain a segment key includes: Randomly generate an initial salt value; Concatenate the user password and the initial salt value to obtain an initial input string; Performing a first hash operation on the initial input string and a pre-stored hash function to obtain a first intermediate result; Use the first intermediate result as a new input string and record the number of iterations; Repeatedly apply the same hash function, each time using the previous result as the new input, and continue this process until the preset upper limit of iterations is reached, resulting in a hash output; According to the hash output, parts of preset length and preset number are intercepted to obtain segment keys.

[0009] In an optional implementation, performing elliptic curve encryption according to the segment key and the system public key to obtain a user private key and a user public key includes: Initialize elliptic curve parameters; Initialize the elliptic curve using the following formula: in, is the vertical axis, is the horizontal axis, , is the coefficient, Any prime number generated for initialization, is the congruence symbol in number theory, is the modulo operation; Performing base point calculation on the initialized elliptic curve to obtain an initial base point; Connect the segment key to the system public key and perform base conversion to obtain a candidate user private key; Determine whether the candidate user private key is smaller than the order of the elliptic curve, and if the candidate user private key is smaller than the order of the elliptic curve, use the candidate user private key as the user private key; If the candidate user private key is greater than the order of the elliptic curve, the candidate user private key is used as the user private key, and other candidate user private keys are recalculated; Perform a point multiplication operation on the user private key and the initial base point to obtain the user public key.

[0010] In an optional implementation, before obtaining the user signature obtained by digitally signing the user according to the user private key and the request information, the method further includes: Get the request information sent by the user; Performing hash processing on the request information and a preset hash function to obtain a message digest hash value; Randomly generate the initial signature number; Performing a scalar multiplication operation on the initial signature number and the base point of the elliptic curve to obtain a first elliptic curve point; Taking the abscissa of the first elliptic curve point modulo the order of the elliptic curve to obtain a first signature component; The second signature component is calculated by the following formula: in, is the second signature component, is the first signature component, is the user's private key, is the message digest hash value, The initial signature number in the module The inverse element below, is the order of the elliptic curve, is the modulo operation; The first signature component and the second signature component are combined to obtain a user signature.

[0011] In an optional implementation, performing elliptic curve decryption according to the user public key, the system private key, and the user signature to obtain the decrypted identity information includes: The elliptic curve point is calculated using the following formula: in, , is the intermediate variable, is the second signature component, is the first signature component, The second signature component is modulo The inverse element below, is the order of the elliptic curve, is an elliptic curve point, is the base point of the elliptic curve, is the user's public key, is the message digest hash value, is the modulo operation; The elliptic curve point is the decrypted identity information.

[0012] In an optional implementation, the verifying the decrypted identity information with the pre-stored user identity information to obtain the signature authentication result includes: Verify by the following verification formula: in, is the horizontal axis of the decrypted identity information, is the order of the elliptic curve, is the first signature component, is the modulo operation; The user identity information includes the elliptic curve and the first signature component; If the verification formula is established, it means that the signature authentication is successful; If the verification formula does not hold, it means that the signature authentication fails.

[0013] In a second aspect, the present invention provides a hybrid encryption authentication device for anti-quantum computing, comprising: A data acquisition module is used to obtain user passwords, system public keys and system private keys; A segmentation key module, used for performing hash iteration on the user password to obtain a segmentation key; A user public and private key module, used to perform elliptic curve encryption according to the segment key and the system public key to obtain a user private key and a user public key; A user signature module is used to obtain a user signature obtained by digitally signing the user's private key and request information; An identity decryption module, used to perform elliptic curve decryption according to the user public key, the system private key and the user signature to obtain decrypted identity information; The authentication result module is used to verify the decrypted identity information with the pre-stored user identity information to obtain the signature authentication result.

[0014] In a third aspect, the present invention also provides an electronic device comprising a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein when the processor executes the computer program, the processor implements any one of the above-mentioned hybrid encryption authentication methods for anti-quantum computing.

[0015] In a fourth aspect, the present invention also provides a computer-readable storage medium, which includes a stored computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located is controlled to execute any one of the hybrid encryption authentication methods for anti-quantum computing described above.

[0016] Compared with the prior art, the present invention has the following beneficial effects: the present invention discloses a hybrid encryption authentication method, device and equipment for resisting quantum computing, the method comprising obtaining a user password, a system public key and a system private key; performing hash iteration on the user password to obtain a segmented key; performing elliptic curve encryption according to the segmented key and the system public key to obtain a user private key and a user public key; obtaining a user signature obtained by digitally signing the user private key and request information; performing elliptic curve decryption according to the user public key, the system private key and the user signature to obtain decrypted identity information; performing verification according to the decrypted identity information and the pre-stored user identity information to obtain a signature authentication result. This method uses hybrid encryption, introduces hash iteration to generate segmented keys, and generates and verifies digital signatures based on elliptic curve encryption, thereby achieving resistance to quantum computer attacks and improving the security of the identity authentication process.

[0017] Specifically, the present invention introduces a process of hashing the user password to generate a segmented key. This method enhances the robustness of the authentication mechanism by adding an additional security layer, especially against quantum computing attacks. First, an initial salt value is randomly generated and concatenated with the user password to form an initial input string. This approach ensures that even if the passwords of two users are the same, as long as the salt values ​​are different, the segmented keys generated in the end will be completely different, thereby greatly increasing the difficulty of cracking. Next, the initial input string is hashed for the first time using a pre-stored hash function to obtain a first intermediate result. The hash function selected here is an algorithm with high collision resistance and good dispersion, such as SHA-256 or SHA-3, to ensure the unpredictability and uniqueness of the output. Then, the first intermediate result is used as a new input string, and the number of iterations is recorded. The system repeatedly applies the same hash function, and each time the previous result is used as the new input to continue the hash operation until the preset upper limit of the number of iterations is reached. This method of multiple rounds of hash iterations significantly increases the time required for brute force cracking, because the attacker not only needs to guess the original password, but also needs to reproduce each hash transformation in the entire iteration process. Finally, the segmented key is obtained by cutting off the preset length and number of parts according to the final hash output. This method allows the strength and size of the key to be flexibly adjusted to meet different security requirements and application scenarios. At the same time, the design of the segmented key ensures that even if a part of the key is leaked, it is not enough to infer the complete key information, further enhancing the security of the system.

[0018] Furthermore, the method proposes a digital signature generation process based on elliptic curve cryptography (ECC). After the user request information is received, the request information is first processed by applying a preset digest algorithm to obtain a fixed-length information digest hash value. This step not only reduces the amount of data for subsequent signature operations, but also enhances the uniqueness and security of the signature, because even slight differences in the information content will lead to completely different digest results. Next, the system randomly generates an initial signature number, which will be used for subsequent operations and ensure that each signature is unique. Then, by multiplying this initial signature number with the basic point on the predefined mathematical model, a scalar multiplication operation is performed to obtain a new point on the mathematical model, namely the first mathematical model point. The horizontal coordinate is extracted from the point as the first signature part, and a modulo operation is adopted here to ensure that it meets the requirements of the mathematical model. In order to calculate the second signature part, a specific formula is used, which involves the user secret value, the information digest hash value, and the inverse element of the initial signature number under specific conditions. This formula ensures that even if the public information and part of the signature content are known, the attacker cannot easily deduce the user secret value or forge the signature. This is because solving the private key requires solving the discrete logarithm problem, which is extremely difficult in the elliptic curve environment. Finally, the two signature parts are combined to form a complete user signature. This method combines efficient mathematical operations and rigorous security design to provide good performance while maintaining high security, and is particularly suitable for combating new quantum computing attacks.

[0019] Furthermore, this method is based on elliptic curve cryptography and is specifically designed for the needs of quantum computing resistance. In this process, first, a point on an elliptic curve is calculated according to specific steps using the public key provided by the user, the system private key, and the user signature. This calculation process involves the generation of several intermediate variables, which combine the information summary, the signature component, and the relevant parameters of the elliptic curve. Then, the obtained elliptic curve point is used as the decrypted identity information and compared with the user identity information pre-stored in the system for verification. The core of the verification is to check whether a certain value in the decrypted information meets the predetermined conditions. If the condition is met, it means that the signature authentication is passed, confirming that the decrypted identity information is consistent with the pre-stored user identity information, and proving the identity of the user; otherwise, if the condition is not met, the signature authentication fails, indicating that there is forgery or tampering. This method not only maintains the security and efficiency advantages of traditional elliptic curve cryptography, but also enhances the security of the identity authentication process. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 It is a schematic flow chart of a hybrid encryption authentication method for anti-quantum computing provided by the first embodiment of the present invention; Figure 2 It is a schematic diagram of the structure of a hybrid encryption authentication device for anti-quantum computing provided by the second embodiment of the present invention. DETAILED DESCRIPTION

[0021] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0022] To solve the above problems, refer to Figure 1 The first embodiment of the present invention provides a hybrid encryption authentication method for anti-quantum computing, comprising the following steps: S11, obtaining the user password, system public key and system private key; S12, performing hash iteration on the user password to obtain a segment key; S13, performing elliptic curve encryption according to the segment key and the system public key to obtain a user private key and a user public key; S14, obtaining a user signature obtained by digitally signing the user according to the user private key and the request information; S15, performing elliptic curve decryption according to the user public key, the system private key and the user signature to obtain decrypted identity information; S16, verifying the decrypted identity information with the pre-stored user identity information to obtain a signature authentication result.

[0023] In step S11, the user password, system public key and system private key are obtained.

[0024] In one implementation, a pair of system public key and system private key is randomly generated by a key management server. In this process, the key management server (KMS) is responsible for securely generating and managing the key pair required for encryption, namely the system public key and the system private key. In order to ensure the security and uniqueness of the key, the KMS uses a secure random number generator to create this pair of keys. A sufficiently large prime number is selected as the basis for elliptic curve encryption, and a specific elliptic curve is defined based on this. Then, a base point is selected on this curve, and the private key is obtained by multiplying the random number with the base point, and the corresponding public key is calculated by the private key. At the same time, the system also needs to obtain the user's password. The user password here refers to a secret string set by the user to assist in the generation of subsequent key materials for identity authentication. It should be noted that the user's password should be collected in a secure manner and should be properly protected throughout the transmission and processing process to prevent leakage.

[0025] In step S12, the user password is hashed iteratively to obtain a segment key.

[0026] In one implementation, an initial salt value is randomly generated; the user password and the initial salt value are concatenated to obtain an initial input string; a first hash operation is performed on the initial input string and a pre-stored hash function to obtain a first intermediate result; the first intermediate result is used as a new input string, and the number of iterations is recorded; the same hash function is repeatedly applied, each time using the previous result as a new input, and this process is continued until a preset upper limit on the number of iterations is reached to obtain a hash output; and a portion of a preset length and a preset number is intercepted based on the hash output to obtain a segmented key.

[0027] It is worth mentioning that salt is a type of random data used in cryptography to enhance the security of hash functions. It is added to the user's password or other input before hashing. The main purpose of the salt value is to prevent attackers from using pre-calculated rainbow tables to quickly crack the hash value, and to ensure that even if two users choose the same password, their hash results will be different, thereby increasing the difficulty of cracking.

[0028] It is worth noting that hashing is an algorithmic process that maps data of any length to a fixed-length output, which is called a hash value, message digest, or simply hash. This method uses the SHA-256 function, which can map data of any length to a fixed-length hash value of 256 bits (32 bytes). It is very difficult to find two different inputs that produce the same SHA-256 hash value. It is almost impossible to reverse the original input from the hash value, which ensures the confidentiality of the data.

[0029] In one implementation, the specific process of the SHA-256 hash operation includes: first, the input message needs to be padded so that the message is extended to the smallest multiple of the original length but not less than 448 modulo 512. The padding includes adding a "1" bit, followed by a sufficient number of "0" bits, and finally a 64-bit binary representation of the original message length. The padded message is divided into 512-bit blocks, and each block is further divided into 16 32-bit words. SHA-256 uses eight initial hash values ​​(H0, H1, ..., H7), which are extracted from the square roots and cube roots of the first 256 bits and are clearly defined in the standard document. Each initial hash value is 32 bits long. For each 512-bit message block, perform the following steps: Create a message schedule array containing 64 entries, each entry is a 32-bit word. The first 16 entries come directly from the message block currently being processed, and the remaining 48 entries are obtained by nonlinear transformation of the first 16 entries. After processing a message block, the working variables (a, b, c, d, e, f, g, h) are added back to the corresponding initial hash value to update the hash value.

[0030] In this embodiment, a process of hashing the user password to generate a segmented key is introduced. This method enhances the robustness of the authentication mechanism by adding an additional security layer, especially against quantum computing attacks. First, an initial salt value is randomly generated and concatenated with the user password to form an initial input string. This approach ensures that even if the passwords of two users are the same, as long as the salt values ​​are different, the segmented keys generated in the end will be completely different, which greatly increases the difficulty of cracking. Next, the initial input string is hashed for the first time using a pre-stored hash function to obtain a first intermediate result. The hash function selected here is an algorithm with high collision resistance and good dispersion, such as SHA-256 or SHA-3, to ensure the unpredictability and uniqueness of the output. Then, the first intermediate result is used as a new input string and the number of iterations is recorded. The system repeatedly applies the same hash function, and each time the previous result is used as the new input to continue the hash operation until the preset upper limit of the number of iterations is reached. This method of multiple rounds of hash iterations significantly increases the time required for brute force cracking, because the attacker not only needs to guess the original password, but also needs to reproduce every hash transformation in the entire iteration process. Finally, the segmented key is obtained by cutting off the preset length and number of parts according to the final hash output. This method allows the strength and size of the key to be flexibly adjusted to meet different security requirements and application scenarios. At the same time, the design of the segmented key ensures that even if a part of the key is leaked, it is not enough to infer the complete key information, further enhancing the security of the system.

[0031] In step S13, elliptic curve encryption is performed according to the segment key and the system public key to obtain a user private key and a user public key.

[0032] In one implementation, initializing elliptic curve parameters; Initialize the elliptic curve using the following formula: in, is the vertical axis, is the horizontal axis, , is the coefficient, Any prime number generated for initialization, is the congruence symbol in number theory, is the modulo operation; Performing base point calculation on the initialized elliptic curve to obtain an initial base point; Connect the segment key to the system public key and perform base conversion to obtain a candidate user private key; Determine whether the candidate user private key is smaller than the order of the elliptic curve, and if the candidate user private key is smaller than the order of the elliptic curve, use the candidate user private key as the user private key; If the candidate user private key is greater than the order of the elliptic curve, the candidate user private key is used as the user private key, and other candidate user private keys are recalculated; Perform a point multiplication operation on the user private key and the initial base point to obtain the user public key.

[0033] It is worth noting that the elliptic curve is defined by an equation, is the vertical axis, is the horizontal axis, , Because the coefficients determine the specific shape of the curve, a special point needs to be selected as the base point on a given elliptic curve, also called a generator. This point must meet the following conditions: It is located on the elliptic curve. It has a sufficient order, which means that repeated addition will return to the point at infinity (i.e., the additive identity element). The order of a point on an elliptic curve is the smallest positive integer that can be added to the point at infinity. Elliptic curve addition follows specific rules that ensure that the result is still another point on the curve: Doubling the same point determines the new point based on where the tangent intersects the curve. Adding different points: The new point is determined by where the line connecting the two points intersects the curve.

[0034] It is worth noting that in number theory and cryptography, the congruence symbol is defined as follows: if two integers When dividing by a positive integer When they have the same remainder, then they are called For the model are congruent. For example: , modulo 6, both have the same remainder.

[0035] In one implementation, the method selects a standard elliptic curve, such as NIST P-256. During the private key generation process, all random numbers are generated from a random number generator CSPRNG.

[0036] In step S14, a user signature is obtained by digitally signing the user according to the user private key and the request information.

[0037] In one implementation, obtaining request information sent by a user; Performing hash processing on the request information and a preset hash function to obtain a message digest hash value; Randomly generate the initial signature number; Performing a scalar multiplication operation on the initial signature number and the base point of the elliptic curve to obtain a first elliptic curve point; Taking the abscissa of the first elliptic curve point modulo the order of the elliptic curve to obtain a first signature component; The second signature component is calculated by the following formula: in, is the second signature component, is the first signature component, is the user's private key, is the message digest hash value, The initial signature number in the module The inverse element below, is the order of the elliptic curve, is the modulo operation; The first signature component and the second signature component are combined to obtain a user signature.

[0038] It is worth noting that the user initiates a request, which contains certain specific information or instructions. For example, this is to access a resource, submit data, or perform a certain operation. The request information is hashed using a preset secure hash algorithm (such as SHA-256). The result of the hash operation is a string of fixed length, called the information digest hash value. The system randomly generates an integer as the initial signature number. This value must be a positive integer less than the order of the elliptic curve, and is independently randomly selected for each signature. It will be recorded in the database. The final user signature consists of two parts - the first signature component and the second signature component use ASN.1 DER encoding to package these two values ​​to form a complete digital signature.

[0039] In step S15, elliptic curve decryption is performed according to the user public key, the system private key and the user signature to obtain decrypted identity information.

[0040] In one implementation, the elliptic curve point is calculated using the following formula: in, , is the intermediate variable, is the second signature component, is the first signature component, The second signature component is modulo The inverse element below, is the order of the elliptic curve, is an elliptic curve point, is the base point of the elliptic curve, is the user's public key, is the message digest hash value, is the modulo operation; The elliptic curve point is the decrypted identity information.

[0041] It is worth mentioning that The second signature component is modulo The inverse element under satisfies the formula: ,in, is the second signature component, The second signature component is modulo The inverse element below, is the congruence symbol in number theory, is the modulo operation. This inverse is calculated by extending the Euclidean algorithm.

[0042] In step S16, verification is performed based on the decrypted identity information and the pre-stored user identity information to obtain a signature authentication result.

[0043] In one implementation, verification is performed using the following verification formula: in, is the horizontal axis of the decrypted identity information, is the order of the elliptic curve, is the first signature component, is the modulo operation; The user identity information includes the elliptic curve and the first signature component; If the verification formula is established, it means that the signature authentication is successful; If the verification formula does not hold, it means that the signature authentication fails.

[0044] In summary, the present invention discloses a hybrid encryption authentication method for anti-quantum computing, aiming to cope with the security challenges brought about by the development of quantum computing technology. The present invention proposes a new anti-quantum computing identity authentication scheme to enhance the security of the system in the face of quantum attacks.

[0045] The method first involves obtaining a user password, a system public key, and a system private key. A pair of system public keys and system private keys are randomly generated by a key management server, and the secure distribution and storage of these keys are ensured. The user password participates in the subsequent key material generation process as an auxiliary material, and it should be collected and processed in a secure manner. In order to increase the difficulty of cracking, the present invention introduces a process of generating segmented keys by hashing the user password iteratively. In this process, an initial salt value is randomly generated and connected with the user password to form an initial input string, and then a pre-stored hash function with high collision resistance and good dispersion (such as SHA-256 or SHA-3) is used to perform multiple hash operations on the input string until the preset upper limit of the number of iterations is reached. Finally, the segmented key is obtained by intercepting a portion of a preset length according to the hash output, which not only increases the difficulty of brute force cracking, but also is not enough to infer the complete key information even if a part of the key is leaked, thereby enhancing the robustness and security of the system.

[0046] Next, elliptic curve encryption is performed based on the segment key and the system public key to generate the user private key and user public key. Specifically, after initializing the elliptic curve parameters and selecting a suitable base point, the segment key is converted into a candidate user private key and checked to see if it is less than the order of the elliptic curve; if it meets the conditions, it is directly adopted, otherwise other candidate user private keys are recalculated. Then, the user private key is multiplied with the initial base point to obtain the user public key. This step ensures that each user's private key is unique and difficult to predict, while ensuring that the corresponding public key can be verified but the private key cannot be reversed, effectively resisting the potential risks brought by quantum computing.

[0047] When a user initiates a request, the system receives the request information and hashes it to generate a message digest hash value, reducing the amount of data for the signature operation and enhancing the uniqueness and security of the signature. After that, an initial signature number is randomly generated, which is used in subsequent operations to ensure that each signature is unique. By multiplying the initial signature number with the base point on the elliptic curve, a scalar multiplication operation is performed to obtain the first elliptic curve point, and the horizontal coordinate is extracted from it as the first signature component. To calculate the second signature component, a specific formula is used, which involves the user's private key, the message digest hash value, and the inverse element of the initial signature number under the module, ensuring that even if the public information and part of the signature content are known, the attacker cannot easily forge the signature. Finally, the two signature components are combined to form a complete user signature. This method combines efficient mathematical operations and rigorous security design to provide good performance while maintaining high security.

[0048] During the authentication phase, elliptic curve decryption is performed based on the user's public key, system private key, and user signature to obtain the decrypted identity information. This involves complex elliptic curve point calculations, including the definition of intermediate variables and the application of modular operations, which ultimately determine the decrypted identity information. Subsequently, the horizontal coordinate in the decrypted identity information is compared with the pre-stored first signature component through a verification formula to determine whether the signature authentication has passed. If the verification formula is established, it means that the signature authentication has passed; otherwise, it has failed. The entire process strictly follows mathematical principles to ensure the accuracy and non-repudiation of the authentication results.

[0049] In summary, the hybrid encryption authentication method for anti-quantum computing provided by the present invention and its related devices and equipment, through hybrid encryption, introduce hash iteration to generate segmented keys, and digital signature generation and verification processes based on elliptic curve encryption, to construct an identity authentication system with strong resistance to quantum computing attacks.

[0050] Reference Figure 2 The second embodiment of the present invention provides a hybrid encryption authentication device for anti-quantum computing, including: A data acquisition module is used to obtain user passwords, system public keys and system private keys; A segmentation key module, used for performing hash iteration on the user password to obtain a segmentation key; A user public and private key module, used to perform elliptic curve encryption according to the segment key and the system public key to obtain a user private key and a user public key; A user signature module is used to obtain a user signature obtained by digitally signing the user's private key and request information; An identity decryption module, used to perform elliptic curve decryption according to the user public key, the system private key and the user signature to obtain decrypted identity information; The authentication result module is used to verify the decrypted identity information with the pre-stored user identity information to obtain the signature authentication result.

[0051] Preferably, the data acquisition module is used to: Obtain user password, system public key and system private key; A pair of system public key and system private key is randomly generated by the key management server.

[0052] Segment key module for: Perform hash iteration on the user password to obtain a segment key, including: Randomly generate an initial salt value; Concatenate the user password and the initial salt value to obtain an initial input string; Performing a first hash operation on the initial input string and a pre-stored hash function to obtain a first intermediate result; Use the first intermediate result as a new input string and record the number of iterations; Repeatedly apply the same hash function, each time using the previous result as the new input, and continue this process until the preset upper limit of iterations is reached, resulting in a hash output; According to the hash output, parts of preset length and preset number are intercepted to obtain segment keys.

[0053] User public and private key modules are used to: Performing elliptic curve encryption according to the segment key and the system public key to obtain a user private key and a user public key, including: Initialize elliptic curve parameters; Initialize the elliptic curve using the following formula: in, is the vertical axis, is the horizontal axis, , is the coefficient, Any prime number generated for initialization, is the congruence symbol in number theory, is the modulo operation; Performing base point calculation on the initialized elliptic curve to obtain an initial base point; Connect the segment key to the system public key and perform base conversion to obtain a candidate user private key; Determine whether the candidate user private key is smaller than the order of the elliptic curve, and if the candidate user private key is smaller than the order of the elliptic curve, use the candidate user private key as the user private key; If the candidate user private key is greater than the order of the elliptic curve, the candidate user private key is used as the user private key, and other candidate user private keys are recalculated; Perform a point multiplication operation on the user private key and the initial base point to obtain the user public key.

[0054] User signature module, used to: Obtaining a user signature obtained by digitally signing the user's private key and the request information, including: Get the request information sent by the user; Performing hash processing on the request information and a preset hash function to obtain a message digest hash value; Randomly generate the initial signature number; Performing a scalar multiplication operation on the initial signature number and the base point of the elliptic curve to obtain a first elliptic curve point; Taking the abscissa of the first elliptic curve point modulo the order of the elliptic curve to obtain a first signature component; The second signature component is calculated by the following formula: in, is the second signature component, is the first signature component, is the user's private key, is the message digest hash value, The initial signature number in the module The inverse element below, is the order of the elliptic curve, is the modulo operation; The first signature component and the second signature component are combined to obtain a user signature.

[0055] Identity decryption module, used to: Perform elliptic curve decryption according to the user public key, the system private key and the user signature to obtain decrypted identity information, including: The elliptic curve point is calculated using the following formula: in, , is the intermediate variable, is the second signature component, is the first signature component, The second signature component is modulo The inverse element below, is the order of the elliptic curve, is an elliptic curve point, is the base point of the elliptic curve, is the user's public key, is the message digest hash value, is the modulo operation; The elliptic curve point is the decrypted identity information.

[0056] The authentication result module is used to verify the decrypted identity information with the pre-stored user identity information to obtain the signature authentication result, including: Verify by the following verification formula: in, is the horizontal axis of the decrypted identity information, is the order of the elliptic curve, is the first signature component, is the modulo operation; The user identity information includes the elliptic curve and the first signature component; If the verification formula is established, it means that the signature authentication is successful; If the verification formula does not hold, it means that the signature authentication fails.

[0057] It should be noted that a hybrid encryption authentication device for anti-quantum computing provided in an embodiment of the present invention is used to execute all the process steps of a hybrid encryption authentication method for anti-quantum computing in the above-mentioned embodiment. The working principles and beneficial effects of the two correspond one to one, and therefore will not be repeated here.

[0058] An embodiment of the present invention further provides an electronic device. The electronic device includes: a processor, a memory, and a computer program stored in the memory and executable on the processor, such as a data acquisition program. When the processor executes the computer program, the steps in the above-mentioned hybrid encryption authentication method for anti-quantum computing are implemented, such as Figure 1 Alternatively, when the processor executes the computer program, the functions of the modules / units in the above-mentioned device embodiments are realized, such as the data acquisition module.

[0059] Exemplarily, the computer program may be divided into one or more modules / units, which are stored in the memory and executed by the processor to implement the present invention. The one or more modules / units may be a series of computer program instruction segments capable of implementing specific functions, which are used to describe the execution process of the computer program in the electronic device.

[0060] The electronic device may be a computing device such as a desktop computer, a notebook, a PDA, and a smart tablet. The electronic device may include, but is not limited to, a processor and a memory. Those skilled in the art will appreciate that the above components are merely examples of electronic devices and do not constitute a limitation on the electronic device. The electronic device may include more or fewer components than the above components, or may combine certain components, or different components. For example, the electronic device may also include input and output devices, network access devices, buses, etc.

[0061] The processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. The processor is the control center of the electronic device, and uses various interfaces and lines to connect various parts of the entire electronic device.

[0062] The memory can be used to store the computer program and / or module, and the processor realizes various functions of the electronic device by running or executing the computer program and / or module stored in the memory, and calling the data stored in the memory. The memory can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0063] Wherein, if the module / unit integrated in the electronic device is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Wherein, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.

[0064] It should be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the accompanying drawings of the device embodiments provided by the present invention, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines. A person of ordinary skill in the art may understand and implement it without paying any creative effort.

[0065] The specific embodiments described above further illustrate the purpose, technical solutions and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. It is particularly pointed out that for those skilled in the art, any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the scope of protection of the present invention.

Claims

1. A hybrid encryption authentication method for quantum computing resistance, characterized in that: include: Obtain user password, system public key and system private key; Perform hash iteration on the user password to obtain a segment key; Performing elliptic curve encryption according to the segment key and the system public key to obtain a user private key and a user public key specifically includes: Initialize elliptic curve parameters, and perform base point calculation on the initialized elliptic curve to obtain an initial base point; Connect the segment key to the system public key and perform base conversion to obtain a candidate user private key; Determine whether the candidate user private key is smaller than the order of the elliptic curve, and if the candidate user private key is smaller than the order of the elliptic curve, use the candidate user private key as the user private key; If the candidate user private key is greater than the order of the elliptic curve, the candidate user private key is used as the user private key, and other candidate user private keys are recalculated; Perform a point multiplication operation on the user private key and the initial base point to obtain the user public key; Obtaining a user signature obtained by digitally signing the user's private key and the request information; Perform elliptic curve decryption according to the user public key, the system private key and the user signature to obtain decrypted identity information; Verification is performed based on the decrypted identity information and the pre-stored user identity information to obtain a signature authentication result.

2. The hybrid encryption authentication method for quantum computing resistance according to claim 1, characterized in that: The obtaining of the user password, the system public key and the system private key comprises: A pair of system public key and system private key is randomly generated by the key management server.

3. The hybrid encryption authentication method for quantum computing resistance according to claim 1, characterized in that: The step of performing hash iteration on the user password to obtain a segment key includes: Randomly generate an initial salt value; Concatenate the user password and the initial salt value to obtain an initial input string; Performing a first hash operation on the initial input string and a pre-stored hash function to obtain a first intermediate result; Use the first intermediate result as a new input string and record the number of iterations; Repeatedly apply the same hash function, each time using the previous result as the new input, and continue this process until the preset upper limit of iterations is reached, resulting in a hash output; According to the hash output, parts of preset length and preset number are intercepted to obtain segment keys.

4. The hybrid encryption authentication method for quantum computing resistance according to claim 1, characterized in that: Initialize the elliptic curve using the following formula: in, is the vertical axis, is the horizontal axis, , is the coefficient, Any prime number generated for initialization, is the congruence symbol in number theory, It is a modulo operation.

5. The hybrid encryption authentication method for quantum computing resistance according to claim 1, characterized in that: Before obtaining the user signature obtained by digitally signing the user according to the user private key and the request information, the method further includes: Get the request information sent by the user; Performing hash processing on the request information and a preset hash function to obtain a message digest hash value; Randomly generate the initial signature number; Performing a scalar multiplication operation on the initial signature number and the base point of the elliptic curve to obtain a first elliptic curve point; Taking the abscissa of the first elliptic curve point modulo the order of the elliptic curve to obtain a first signature component; The second signature component is calculated by the following formula: in, is the second signature component, is the first signature component, is the user's private key, is the message digest hash value, The initial signature number in the module The inverse element below, is the order of the elliptic curve, is the modulo operation; The first signature component and the second signature component are combined to obtain a user signature.

6. The hybrid encryption authentication method for anti-quantum computing according to claim 1, characterized in that: The performing elliptic curve decryption according to the user public key, the system private key and the user signature to obtain the decrypted identity information includes: The elliptic curve point is calculated using the following formula: in, , is the intermediate variable, is the second signature component, is the first signature component, The second signature component is modulo The inverse element below, is the order of the elliptic curve, is an elliptic curve point, is the base point of the elliptic curve, is the user's public key, is the message digest hash value, is the modulo operation; The elliptic curve point is the decrypted identity information.

7. The hybrid encryption authentication method for quantum computing resistance according to claim 1, characterized in that: The verification is performed based on the decrypted identity information and the pre-stored user identity information to obtain a signature authentication result, including: Verify by the following verification formula: in, is the horizontal axis of the decrypted identity information, is the order of the elliptic curve, is the first signature component, is the modulo operation; The user identity information includes the elliptic curve and the first signature component; If the verification formula is established, it means that the signature authentication is successful; If the verification formula does not hold, it means that the signature authentication fails.

8. A hybrid encryption authentication device for quantum computing resistance, characterized in that: include: A data acquisition module is used to obtain user passwords, system public keys and system private keys; A segmentation key module, used for performing hash iteration on the user password to obtain a segmentation key; A user public and private key module, used to perform elliptic curve encryption according to the segment key and the system public key to obtain a user private key and a user public key; A user signature module is used to obtain a user signature obtained by digitally signing the user's private key and the request information; An identity decryption module, used to perform elliptic curve decryption according to the user public key, the system private key and the user signature to obtain decrypted identity information; The authentication result module is used to verify the decrypted identity information with the pre-stored user identity information to obtain a signature authentication result.

9. An electronic device, characterized in that: The invention comprises a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein when the processor executes the computer program, the hybrid encryption authentication method for anti-quantum computing as described in any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored computer program, wherein when the computer program is executed, the device where the computer-readable storage medium is located is controlled to execute the hybrid encryption authentication method for quantum computing resistance as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for restoring public key based on SM2 signature

    CN111066285A

  • Novel block chain privacy protection method

    CN114710294A

  • Encrypted communication method and system based on block chain technology

    CN116132118A

  • Lightweight Internet of Things equipment bidirectional authentication and secure communication method and system

    CN117997516A

  • Secure communication protocol method and system based on microchip fingerprint technology

    CN119011137A

Cited By

  • Anonymous identity authentication method and device, electronic equipment and storage medium

    CN120474719A

  • Power system core data anti-quantum encryption method and system based on lattice cipher

    CN121485936A