Tấn công theo Poulakis 2011

Một phần của tài liệu (LUẬN văn THẠC sĩ) lý thuyết lưới và ứng dụng trong mật mã luận văn ths toán học 604601 (Trang 62 - 65)

3 Ứng dụng của thuật toán LLL trong mật mã

3.2 Tấn công lên lược đồ chữ ký số

3.2.3 Tấn công theo Poulakis 2011

Phương pháp này đưa ra một cách giải cho các phương trình conic có dạng r(x, y) = Dxy+Ax+B, ở đây D, A, B ∈Z. Nhờ vậy, ta có thể xây dựng tấn công chỉ cần một đa thức từ véctơ đầu tiên của cơ sở LLL-rút gọn. Cụ thể, thuật toán giải phương trình r(x, y) như sau.

Thuật tốn giải phương trình Conic Dxy+Ax+B

Đầu vào: Phương trình r(x, y) = 0 và phân tích thừa số nguyên tố của

B.

Đầu ra: Cặp (x, y)∈Z2 với r(x, y) = 0.

Bước 1. Tính tập D(B) gồm tất cả các ước của B.

Bước 2. Với mỗi x∈D(B) tính y=−(B/x+A)/D.

Bước 3. Nếuy∈Zthì trả cặp(x, y). Nếu khơng trả ra khơng tìm được nghiệm.

Chứng minh. (Tính đúng đắn của thuật toán) Giả sử (x, y) ∈ Z2 là nghiệm của r(x, y) = 0. Khi đó,x(Dy+A) =−B. Suy rax|B hayB =xβ,

ở đây β ∈ Z. Đơn giản hóa phương trình, ta thu được Dy+A+β = 0. Do đó, y = −(β+A)/D = −(B/x+A)/D. Nếu y ∈ Z thì ta có (x, y) là nghiệm của r(x, y) = 0.

Từ phương trình đồng dư (3.3), (3.4) thực hiện cách biến đổi 2, ta có f(x, y) =xy+Ax+B modq nhận (k−1, a) là nghiệm. Xét các đa thức

f1(x, y) = q, f2(x, y) = qx và f3(x, y) = f(x, y). Dễ thấy các đa thức này cũng nhận (k−1, a) là nghiệm trên modulo q. Xây dựng lưới L được căng các véctơ hàng của ma trận J ,ở đó J có các hàng lần lượt hệ số của đa thức f1(xX, yX) =q, f2(xX, yY) =qY x và f3(xX, yY) =XY xy+AY x+B. J =   q 0 0 0 qX 0 B AX XY  

Do các hàng của J là R-độc lập tuyến tính nên lưới có số chiều bằng

n = 3. Áp dụng thuật toán LLL vào lưới L ta thu được một cơ sở mới như sau.   q 0 0 0 qX 0 B AX XY  LLL−−→   C0 C1 C2 C3 C4 C5 C6 C7 C8  

Ta có detL = |detI| = q2X2Y. Đặt γ0 = C0, γ1 = C1/X, γ2 = C2/XY. Ta có b1 = (γ0, γ1X, γ2XY). Đặt g1(x, y) =γ0+γ1x+γ2xy. Do g1(xX, yY) là các tổ hợp tuyến tính nguyên củafi(xX, yY), i= 1,2,3nêng1(k−1, a) =

0 mod q. Do vậy đa thức g1(x, y) thỏa mãn điều kiện đầu trong trường hơp 1 của Bổ đề 3.8.

Bây giờ ta cần xác minh điều kiện để các đa thức g1(x, y) thỏa mãn điều kiện 2 trong trường hợp 1 của Bổ đề 3.8. Theo Tính chất 1, kb1k<

2(3−1)/4(detL)1/3 = √ 2(q2X2Y)1/3. Do đó, để g1(x, y) thỏa mãn ta cần √ 2(q2X2Y)1/3 < √q 3 hay X2Y < q 6√ 6. Khi đó, ta cókb1k=kg1(xX, yY)k< q √

3. Thật vậy, nếu γ2 = 0 thì γ1 = qt0, γ1 = qXt1 với t0, t1 ∈ Z và q√ 2 <

kb1k < q/√

3 (vô lý). Suy ra, γ2 6= 0 và kb1k =kg1(xX, yY)k < √q

3. Theo Bổ đề 3.8, g1(k−1, a) = 0 trên Z. Áp dụng thuật tốn giải phương trình conic cho g1(x, y) ta thu được a và k−1. (Do B =h(m)r−1modq nên việc phân tích thừa số nguyên tố của B hồn tồn có thể thực hiện được).

Từ các kết quả trên, ta có khẳng định sau đây:

Khẳng định 3.11. Trong lược đồ chữ ký DSA, ECDSA và GOST R 34.10-2012, giả sử tồn tại X, Y là các số nguyên dương sao cho

k−1

X,|a| < Y và X2Y < q

6√

6 thì Tấn cơng 2 dưới đây có thể tìm được khóa ký dài hạn a trong lược đồ chữ ký.

Tấn công 2 Đầu vào: Các giá trị (h(m), r, s).

Đầu ra: Khóa ký dài hạn a hoặc tấn cơng khơng thực hiện được. Bước 1. Trong DSA và ECDSA, tính A = h(m)r−1 modq và B =

−r−1s modq. Trong GOST R 34.10-2012, tính A = −sr−1modq

và B =r−1h(m) modq.

Bước 2. Xây dựng lưới Lđược sinh từ(q,0,0),(0, qX,0)và(B, AX, XY). Sử dụng thuật tốn LLL, tìm cơ sở LLL-rút gọn của lưới L.

  q 0 0 0 qX 0 B AX XY  LLL−−→   C0 C1 C2 C3 C4 C5 C6 C7 C8   Bước 3. Tính γ0=C0, γ1 =C1/X, γ2=C2/XY.

Bước 4. Xây dựng đa thức g1(x, y) từ véctơ đầu tiên của cơ sở LLL-rút gọn. Cụ thể, g1(x, y) =γ0+γ1x+γ2xy.

Bước 5. Sử dụng thuật tốn giải phương trình conic, tính tập S gồm các nghiệm (x, y) của đa thức g1(x, y) = 0.

Bước 6. Nếu tồn tại (x0, y0) ∈ S và y0P = Q thì trả ra a =y0. Trường hợp khác trả ra “Tấn công không thực hiện được”.

Nhận xét 3.12. Để tránh tấn cơng này, ta có thể chọn k−1 > q1/3 và |a|> q1/3.

Nhận xét 3.13. Trong Mục 5 trang 355 [23], Poulakis có thực hiện một ví dụ tính tốn bằng số mơ tả lại việc tìm được khóa ký dài hạn a trên lược đồ chữ ký ECDSA. Qua thực hiện kiểm tra lại tính tốn, tác giả luận văn thấy rằng trong ví dụ này Poulakis đã lấy nhầm tham số đường cong để sinh chữ ký nên tất cả các tính tốn trong ví dụ này là chưa đúng. Qua [29], Poulakis cũng đồng ý với sai sót này và giải thích là do lỗi đánh máy.

Một phần của tài liệu (LUẬN văn THẠC sĩ) lý thuyết lưới và ứng dụng trong mật mã luận văn ths toán học 604601 (Trang 62 - 65)

Tải bản đầy đủ (PDF)

(87 trang)