Các thuật toán phân tích mạnh nhất
Trang 1Các thuật toán phân tích mạnh nhất.
Trong phần này em giới thiệu một số thuật toán phân tích số nguyên đợc coi là “mạnh nhất” theo nghĩa thời gian tính tốt nhất hiện nay Việc trình bày của chúng tôi dựa trên quan điểm không phải là đa ra thuật toán chi tiết nhằm mục đích phân tích số nguyên mà chủ yếu nêu ra ý tởng của thuật toán và quan trọng nhất là đa ra thông số về thời gian tính của chúng nhằm chứng minh cho kích thớc tối thiểu của các modulo đợc sử dụng trong mật mã theo dạng tích hai số nguyên tố lớn.Các thuật toán đợc kể đến bao gồm thuật toán sàng bậc hai, thuật toán phân tích trên đờng cong Elliptic, thuật toán sàng tr-ờng số nhng do hai thuật toán sau đều cần phải có kiến thức bổ trợ khá cồng kềnh về đại số hiện đại vả lại điều kiện về tài liệu lại không đủ chi tiết nên em chỉ trình bày thuật toán sàng bậc hai và cũng dừng ở những nét chính yếu nhất.
1 thuật toán sàng bậc hai.
T tởng chủ đạo của một loạt khá lớn các thuật toán phân tích số nh phơng pháp đặc biệt của Euler, phơng pháp phân tích các dạng chính phơng của Danien Shanks, phơng pháp triển khai liên phân số của Morrison và Brillhart, phơng pháp sàng bậc hai của Pomerance là cố tìm đồng d thức x2 º y2 mod N sao cho xạ± y mod N, còn kỹ thuật tìm cụ thể nh thế nào thì chính là nội dung riêng của từng thuật toán.
Đối với thuật toán sàng bậc hai của Pomerance đợc thực hiện nh sau: - Chọn k là số nguyên tố đầu tiên và gọi là cơ sở phân tích.
- Chọn B là một số nào đó gọi là ngỡng tìm các thặng d bậc hai nhỏ.
- Tìm k+1 các thặng d bậc hai nhỏ hơn B và phân tích đợc hoàn toàn trong tập cơ sở trong lớp các số dạng Q(x) º ((m+x)2- N) mod N với k là số phần tử của cơ sở, m = [ N ] còn x=0, ±1, ±2,
- Xây dựng đồng d thức x2 º y2 mod N từ k+1 thặng d bậc hai tìm đợc trên Cơ sở thuật toán chủ yếu dựa vào thứ nhất là khả năng tìm đợc k+1 thặng d bậc hai và tiếp đến là xây dựng đồng d thức x2 º y2 mod N nh thế nào.
Trớc hết chúng ta cùng xem xét đến vấn để thứ hai.
Giả sử thặng d bậc hai thứ i tìm đợc ở trên là ri = ci2= q1a1 q2a2 qkak (qj là số nguyên tố thứ j của B), ta đặt tơng ứng với véc tơ vi ẻ [GF(2)]k nh sau ri khác nhau đợc ứng cùng với véc tơ v nhng một cách hình thức ta có thể coi có k+1 véc tơ khác nhau thu từ việc ứng k+1 giá trị r có đợc ở trên.
Hiển nhiên trong không gian k chiều GF(2)k thì tập k+1 véc tơ vi (i=1,2, ,k+1) chắc chắn phụ thuộc tuyết tính, giả sử ta có tổ hợp tuyết tính đặc trng cho phụ thuộc đó là:
1 theo định nghĩa sẽ là x2 mod N, mặt khác do điều kiện đặt ra ở trên là Q(xi) phân tích đợc hoàn toàn trong tập cơ sở cùng với điều kiện
1 chứa toàn các số mũ chẵn đối với các thừa số trong cơ sở do vậy nó cũng là một thặng d bậc hai y2 nào đó Nừu xạ±y mod N thì chúng ta sẽ thành công việc phân tích N với các thừa số t-ơng ứng là gcd(x±y,N) Ngời ta chỉ ra rằng khả năng thành công xảy ra với xác xuất là 0,5 do vậy thời gian tính của thuật toán chủ yếu phụ thuộc vào giai đoạn tìm thặng d bậc hai nhỏ và giai đoạn tìm hệ thức phụ thuộc tuyến tính (thông thờng bằng phép khử Gauss).
Với việc tìm các thặng d bậc hai nhỏ thoạt tiên chúng ta nhận thấy rằng do Q(x+rpa) º [(m+x+rpa) -N] mod N º {[(m+x)2 - N] + rpa [2(m+x) + rpa]} mod N º Q(x) + rpa [2(m+x) + rpa] mod N nên :
Trang 2Nếu pa là ớc của Q(x) thì nó cũng là ớc của Q(x + rpa) với mọi số nguyên r Từ kết quả trên chúng ta thấy rằng nếu tồn tại giá trị x theo yêu cầu Q(x) phân tích hoàn toàn trong cơ sở và không quá B thì ta có thể tìm đợc nó chỉ cần
Nh vậy không phải toàn bộ các số nguyên tố trong cơ sở đều phải đợc biểu diễn (đúng hơn là chỉ có khoảng một nửa số nguyên tố trong cơ sở là có mặt trong biểu diễn các Q(x)) do đó để thu đợc hệ phụ thuộc tuyến tính nêu trong phân tích trên thì thờng chỉ cần số phơng trình khoảng già nửa số các số nguyên tố trong cơ sở là đủ.
nếu pº 3 mod 4 thì giá trị x º -m ± N(p+1)/4 mod p là các giá trị < p thoả mãn p là ớc của Q(x) Nếu pº 1 mod 4 thì việc tìm các giá trị x tơng ứng có thể bằng một thuật toán gần đa thức.
Nếu x<pa thoả mãn pa là ớc của Q(x) và pa+1 không là ớc của Q(x) thì giá trị y< pa+1 có pa+1 là ớc của Q(y) có thể tìm đợc là y=x+r pa với r là nghiệm của phơng trình đồng d bậc nhất sau (x + m)2 - N (x+m)2- N
(chú ý rằng phơng trình trên luôn luôn có duy nhất một nghiệm)
Với hai kết quả trên rõ ràng chúng ta luôn luôn tìm đợc toàn bộ giá trị x trong một phạm vi B cho trớc nào đó mà với chúng Q(x) có ớc lẻ trong tập cơ sở phân tích Trờng hợp p=2 việc thu đợc kết quả na ná nh trên ta có phức tạp hơn, em không có đủ tài liệu để mô tả tờng minh việc tìm đó ở đây.
Tóm lại quá trình tìm thặng d bậc hai nhỏ có thể mô tả nh sau :
- Chọn một ngỡng B nào đó và sàng để tìm giá trị x nhỏ nhất <B mà với chúng pa là ớc của Q(x).
- Các thặng d bậc hai nhỏ Q(x) = R2 = q1a1 q2a2 qkak nếu có thì chỉ cầm tìm theo r= 0, ±1, ±2, tại những giá trị Q(x) với x= x0+ s q1a1 q2a2 qkak, ở đây x0 là giá trị nhỏ nhất để q1a1 q2a2 qkak là ớc của Q(x) mà ta có thể phát hiện đợc ở bớc trên.
Tất cả các phân tích đợc nêu ở trên mặc dù cha đủ chặt chẽ cho sự đảm bảo thành công việc tìm thặng d bậc hai nhỏ trong lớp Q(x) mà chỉ dừng ở mức độ thể hiện một mô tả bớc tìm kiếm này sẽ đợc thông qua một quá trình “sàng” theo cơ sở của những kết quả nêu trên nhằm loại bỏ các giá trị không thể là ứng cử viên cho các thặng d bậc hai nhỏ Một số tài liệu (xem [Dixon], [Lenstra], ) đã phân tích về thời gian tính của thuật toán và số liệu khả quan nhất về vấn đề này của Lenstra là:
2 Thời gian tính của một số thuật toán phân tích khác.
Thuật toán phân tích dựa trên đờng cong elliptic cũng là một thuật toán có thời gian tính khá tốt Thuật toán thực sự là mở rộng của thuật toán kiểu phân tích p-1 của Pollard theo ý thay cho sự “phải phân tích đợc p-1 ra các thừa số” bằng một cái gì đó gần nh thế mà cơ sở của nó là sự có cấu trúc của các điểm trên đờng cong elliptic Thời gian tính của thuật toán này đợc đánh giá là :
Trang 3Thoạt tiên ta có thể thấy ngay thuật toán này tỏ ra hơn hẳn thuật toán sàng bậc hai nếu hai ớc của N chênh lệch nhau nhiều Tuy nhiên nếu hai ớc của N xấp xỉ nhau thì thuật toán sàng bậc hai thờng tỏ ra hiệu quả hơn.
Thuật toán sàng trờng số là thuật toán mới nhất, thuật toán này cũng phân tích số nguyên N bằng cách xây dựng đồng d thức x2 º y2 mod N nhng việc thực hiện bằng các tính toán trên các vành đại số Sàng trờng số đang trong thời kỳ nghiên cứu tuy nhiên theo dự đoán chung thì nó chứng tỏ nhanh nhất với các số có trên 125 chữ số thập phân Thời gian tính của thuật toán sàng trờng số là:
Cuối cùng thay cho kết luận