Phương pháp phân tích dùng đường cong elliptic

Một phần của tài liệu Một Số Thuật Toán Phân Tích Số Nguyên Hiện Đại Và Ứng Dụng (Trang 26 - 28)

Thuật toán này thường là tốt khi thừa số bé củan chỉ có khoảng từ 13 đến 47 chữ số, còn thừa số lớn thì lại có thể to hơn rất nhiều. Ý tưởng của thuật toán này là: Sử dụng một đường cong elliptic và một điểmRở trên đó làm công cụ phân tích, dựa trên nhận xét sau đây.

Quá trình lấy bội của điểmR(cộng liên tiếp nó với nó, theo quy tắc cộng điểm trên đường cong elliptic) theo modulo của sốn(số cần phân tích) đòi hỏi thường xuyên phải làm việc với phân số có dạng (y2−y1)/(x2−x1), và phép nghịch đảo (theo modulo n) sẽ không thực hiện được khi mẫu số

(x1−x2) không phải là nguyên tố cùng nhau với n, hay nói cách khác: nó có một ước nào đó là phayq. Gọi ước đó làp, khi ấy việc tính theo modulo

p sẽ cho điểm bội có mẫu số là 0, tức là bản thân điểm bộivô cùng, ký

hiệu là ∅. Trong khi đó, việc tính điểm bội trên trường hữu tỷ lại không gặp sự cố nào, dù rằng mẫu số (của cả hai) toạ độ điểm bội thu được đều có ước là p. Nếu điều này không xảy ra với ước còn lại (tức là với q) thì

p đúng bằng ước chung lớn nhất của nvà một trong hai mẫu số này. Tóm lại, trong quá trình lấy bội của một điểmR trên trường số hữu tỷ, ta sẽ “gặp may” tại một thời điểm nào đó màmẫu số của điểm bội có ước chung với

n.

Một cách đơn giản, ta có thể cộng điểm R với chính nó (theo modulo

n) cho tới khi gặp “sự cố” (không thực hiện được) thì dùng lại và tìm ước chung lớn nhất của n với mẫu số của toạ độ điểm trong biểu diễn hữu tỷ.

Tuy nhiên, ta cũng có thể lấy tuỳ ý mộthợp sốđủ lớn (đủ nhiều các loại ước số khác nhau). Nếu trong số các ước của nó mà có một cái nào đó gây ra được “sự cố” cho việc tính bội điểmRthì việc lấy bội củaRtheo chính hợp số này cũng sẽ gặp sự cố (vìk·R=∅ mod p, suy ra t·k·R=∅ mod p, với mọi số nguyênt). Và khi ấy ta chỉ việc lấy ước chung lớn nhất củanvới mẫu số của toạ độ điểm bội (theo hợp số đã nói) trong biểu diễn hữu tỷ là có ngay một ước của n.

Như ta đã thấy, khả năng “gặp may” trong việc tính các bội lớn nhiều hơn là đối với các bội nhỏ, cho nên người ta thường bắt đầu bằng việc tính một bội đủ lớn (việc tính bội lớn của điểm có thể thực hiện nhanh theo phương pháp nhân đôi liên tiếp, tương tự như phép bình phương liên tiếp đối với phép nâng lên luỹ thừa). Trong thực tế, người ta thường lấy bội với

k=r!, trong đó được chọn tuỳ theo R (vì hợp sốknhư vậy sẽ có rất nhiều ước số các loại). Lưu ý rằng các ước số của k không hề có quan hệ gì với ước của n, cho nên k không cần phải đủ lớn đến mức để có thể thâu tóm một ước nào đó củan.

Thuật toán không mang lại kết quả khi r!Rkhông phải là∅(theo mod- ulo p hoặc modulo q), và khi r!R là ∅theo cả hai modulo p và modulo q

(vì khi ấy ước chung lớn nhất tìm được lại đúng bằng n). Tuy nhiên, nếu điều này xảy ra thì hãy chọnđường cong khác và điểm Rkhác.

Một phần của tài liệu Một Số Thuật Toán Phân Tích Số Nguyên Hiện Đại Và Ứng Dụng (Trang 26 - 28)

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

(34 trang)