Phương pháp tấn công “baby step giant step”

Một phần của tài liệu nghiên cứu, tìm hiểu và trình bày về chữ ký số trên đường cong elliptic, ứng dụng của đường cong elliptic trong hệ thống bỏ phiếu điện tử và hệ thống tiền điện tử (Trang 58 - 59)

Đây là phương pháp tấn công đầu tiên lên hệ mật mã ECC do Shanks đưa ra, và thực hiện với thời gian là hàm mũ. Nó giải bài toán DLP trong trường nguyên tố

Zp được mở rộng cho bài toán EDLP.

Bài toán: Tìm k sao cho kG = Q trên E(Fq) với #E(Fq) = N, giả sử k tồn tại thực sự.

Thuật toán

1. Chọn số nguyên m >

N

2. Tính mG

3. Với i = 0 đến i = m-1 tính (và lưu lại) iG 4. Với j = 0 đến j = m-1 tính (và lưu lại) Q – jmG

5. Sắp xếp danh sách trong bước 3 và 4 theo một thứ tự nhất định

6. So sánh các danh sách ở các bước 3 và 4 cho đến khi tìm được cặp i, j thỏa mãn iG = Q – jmG

7. Kết quả trả lại là k ≡ i + jm (mod N)

Chứng minh

Vì chúng ta chọn m thỏa mãn m2 > N nên sẽ có k < m2. Đặt

k0 k (mod m), 0 k 0 ≤ m . Đặt k1 = (k – k0) / m. Ta sẽ có: k = k0 + mk1, với

0 ≤ k1 < m Trong thuật toán trên ta thử tìm tất cả i thuộc khoảng của k0 và tất cả j

trong khoảng của k1 cho đến khi tìm được i, j thoả mãn iG = Q – jmG ⇒ (i + jm)G

=Qhay k = i + jm. Vì k tồn tại nên k0, k1 tồn tại.

Độ phức tạp thời gian

Bước 1 cần O(log N). Bước 2 và bước 3 cần O(m+1) = O( N ). Bước 4 cần

O( N ). Thuật toán sắp xếp trong bước 5 được thực hiện trong O(log( N ) N )

thời gian. Bước 6 được thực hiện trong O( N ) thời gian. Bước 7 cũng được thực hiện trong O( N ) thời gian. Bỏ qua các yếu tố logarith rời rạc ( N đủ lớn để bài toán DLP là khó giải), thì thời gian thực hiện của thuật toán là hàm mũ của Thuật toán này quá chậm vì thời gian là hàm mũ của độ dài dữ liệu vào N.

49

Một phần của tài liệu nghiên cứu, tìm hiểu và trình bày về chữ ký số trên đường cong elliptic, ứng dụng của đường cong elliptic trong hệ thống bỏ phiếu điện tử và hệ thống tiền điện tử (Trang 58 - 59)

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

(61 trang)
w