A Linear-Time Algorithm for the Closest Vector Problem of Triangular Lattices
Kenta Takahashi, Wataru Nakamura
TL;DR
The paper tackles the bottleneck of solving the closest vector problem (CVP) in high-dimensional triangular lattices used for biometric-inspired fuzzy extractors and signatures. It develops two algorithms: QLinCV, achieving $O(n \log n)$ time via fast coordinate transformation and convexity-based search, and LinCV, achieving $O(n)$ time by eliminating full sorting through order-statistic selection. These methods leverage a specialized triangular-lattice basis and a linear-time coordinate transform to significantly accelerate CVP in dimensions up to $n=512$. Experimental results show substantial speedups over the traditional $O(n^2)$ approach, enabling near-real-time performance for large-scale biometric template protection systems.
Abstract
Fuzzy Extractor (FE) and Fuzzy Signature (FS) are useful schemes for generating cryptographic keys from fuzzy data such as biometric features. Several techniques have been proposed to implement FE and FS for fuzzy data in an Euclidean space, such as facial feature vectors, that use triangular lattice-based error correction. In these techniques, solving the closest vector problem (CVP) in a high dimensional (e.g., 128--512 dim.) lattice is required at the time of key reproduction or signing. However, solving CVP becomes computationally hard as the dimension $n$ increases. In this paper, we first propose a CVP algorithm in triangular lattices with $O(n \log n)$-time whereas the conventional one requires $O(n^2)$-time. Then we further improve it and construct an $O(n)$-time algorithm.
