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, … , � ∈ ℤ}. 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ó
�= 1
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, ‖�∗ + � �∗ ‖ ≥ 3 ‖�∗ ‖ với mọi 2 ≤ ≤ �. � −1,, �− 1 4 �−1
trong đó �∗, �∗ , … , �∗là trực giao hóa Gram-Schmidt của b , b , … , b
1 2 � ��∙�∗ 1 2 � ( =� �∗, �∗ = � − ∑�∗ �−1 � (2 ≤ ≤ ) và � = � (1 ≤ < ≤ ) . 1 1 � �� �=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 �.