Face encryption and decryption method based on fuzzy vault

By converting real-valued facial feature vectors into integer features and utilizing fuzzy vault technology, the problems of high computational cost, poor real-time performance, and insufficient security of fuzzy vaults in facial recognition are solved, thereby improving stability and security and simplifying the key generation process.

CN119416191BActive Publication Date: 2025-11-11XIDIAN UNIV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411394976.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-08
Publication Date
2025-11-11
Estimated Expiration
2044-10-08

AI Technical Summary

Technical Problem

Existing fuzzy vault technology for facial recognition suffers from problems such as high computational load, high real-time requirements, difficulty in preventing forgery and deception, and insufficient protection of user privacy, and is particularly difficult to apply on resource-constrained devices.

Method used

By converting real-valued facial feature vectors into integer features, reliability calculations are performed to generate stable feature templates. Fuzzy vaults are used to simplify the key generation process, and threshold error correction technology is combined to improve system security and efficiency.

Benefits of technology

It improves the stability and security of facial feature templates, simplifies the key generation process, enhances the security and efficiency of the system, and reduces the risk of adversarial attacks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119416191B_ABST
    Figure CN119416191B_ABST
Patent Text Reader

Abstract

This invention discloses a face encryption / decryption method based on a fuzzy vault, primarily addressing the problems of vulnerability to adversarial attacks and low security and efficiency in existing face image authentication processes. The solution involves: acquiring two face images and preprocessing them; inputting the preprocessed images into a FaceNet model to obtain two real-valued face feature vectors; mapping each real-valued face feature vector to an integer feature set, comparing these two feature sets and identifying the common integer values, and forming a set; using this set to generate fuzzy vault parameters and configuration information; inputting the feature set into the fuzzy vault to output a key string, completing the encryption of the face image; setting a new feature set and inputting it into the fuzzy vault to recover the key, completing the decryption of the face image. This invention avoids adversarial attacks on face feature templates, improves system security and efficiency, and can be used for trusted identity authentication and key security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of biometric authentication, specifically relating to a face encryption and decryption method based on a fuzzy vault, which can be used for trusted identity authentication and key security. Background Technology

[0002] Fuzzy vault technology is an advanced approach introduced to address the security challenges of traditional biometric authentication systems. Traditional biometric authentication systems rely on features such as fingerprints, iris scans, and facial recognition, but these features are vulnerable to theft, forgery, or unauthorized use. Fuzzy vaults ensure that even if biometric data is compromised, attackers cannot easily recover or exploit the original key by binding biometric features to a random key and securely storing it in a vault. Fuzzy vault technology utilizes complex encoding and decoding processes, ensuring that the key can only be retrieved when the correct biometric features are provided, significantly improving the system's security and reliability.

[0003] While fuzzy vaults have been extensively researched and validated in theory, their practical application, especially the design and implementation of vaults for facial features, still faces numerous challenges. Facial biometrics offer significant advantages in the field of biometrics, such as high accuracy, ease of use, and contactless operation. However, the application of fuzzy vault technology in facial recognition still needs to overcome issues such as high complexity, large computational load, and stringent real-time requirements. Furthermore, further research is needed on how to effectively prevent forgery and deception while protecting user privacy. Therefore, fuzzy vaults have demonstrated great potential in enhancing the security of biometric systems, but continuous optimization and refinement are still necessary for wider practical application.

[0004] In their paper "Deep face fuzzy vault: Implementation and performance" (Computers & Security, 2022, 113:102539), Rathgeb et al. proposed a fuzzy vault for facial features, combining extracted features with randomly generated secret information to form a fuzzy vault. The principle is to combine a feature set with a secret polynomial to form an encrypted template. During authentication, if a sufficiently similar feature set is provided, this secret polynomial can be reconstructed, and its correctness verified. This fuzzy vault ensures authentication even if some data is lost through polynomial encryption, and even if data is stolen, attackers cannot recover the original facial information, thus protecting user privacy. However, because this method does not perform reliability calculations on the extracted feature vectors during the feature extraction stage, attackers may bypass authentication by generating forged feature vectors, posing a risk of adversarial attacks. Furthermore, the construction of the fuzzy vault in this scheme requires a large amount of storage space, especially when processing high-dimensional features, which is difficult to apply on resource-constrained devices.

[0005] Patent application CN201610136315.8 discloses a method, apparatus, and system for PBOC transactions based on biometric encryption. It proposes using a fuzzy vault algorithm to combine biometrics with a private key to create a biometric template for identifying user identity information. During user authentication, the fuzzy vault projects the biometric feature values ​​onto a polynomial to generate help data and adds a large amount of interference data to mask the real data, thus generating the fuzzy vault. When a user provides biometrics for authentication, the system extracts the help data from the fuzzy vault, reconstructs the polynomial, recovers the user's private key from the polynomial, and performs authentication. This method, assuming the biometric template is unique and irreversible, suffers from two problems: first, biometric data itself has a certain degree of noise and variability, making it difficult to guarantee complete uniqueness when generating the template; second, while irreversibility improves security, errors or malicious interference during template generation can prevent the user from recovering the key. Furthermore, because the fuzzy vault relies on interference data to protect the user's key information, the addition of a large amount of interference data can lead to inaccurate extraction of help data and incorrect key recovery.

[0006] Patent application CN202310606687.2 discloses a personalized facial biometric key generation method based on deep neural network encoding. It preprocesses facial images, extracts personalized feature maps using a deep neural network, and then generates stable biometric keys through feature filtering and binarization. To improve key stability and security, it employs a combination of error-correcting codes and fuzzy extraction, achieving a biometric key stability of over 99.5% and high strength in applications, suitable for symmetric and public-key cryptosystems. While this network can extract stable features, in practical applications, the accuracy of feature extraction is affected by varying facial image acquisition environments. Furthermore, the complexity of the key generation process increases computational overhead and reduces the efficiency of real-time applications. Summary of the Invention

[0007] The purpose of this invention is to address the shortcomings of the existing technologies by proposing a face encryption method based on a fuzzy vault, which avoids adversarial attacks on face feature templates during the authentication process, simplifies the complexity of the key generation process, and improves the security and efficiency of the system.

[0008] The technical approach to achieving the objective of this invention is to convert real-valued feature vectors into a set of integer features using a feature transformation method independent of biometrics, and to perform reliability calculations on these integer features to ultimately obtain a reliable and stable face feature template, thereby avoiding adversarial attacks on the face feature template during the authentication process; to simplify the complexity of the key generation process by employing a fuzzy vault for key management; and to improve the security and efficiency of the system by using the configuration information obtained from initializing the fuzzy vault with the face feature template.

[0009] Based on the above ideas, the implementation steps of this invention include the following:

[0010] (1) Perform face detection, face alignment, and image normalization preprocessing on a face image in sequence. Input the preprocessed image into the existing FaceNet model and output a 1×128-dimensional real-valued face feature vector. Where v i It is the i-th real value, and n represents the size of the facial feature;

[0011] (2) Map the real-valued eigenvectors to obtain a set of reliable integer values ​​W for registration:

[0012] (2a) Map the real-valued eigenvector v to the integer-valued eigenvector. Map the integer eigenvector q to a binary eigenvector. Where q i b is the i-th original integer value. jis the j-th binary string, and m is the length of the j-th binary string;

[0013] (2b) Form the first feature set by all indices of 1 in the binary feature vector b: P1 = {j | b} j =1};

[0014] (2c) Perform the same processing as steps (1), (2a), and (2b) on another face image to obtain a second feature set P2. Compare the feature sets P1 and P2 of the two face images and find the integer values ​​they share to form a registration set. Where a k Let be the k-th integer value, and z be the number of integer values;

[0015] (3) Select parameters for the fuzzy vault based on the size of the registration set W, generate a key-value pair file for initializing the fuzzy vault, and let X be the registration input string, X′ be the authentication input string, ek be the key derivation factor string, and ek′ be the key derivation factor recovery string;

[0016] (4) Concatenate the registration set W with the originalwords string, perform a hash calculation on the concatenation result, and assign the hash result to the registration input string X;

[0017] (5) Call the existing GenSketch function, that is, take the registration set W as the input of the function, return a string S containing fuzzy vault configuration information, and add the already assigned input string X to the string S;

[0018] (7) Based on each reliable integer value a in the registration set W k The set of modulo integer values ​​e is calculated as follows:

[0019]

[0020] Where p is a prime number, s k It is a random integer value that is uniformly selected from a finite field containing p elements;

[0021] (8) Concatenate the set of modulo integer values ​​e with the string keys, perform a hash calculation on the concatenation result, and assign the hash result to the key derivation factor string ek;

[0022] (9) Call the existing key derivation function f ek The function takes the assigned key derivation factor ek as input and returns a key string sk.

[0023] (10) During authentication, let W′ be the authentication set, and concatenate the authentication set W′ with the originalwords string. Perform a hash calculation on the concatenation result, assign the hash result to the authentication input string X′, and then determine whether the authentication input string X′ is consistent with the registration input string X obtained in step (4):

[0024] If they match, proceed to step (12).

[0025] Otherwise, proceed to step (11);

[0026] (11) Call the existing set recovery function RecSet, that is, take the registration input string X and the authentication set W′ obtained in step (4) as the input of the function, return a root value set R, and determine whether the root value set R is empty:

[0027] If empty, the entire authentication process is aborted.

[0028] Otherwise, assign the registration set W to the authentication set W′;

[0029] (12) Recover the set of modulo integer values ​​e from the authentication set W′;

[0030] (13) Concatenate the recovered modulo integer value set e with the keys string, perform hash calculation on the concatenation result, and assign the hash result to the key derivation factor recovery string ek′;

[0031] (14) Call the existing key derivation function f ek The function takes the assigned key derivation factor recovery string ek′ as input, returns a key string sk, and outputs it, thus completing the encryption of the face.

[0032] Compared with the prior art, the present invention has the following advantages:

[0033] 1. The extracted facial feature set has higher stability and security.

[0034] This invention maps two face images separately during the mapping process of real-valued feature vectors, resulting in two sets of integer feature values. By comparing the two sets of integer feature values, inconsistent and unstable feature values ​​between different images are filtered out, and only stable features that appear in both images are retained. This makes the new set of retained integer values ​​more stable and reliable, and can avoid adversarial attacks on face feature templates during the authentication process.

[0035] 2. It simplifies the key generation process, improving system security and efficiency.

[0036] This invention simplifies the traditional key management and generation process by using fuzzy vault technology. Furthermore, the use of threshold error correction technology in the fuzzy vault allows for the tolerance of a small number of errors; that is, during registration and authentication, it is not necessary to ensure that the integer value feature sets input into the fuzzy vault are completely consistent, thus improving the system's security and efficiency. Attached Figure Description

[0037] Figure 1 This is a flowchart illustrating the overall implementation of the present invention;

[0038] Figure 2 This is a sub-flowchart of the feature mapping process in this invention;

[0039] Figure 3 This is a sub-flowchart of the reliability calculation process in this invention;

[0040] Figure 4 This is a sub-flowchart of key generation in this invention;

[0041] Figure 5 This is a sub-flowchart of key recovery in this invention. Detailed Implementation

[0042] The embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.

[0043] This example is based on two entities: the user and the server. Its implementation process includes six stages: facial feature extraction, feature mapping, reliability calculation, fuzzy vault parameter generation, secret generation, and secret recovery. These six stages convert the facial image into a key string, effectively encrypting the facial image by transforming the input facial image into an output key string.

[0044] Reference Figure 1 The implementation steps for this example are as follows:

[0045] Step 1, facial feature extraction.

[0046] Facial feature extraction is the first stage of this example, and its implementation steps are as follows:

[0047] 1.1) Use a camera to capture two facial images of the user, and perform alignment, cropping, and color and lighting standardization preprocessing on the two captured facial images in sequence to ensure the consistency of image quality and the accuracy of feature extraction;

[0048] 1.2) The existing FaceNet model is selected. It is a deep learning model proposed by Google for facial feature extraction, recognition and verification. The core idea of ​​the FaceNet model is to map facial images into a Euclidean space, so that the distance between the faces of the same person in the space is relatively close, while the distance between the faces of different people is relatively far. In this way, facial recognition and verification can be performed by calculating the Euclidean distance.

[0049] 1.3) The two preprocessed face images are input into the FaceNet model to extract deep features, and finally output two 1×128-dimensional first real-value face feature vectors. Second real-value face feature vector Where v i It is the i-th real value, v j It is the j-th real value, and n represents the size of the facial feature.

[0050] Step 2: Perform feature mapping on the first real-value face feature vector v1 and the second real-value face feature vector v2 to obtain the first feature set P1 and the second feature set P2.

[0051] The feature mapping stage is the second stage in this example. This stage maps the real-valued face feature vectors extracted in the face feature extraction stage into integer-valued feature vectors.

[0052] Reference Figure 2 The implementation steps for this stage are as follows:

[0053] 2.1) Construct the first feature set P1:

[0054] 2.1.1) Estimate the probability density of all n feature elements in the first real-valued feature vector v1. Based on the obtained probability density, divide the feature space of each feature element into intervals with integer labels, and quantize each real-valued element of the first real-valued feature vector v1 into one of these intervals, thus completing the quantization of the first real-valued feature vector v1 into the first integer-valued feature vector. The process, in which q i It is the integer value in the first integer value eigenvector q1;

[0055] 2.1.2) Each integer value in the first integer feature vector q1 is binarized into a corresponding binary string using direct binary representation. All binary strings are then concatenated to generate the final binary feature representation, thus completing the binarization of the first integer feature vector q1 into the first binary feature vector. The process, in which b j It is the binary string in the first binary feature vector b1, and m is the binary string b. j Length;

[0056] 2.1.3) Take all indices of 1 in the first binary feature vector b1, and form the first feature set P1 = {j | b1}. j =1}, completing the process of mapping the first binary feature vector b1 to the first feature set P1.

[0057] 2.2) Construct the second feature set P2:

[0058] 2.2.1) Estimate the probability density of all n feature elements in the second real-valued feature vector v2. Based on the obtained probability density, divide the feature space of each feature element into intervals with integer labels, and quantize each real-valued element of the real-valued feature vector v2 into one of these intervals, thus completing the quantization of the second real-valued feature vector v2 into the second integer-valued feature vector. The process, where q′ i It is the integer value in the second integer value eigenvector q2;

[0059] 2.2.2) Each integer value in the second integer feature vector q2 is binarized into a corresponding binary string using direct binary representation. All binary strings are then concatenated to generate the final binary feature representation, thus completing the binarization of the second integer feature vector q2 into the second binary feature vector. The process, in which b′ j It is the binary string in the second binary feature vector b2, and m is the binary string b′. j Length;

[0060] 2.2.3) Take all indices of 1 in the binary feature vector b2, and use these indices to form the second feature set P2 = {j | b′} j =1}, completing the process of mapping the second binary feature vector b2 to the second feature set P2;

[0061] Step 3: Perform reliability calculations on the first feature set P1 and the second feature set P2 to obtain the registration set W.

[0062] The reliability calculation phase is the third phase in this example, which uses integer-valued feature vectors to obtain the registration set W.

[0063] Reference Figure 3 The implementation steps for this stage are as follows:

[0064] 3.1) Compare the first feature set P1 and the second feature set P2 to identify the integer values ​​they share;

[0065] 3.2) Filter out inconsistent and unstable feature values ​​between the first feature set P1 and the second feature set P2 based on the common integer values. Here, instability means that there are positions where the feature values ​​extracted in the two face feature extraction processes are different. Such unstable feature values ​​will cause face feature decryption failure.

[0066] 3.3) Retain the stable features obtained after filtering to obtain a set of reliable integer values ​​for registration. Where a k is the k-th retained integer value, and z is the number of all retained integer values.

[0067] Step 4: Generate fuzzy vault parameters and configuration information string S based on the registration set W.

[0068] The fuzzy vault is a cryptographic scheme based on fuzzy logic, primarily used to protect the privacy of biometric data such as fingerprints, iris scans, and facial features, while providing a secure authentication mechanism. It combines the concepts of fuzz extractors and secret sharing, allowing for reliable authentication even when biometric data is corrupted or incomplete.

[0069] Using the fuzzy vault requires defining its parameters first, which is the fourth stage in this example. This stage defines the parameters for the fuzzy vault based on the size of the registration set W, generates a key-value pair file for initializing the fuzzy vault, and uses the registration set W to generate the configuration information string S for the fuzzy vault. Based on the key-value pair file and the configuration information string S, the fuzzy vault is used to encrypt and protect the face image. The specific implementation is as follows:

[0070] 4.1) Define the following parameters:

[0071] The correct data threshold represents the minimum number of correct integer values ​​that must be present in the authentication set W′, and this number must be greater than half the size of the registration set W. Let W′ be the authentication set.

[0072] Fuzzy vault size represents the number of integer values ​​that the fuzzy vault can hold;

[0073] A prime number p is used to denote a finite field of order p.

[0074] Salt is used to increase the randomness of key derivation;

[0075] A set of random values ​​used for key recovery during the authentication phase, where each element is a finite field of order p. Uniformly and randomly selected from the middle;

[0076] The number of polynomial coefficients is t

[0077] All the parameters selected above are positive integer values.

[0078] 4.2) Configuration information string S:

[0079] 4.2.1) Input the registration set W and construct a polynomial with the registration set W as its root.

[0080] 4.2.2) Expanding the polynomial p(x) yields the expanded polynomial x. z +∑ i∈[0,z-1] α i x i , where α i Let i be the i-th coefficient of the expanded polynomial;

[0081] 4.2.3) Output the first t coefficients (α) of the expanded polynomial. z-1 ,…,α z-t The t coefficients are converted into character data in sequence, and these character data are concatenated to form a string S of fuzzy insurance vault configuration information.

[0082] Step 5: Input the registration set W into the fuzzy vault to generate a key.

[0083] Key generation is the fifth stage in this example. This stage involves inputting the registration set W into the fuzzy vault and outputting a key string sk to complete the encryption of the face image.

[0084] Reference Figure 4 The implementation steps for this stage are as follows:

[0085] 5.1) Based on each reliable integer value a in the registration set W k The set of modulo integer values ​​e is calculated as follows:

[0086]

[0087] 5.2) Select a hash algorithm to perform hash operations on different strings:

[0088] Existing hash algorithms include: MD4 hash algorithm, MD5 hash algorithm, and Hash256 algorithm. This example uses, but is not limited to, the existing Hash256 algorithm. It is a widely used cryptographic hash function, belonging to the Secure Hash Algorithm 2 series. It was designed by the U.S. National Security Agency and released by the National Institute of Standards and Technology. The Hash256 algorithm is widely used in data integrity verification, digital signatures, cryptographic applications, and blockchain technology.

[0089] 5.2.1) Convert each integer value in the modulo integer value set e into character data and add them sequentially to the keys string to obtain the concatenated string; then use the hash256 algorithm to convert the concatenated string into a fixed-length hash value to obtain the key derivation factor string ek;

[0090] 5.2.2) Use the Hash256 algorithm to convert the key derivation factor ek into a fixed-length hash value, and use this hash value as the key derivation function f. ek The output key string sk is then saved to the server.

[0091] Step 6: Input the authentication set W′ into the recovery key in the fuzzy vault.

[0092] Key recovery is the sixth stage in this example. This stage is to verify the correctness of the key string sk output in step 5, that is, to input the authentication set W′ into the fuzzy vault and output a key string sk to complete the decryption of the face image.

[0093] Reference Figure 5 The implementation steps for this stage are as follows:

[0094] 6.1) Recover the set of modulo integer values ​​e from the authentication set W′:

[0095] 6.1.1) Input the authentication set W′ and the first t coefficients (α) of the expanded polynomial. z-1 ,…,α z-t ), using the coefficient (α) z-1 ,…,α z-t Construct a term with a leading coefficient of 1 and other t coefficients (α...). z-1 ,…,α z-t The higher-order polynomial p) high ;

[0096] 6.1.2) Input the authentication set W′ into the polynomial p high The computational value set G is obtained, and the low-order polynomial p is obtained by decoding the computational value set G using the existing Reed-Solomon decoding algorithm. low ;

[0097] 6.1.3) Using higher-order polynomials p high Subtract the lower-order polynomial p low We obtain the difference polynomial: p diff =p high -p low And determine the difference polynomial p diff If there are distinct roots, output all roots and assign the registration set W to the authentication set W′; otherwise, terminate the authentication process.

[0098] 6.1.4) Perform modulo operation:

[0099] 6.2) Convert each integer value in the recovered modulo integer value set e into character data, and add them sequentially to the keys string to obtain the concatenated string; then use the hash256 algorithm to convert the concatenated string into a fixed-length hash value to obtain the key derivation factor recovery string ek′;

[0100] 6.3) Use the Hash256 algorithm to convert the key derivation factor recovery string ek′ into a fixed-length hash value, and use this hash value as the key derivation function f. ek The key string sk is recovered, and the face image is decrypted.

[0101] The above description is merely a specific example of the present invention and does not constitute any limitation on the present invention. Obviously, those skilled in the art, after understanding the content and principles of the present invention, may make various modifications and changes in form and details without departing from the principles and structure of the present invention. However, these modifications and changes based on the ideas of the present invention are still within the scope of protection of the claims of the present invention.

[0102] It should be noted that the serial numbers in this specification and claims are only for the purpose of more clearly illustrating the implementation schemes, and their order is not limited.

Claims

1. A face encryption / decryption method based on a fuzzy vault, characterized in that, Includes the following steps: (1) Perform face detection, face alignment, and image normalization preprocessing on a face image in sequence. Input the preprocessed image into the existing FaceNet model and output a 1×128-dimensional real-valued face feature vector. Where v i It is the i-th real value, and n represents the size of the facial feature; (2) Map the real-valued eigenvectors to obtain a set of reliable integer values ​​W for registration: (2a) Map the real-valued eigenvector v to the integer-valued eigenvector. Map the integer eigenvector q to a binary eigenvector. Where q i b is the i-th original integer value. j is the j-th binary string, and m is the length of the j-th binary string; (2b) Form the first feature set by all indices of 1 in the binary feature vector b: P1 = {j | b} j =1}; (2c) Perform the same processing as steps (1), (2a), and (2b) on another face image to obtain a second feature set P2. Compare the feature sets P1 and P2 of the two face images and find the integer values ​​they share to form a registration set. Where a k Let be the k-th integer value, and z be the number of integer values; (3) Select parameters for the fuzzy vault based on the size of the registration set W, generate a key-value pair file for initializing the fuzzy vault, and let X be the registration input string, X′ be the authentication input string, ek be the key derivation factor string, and ek′ be the key derivation factor recovery string; (4) Concatenate the registration set W with the originalwords string, perform a hash calculation on the concatenation result, and assign the hash result to the registration input string X; (5) Call the existing GenSketch function, that is, take the registration set W as the input of the function, return a string S containing fuzzy vault configuration information, and add the already assigned input string X to the string S; (7) Based on each reliable integer value a in the registration set W k The set of modulo integer values ​​e is calculated as follows: Where p is a prime number, s k It is a random integer value that is uniformly selected from a finite field containing p elements; (8) Concatenate the set of modulo integer values ​​e with the string keys, perform a hash calculation on the concatenation result, and assign the hash result to the key derivation factor string ek; (9) Call the existing key derivation function f ek The function takes the assigned key derivation factor ek as input and returns a key string sk to complete the encryption of the face image. (10) During authentication, let W′ be the authentication set, and concatenate the authentication set W′ with the originalwords string. Perform a hash calculation on the concatenation result, assign the hash result to the authentication input string X′, and then determine whether the authentication input string X′ is consistent with the registration input string X obtained in step (4): If they match, proceed to step (12). Otherwise, proceed to step (11); (11) Call the existing set recovery function RecSet, that is, take the registration input string X and the authentication set W′ obtained in step (4) as the input of the function, return a root value set R, and determine whether the root value set R is empty: if it is empty, stop the entire authentication process; otherwise, assign the registration set W to the authentication set W′. (12) Recover the set of modulo integer values ​​e from the authentication set W′; (13) Concatenate the recovered modulo integer value set e with the keys string, perform hash calculation on the concatenation result, and assign the hash result to the key derivation factor recovery string ek′; (14) Call the existing key derivation function f ek The function takes the assigned key derivation factor recovery string ek′ as input, returns a key string sk, and outputs it, thus completing the decryption of the face image.

2. The method according to claim 1, characterized in that: Step (2a) maps the real-valued feature vector v to the integer-valued feature vector q. This is achieved by using existing quantization methods with equal probability intervals. First, the probability density of all n feature elements in the real-valued feature vector v is estimated. Then, the real-valued range is divided into multiple equal probability intervals, and the real-valued data is represented as corresponding interval numbers to obtain the integer-valued feature vector.

3. The method according to claim 1, characterized in that: In step (2a), mapping the integer feature vector q to the binary feature vector b utilizes the existing binary reflective Gray code method. First, each element in the integer feature vector q is converted into a binary representation. Then, the binary representation is shifted right by one bit. Finally, the right-shifted binary representation is added to the original binary representation to obtain the binary feature vector.

4. The method according to claim 1, characterized in that: In step (3), the parameters for selecting the fuzzy vault are based on the size of the registration set W, and the following parameters are selected: The correct data threshold, which represents the authentication set W. ′ The minimum number of correct integer values ​​that must be present in the registration set W must be greater than half the size of the registration set W. Fuzzy vault size represents the number of integer values ​​that the fuzzy vault can hold; A prime number p is used to define a finite field of order p. Salt is used to increase the randomness of key derivation; A set of random values ​​used for key recovery during the authentication phase, where each element is a finite field of order p. Uniformly and randomly selected from the middle; The number of polynomial coefficients, t; All the parameters selected above are positive integer values.

5. The method according to claim 1, characterized in that: In step (4), the hash calculation of the concatenated registration set W and the originalwords string result is performed by first converting each integer value in the registration set W into character data and then adding them to the originalwords string in turn to obtain the concatenated string. Then, the concatenated string is converted into a fixed-length hash value using the existing hash256 algorithm.

6. The method according to claim 1, characterized in that: In step (5), the registration set W is used as the input to the GenSketch function, which returns a string S containing fuzzy vault configuration information. This involves first inputting the registration set W, and then constructing a polynomial with the registration set W as its root. And expand it to obtain the expanded polynomial. Finally, output the first t coefficients (α) of the expanded polynomial. z-1 ,…,α z-t The t coefficients are converted into character data in sequence, and these character data are concatenated to form a string S of fuzzy insurance vault configuration information, where α i Let be the i-th coefficient of the expanded polynomial.

7. The method according to claim 1, characterized in that: In step (11), the registration input string X and the authentication set W′ obtained in step (4) are used as inputs to the function, and a root value set R is returned, which is the first t coefficients (α) of the authentication set W′ and the expanded polynomial. z-1 ,…,α z-t ); reuse coefficient (α) z-1 ,…,α z-t Construct a term with a leading coefficient of 1 and other t coefficients (α...). z-1 ,…,α z-t The higher-order polynomial p) high Input the authentication set W′ into the polynomial p high The calculated value set G is obtained from this; Then, the existing Reed-Solomon decoding algorithm is used to decode the calculated value set G to obtain the low-order polynomial p. low Then use the higher-order polynomial p high Subtract the lower-order polynomial p low We obtain the difference polynomial: p diff =p high -p low And determine the difference polynomial p diff Check if the roots have different characteristics. If so, output all roots; otherwise, terminate the function.

8. The method according to claim 1, characterized in that: In step (9), the assigned key derivation factor ek is used as the input to the function, and a key string sk is returned. This is achieved by using the existing hash 256 algorithm to convert the assigned key derivation factor ek into a fixed-length hash value, which is then used as the key derivation function f. ek The output key string sk; In step (14), the assigned key derivation factor recovery string ek′ is used as the input to the function, and a key string sk is returned. This is achieved by using the existing hash 256 algorithm to convert the assigned key derivation factor recovery string ek′ into a fixed-length hash value, which is then used as the key derivation function f. ek The output key string sk.

9. The method according to claim 1, characterized in that: In step (8), the hash calculation of the concatenated modulo integer value set e and the keys string result is performed by first converting each integer value in the modulo integer value set e into character data and adding them to the keys string in turn to obtain the concatenated string; then the existing hash 256 algorithm is used to convert the concatenated string into a hash value of fixed length.

10. The method according to claim 1, characterized in that: In step (10), the hash calculation of the result of concatenating the authentication set W′ with the originalwords string is performed by first converting each integer value in the authentication set W′ into character data and then adding them to the originalwords string in turn to obtain the concatenated string. Then, the concatenated string is converted into a fixed-length hash value using the existing hash256 algorithm.

11. The method according to claim 1, characterized in that: In step (13), the hash calculation is performed on the concatenation result of the recovered modulo integer value set e and the keys string. First, each integer value in the recovered modulo integer value set e is converted into character data and added to the keys string in turn to obtain the concatenated string. Then, the existing hash 256 algorithm is used to convert the concatenated string into a hash value of fixed length.

Citation Information

Patent Citations

  • Method, device and system for PBOC transaction based on biometric encryption

    CN106709716A

  • Personalized facial biometric key generation method based on deep neural network encoding

    CN116628660B

  • Fuzzy strong box remote identity authentication method based on face feature

    CN102215223A

  • Apparatus and computer-implemented method for fingerprint based authentication

    CN106663204A