6 research outputs found

    Computing a Lattice Basis Revisited

    Get PDF
    International audienc

    Slide reduction, revisited—filling the gaps in svp approximation

    Get PDF
    We show how to generalize Gama and Nguyen's slide reduction algorithm [STOC '08] for solving the approximate Shortest Vector Problem over lattices (SVP). As a result, we show the fastest provably correct algorithm for δ\delta-approximate SVP for all approximation factors n1/2+εδnO(1)n^{1/2+\varepsilon} \leq \delta \leq n^{O(1)}. This is the range of approximation factors most relevant for cryptography

    Simple Lattice Basis Computation -- The Generalization of the Euclidean Algorithm

    Full text link
    The Euclidean algorithm is one of the oldest algorithms known to mankind. Given two integral numbers a1a_1 and a2a_2, it computes the greatest common divisor (gcd) of a1a_1 and a2a_2 in a very elegant way. From a lattice perspective, it computes a basis of the sum of two one-dimensional lattices a1Za_1 \mathbb{Z} and a2Za_2 \mathbb{Z} as gcd(a1,a2)Z=a1Z+a2Z\gcd(a_1,a_2) \mathbb{Z} = a_1 \mathbb{Z} + a_2 \mathbb{Z}. In this paper, we show that the classical Euclidean algorithm can be adapted in a very natural way to compute a basis of a general lattice L(a1,,am)L(a_1, \ldots , a_m) given vectors a1,,amZna_1, \ldots , a_m \in \mathbb{Z}^n with m>rank(a1,,am)m> \mathrm{rank}(a_1, \ldots ,a_m). Similar to the Euclidean algorithm, our algorithm is very easy to describe and implement and can be written within 12 lines of pseudocode. While the Euclidean algorithm halves the largest number in every iteration, our generalized algorithm halves the determinant of a full rank subsystem leading to at most log(detB)\log (\det B) many iterations, for some initial subsystem BB. Therefore, we can compute a basis of the lattice using at most O~((mn)nlog(detB)+mnω1log(A))\tilde{O}((m-n)n\log(\det B) + mn^{\omega-1}\log(||A||_\infty)) arithmetic operations, where ω\omega is the matrix multiplication exponent and A=(a1,,am)A = (a_1, \ldots, a_m). Even using the worst case Hadamard bound for the determinant, our algorithm improves upon existing algorithm. Another major advantage of our algorithm is that we can bound the entries of the resulting lattice basis by O~(n2A)\tilde{O}(n^2\cdot ||A||_{\infty}) using a simple pivoting rule. This is in contrast to the typical approach for computing lattice basis, where the Hermite normal form (HNF) is used. In the HNF, entries can be as large as the determinant and hence can only be bounded by an exponential term

    On the Smallest Ratio Problem of Lattice Bases

    Get PDF
    Let (b1,,bn)(\mathbf{b}_1, \ldots, \mathbf{b}_{n}) be a lattice basis with Gram-Schmidt orthogonalization (b1,,bn)(\mathbf{b}_1^{\ast}, \ldots, \mathbf{b}_{n}^{\ast}), the quantities b1/bi\|\mathbf{b}_{1}\|/\|\mathbf{b}_{i}^{\ast}\| for i=1,,ni = 1, \ldots, n play important roles in analyzing lattice reduction algorithms and lattice enumeration algorithms. In this paper, we study the problem of minimizing the quantity b1/bn\|\mathbf{b}_{1}\|/\|\mathbf{b}_{n}^{\ast}\| over all bases (b1,,bn)(\mathbf{b}_{1}, \ldots, \mathbf{b}_{n}) of a given nn-dimensional lattice. We first prove that there exists a basis (b1,,bn)(\mathbf{b}_{1}, \ldots, \mathbf{b}_{n}) for any lattice LL of dimension nn such that b1=minvL\{0}v\|\mathbf{b}_1\| = \min_{\mathbf{v} \in L\backslash\{\mathbf{0}\}} \|\mathbf{v}\|, b1/bii\|\mathbf{b}_{1}\|/\|\mathbf{b}_{i}^{\ast}\| \leq i and bi/bii1.5\|\mathbf{b}_{i}\|/\|\mathbf{b}_{i}^{\ast}\| \leq i^{1.5} for 1in1 \leq i \leq n. This leads us to introduce a new NP-hard computational problem, that is, the smallest ratio problem (SRP): given an nn-dimensional lattice LL, find a basis (b1,,bn)(\mathbf{b}_{1}, \ldots, \mathbf{b}_{n}) of LL such that b1/bn\|\mathbf{b}_{1}\|/\|\mathbf{b}_{n}^{\ast}\| is minimal. The problem inspires the new lattice invariant μn(L)=min{b1/bn:(b1,,bn) is a basis of L}\mu_{n}(L) = \min\{\|\mathbf{b}_1\|/\|\mathbf{b}_n^{\ast}\|: (\mathbf{b}_1, \ldots, \mathbf{b}_n) \textrm{ is a basis of } L\} and new lattice constant μn=maxμn(L)\mu_{n} = \max \mu_{n}(L) over all nn-dimensional lattices LL: both the minimum and maximum are justified. The properties of μn(L)\mu_{n}(L) and μn\mu_{n} are discussed. We also present an exact algorithm and an approximation algorithm for SRP. This is the first sound study of SRP. Our work is a tiny step towards solving an open problem proposed by Dadush-Regev-Stephens-Davidowitz (CCC \u2714) for tackling the closest vector problem with preprocessing, that is, whether there exists a basis (b1,,bn)(\mathbf{b}_{1}, \ldots, \mathbf{b}_{n}) for any nn-rank lattice such that max1ijnbi/bjpoly(n)\max_{1 \le i \le j \le n} \|\vec{b}_{i}^{\ast}\|/\vec{b}_{j}^{\ast}\| \le \textrm{poly}(n)

    Computing a Basis for an Integer Lattice

    Get PDF
    The extended gcd problem takes as input two integers, and asks as output an integer linear combination of the integers that are equal to their gcd. The classical extended Euclidean algorithm and fast variants such as the half-gcd algorithm give efficient algorithmic solutions. In this thesis, we give a fast algorithm to solve the simplest — but not trivial — extension of the scalar extended gcd problem on two integers to the case of integer input matrices. Given a full column rank (n + 1) × n integer matrix A, we present an algorithm that produces a square nonsingular integer matrix B such that the lattice generated by the rows of B — the set of all integer linear combinations of the rows of B — is equal to the lattice generated by the rows of A. The magnitude of entries in the basis B are guaranteed to be not much larger than those of the input matrix A. The cost of our algorithm to produce B is about the same as that required to multiply together two square integer matrices of dimension n and with the size of entries about that of the input matrix. This running time bound improves by about a factor of n on the fastest previously known algorithm

    A Complete Analysis of the BKZ Lattice Reduction Algorithm

    Get PDF
    We present the first rigorous dynamic analysis of BKZ, the most widely used lattice reduction algorithm besides LLL. Previous analyses were either heuristic or only applied to variants of BKZ. Namely, we provide guarantees on the quality of the current lattice basis during execution. Our analysis extends to a generic BKZ algorithm where the SVP-oracle is replaced by an approximate oracle and/or the basis update is not necessarily performed by LLL. Interestingly, it also provides currently the best and simplest bounds for both the output quality and the running time. As an application, we observe that in certain approximation regimes, it is more efficient to use BKZ with an approximate rather than exact SVP-oracle
    corecore