5
$\begingroup$

In lattice, a "good" basis are the set of "almost" orthogonal set of vectors which have small norms and a "bad" basis are those basis which are in certain sense hardest instance to solve [Ref].

And as far as I know, there are many public-key schemes are built upon this kind of feature, like GGH97 and GPV08 etc. Intuitively, they use the "bad" basis as the public key and the "good" basis as the private key.

My question: Is converting a "bad" basis to a "good" basis a hard problem? Otherwise we could just reduce a "bad" basis to a "good" one with lattice basis reduction algorithms like LLL to get the private key.

$\endgroup$

1 Answer 1

5
$\begingroup$

The task of converting a "bad" basis into a "good" basis in lattice theory is known as the basis reduction problem, and it is indeed computationally hard for general lattices. As mentioned in the question, a "bad" basis consists of long, non-orthogonal vectors that do not reveal much about the underlying lattice structure, while a "good" basis is composed of shorter, nearly orthogonal vectors, which makes solving certain lattice problems more efficient.

Why is Converting a Bad Basis to a Good Basis Hard?

Lattice basis reduction involves finding a basis where the vectors are short and almost orthogonal. This is crucial for solving difficult problems like the (approximate versions of ) Shortest Vector Problem (SVP) and the Closest Vector Problem (CVP). Both SVP and CVP are well-known to be computationally hard in high dimensions. These problems are inherently connected to finding better lattice bases because identifying short vectors or vectors closest to a point becomes much easier when using a good basis.

However, algorithms like the Lenstra-Lenstra-Lovász (LLL) algorithm, which is a polynomial-time algorithm for lattice basis reduction, only provide an approximate solution. The LLL algorithm guarantees that the basis vectors are within a certain approximation factor (exponential in the dimension) of the shortest possible vectors. While it is efficient for low dimensions and can reduce a bad basis somewhat, as the lattice's dimension increases, the approximation becomes less accurate. As a result, the LLL-reduced basis may still be far from a "good" basis in high dimensions, making it ineffective for extracting the private key.

There are more powerful algorithms such as BKZ (Block Korkin-Zolotarev), which offer better approximations by working on blocks of the lattice at a time. These algorithms improve upon LLL and can produce bases that are closer to the shortest basis (which is defined below). However, they are also much more computationally expensive than LLL, especially for large dimensions. These higher-cost algorithms are still approximate and do not solve the shortest basis problem exactly.

The Shortest Basis Problem (SBP)

A well-defined problem related to lattice basis reduction is the Shortest Basis Problem (SBP), which formalizes the task of finding the shortest possible basis for a lattice.

Given a basis $B = [b_1, \dots, b_n]$ for a lattice $\mathcal{L}$, find a basis $B' = [b_1', \dots, b_n']$ such that $B'$ is a basis of $\mathcal{L}$ and $$\|B'\| = \min_{C \text{ is a basis of }\mathcal{L}} \|C\|$$ where $\|C\| = \underset{i \in [n]}{\max} \|c_i\|\;$.

This is a computationally hard problem like SVP and CVP.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.