1. Trang chủ
  2. » Thể loại khác

www.tinhgiac.com chuong 5 logarit roi rac 3388

9 93 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 428 KB

Nội dung

Chương NHỮNG THUẬT TOÁN LOGARITH RỜI RẠC 5.1 Mở đầu Phương pháp đơn định Cho G nhóm nhân Abel, a, b ∈ G Bài tốn tìm kiếm nghiệm phương trình ax = b gọi tốn logarith rời rạc nhóm G Nghiệm x phương trình gọi logarith rời rạc số a b, ký hiệu log a b , số a cố định nghiệm phương trình tồn tại; log a b ∈ Z G , | G |< ∞ Bài tốn logarithm rời rạc có vai trò lớn ứng dụng mật mã Đặc biệt quan trọng trường hợp G = F (q )* , với q = p l , p số nguyên tố, l ∈ N , tức trường Galois, trường hợp G nhóm điểm đường cong Elliptic trường hữu hạn Chúng ta xem phương trình a x ≡ b(mod p) (5.1) * nhóm Z p , với p số nguyên tố Chúng ta giả sử bậc a (mod p ) p-1 Khi phương trình giải được, nghiệm x phần tử Z p −1 Trong phần miêu tả phương pháp đơn định để xác định nghiệm (5.1) Nếu với giúp đỡ phương pháp chọn giải phương trình (5.1) cần O( p ) lệnh số học Nghiệm log a b phương trình (5.1) tìm theo cơng thức sau log a b ≡ ∑ (1 − a j ) −1 b j (mod p − 1) , độ phức tạp tính theo công thức thi tồi cách lựa chọn Thuật tốn giải phương trình (5.1) có độ phức tạp O( p1 / log p ) lệnh số học Thuật toán tương hợp Bước Gán H := [ p1 / ] + Bước Tìm c ≡ a H (mod p ) Bước Lập bảng giá trị c u (mod p ),1 ≤ u ≤ H , xếp Bước Lập bảng giá trị b.a v (mod p ),0 ≤ v ≤ H , xếp Bước Tìm trùng phần tử từ bảng thứ va bảng thứ hai Để làm điều c u ≡ b.a v (mod p ) , từ a Hu − v ≡ b(mod p) Bước Đưa giá trị x ≡ Hu − v(mod p − 1) Kết thúc thuật toán Chúng ta chứng minh đắn thuật toán Bất kỳ số nguyên x, ≤ x ≤ p − , biểu diễn dạng x ≡ Hu − v(mod p − 1) , ≤ u ≤ H ,0 ≤ v ≤ H , rõ ràng tập số H,H-1,H-2,…,H-H, 2H, 2H-1,…, H , H − ,…, H − H chứa tập số 0,1,…,p-2, H > p Từ dẫn đến đắn thuật toán Đánh giá độ phức tạp thuật toán rõ ràng đúng, tập từ N phần tử xếp cần O( N log N ) lệnh số học 5.2 Thuật toán Pohlig-Xellman Bây giả sử biết phân tích thành nhân tử p-1 thừa số s p − = ∏ qiα i i =1  s  Lúc phương trình (5.1) giải cần O ∑α i (log p + qi )  lệnh số học với giúp  i =1  đỡ thuật toán sau Thuật toán Pohlig-Xellman Bản chất thuật toán nằm chổ, tìm số lượng đủ lớn phương trình x theo modulo qiα i với tất i, sau tìm nghiệm phương trình ban đầu định lý phần dư trung hoa Để tìm x theo modulo thế, phải giải đồng dư thức p −1 (a αi qi p −1 ) ≡ (a x αi qi )(mod p ) Phương trình giải với độ phức tạp thời gian đa thức trường hợp qi không lớn (có nghĩa khơng vượt qúa (log p)c , c số đó) Bước 1.Đối với số nguyên tố q, q | p − , ta lập bảng giá trị rq , j ≡ a j ( p −1) / q (mod p ) , j = 0, , q − Bước Đối với số nguyên tố q, qα || p − , tìm log a b(mod qα ) Đặt x ≡ log a b(mod qα ) ≡ x0 + x1q + + xα −1qα −1 (mod qα ) , với ≤ xi ≤ q − Lúc từ (5.1) dẫn đến b ( p −1) / q ≡ a x0 ( p −1) / q (mod p ) Với giúp đỡ bảng bước tìm x0 Lúc rõ ràng ta có (ba − x0 ) ( p −1) / q ≡ a x1 ( p −1) / q (mod p ) Theo bảng bước ta tìm giá trị x1 tiếp tục Giá trị xi tìm thấy từ phương trình i −1 (ba − x0 − x1q − − xi −1q )( p −1) / q i +1 ≡ a xi ( p −1) / q (mod p ) α Bước Khi tìm log a b(mod qi ), i = 1, , s , tìm log a b(mod p − 1) theo định lý i phần dư trung hoa Kết thúc thuật toán Chúng ta chứng minh đánh giá độ phức tạp thuật toán Tập phần tử a ( p −1) / qi (mod p) cần s ∑ O(log p) lệnh số học Sau tập i =1 s toán cần ∑ O(q ) lệnh số học Để tìm giá trị i =1 i rqi , j tất qi, j tính xi bước cần nâng bậc(có nghĩa tìm i −1 a xi−1q ), tìm phần tử nghịch đảo,nhân, nâng bậc tiến hành theo bảng Tất kết hợp lại độ phức tạp thuật toán nêu Chú ý Thuật tốn Polug-Xellman có độ phức tạp đa thức O((log p )c ) trường hợp tất ước nguyên tố qi p không vượt (log p) c , c1 ,c2 số dương 5.3 Phương pháp ρ - Pollaid logarithm rời rạc Chúng ta tìm hiểu phương pháp ρ - Pollaird nhân tử hóa số ngun Bây tìm hiểu toán logarithm rời rạc theo modulo số nguyên tố p Chúng ta muốn giải phương trình a x ≡ b(mod p) Để làm việc xem dãy số { ui } , { vi } , { zi } , i = 0,1,2, , Được xác định sau: u0 = v0 = , z0 = , ui +1 ≡ ui + 1(mod p − 1) , < zi < p / ; ui +1 ≡ 2ui (mod p − 1) , p / < zi < / p ; ui +1 ≡ ui (mod p − 1) , / p < zi < p ; vi +1 ≡ vi (mod p − 1) , < zi < p / ; vi +1 ≡ 2vi (mod p − 1) , p / < zi < / p ; vi +1 ≡ vi + 1(mod p − 1) , / p < zi < p ; zi +1 ≡ bu i +1 a vi +1 (mod p − 1) Tiếp theo xem tập hợp ( zi , ui , vi , z2i , u2i , v2i ) , i = 1,2,3, , tìm vị trí i, cho zi = z2i Từ đẳng thức cuối ta rút b u i − u i ≡ a vi − v i (mod p ) Nếu gcd(u2i − ui , p − 1) = , l ∈ Z , l (u2i − ui ) ≡ 1(mod p − 1) thu b ≡ a l ( vi − v i ) (mod p) , từ giá trị x cần tìm log a b ≡ l (vi − v2i )(mod p − 1) 5.4 Logarith rời rạc trường nguyên tố Trong phần xem thuật toán giải phương trình a x ≡ b(mod p) , (5.2) 1  p số nguyên tố Thuật toán có độ phức tạp L p  ; c  với số giá trị 2  số c Chúng ta cho a (mod p ) có bậc p-1 Thuật tốn Adleman Tầng Hình thành sở nhân tử, bao gồm tất số nguyên tố q, q ≤ B = econst log p log log p Tầng Bằng cách chọn lựa tìm số tự nhiên ri cho a ri ≡ ∏ q iq (mod p ) , q số nguyên tố α q≤ B Từ dẫn đến ri ≡ ∑ α iq log a q(mod p − 1) (5.3), q số nguyên tố q≤B Tầng Chọn số lượng đủ lớn biểu thức (5.3), giải hệ phương trình tuyến tính thu ứng với ẩn log a q -logarith rời rạc phần tử sở nhân tử Tầng Bằng cách lựa chọn tìm giá trị r, cho ar ⋅ b ≡ ∏ q βq q≤B ⋅ p1 pk (mod p ) , p1 , , pk - số nguyên tố với độ lớn “trung bình”, có nghĩa B < pi < B1 , với B1 = econst log p log log p Tầng Bằng cách tính tốn tương tự tầng thuật tốn, tìm logarithm rời rạc log a pi số nguyên tố p1 , , pk tầng Tầng Xác định giá trị cần tìm log a b : k log a b ≡ −r + ∑ β q log a q + ∑ log a pi (mod p − 1) q≤ B i =1 Kết thúc thuật toán Thuật toán COS Tầng Đặt [ ] H := P1 / + 1, J := H − p > 0, L = e log p log log p ,0 < ε < Hình thành tập hợp {q | q < L } ∪ { H + c | < c < L } , / +ε 1/ q số nguyên tố Tầng Bằng cách sàng tìm cặp c1 ,c2 cho < ci < L1 / + ε , i=1,2 ( H + c1 )( H + c2 ) ≡ ∏q α q ( c1 , c ) (mod p ) 1/ q≤L Trong trường hợp này, J = O( p1 / ) nên ( H + c1 )( H + c2 ) ≡ J + (c1 + c2 ) H + c1c2 (mod p ) Logarith theo số a thu biểu thức sau log a ( H + c1 ) + log a ( H + c2 ) ≡ ∑α q (c1 , c2 ) log a q (mod p − 1) q ≤ L1 / a tính theo cơng thức a≡ ∏q βq (mod p ) q ≤ L1 / Từ 1≡ ∑β q log a q (mod p − 1) q ≤ L1 / Tầng Trên tầng tìm số lượng đủ lớn phương trình, giải hệ phương trình tuyến tính thu tìm log a ( H + c), log a q Tầng Để tìm x, đưa giới hạn L2 Bằng cách chọn ngẫu nhiên,chúng ta tìm giá trị w, thỏa mãn biểu thức a wb ≡ ∏q ∏u gq 1/ 1/ q

Ngày đăng: 02/12/2017, 11:08

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w