Hybrid Encryption Authentication Method, Device and Equipment for Resisting Quantum Computing

By introducing hash iteratively generated segmented keys and digital signature generation and verification processes based on elliptic curve encryption in the identity authentication system, the risk of quantum computers cracking traditional encryption algorithms is solved, and higher identity authentication security and anti-quantum computing attack capabilities are achieved.

CN119814279BActive Publication Date: 2025-06-20JIANGSU IDEABANK MICROELECTRONICS TECH
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

When existing identity authentication methods face quantum factorization and cracking of quantum computers, the risk of key leakage increases significantly, resulting in a reduction in 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, and enhance the robustness and cracking resistance of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119814279B_ABST
    Figure CN119814279B_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of identity authentication, and discloses a hybrid encryption authentication method, device and equipment for resisting quantum computing. The method includes 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 the user performing a digital signature according to 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; verifying according to the decrypted identity information and the pre-stored user identity information to obtain a signature authentication result. The present method has the following effects: The present method can achieve resistance to quantum computer attacks and improve the security of the identity authentication process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

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

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

[0004] However, the asymmetric key technology will become vulnerable under the quantum factorization attack of quantum computers. The powerful computing power of quantum computers can quickly crack traditional encryption algorithms such as RSA and ECC, which will lead to a significant increase in the risk of key leakage and a reduction in 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, so as to introduce hash iteration to generate segmented keys and the digital signature generation and verification process based on elliptic curve encryption through hybrid encryption, thereby achieving resistance to quantum computer attacks and improving the security of the identity authentication process.

[0006] In a first aspect, to solve the above technical problems, the present invention provides a hybrid encryption authentication method for resisting quantum computing, including:

[0007] Obtain a user password, a system public key, and a system private key;

[0008] Perform hash iteration on the user password to obtain a segmented key;

[0009] Perform elliptic curve encryption according to the segmented key and the system public key to obtain a user private key and a user public key;

[0010] Obtain a user signature obtained by the user performing a digital signature according to the user private key and the request information;

[0011] Perform elliptic curve decryption based on the user public key, the system private key, and the user signature to obtain decrypted identity information;

[0012] Verify the decrypted identity information against the pre-stored user identity information to obtain a signature authentication result.

[0013] In an alternative embodiment, the obtaining of the user password, the system public key, and the system private key includes:

[0014] Randomly generate a pair of system public key and system private key by a key management server.

[0015] In an alternative embodiment, the hashing and iterating of the user password to obtain a segmented key includes:

[0016] Randomly generate an initial salt value;

[0017] Concatenate the user password and the initial salt value to obtain an initial input string;

[0018] Perform a first hashing operation on the initial input string and a pre-stored hashing function to obtain a first intermediate result;

[0019] Use the first intermediate result as a new input string and record the iteration count;

[0020] Repeat the application of the same hashing function, each time using the previous result as the new input, and continue this process until a preset iteration count limit is reached to obtain a hashing output;

[0021] Intercept a preset length and a preset number of parts from the hashing output to obtain a segmented key.

[0022] In an alternative embodiment, the elliptic curve encryption based on the segmented key and the system public key to obtain a user private key and a user public key includes:

[0023] Initialize elliptic curve parameters;

[0024] Initialize the elliptic curve by the following formula:

[0025]

[0026] where, is the ordinate, is the abscissa, , are coefficients, is an arbitrarily generated prime number for initialization, is the congruence symbol in number theory, is the modulo operation;

[0027] Perform base point calculation on the initialized elliptic curve to obtain an initial base point;

[0028] Connect the segmented key to the system public key and perform base conversion to obtain a candidate user private key;

[0029] Determine whether the candidate user private key is less than the order of the elliptic curve. If the candidate user private key is less than the order of the elliptic curve, use the candidate user private key as the user private key;

[0030] If the candidate user private key is greater than the order of the elliptic curve, use the candidate user private key as the user private key and recalculate other candidate user private keys;

[0031] Perform a point multiplication operation on the user private key and the initial base point to obtain a user public key.

[0032] In an alternative embodiment, before obtaining the user signature obtained by the user according to the user private key and the request information, the method further includes:

[0033] Obtain the request information sent by the user;

[0034] Perform a hashing process on the request information and a preset hashing function to obtain an information digest hash value;

[0035] Randomly generate an initial signature number;

[0036] Perform a scalar multiplication operation on the initial signature number and the base point of the elliptic curve to obtain a first elliptic curve point;

[0037] Take the abscissa of the first elliptic curve point modulo the order of the elliptic curve to obtain a first signature component;

[0038] Calculate the second signature component through the following formula:

[0039]

[0040] Wherein, is the second signature component, is the first signature component, is the user private key, is the information digest hash value, is the inverse of the initial signature number modulo , is the order of the elliptic curve, is the modulo operation;

[0041] Combine the first signature component and the second signature component to obtain a user signature.

[0042] In an alternative embodiment, decrypting the elliptic curve using the user public key, the system private key, and the user signature to obtain decrypted identity information includes:

[0043] Calculating an elliptic curve point through the following formula:

[0044]

[0045] Wherein, and are intermediate variables, is the second signature component, is the first signature component, is the inverse of the second signature component modulo ; is the order of the elliptic curve, is the elliptic curve point, is the base point of the elliptic curve, is the user public key, is the information digest hash value, is the modulo operation;

[0046] The elliptic curve point is the decrypted identity information.

[0047] In an alternative embodiment, verifying the decrypted identity information against pre-stored user identity information to obtain a signature authentication result includes:

[0048] Verifying through the following verification formula:

[0049]

[0050] Wherein, is the abscissa of the decrypted identity information, is the order of the elliptic curve, is the first signature component, is the modulo operation;

[0051] where the user identity information includes the elliptic curve and the first signature component;

[0052] If the verification formula holds, it represents that the signature authentication is passed;

[0053] If the verification formula does not hold, it represents that the signature authentication fails.

[0054] In a second aspect, the present invention provides a hybrid encryption authentication device for resisting quantum computing, including:

[0055] A data acquisition module for acquiring a user password, a system public key, and a system private key;

[0056] A segmented key module for performing hash iteration on the user password to obtain a segmented key;

[0057] A user public-private key module for performing elliptic curve encryption based on the segmented key and the system public key to obtain a user private key and a user public key;

[0058] A user signature module for obtaining a user signature obtained by the user performing a digital signature based on the user private key and the request information;

[0059] An identity decryption module for performing elliptic curve decryption based on the user public key, the system private key, and the user signature to obtain decrypted identity information;

[0060] An authentication result module for verifying the decrypted identity information against pre-stored user identity information to obtain a signature authentication result.

[0061] In a third aspect, the present invention also provides an electronic device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor. When the processor executes the computer program, it implements the hybrid encryption authentication method for resisting quantum computing described in any one of the above.

[0062] In a fourth aspect, the present invention also provides a computer-readable storage medium. The computer-readable storage medium includes a stored computer program. When the computer program runs, it controls the device where the computer-readable storage medium is located to execute the hybrid encryption authentication method for resisting quantum computing described in any one of the above.

[0063] 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 includes 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 based on 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 the user performing a digital signature based on the user private key and the request information; performing elliptic curve decryption based on the user public key, the system private key, and the user signature to obtain decrypted identity information; and verifying the decrypted identity information against pre-stored user identity information to obtain a signature authentication result. This method realizes resistance to quantum computer attacks and improves the security of the identity authentication process through hybrid encryption, introducing a process of generating a segmented key by hash iteration and digital signature generation and verification based on elliptic curve encryption.

[0064] Specifically, in the present invention, a process of performing hash iteration on the user password to generate a segmented key is introduced. This method enhances the robustness of the authentication mechanism by adding an extra security layer, especially against quantum computing attacks. First, a random initial salt value is generated and concatenated with the user password to form an initial input string. This approach ensures that even if two users have the same password, as long as the salt values are different, the finally generated segmented keys will be completely different, thus greatly increasing the difficulty of cracking. Next, the initial input string is subjected to the first hash operation using a pre-stored hash function to obtain the first intermediate result. The selected hash function here is an algorithm with high collision resistance and good dispersion, such as SHA-256 or SHA-3, etc., to ensure the unpredictability and uniqueness of the output. Then, the first intermediate result is used as the new input string, and the iteration count is recorded. The system repeatedly applies the same hash function, each time using the previous result as the new input for further hash operation until the preset iteration count limit is reached. This method of multi-round hash iteration 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, a preset length and number of parts are intercepted from the final hash output to obtain the segmented key. This way allows for flexible adjustment of the key strength and size to adapt to different security requirements and application scenarios. At the same time, the design of the segmented key makes it insufficient to infer the complete key information even if a part of the key is leaked, further enhancing the security of the system.

[0065] Furthermore, this method presents a digital signature generation process based on Elliptic Curve Cryptography (ECC). After the user request information is received, first, a preset digest algorithm is applied to process the request information, thereby obtaining a fixed-length information digest hash value. This step not only reduces the data volume for subsequent signature operations but also enhances the uniqueness and security of the signature because even minor differences in the information content will result in significantly different digest results. Next, the system randomly generates an initial signature number, which will be used for subsequent operations and ensures that each signature is unique. Then, by multiplying this initial signature number with the base point on a predefined mathematical model, a scalar multiplication operation is performed to obtain a new point on the mathematical model, i.e., the first mathematical model point. The abscissa is extracted from this point as the first signature part, and a modulo operation is taken to ensure it meets the requirements of the mathematical model. To calculate the second signature part, a specific formula is used, which involves the user's 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 an attacker knows the public information and part of the signature content, it is difficult to deduce the user's secret value or forge the signature. This is because solving for the private key requires solving the discrete logarithm problem, which is extremely difficult in the elliptic curve environment. Finally, the above two signature parts are combined to form a complete user signature. This method combines efficient mathematical operations and rigorous security designs, and can provide good performance while maintaining high security, especially suitable for combating new quantum computing attacks.

[0066] Furthermore, this method is based on elliptic curve encryption technology and is specifically designed for the need to resist quantum computing. In this process, first, using the public key provided by the user, the system private key, and the user signature, a point on the elliptic curve is calculated according to specific steps. This calculation process involves the generation of several intermediate variables, which combine the information digest, signature components, and 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 holds, it indicates that the signature authentication passes, confirming that the decrypted identity information is consistent with the pre-stored user identity information, proving the user's identity; otherwise, if the condition does not hold, the signature authentication fails, indicating the existence of forgery or tampering. This method not only maintains the security and efficiency advantages of traditional elliptic curve encryption technology but also enhances the security in the identity authentication process. Brief Description of the Drawings

[0067] Figure 1 is a schematic flowchart of a hybrid encryption authentication method for resisting quantum computing provided by the first embodiment of the present invention;

[0068] Figure 2 It is a schematic structural diagram of a hybrid encryption authentication device for anti - quantum computing provided by the second embodiment of the present invention. Detailed implementation manners

[0069] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0070] To solve the above problems, referring to Figure 1 , the first embodiment of the present invention provides a hybrid encryption authentication method for anti - quantum computing, including the following steps:

[0071] S11, obtain a user password, a system public key, and a system private key;

[0072] S12, perform hash iteration on the user password to obtain a segmented key;

[0073] S13, perform elliptic curve encryption according to the segmented key and the system public key to obtain a user private key and a user public key;

[0074] S14, obtain a user signature obtained by the user performing a digital signature according to the user private key and a request message;

[0075] S15, perform elliptic curve decryption according to the user public key, the system private key, and the user signature to obtain decrypted identity information;

[0076] S16, verify according to the decrypted identity information and the pre - stored user identity information to obtain a signature authentication result.

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

[0078] In one implementation, a pair of system public key and system private key are 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 system private key. To ensure the security and uniqueness of the keys, the KMS will use a secure random number generator to create this pair of keys. A sufficiently large prime number is selected as the basis for elliptic curve cryptography, 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 through the private key. At the same time, the system also needs to obtain the user's password. Here, the user's password refers to a secret string set by the user, which is used to assist in generating the subsequent key material 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.

[0079] In step S12, the user password is subjected to hash iteration to obtain a segmented key.

[0080] 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; the initial input string and a pre-stored hash function are subjected to the first hash operation to obtain a first intermediate result; the first intermediate result is used as a new input string, and the iteration count is recorded; the same hash function is repeatedly applied, with the result of the previous time being used as the new input each time, and this process is continued until the preset iteration count limit is reached to obtain a hash output; a preset length and a preset number of parts are intercepted from the hash output to obtain a segmented key.

[0081] It is worth noting that a salt value is a random data used in cryptography to enhance the security of a hash function. It is added before the user password or other input and then subjected to hash processing. The main purpose of the salt value is to prevent attackers from using pre-computed rainbow tables to quickly crack the hash value and ensure that even if two users choose the same password, their hash results will be different, thus increasing the cracking difficulty.

[0082] It should be noted that hashing is an algorithmic process that maps data of any length to an output of a fixed length, 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 hash value of a fixed length 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-engineer the original input from the hash value, which ensures the confidentiality of the data.

[0083] In one implementation, the specific process of SHA-256 hashing includes: First, the input message needs to be padded so that the message is extended to the smallest multiple of 512 that is closest to but not less than the original length plus 448 modulo 512. The padding includes adding a "1" bit, then 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 specified in the standard document. Each initial hash value is 32 bits long. For each 512-bit message block, the following steps are performed: Create a message schedule array containing 64 entries, each entry being a 32-bit word. The first 16 entries directly come from the currently processed message block, and the remaining 48 entries are obtained through a non-linear 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 values to update the hash values.

[0084] In this embodiment, a process of performing hash iteration on the user password to generate a segmented key is introduced. This method enhances the robustness of the authentication mechanism by adding an extra security layer, especially against quantum computing attacks. First, a random initial salt value is generated and concatenated with the user password to form an initial input string. This ensures that even if two users have the same password, as long as the salt values are different, the finally generated segmented keys will be completely different, thus greatly increasing the difficulty of cracking. Next, the first hash operation is performed on the initial input string 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, etc., to ensure the unpredictability and uniqueness of the output. Then, the first intermediate result is used as the new input string, and the iteration count is recorded. The system repeatedly applies the same hash function, each time using the previous result as the new input to continue the hash operation until the preset iteration count limit is reached. This method of multi-round hash iteration 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 conversion in the entire iteration process. Finally, a preset length and number of parts are intercepted from the final hash output to obtain the segmented key. This approach allows for flexible adjustment of the key strength and size to adapt to 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 sufficient to infer the complete key information, further enhancing the security of the system.

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

[0086] In one implementation, the elliptic curve parameters are initialized;

[0087] The elliptic curve is initialized through the following formula:

[0088]

[0089] where is the ordinate, is the abscissa, 、 are coefficients, is an arbitrary prime number generated during initialization, is the congruence symbol in number theory, is the modulo operation;

[0090] The initial base point is calculated for the initialized elliptic curve to obtain an initial base point;

[0091] The segmented key is concatenated with the system public key and subjected to base conversion to obtain a candidate user private key;

[0092] Determine whether the candidate user private key is less than the order of the elliptic curve. If the candidate user private key is less than the order of the elliptic curve, then use the candidate user private key as the user private key;

[0093] If the candidate user private key is greater than the order of the elliptic curve, then use the candidate user private key as the user private key and recalculate other candidate user private keys;

[0094] Perform a point multiplication operation on the user private key and the initial base point to obtain the user public key.

[0095] It should be noted that an elliptic curve is defined by an equation, is the ordinate, is the abscissa, and are coefficients that determine the specific shape of the curve. On a given elliptic curve, a special point needs to be selected as the base point, also known as the generator. This point must satisfy the following conditions: It lies on the elliptic curve. It has sufficient order, meaning that after repeated addition, it will return to the point at infinity (i.e., the additive identity). The order of a point on an elliptic curve refers to the smallest positive integer such that after adding the point that many times, the point at infinity is obtained. Elliptic curve addition follows specific rules that ensure the result is still another point on the curve: Doubling the same point determines the new point based on the position where the tangent intersects the curve. Adding different points: The new point is determined by the position where the line connecting the two points intersects the curve.

[0096] It should be noted that in number theory and cryptography, the congruence symbol is defined as follows: If two integers have the same remainder when divided by the positive integer , then is congruent modulo . For example: , for modulo 6, both have the same remainder.

[0097] 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 cryptographically secure pseudo-random number generator (CSPRNG).

[0098] In step S14, obtain the user signature obtained by the user performing a digital signature based on the user private key and the request information.

[0099] In one implementation, obtain the request information sent by the user;

[0100] Perform a hashing process on the request information and a preset hash function to obtain the information digest hash value;

[0101] Randomly generate an initial signature number;

[0102] Perform a scalar multiplication operation on the initial signature number and the base point of the elliptic curve to obtain a first elliptic curve point;

[0103] Take the abscissa of the first elliptic curve point modulo the order of the elliptic curve to obtain a first signature component;

[0104] Calculate the second signature component through the following formula:

[0105]

[0106] where, is the second signature component, is the first signature component, is the user's private key, is the information digest hash value, is the inverse of the initial signature number modulo under, is the order of the elliptic curve, is the modulo operation;

[0107] Combine the first signature component and the second signature component to obtain the user signature.

[0108] It should be noted that the user initiates a request that contains certain specific information or instructions. For example, this is to access a certain resource, submit data, or perform a certain operation. Use a preset secure hash algorithm (such as SHA-256) to perform a hash operation on the request information. The result of the hash operation is a fixed-length string, called the information digest hash value. The system will randomly generate an integer as the initial signature number. This value must be a positive integer less than the order of the elliptic curve and is randomly selected independently for each signature. 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.

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

[0110] In one implementation, calculate the elliptic curve point through the following formula:

[0111]

[0112] where, , are intermediate variables, is the second signature component, is the first signature component, is the inverse element of the second signature component modulo , is the order of the elliptic curve, is a point on the elliptic curve, is the base point of the elliptic curve, is the user's public key, is the message digest hash value, is the modulo operation;

[0113] The elliptic curve point is the decrypted identity information.

[0114] It should be noted that, is the inverse element of the second signature component modulo , that is, it satisfies the formula: , where is the second signature component, is the inverse element of the second signature component modulo , is the congruence symbol in number theory, is the modulo operation. This inverse element is calculated by the extended Euclidean algorithm.

[0115] In step S16, the decrypted identity information is verified against the pre-stored user identity information to obtain a signature authentication result.

[0116] In one implementation, it is verified through the following verification formula:

[0117]

[0118] where is the abscissa of the decrypted identity information, is the order of the elliptic curve, is the first signature component, is the modulo operation;

[0119] The user identity information includes the elliptic curve and the first signature component;

[0120] If the verification formula holds, it means the signature authentication passes;

[0121] If the verification formula does not hold, it means the signature authentication fails.

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

[0123] 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.

[0124] 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.

[0125] 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.

[0126] In the authentication stage, elliptic curve decryption is performed based on the user's public key, the system's private key, and the user's 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 arithmetic, and finally determines the decrypted identity information. Subsequently, the abscissa in the decrypted identity information is compared with the pre-stored first signature component through a verification formula to determine whether the signature authentication passes. If the verification formula holds, it means the signature authentication passes; otherwise, it fails. The entire process strictly follows mathematical principles, ensuring the accuracy and non-repudiation of the authentication result.

[0127] In summary, the hybrid encryption authentication method, related device, and equipment for resisting quantum computing provided by the present invention construct an identity authentication system with strong resistance to quantum computing attacks through hybrid encryption, introducing hash iteration to generate segmented keys, and a digital signature generation and verification process based on elliptic curve encryption.

[0128] Refer to Figure 2 , the second embodiment of the present invention provides a hybrid encryption authentication device for resisting quantum computing, including:

[0129] A data acquisition module for acquiring a user password, a system public key, and a system private key;

[0130] A segmented key module for performing hash iteration on the user password to obtain a segmented key;

[0131] A user public and private key module for performing elliptic curve encryption based on the segmented key and the system public key to obtain a user private key and a user public key;

[0132] A user signature module for obtaining a user signature obtained by the user performing a digital signature based on the user private key and the request information;

[0133] An identity decryption module for performing elliptic curve decryption based on the user public key, the system private key, and the user signature to obtain decrypted identity information;

[0134] An authentication result module for verifying based on the decrypted identity information and the pre-stored user identity information to obtain a signature authentication result.

[0135] Preferably, the data acquisition module is used for:

[0136] Acquiring a user password, a system public key, and a system private key;

[0137] Randomly generating a pair of system public key and system private key by a key management server.

[0138] The segmented key module is used for:

[0139] Hash iterate the user password to obtain a segmented key, including:

[0140] Randomly generate an initial salt value;

[0141] Concatenate the user password and the initial salt value to obtain an initial input string;

[0142] Perform the first hash operation on the initial input string and a pre-stored hash function to obtain a first intermediate result;

[0143] Use the first intermediate result as a new input string and record the iteration count;

[0144] Repeatedly apply the same hash function, each time using the previous result as the new input, and continue this process until the preset iteration count limit is reached to obtain a hash output;

[0145] Intercept a preset length and a preset number of parts from the hash output to obtain a segmented key.

[0146] A user public-private key module, for:

[0147] Perform elliptic curve encryption on the segmented key and the system public key to obtain a user private key and a user public key, including:

[0148] Initialize elliptic curve parameters;

[0149] Initialize the elliptic curve through the following formula:

[0150]

[0151] Where, is the ordinate, is the abscissa, 、 are coefficients, is an arbitrarily generated prime number for initialization, is the congruence symbol in number theory, is the modulo operation;

[0152] Perform a base point calculation on the initialized elliptic curve to obtain an initial base point;

[0153] Concatenate the segmented key with the system public key and perform a base conversion to obtain a candidate user private key;

[0154] Determine whether the candidate user private key is less than the order of the elliptic curve. If the candidate user private key is less than the order of the elliptic curve, then use the candidate user private key as the user private key;

[0155] If the candidate user private key is greater than the order of the elliptic curve, then use the candidate user private key as the user private key, and recalculate the other candidate user private keys;

[0156] Perform a point multiplication operation on the user private key and the initial base point to obtain the user public key.

[0157] The user signature module is used for:

[0158] Obtain the user signature obtained by the user according to the user private key and the request information, including:

[0159] Obtain the request information sent by the user;

[0160] Perform a hash processing on the request information and a preset hash function to obtain the information digest hash value;

[0161] Randomly generate an initial signature number;

[0162] Perform a scalar multiplication operation on the initial signature number and the base point of the elliptic curve to obtain the first elliptic curve point;

[0163] Take the abscissa of the first elliptic curve point modulo the order of the elliptic curve to obtain the first signature component;

[0164] Calculate the second signature component through the following formula:

[0165]

[0166] Where, is the second signature component, is the first signature component, is the user private key, is the information digest hash value, is the inverse element of the initial signature number modulo under, is the order of the elliptic curve, is the modulo operation;

[0167] Combine the first signature component and the second signature component to obtain the user signature.

[0168] The identity decryption module is used for:

[0169] Perform elliptic curve decryption according to the user public key, the system private key and the user signature to obtain the decrypted identity information, including:

[0170] Calculate the elliptic curve point through the following formula:

[0171]

[0172] Where, , is an intermediate variable, is the second signature component, is the first signature component, is the inverse element of the second signature component modulo , 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 information digest hash value, is the modulo operation;

[0173] The said elliptic curve point is the decrypted identity information.

[0174] The authentication result module is used to verify according to the decrypted identity information and the pre-stored user identity information to obtain the signature authentication result, including:

[0175] Verify through the following verification formula:

[0176]

[0177] Wherein, is the abscissa of the decrypted identity information, is the order of the elliptic curve, is the first signature component, is the modulo operation;

[0178] The user identity information includes the elliptic curve and the first signature component;

[0179] If the said verification formula holds, it means the signature authentication passes;

[0180] If the said verification formula does not hold, it means the signature authentication fails.

[0181] It should be noted that a hybrid encryption authentication device for resisting quantum computing provided by an embodiment of the present invention is used to execute all the process steps of a hybrid encryption authentication method for resisting quantum computing in the above embodiment. Their working principles and beneficial effects correspond one by one, so they will not be elaborated here.

[0182] An embodiment of the present invention also 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, it implements the steps in each of the above embodiments of the hybrid encryption authentication method for resisting quantum computing, such as Figure 1The step S11 shown. Alternatively, when the processor executes the computer program, it implements the functions of each module / unit in the above device embodiments, such as the data acquisition module.

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

[0184] The electronic device can be a computing device such as a desktop computer, a notebook, a palm computer, and a smart tablet. The electronic device may include, but is not limited to, a processor and a memory. Those skilled in the art can understand that the above components are only examples of the electronic device and do not constitute a limitation on the electronic device. It may include more or fewer components than the above, or combine certain components, or different components. For example, the electronic device may further include input / output devices, network access devices, a bus, etc.

[0185] The so-called processor may be a central processing unit (CPU), or may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The processor is the control center of the electronic device and connects various parts of the entire electronic device through various interfaces and lines.

[0186] The memory can be used to store the computer programs and / or modules. By running or executing the computer programs and / or modules stored in the memory and invoking the data stored in the memory, the processor can implement various functions of the electronic device. The memory mainly includes a program storage area and a data storage area. Among them, the program storage area can store the operating system, application programs required for at least one function (such as the sound playback function, the image playback function, etc.); the data storage area can store the data created according to the use of the mobile phone (such as audio data, phone book, etc.). In addition, the memory can include high-speed random access memory, and can also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0187] Among them, if the modules / units integrated in the electronic device are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on such an understanding, to implement all or part of the processes in the above-mentioned embodiment methods of the present invention, it can also be completed by a computer program instructing relevant hardware. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor, the steps of the above-mentioned various method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file, or some intermediate form, etc. The computer-readable medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a mobile hard disk, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included 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, the computer-readable medium does not include electrical carrier signals and telecommunication signals.

[0188] It should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the accompanying drawings of the device embodiments provided by the present invention, the connection relationships between the modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. Those of ordinary skill in the art can understand and implement without creative efforts.

[0189] The specific embodiments described above further elaborate on the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above are only specific embodiments of the present invention and are not used to limit the protection scope of the present invention. In particular, for those skilled in the art, any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included within the protection scope 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. 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 larger than the order of the elliptic curve, recalculate other candidate user private keys; 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 step of verifying the decrypted identity information with the pre-stored user identity information to obtain a 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.

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; The user public and private key module is used to perform elliptic curve encryption according to the segment key and the system public key to obtain the user private key and the user public key, and is specifically used to: 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, recalculate other candidate user private keys; Perform a point multiplication operation on the user private key and the initial base point to obtain the 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.

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

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

    CN117997516A

  • Processor with an elliptic curve cryptographic algorithm and a data processing method thereof

    US20230080856A1