Lý thuyết lưới đã có một bước tiến mạnh mẽ trong mật mã từ khi thuật toán rút gọn cơ sở lưới LLL [6] được đưa ra vào năm 1982. Ngoài việc, được sử dụng như một nhóm nền tảng để xây dựng các hệ mật được tin tưởng là có 4http://magma.maths.usyd.edu.au/
khả năng kháng các tấn công sử dụng máy tính lượng tử, lý thuyết lưới còn được sử dụng trong việc xây dựng các tấn công lên các hệ mật truyền thống. Trước tiên, ta nhắc lại một số khái niệm cơ sở của lý thuyết lưới như định nghĩa của một lưới trong không gian ℝ𝑛, các tính chất quan trọng của một cơ sở của lưới thu được sau khi sử dụng thuật toán rút gọn cơ sở LLL.
Cho 𝑛 là một số nguyên dương. Tập hợp các véctơ cột cỡ 𝑛 × 1 gồm các phần tử của ℝ cùng với các phép toán thông thường lập thành một không gian véctơ 𝑛 chiều trên trường ℝ, ký hiệu là ℝ𝑛.
Định nghĩa 3.1 [37] (Lưới n-chiều). Cho 𝑛 ≥ 1, (𝒃1, 𝒃2, … , 𝒃𝑛) là một cơ sở của ℝ𝑛. Lưới 𝑛 chiều 𝐿 với cơ sở (𝒃1, 𝒃2, … , 𝒃𝑛) là tập hợp gồm tất cả các tổ hợp tuyến tính của các véctơ cơ sở này với hệ số nguyên. Tức, 𝐿 có thể được biểu diễn như sau:
𝐿 = ℤ𝒃1+ ℤ𝒃2+ ⋯ + ℤ𝒃𝑛 = {∑𝑛𝑖=1𝑎𝑖𝒃𝑖|𝑎1, … , 𝑎𝑛 ∈ ℤ}.
Các véctơ (𝒃1, 𝒃2, … , 𝒃𝑛) được gọi là cơ sở của lưới. Với mỗi 1 ≤ 𝑖 ≤ 𝑛, viết 𝒃𝑖 = (𝒃𝑖1, 𝒃𝑖2, … , 𝒃𝑖𝑛), khi đó các véctơ cơ sở thành lập một ma trận M = (𝒃𝑖𝑗). Kí hiệu 𝑀𝑇 là ma trận chuyển vị của ma trận 𝑀. Định thức của lưới 𝐿 trong cơ sở (𝒃1, 𝒃2, … , 𝒃𝑛) được định nghĩa là det(𝐿) = |det(M)|. Định thức của lưới 𝐿 không phụ thuộc cách chọn cơ sở của lưới.
Định nghĩa 3.2 [37]. Cho 𝐿 là lưới 𝑛 chiều trong ℝ𝑛. Cực tiểu kế tiếp thứ 𝑖
của lưới 𝐿, kí hiệu 𝛬𝑖(𝐿), là số thực 𝑟 nhỏ nhất sao cho tồn tại 𝑖 véctơ độc lập
tuyến tính x1,x2, … ,x𝑖 ∈ 𝐿 thỏa mãn ‖x1‖, ‖x2‖, … , ‖x𝑖‖ ≤ 𝑟. Tức là,
𝛬𝑖(𝐿) = 𝑚𝑖𝑛 𝑚𝑎𝑥(‖x1‖, ‖x2‖, … , ‖x𝑖‖).
ở đây min được lấy trên tập hợp tất cả các hệ gồm i véctơ độc lập tuyến tính trong 𝐿.
Ta thấy rằng Λ1(𝐿) ≤ Λ2(𝐿) ≤ . . . ≤ Λ𝑛(𝐿). Rõ ràng, một cơ sở lý tưởng nhất cho lưới 𝑛 chiều 𝐿 là cơ sở gồm các véctơ (b1,b2, … ,b𝑛) sao cho ‖𝒃𝑖‖ = Λ𝑖(𝐿) với mọi 𝑖 = 1, 2, … , 𝑛. Tuy nhiên, một cơ sở như vậy là rất khó
tìm và hơn nữa không phải hệ 𝑛 véctơ nào thỏa mãn yêu cầu về độ dài như trên cũng lập thành một cơ sở của 𝐿. Các thuật toán LLL [37], BKZ [58] đi tìm các cơ sở tốt như trên. Trong đó, thuật toán BKZ đưa ra các cơ sở rút gọn tốt hơn so với thuật toán LLL. Tuy nhiên, thuật toán BKZ lại có độ phức tạp lớn hơn thuật toán LLL. Dưới đây là một số tính chất quan trọng của một cơ sở LLL-rút gọn của lưới.
Bổ đề 3.3 [37]. Cho 𝐿 là một lưới được căng bởi các véctơ 𝒗1, 𝒗2, … , 𝒗𝑛. Áp dụng thuật toán rút gọn cơ sở LLL vào lưới 𝐿 ta thu được một cơ sở mới
b1,b2, … ,b𝑛, được gọi là cơ sở LLL-rút gọn, thỏa mãn hai điều kiện sau đây: 1, |𝜇𝑖𝑗| ≤ 1 2⁄ với mọi 1 ≤ 𝑗 < 𝑖 ≤ 𝑛.
2, ‖𝒃𝑖∗ + 𝜇𝑖,𝑖−1𝒃𝑖−1∗ ‖ ≥3
4‖𝒃𝑖−1∗ ‖ với mọi 2 ≤ 𝑖 ≤ 𝑛.
trong đó 𝒃1∗, 𝒃2∗, … , 𝒃∗𝑛 là trực giao hóa Gram-Schmidt của b1,b2, … ,b𝑛
(𝒃1 = 𝒃1∗, 𝒃𝑖∗ = 𝒃𝑖 − ∑𝑖−1𝑗=1𝜇𝑖𝑗𝒃𝑗∗ (2 ≤ 𝑗 ≤ 𝑛) và 𝜇𝑖𝑗 = 𝒃𝑖∙𝒃𝑗 ∗
𝒃𝑗∗∙𝒃𝑗∗(1 ≤ 𝑗 < 𝑖 ≤ 𝑛). Trong [37] đã chỉ ra các véctơ 𝒃1, … , 𝒃𝑛 được chỉnh sửa trong suốt quá trình thực hiện thuật toán, nhưng vẫn đảm bảo lập thành một cơ sở của lưới 𝐿. Thuật toán LLL luôn dừng và có độ phức tạp là đa thức theo số chiều 𝑛 của lưới 𝐿.
Mệnh đề 3.4 [37]. Nếu (𝒃1, 𝒃2, … , 𝒃𝑛) là một cơ sở LLL-rút gọn của lưới 𝐿
trong ℝ𝑛 thì:
1, ‖𝒃1‖ < 2(𝑛−1) 4⁄ (𝑑𝑒𝑡(𝐿))1 𝑛⁄ .
2, ‖𝒃2‖ ≤ 2(𝑛−2) 4⁄ (𝑑𝑒𝑡(𝐿) ⋅ ‖𝒃1‖−1)1 (𝑛−1)⁄ .
Mệnh đề 3.5 [39]. (Gaussian heuristic). Cho 𝐿 là một lưới 𝑛 chiều. Khi đó, nếu tồn tại một véctơ 𝐳 có độ dài ngắn hơn 𝛬1(𝐿) ≈ √2𝜋𝑒𝑛 (𝑑𝑒𝑡(𝐿))
1
𝑛 thì 𝒛 sẽ là véctơ ngắn nhất trong lưới 𝐿.