Phương pháp tính toán chỉ số
Trang 1Phơng pháp tính toán chỉ số
Phơng pháp tính toán chỉ số khá giống với nhiều thuật toán phân tích thừa số tốt nhất Trong phần này sẽ xét tóm tắt về phơng pháp Phơng pháp này dùng một cơ
sở phân tử là một tập chứa các số nguyên tố nhỏ Giả sử = p1, p2, …, p, p
B-ớc đầu tiên ( bB-ớc tiền xử lý ) là tìm logarithm của B số nguyên tố trong cơ sở phần tử bằng cách dùng hiểu biết về các log của phần tử trong cơ sở
Trong quá trình tiền xử lý, ta sẽ xây dựng C = B + 10 đồng d thức theo modulo p nh sau:
1 j C Cần để chú ý rằng, các đồng d này có thể viết tơng đơng nh sau:
Xj a1jlog p1 + …, p + aBjlog pB ( mod p - 1)
1 j C C đồng d thức đợc cho theo B giá trị log pi ( 1 i B ) cha biết Ta
hy vọng rằng, có một nghiệm duy nhất theo modulo p - 1 Nếu đúng nh vậy thì
có thể tính các logarithm của phần tử theo cơ sở phần tử
Làm thế nào để tạo các đồng d thức có dạng mong muốn ? Một pơng pháp sơ đẳng là chọn một số ngẫu nhiên x, tính x mod p và xác định xem liệu
x mod p có tất cả các thừa số của nó trong hay không (Ví dụ bằng cách chia thử )
Bây giờ giả sử rằng đã thực hiện xong bớc tiền tính toán, ta sẽ tính giá trị mong muốn log bằng thuật toán xác xuất kiểu Las Vegas Chon một số ngẫu nhiên s ( 1 s p - 2) và tính:
= s mod p Bây giờ thử phân tích theo cơ sở Nếu làm đợc điều này thì ta tính đợc đồng
d thức dạng:
s p1c1p2c2…, ppBcb ( mod p)
Điều đó tơgn đơng với
log + s c1log p1 + …, p + cBlog pB (mod p -1)
vì mọi giá trị đều đã biết trừ giá trị log nên có thể dẽ dàng tìm đợc log
Sau đây là một ví dụ nhỏ minh hoạ 2 bớc của thuật toán
Ví dụ 5.4
Giả sử p =10007 và = 5 là một phần tử nguyên thuỷ đợc dùng làm cơ sở của các logarithm theo modulo p Giả sử lấy = 2, 3, 5, 7 làm cơ sở Hiển nhiên là log55 = 1 nên chỉ có 3 giá trị log của các phần tử trong cơ sở cần pahỉ xác định Để làm ví dụ, chọn một vài số mũ “ may mắn” sau : 4063, 5236 và 985
Với x = 4063, ta tính
ứng với đồng d thức
log52 + log53 + log57 4063 ( mod 10006 )
Tơng tự, vì
55136 mod 10007 = 54 = 2 33
Trang 2và 59865 mod 10007 = 189 = 33 7
ta tìm đợc hai đồng d thức nữa:
log52 + 3log5 3 5136 (mod 10006) 3log5 3 + log57 9865 ( mod 10006) Bây giờ ta có 3 đồng d thức theo 3 giá trị log cha biết Giải phơng trình đồng
d này, ta có log52 = 6578, log53 = 6190, và log57 = 1301
Bây giờ giả sử ta cần tìm log59451, và ta chọn số mũ “ngẫu nhiên” = 7736 và tính:
Vì 8400 = 24315271 các thừa số trong nên ta nhận đợc:
log59451 = 4log52 + log53 + log55 + log57 -s mod 10006
= 4 6578 + 6190 + 2 1 + 1310 - 7736 mod 10006 = 6057
Kiểm tra lại thấy rõ rằng 56057 9451 ( mod 10007 )
Đẫ có nhiều nghiêm cứu phân tích mò mẫm nhiều kiểuthuất toán khác nhau Với giả thuyết hợp lý Thời gian chạy tiệm cận của giai đoạn tiền tính toán này cỡ O ( e