Information processing device, search method, and program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- NEC CORP
- Filing Date
- 2024-11-28
- Publication Date
- 2026-06-09
AI Technical Summary
【0012】 本開示によれば、所与のベクトルに対し所望の格子点(例えば最近傍格子点等)の探索の計算量を、精度を維持しながら、削減し、演算の高速化を実現可能とする装置、方法、プログラムが提供される。
Smart Images

Figure 2026093826000001_ABST
Abstract
Claims
1. For a first vector in a lattice coordinate system, the sum of the elements of the third vector obtained by dividing it into a second vector, each element of which is the integer part of each element of the first vector, and a third vector, each element of which is the fractional part of each element of the first vector, is calculated. An integer vector in which an array of elements of one value and elements of other values is determined based on the relationship between element numbers and a predetermined number, wherein the result of combining it with the second vector gives a desired lattice point for the first vector, and the predetermined number is determined using a first value obtained by applying a ceiling function to the sum. An information processing device configured to perform processing.
2. The information processing apparatus according to claim 1, wherein the desired grid point is the nearest grid point of the first vector.
3. The information processing apparatus according to claim 1, wherein in the fourth vector, the predetermined number corresponds to the element number that marks the boundary between the array of elements where the value of one is 1 and the array of elements where the other values are 0.
4. From the elements of the third vector, take the element whose magnitude is the rank of the first value, If the sum is greater than the difference between the first value and the rank element of the third vector of the first value, the predetermined number is taken as the first value. If the sum is less than or equal to the difference between the first value and the rank element of the third vector of the first value, the predetermined number is set to the first value minus 1. An information processing apparatus according to claim 1, configured to perform processing.
5. The information processing apparatus according to claim 1, wherein the aforementioned lattice coordinate system consists of a triangular lattice coordinate system.
6. The first vector in the triangular lattice coordinate system is obtained by applying the inverse of the basis transformation matrix to the target vector in the orthogonal coordinate system. The basis transformation matrix is applied to the composite vector of the third vector and the fourth vector to obtain the vector in the Cartesian coordinate system corresponding to the desired grid point. An information processing apparatus according to claim 1, configured to perform processing.
7. From the third vector, elements of the rank corresponding to the first value are extracted using a selection algorithm with a predetermined computational complexity. An information processing apparatus according to claim 4, configured to perform processing.
8. The information processing apparatus comprises the information processing apparatus according to any one of claims 1, 3 to 7, wherein the desired grid point is the nearest grid point of the first vector, and the server A grid point is randomly selected on the grid, and the integer value assigned to the grid point is used to generate the first secret information. The composite vector of a first bio-information vector on a grid coordinate system and a vector corresponding to the grid point is registered as a commitment in the server. A client device configured to perform processing, Equipped with, The aforementioned server, The difference vector between the second bio-information vector on the grid coordinates and the composite vector registered as the commitment is calculated. Let the difference vector be the first vector, and find the nearest lattice point of the difference vector on the lattice, An authentication system configured to perform a process that obtains the first secret information using integer values assigned to the nearest neighbor grid points.
9. It comprises a registration device, a signature generation device, and a verification device. The registration device is First biological information is acquired and a first biological information vector in a lattice coordinate system is generated. Generate a pair of a first signing key and a first verification key, The first signing key corresponds to a fifth vector randomly selected on the grid, A first commitment is generated using the first bioinformation vector and the fifth vector. The first verification key and the first commitment are registered as a public template. Configured to perform processing, The signature generating device is Second biological information is acquired and a second biological information vector in a lattice coordinate system is generated. Generate a second signing key and a second verification key pair, The second signing key corresponds to a randomly selected sixth vector on the grid, The message to be signed is obtained, and a signature is generated using the second signing key. A second commitment is generated using the second bioinformation vector and the sixth vector. The signature, the second verification key, and the second commitment are transmitted to the verification device as a signature set. Configured to perform processing, The verification device is The information processing device comprises the information processing device described in any one of claims 1, 3 to 7, The desired lattice point is the nearest neighbor lattice point of the first vector, Enter the aforementioned message, the aforementioned public template, and the aforementioned signature set. The signature and message pair are verified using the second verification key, and if accepted, further, The difference vector between the first commitment and the second commitment, and the first verification key and the second verification key are checked to see if they satisfy a predetermined relationship. If they do, the signature verification result is output as accepted. In the difference verification, when calculating the difference vector between the first commitment and the second commitment, the difference vector is set as the first vector, the difference vector is rounded to the nearest neighbor grid point on the grid, the difference between the first signing key and the second signing key is restored, and it is verified whether the difference between the first signing key and the second signing key and the first verification key and the second verification key satisfy the predetermined relationship. A digital signature system configured to perform a process.
10. It comprises a key generation device, a first signature generation device, and a second signature generation device, The aforementioned key generation device is First biological information is acquired and a first biological information vector in a lattice coordinate system is generated. Generate a signing key and a verification key, The first biometric information vector and the fifth vector encoding the signature key are combined to generate the first sketch. The first sketch is sent to the second signature generation device. The verification key is transmitted to the verification device. Configured to perform processing, The first signature generation device is Second biological information is acquired and a second biological information vector in a lattice coordinate system is generated. Generate the first distributed key, The second biometric information vector and the sixth vector encoding the first distributed key are combined to generate a second sketch. The second sketch is sent to the second signature generation device. Configured to perform processing, The second signature generation device described above is The information processing device comprises the information processing device described in any one of claims 1, 3 to 7, The desired lattice point is the nearest neighbor lattice point of the first vector, The first sketch transmitted from the key generation device is acquired and stored. The second sketch transmitted from the first signature generation device is obtained, Using the information processing device, the difference vector between the fifth vector and the sixth vector is taken from the first sketch and the second sketch and used as the first vector, the nearest neighbor grid point corresponding to the first vector is found, and the difference between the signing key and the first distributed key is restored. The aforementioned difference is used as the second distributed key. The first signature generation device and the second signature generation device use the first and second distributed keys to generate a signature for the message to be signed that can be verified with the verification key, and transmit it to the verification device. A digital signature system configured to perform a process.
11. For a first vector in a lattice coordinate system, the sum of the elements of the third vector obtained by dividing it into a second vector, each element of which is the integer part of each element of the first vector, and a third vector, each element of which is the fractional part of each element of the first vector, is calculated. A search method for determining the predetermined number for a fourth vector, in which an integer vector is defined based on the relationship between element numbers and a predetermined number, wherein the array of elements of one value and elements of other values is determined, and the result of combining it with the second vector gives a desired lattice point for the first vector, using a first value obtained by applying a ceiling function to the sum.
12. The search method according to claim 11, wherein the desired grid point is the nearest grid point of the first vector.
13. The search method according to claim 11, wherein in the fourth vector, the predetermined number corresponds to the element number that marks the boundary between the array of elements where the value of one is 1 and the array of elements where the other values are 0.
14. From the elements of the third vector, take the element whose magnitude is the rank of the first value, If the sum is greater than the difference between the first value and the rank element of the third vector of the first value, the predetermined number is taken as the first value. The search method according to claim 11, wherein if the sum is less than or equal to the difference between the first value and the rank element of the third vector of the first value, the predetermined number is set to the first value minus 1.
15. The search method according to claim 11, wherein the lattice coordinate system consists of a triangular lattice coordinate system.
16. The first vector in the triangular lattice coordinate system is obtained by applying the inverse of the basis transformation matrix to the target vector in the orthogonal coordinate system. The search method according to claim 11, wherein the basis transformation matrix is applied to the composite vector of the third vector and the fourth vector to obtain the vector in the Cartesian coordinate system corresponding to the desired lattice point.
17. The search method according to any one of claims 11 to 16, wherein elements of the rank whose magnitude is the first value are extracted from the third vector using a selection algorithm with a predetermined computational complexity.
18. For a first vector in a lattice coordinate system, the sum of the elements of the third vector obtained by dividing it into a second vector, each element of which is the integer part of each element of the first vector, and a third vector, each element of which is the fractional part of each element of the first vector, is calculated. An integer vector in which an array of elements of one value and elements of other values is determined based on the relationship between element numbers and a predetermined number, wherein the result of combining it with the second vector gives a desired lattice point for the first vector, and the predetermined number is determined using a first value obtained by applying a ceiling function to the sum. A program that instructs the processor to perform a task.
19. The program according to claim 18, wherein the desired grid point is the nearest grid point of the first vector.
20. The program according to claim 18, wherein in the fourth vector, the predetermined number corresponds to the element number that marks the boundary between the array of elements where the value of one is 1 and the array of elements where the other values are 0.
21. From the elements of the third vector, take the element whose magnitude is the rank of the first value, If the sum is greater than the difference between the first value and the rank element of the third vector of the first value, the predetermined number is taken as the first value. The program according to claim 18, which causes the processor to perform a process of subtracting 1 from the first value if the sum is less than or equal to the difference between the first value and the rank element of the third vector of the first value.
22. The program according to claim 18, wherein the aforementioned lattice coordinate system is a triangular lattice coordinate system.
23. The first vector in the triangular lattice coordinate system is obtained by applying the inverse of the basis transformation matrix to the target vector in the orthogonal coordinate system. The program according to claim 18, which causes the processor to perform a process of applying the basis transformation matrix to the result of combining the third vector and the fourth vector to obtain the nearest neighbor vector in the Cartesian coordinate system corresponding to the desired lattice point.
24. The program according to any one of claims 18 to 23, which causes the processor to perform a process of extracting elements of the rank whose magnitude is the first value from the third vector using a selection algorithm of a desired order of computational complexity.