ubuntu2204
Math 187B: Mathematics of modern cryptography
UC San Diego, Spring 2025
Presentation: Babai's algorithm
Introduction & Motivation
What is the Closest Vector Problem (CVP)?
Given a lattice "L" and target vector "t", find the lattice point v closest to t.
What is a Lattice?
Example:
*** Participation Check ***
B = Matrix(ZZ, [[2, 1], [1, 3]]) in range(-2,3)
a) Compute and list 10 lattice points generated from B
b) Plot the lattice points in the region[−5,5]×[−5,5] in size 20.
c) Explain how the shape of the lattice changes if we use the basis: B2 = Matrix(ZZ, [[2, 0], [0, 2]])
c)
i. What geometric shape do you observe with B vs. B2? With B, the lattice points form a skewed parallelogram grid. The basis vectors are not orthogonal (they’re slanted), so the fundamental domain is a parallelogram. With B2
, the lattice is a perfect square grid, because the basis vectors are orthogonal (90° angle) and have equal length.
ii. Which basis generates a more “regular” grid and why?
B2 generates the more regular grid: It forms squares aligned with the coordinate axes. It’s easier to work with in terms of geometry, projection, and approximations. B creates a more "oblique" grid, which is typical in applications but harder for approximations like Babai’s algorithm.
Mathematical Foundations
Lattice = integer combinations of basis vectors
L(B)={Bz∣z∈Z^n}
Basis quality matters: short, nearly orthogonal = good
Gram-Schmidt Orthogonalization (GSO) is key
Given Basis: 𝐵= [1,...,𝑏𝑛]
Compute orthogonal basis 𝐵∗=[𝑏1∗,…,𝑏𝑛∗]
Babai’s Nearest Plane Algorithm
Project t onto hyperplanes and round coefficients.
*** Participation Check ***
, find nearest vector v
B3 = Matrix(ZZ, [[4,1,2], [1,3,2], [0,2,3]])
Visualization
Summary
Lattices are grids of integer combinations of basis vectors.
The Closest Vector Problem is hard but approximated by Babai’s algorithm.
The algorithm projects to successive hyperplanes using Gram-Schmidt.
Applications: cryptography (LWE, NTRU), coding theory.
Q&A