Đăng ký Đăng nhập
Trang chủ Nghiên cứu phương pháp sàng trường số ứng dụng trong phân tích mã. [tt]...

Tài liệu Nghiên cứu phương pháp sàng trường số ứng dụng trong phân tích mã. [tt]

.PDF
27
687
104

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO 1 BỘ QUỐC PHÒNG VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ ----------------------- ĐINH QUỐC TIẾN NGHIÊN CỨU PHƯƠNG PHÁP SÀNG TRƯỜNG SỐ ỨNG DỤNG TRONG PHÂN TÍCH MÃ Chuyên ngành: Mã số: Cơ sở toán học cho tin học 62 46 01 10 TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC HÀ NỘI – 2014 2 Công trình được hoàn thành tại: VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ BỘ QUỐC PHÒNG Người hướng dẫn khoa học: 1. TS. Lều Đức Tân 2. TS. Phạm Việt Trung Phản biện 1: PGS.TS Hoàng Văn Tảo Ban Cơ yếu Chính Phủ. Phản biện 2: PGS.TS Nguyễn Duy Bảo Học viện Kỹ thuật Quân sự. Phản biện 3: TS Thái Danh Hậu Viện Khoa học và Công nghệ quân sự. Luận án sẽ được bảo vệ trước Hội đồng chấm luận án cấp Viện họp tại Viện Khoa học và Công nghệ quân sự vào hồi ….. ngày ….. tháng ….. năm 2014. Có thể tìm hiểu luận án tại thư viện: - Thư viện Viện Khoa học và Công nghệ quân sự - Thư viện Quốc gia Việt nam 1 MỞ ĐẦU 1. Tình hình nghiên cứu trong và ngoài nước Mật mã khóa công khai là một phần quan trọng trong các mạng truyền thông hiện đại. Hệ mật khóa công khai RSA có độ an toàn dựa vào tính khó giải của bài toán phân tích số trong trường hợp số modulo N chỉ có hai ước nguyên tố lớn xấp xỉ nhau. Với các hợp số N lớn hơn 120 chữ số thập phân thì sàng trường số là lựa chọn tối ưu, vì nó là phương pháp phân tích số nguyên lớn nhanh nhất hiện nay. Tại Việt Nam, hệ mật khóa công khai RSA được ứng dụng khá rộng rãi cả trong lĩnh vực kinh tế xã hội và an ninh quốc phòng. Trong Ban Cơ yếu Chính phủ cũng đã có nhiều đề tài nghiên cứu về vấn đề này, tuy nhiên vẫn chưa có những nghiên cứu sâu nhằm cải tiến phương pháp sàng trường số ứng dụng phân tích đánh giá hệ mật RSA. 2. Tính cấp thiết Hiện nay ngành Cơ yếu Việt Nam đang rất cần những nghiên cứu về vấn cải tiến phương pháp sàng trường số nhằm:  Phân tích đánh giá các hệ mật dựa vào bài toán phân tích số và tính logarit rời rạc.  Góp phần vào việc nghiên cứu xây dựng tiêu chuẩn cho hệ mật khóa công khai RSA. Xuất phát từ thực tế đó, NCS chọn đề tài “Nghiên cứu phương pháp sàng trường số ứng dụng trong phân tích mã”. 3. Đối tượng và phạm vi nghiên cứu  Đối tượng nghiên cứu của Luận án: - Hệ mật khóa công khai RSA và độ an toàn của nó. - Phương pháp sàng trường số phân tích số nguyên lớn. 2 - Chọn đa thức sàng cho phương pháp sàng trường số. - Cải tiến các thuật toán sàng cho phương pháp sàng trường số.  Phạm vi nghiên cứu của Luận án: - Nghiên cứu cơ sở lý thuyết và xây dựng các thuật toán chọn đa thức sàng cho phương pháp sàng trường số. - Nghiên cứu và cải tiến các thuật toán sàng áp dụng cho phương pháp sàng trường số. 4. Mục tiêu nghiên cứu  Nghiên cứu cở lý thuyết và xây dựng các thuật toán chọn cặp đa thức sàng cho phương pháp sàng trường số.  Nghiên cứu cải tiến và đánh giá hiệu quả của các thuật toán sàng áp dụng cho phương pháp sàng trường số. 5. Phương pháp nghiên cứu  Dựa trên cơ sở lý thuyết của phương pháp sàng trường số.  Dựa trên cơ sở lý thuyết của các thuật toán chọn đa thức sàng và các thuật toán sàng.  Dựa trên phương pháp tích hợp, công nghệ lập trình song song. 6. Ý nghĩa khoa học và thực tiễn  Ý nghĩa khoa học: Góp phần vào việc phân tích đánh giá và xây dựng tiêu chuẩn cho hệ mật khóa công khai RSA.  Ý nghĩa thực tiễn: Đáp ứng nhu cầu đảm bảo an toàn mật mã trong các lĩnh vực kinh tế xã hội và an ninh quốc phòng. 7. Bố cục của luận án Luận án gồm 03 chương cùng với các phần mở đầu, kết luận, danh mục các công trình, bài báo khoa học đã được công bố của tác giả và 02 phần phụ lục. 3 CHƯƠNG 1 TỔNG QUAN VỀ HỆ MẬT RSA VÀ BÀI TOÁN PHÂN TÍCH SỐ 1.1. Hệ mật mã khóa công khai RSA Thiết lập tham số khóa RSA 1.1.1. Hệ mật khoá công khai RSA sử dụng cặp khoá công khai (N, e), bí mật (N, d), chúng được sinh trước theo thuật toán sinh khoá RSA. Hệ mật khóa công khai RSA 1.1.2. Khoá công khai (N, e) được sử dụng làm khoá mã (Thuật toán 1), và khoá bí mật (N, d) được sử dụng làm khoá giải mã (Thuật toán 2). Hệ chữ ký số RSA 1.1.3. Khoá bí mật (N, d) được sử dụng làm khoá sinh chữ ký (Thuật toán 3), và khoá công khai (N, e) được sử dụng làm khoá kiểm tra chữ ký (Thuật toán 4). An toàn của hệ mật RSA và phân tích số thách đố RSA 1.1.4. Hệ mật khóa công khai RSA có thể bị “phá vỡ” hoàn toàn nếu có thể phân tích được số modulo N. Độ phức tạp tính toán của NFS là LN [1/3,(64/9)1/3 ] . Các tính chất của của tiểu hàm mũ này được nghiên cứu trong [2]. 1.2. Phương pháp sàng trường số Xây dựng các hiệu bình phương 1.2.1. Phương pháp sàng trường số NFS cần phải tìm một tập U các cặp (a, b) sao cho:  ( a ,b )U với     nguyên đại số: ( a  b )   2 ,  (a  bm)  y 2 , ( a ,b )U và y  . Sau đó, áp dụng kết quả đối với vành các số 4   x 2   (  )2   (  2 )     (a  b )     (a  b )  ( a,b)U  ( a,b)U     (a  bm)  y 2 (mod N ) ( a ,b )U 1.2.2. Khi đó, ta nhận được ước của N bằng cách tìm gcd(N, x±y). Tính trơn và các cơ sở phân tích Để tìm tập U ở trên, cần phải xây dựng các cơ sở phân tích, sau đó xét tính trơn trong các cơ sở phân tích đó. Cơ sở phân tích hữu tỷ RFB bao gồm các số nguyên tố nhỏ hơn một ngưỡng B nào đó. Cơ sở phân tích đại số AFB gồm hữu hạn các iđêan nguyên tố bậc nhất của   . Cơ sở đặc trưng bậc hai QCB gồm các iđêan nguyên tố bậc nhất tương ứng với các cặp (s, q) thỏa mãn f '(s)  0 (mod q) . 1.2.3. Tìm số chính phương đại số Phương pháp NFS dựa vào việc tìm các số chính phương trong và   , nên sẽ cần phải tìm tập U các cặp quan hệ (a, b) trơn trong các cơ sở phân tích hữu tỷ RFB, cơ sở phân tích đại số AFB, và cơ sở đặc trưng bậc hai QCB. 1.2.4. Chọn đa thức sàng 1.2.4.1. Bài toán chọn đa thức sàng Bài toán. (Chọn đa thức sàng của Montgomery). Tìm các đa thức sàng bậc d>2 sao cho hệ số của chúng bằng O(N1/2d). 1.2.4.2. Phương pháp chọn đa thức sàng tuyến tính Phương pháp base-m Cho N 1/( d 1)  m  N 1/ d và N  i d a mi (0  ai  m) là biểu 0 i diễn theo cơ số m của N. Thì khi đó f  x  ad xd  ad 1 xd 1  ...  a0 , g  x  x  m là hai đa thức sàng có nghiệm chung m (mod N). 5 Phương pháp của Murphy Để đánh giá tính chất nghiệm của đa thức f, Murphy định nghĩa log p 1  qp hàm   f   với B là cận trơn cho trước và qp là số p 1 pB   nghiệm của f  x   0  mod p  . Nếu   f  càng nhỏ thì đa thức f  x  càng tốt cho phương pháp NFS. Phương pháp của Kleinjung Kleinjung đề xuất một cải tiến cho phương pháp của Murphy đối với đa thức không monic g: chọn một số nguyên dương ad có nhiều ước nguyên tố nhỏ và thỏa mãn ad xd  N  mod p  với p nguyên tố. 1.2.4.2. Phương pháp chọn đa thức sàng phi tuyến Phương pháp của Montgomery Montgomery đã giải quyết bài toán chọn đa thức sàng với trường hợp d = 2, tìm được các cặp đa thức sàng có hệ số cỡ O(N1/4). Phương pháp của Prest và Zimmermann Prest và Zimmermann chọn các đa thức lệch bậc d tùy ý, nếu 2 chọn độ lệch s  O(N O(N d 2 2 d  2 d ( d 2  d  2) d ( d 2  d  2) ) thì các đa thức có hệ số trung bình cỡ ) . Koo và cộng sự đã tổng quát hóa các phương pháp xây dựng cấp số nhân mod N độ dài d+1 để chọn đa thức bậc bất kỳ có các hệ số cỡ O(N ( d 1) / d ) . 2 Sàng tìm quan hệ 1.2.5. Chọn các cặp số nguyên (a, b) có các tính chất sau:  gcd(a, b)=1.  Chuẩn hữu tỷ  Chuẩn đại số  a  bm = a+bm là trơn trên RFB.  a  b  = (-b)deg(f)f(-a/b) là trơn trên AFB. 6 Kết luận chương 1 1.3. Để làm nền tảng cơ sở cho các nội dung nghiên cứu tiếp theo, chương này của luận án đã trình bày tổng quan về các kết quả nghiên cứu đã được công bố có liên quan đến nội dung cần giải quyết của luận án. Cụ thể:  Giới thiệu về hệ mật khóa công khai RSA và độ an toàn của nó dựa vào việc giải bài toán phân tích số nguyên lớn; để thấy được sự cần thiết phải có những nghiên cứu về phương pháp phân tích số nguyên lớn nhanh nhất hiện nay, đó là phương pháp sàng trường số.  Tìm hiểu cơ sở lý thuyết của phương pháp sàng trường số, từ đó làm nền tảng để phát triển về lý thuyết, đánh giá và cài đặt thực hành phương pháp này.  Trên cơ sở tìm hiểu về bài toán chọn đa thức sàng của Montgomery và các phương pháp chọn đa thức sàng áp dụng cho phương pháp sàng trường số. Để từ đó làm tiền đề nghiên cứu phát triển thuật toán chọn cặp đa thức sàng bậc hai; xây dựng phương pháp và thuật toán chọn cặp đa thức sàng phi tuyến bậc ba; và đưa ra các thuật toán chọn cặp đa thức sàng bậc tổng quát cho phương pháp sàng trường số được trình bày trong Chương 2.  Trình bày chi tiết phương pháp sàng tìm quan hệ cho phương pháp sàng trường số. Từ đó có những cải tiến cài đặt thực hành cho phương pháp sàng trường số để phân tích thành công hợp số RSA; và đánh giá hiệu quả về mặt lý thuyết và thực hành của các thuật toán sàng áp dụng cho phương pháp sàng trường số được giải quyết trong Chương 3. 7 CHƯƠNG 2 CHỌN CẶP ĐA THỨC SÀNG CHO PHƯƠNG PHÁP SÀNG TRƯỜNG SỐ 2.1. Chọn cặp đa thức sàng bậc hai 2.1.1. Thuật toán sinh các cặp đa thức sàng bậc hai Sử dụng thuật toán của Montgomery (Thuật toán 5) để sinh các cặp đa thức sàng bậc hai với các hệ số cỡ O(N1/4). 2.1.2. Chọn cặp đa thức sàng bậc hai và tâm sàng Giả sử cặp đa thức sàng bậc hai f1(x) và f2(x) có 2 nghiệm tương ứng là x11, x12, x21, x22. Ta ký hiệu giá trị ρ(f1, f2) = min{|x1i-x2j |} là khoảng cách nhỏ nhất giữa các cặp nghiệm của 2 đa thức. Ta ký hiệu: x1i  x2 j x0  |min{| x1i  x2 j |} 2 là tâm sàng của cặp đa thức sàng bậc hai f1(x) và f2(x). Thực nghiệm 2.1. So sánh số quan hệ trung bình khi tâm miền sàng trục x tại điểm 0 và tại điểm x0 của các cặp đa thức sàng loại 1 (cặp đa thức sàng đồng thời có 2 nghiệm) và loại 2 (cặp đa thức sàng còn lại). Đối với các cặp đa thức loại 1 còn so sánh số quan hệ trung bình của các cặp đa thức sàng có giá trị ρ(f1, f2) nhỏ (đa thức loại 1a) và lớn (đa thức loại 1b). Bảng 2.1: Kết quả thực nghiệm 1. Đa thức Đa thức Đa thức loại 2 loại 1a loại 1b 153 255 234 Số quan hệ trung bình với tâm miền sàng trục x tại điểm 0 836 657 Số quan hệ trung bình với tâm miền sàng trục x tại điểm x0 Khẳng định 2.1. Cặp đa thức sàng bậc hai đồng thời có hai nghiệm f1, f2 được gọi là tốt hơn cho NFS nếu có giá trị ρ(f1, f2) nhỏ hơn. Khi đó, việc 8 chọn tâm điểm sàng trục x tại x0 là trung điểm của 2 nghiệm có ρ(f1, f2) nhỏ nhất sẽ tốt hơn là tâm sàng tại điểm 0. Theo quan điểm của Murphy thì cặp đa thức sàng f1, f2 được gọi là tốt hơn cho NFS nếu có giá trị (f1, f2) = (f1) + (f2) nhỏ hơn. Thực nghiệm 2.2. So sánh số quan hệ khi tâm miền sàng trục x tại điểm 0 và tại điểm x0 của các cặp đa thức có ρmax, ρmin, max, min. Bảng 2.2: Kết quả thực nghiệm 2. Số quan hệ TB với tâm miền sàng trục x tại điểm 0 Số quan hệ TB với tâm miền sàng trục x tại điểm x0 ρmax ρmin max min 0 408 84 823 230 910 245 1263 Nhận xét 2.2. Cặp đa thức sàng có ρmin không tốt bằng cặp đa thức sàng có min mặc dù cặp đa thức này có giá trị ρ lớn hơn. Thuật toán 6: Thuật toán chọn cặp đa thức sàng bậc hai theo min và tâm sàng. Input: hợp số N. Output: cặp đa thức sàng bậc hai fi(x) và tâm sàng. Bước 1: Sinh tập các cặp đa thức sàng bậc hai theo phương pháp Montgomery. Bước 2: Chọn ra tập T các cặp đa thức sàng bậc hai đồng thời có 2 nghiệm. Bước 3: Tìm min và tâm sàng x0 của cặp đa thức sàng trong tập T. Với mỗi cặp đa thức sàng ta ký hiệu:   (f1, f2) = min x1i  x2 j  f1' ( x1i )  f 2' ( x2 j  Theo định nghĩa về đạo hàm thì sự biến thiên tại điểm sàng xs của 2 đa thức sàng ta nhận được: 9 (f1, f2)  min  f1 ( xs )  f 2 ( xs  Thực nghiệm 2.3. So sánh số quan hệ trung bình của các cặp đa thức sàng bậc hai có 2 nghiệm tại tâm sàng x0 theo . Bảng 2.3: Kết quả thực nghiệm 3. Giá trị  Giá trị  Giá trị  Giá trị  lớn nhất nửa cao nửa thấp nhỏ nhất max H L min 67 426 889 1183 Khẳng định 2.2. Cặp đa thức sàng bậc hai đồng thời có hai nghiệm f1, f2 được gọi là tốt hơn cho NFS nếu có giá trị (f1, f2) nhỏ hơn. Thuật toán 7: Thuật toán chọn cặp đa thức sàng bậc hai theo min và tâm sàng. Input: hợp số N. Output: cặp đa thức sàng bậc hai fi(x). Bước 1: Sinh tập các cặp đa thức sàng bậc hai theo phương pháp Montgomery. Bước 2: Chọn ra tập T các cặp đa thức sàng bậc hai đồng thời có 2 nghiệm. Bước 3: Tìm min và tâm điểm sàng tối ưu x0 tương ứng trong tập T. 2.1.3. Một số nhận xét Kết quả của các thực nghiệm trên đã đưa ra được 2 thuật toán lựa chọn cặp đa thức sàng bậc hai và tâm sàng của chúng cho NFS. Trong đó, khi phân tích số nguyên lớn thì Thuật toán 7 sẽ nhanh hơn đáng kể so với Thuật toán 6 mà vẫn đảm bảo chọn ra được cặp đa thức sàng tốt gần tương đương. Kết quả này thực sự quan trọng khi thực hiện việc chọn cặp đa thức sàng để phân tích các số nguyên lớn. 10 2.2. Chọn cặp đa thức sàng bậc ba 2.2.1. Xây dựng cơ sở lý thuyết chọn cặp đa thức sàng bậc ba 2.2.1.1 Một số khái niệm Khái niệm về không gian Euclid trên ℝm. Định nghĩa về tích có hướng của 3 véc tơ trong ℝ4. Định nghĩa 2.1. (tích có hướng của 3 véc tơ) Cho 3 véc tơ =  a0 , a1 , a2 , a3  , =  b0 , b1 , b2 , b3  và =  c0 , c1 , c2 , c3  . Ta gọi tích có hướng của chúng là véc tơ, ký hiệu là      , được xác định bởi công thức sau  a1 a2 a3 a0 a2 a3 a0 a1 a3 a0 a1 a2         =  b1 b2 b3 ,  b0 b2 b3 , b0 b1 b3 ,  b0 b1 b2  . c c c c0 c2 c3 c0 c1 c3 c0 c1 c2  2 3  1 Từ định nghĩa trên ta xây dựng các tính chất cơ bản sau. 2.2.1.2 Các tính chất cơ bản Tính chất 2.1. Nếu  =  thì   ,    và   . Tính chất 2.2. Tích có hướng của 3 véc tơ là tuyến tính với mỗi véc tơ của tích, chẳng hạn với k , h thì (k+h’)= k() + h(’). Tính chất 2.3. 1) Đổi thứ tự hai véc tơ cạnh nhau thì tích có hướng của 3 véc tơ đổi dấu, chẳng hạn  = (). 2) Nếu tích có hướng của 3 véc tơ trong đó có hai véc tơ giống nhau thì nhận được véc tơ không. Từ các tính chất trên ta thu được bổ đề quan trọng dưới đây. 11   u1 ' u2  ' u3 '  Bổ đề 2.1. Giả sử    v1 ' v2  ' v3 ' , với ui , vi , wi     w  ' w  ' w  ' 1 2 3  3 ta có:       det( A )  '  '  '   u1  trong đó A =  v1 w  1 u2 v2 w2 , i = 1, 2, u3   v3  . w3  Định lý 2.1 dưới đây đưa ra một điều kiện cần và đủ để tích có hướng của 3 véc tơ  =  trên không gian ℤ4. Định lý 2.1. Cho 4 véc tơ khác véc tơ không , ,  và  ℤ4, ta có:  =  khi và chỉ khi span(,,) = {}. Định lý 2.2 dưới đây đưa ra công thức cho phép xác định chuẩn của véc tơ tích có hướng của 3 véc tơ trên không gian ℤ4. Định lý 2.2. Ký hiệu A, B, C là các góc giữa  và , giữa  và , giữa  và  thì      =    1  2cos Acos B cos C  cos 2 A  cos 2 B  cos 2 C . Tuy nhiên, việc xác định chuẩn theo công thức trong Định lý 2.2 là rất phức tạp. Hệ quả 2.1 dưới đây cho phép ta xác định cận dưới của chuẩn tích có hướng của 3 véc tơ trên ℤ4 áp dụng cho một số trường hợp góc A, B, C đặc biệt.   2  Hệ quả 2.1. Nếu các góc A, B, C   ,  và số các góc tù là chẵn thì 3 3  1         . 2 2.2.2. Thuật toán chọn cặp đa thức sàng bậc ba Thuật toán 8: Thuật toán chọn cặp đa thức sàng bậc ba. Input: hợp số N. 12 Output: cặp đa thức sàng bậc ba fi(x) có các hệ số cỡ O( N 2 / 9 ) . Bước 1: Tìm   4 có tọa độ là cấp số nhân theo modulo N. Bước 2: Tìm cơ sở ban đầu {’, ’,’} của lưới L = {}. Bước 3: Rút gọn cơ sở ban đầu để được cơ sở “nhỏ nhất” {, , }. Bước 4: Tìm các đa thức có hệ số nhỏ tương ứng với véc tơ tổ hợp tuyến tính của , , . 2.2.2.1. Tìm   4 có tọa độ là cấp số nhân theo modulo N. Chọn số nguyên tố p = O(N1/3) sao cho p = 3r +1 và N r  1 b3  N (mod p), a = và b = O(N1/3). Ta tìm được  = (a,b2,bp,p2), thỏa p mãn |||| = O(N2/3). 2.2.2.2. Tìm cơ sở ban đầu cho L = {}. Theo định lý 2.1 ta tìm cơ sở của L là tìm 3 véc tơ , ,  thỏa mãn  =  như sau:  = (-b2, a, 0, 0). b 2 s  bp p (mod a) và t = . a b b 2u  p 2  = (v, -u, 0, 1), với u ≡ s2 (mod a) và v = . a 2.2.2.3. Thuật toán rút gọn cơ sở lưới. Thuật toán 9: Thuật toán rút gọn cơ sở lưới.  = (t, -s, 1, 0), với s ≡ Input: {’, ’, ’} là 3 véc tơ độc lập tuyến tính trong ℤ4. Output: {, , } thoả mãn các điều kiện sau:      =  '  '  ' ||||×|| ||×|||| < 2      . 1.[Initiliatian] {, , } = {’, ’, ’}; Continue = 1; 2.[Loop] 13 While (Continue = 1) { Continue = 0; InOrder{, , }; //sắp xếp giảm dần   ,  q  ;   ,   if (q>0) {  q; Continue = 1;} else {   ,  q  ;   ,  if (q>0) {  q; Continue = 1;}   ,  q  ;   ,  if (q>0) {  q; Continue = 1; } } Return {, , }. Nhận xét 2.3. Vòng lặp 2 sẽ dừng chỉ khi tất cả các giá trị q tính được trong đó đều bằng 0 và cũng giống như thuật toán của Montgomegy ta có   2  tất cả các góc giữa các cặp véc tơ đầu ra đều nằm trong đoạn  ,  . 3 3  Hệ quả 2.1 của định lý 2.2 cho phép đánh giá trong trường hợp số góc tù chẵn là:       2  = O(N2/3). Khi các véc tơ tại đầu ra có chuẩn xấp xỉ nhau ta có chuẩn của các véc tơ này cỡ O(N2/9), tức là:       O( N 2 / 9 ) . 2.2.2.4. Chọn cặp đa thức sàng Giả sử cơ sở rút gọn của {} là  = (a0, a1, a2, a3),  = (b0, b1, b2, b3) và =(c0, c1, c2, c3). Ký hiệu 14 A( x )  a0  a1x  a2 x 2  a3 x3 . B( x )  b0  b1x  b2 x 2  b3 x3 . C( x )  c0  c1x  c2 x 2  c3 x3 . Lấy một ngưỡng K nào đó ta tìm tất cả các đa thức bất khả quy trên ℤ trong tập {uA(x) + vB(x) + wC(x): -Ku, v, wK} Cuối cùng so sánh để chọn ra cặp đa thức sàng có các hệ số nhỏ. Do các đa thức A(x), B(x), và C(x) có các hệ số cỡ O(N2/9), nên các hệ số của đa thức f(x) cũng có độ lớn cỡ O(N2/9). 2.2.3. Một số nhận xét Dựa vào cơ sở lý thuyết mới xây dựng cho phép ta chọn được cặp đa thức sàng bậc ba các hệ số cỡ O(N2/9) cho phương pháp sàng trường số. Trong khi đó, phương pháp của Prest và Zimmermann tạo ra cặp đa thức sàng bậc 3 với các hệ số trung bình cỡ O(N5/24), do xét đến điều kiện về độ lệch của các đa thức sàng. Thuật toán 8 có thể sinh ra được rất nhiều cặp đa thức sàng phi tuyến bậc 3 cho NFS, tùy thuộc vào cách chọn K. Nhưng không phải tất cả các cặp đa thức sàng đó đều tốt cho phương pháp NFS nên có thể cần phải xét thêm hàm   f  của Murphy. 2.3. Chọn cặp đa thức sàng bậc tổng quát 2.3.1. Chọn cặp đa thức sàng dựa vào cấp số nhân 2.3.1.1 Một số khái niệm cơ bản  Rút gọn lưới và chuẩn của véc tơ.  Kết quả đã biết về tích chập. 15 2.3.1.2 Chọn cặp đa thức dựa vào cấp số nhân Mệnh đề 2.1. Cho trước số nguyên N và cấp số nhân c0 , c1 ,..., cd có d+1 số hạng công bội m và thỏa mãn ci  c0 mi (mod N ) , thì có thể sinh ra d đa thức bậc tối đa d có nghiệm chung m modulo N có hệ số cỡ c1/ d với c  max|ci | . 2.3.2. Xây dựng thuật toán chọn cặp đa thức sàng bậc tổng quát 2.3.2.1 Chọn cấp số nhân Hệ quả 2.2. Cho trước số nguyên N và cấp số nhân 1, m,..., md  N modulo N có công bội m  N 1/ d , thỏa mãn rằng md  N  O( N ( d 1) / d ) , thì có thể sinh ra cặp đa thức bậc d có nghiệm chung m modulo N với các hệ số cỡ O( N ( d 1) / d ) và tích chập cỡ O( N 2( d 1) / d ) . Xây dựng ma trận có dạng như sau: 2 1 0  0 1 0 0  L 0 0  0 0 c c  1 2 0 0 0 1 0 cd 1       0  1 cd  0 0 0 Ta chứng minh được rằng sau khi thực hiện thuật toán LLL đối với ma trận L sẽ tìm ra tối thiểu 2 véc tơ ngắn có hệ số cỡ O( N ( d 1) / d ) . 2 2.3.2.2 Thuật toán chọn cặp đa thức sàng bậc tổng quát Từ Hệ quả 2.2, cho ta thuật toán sinh đa thức sàng phi tuyến bậc d như sau. Thuật toán 10: Thuật toán sinh cặp đa thức sàng phi tuyến bậc d. Input: Số nguyên cần phân tích N, bậc d. Output: Cặp đa thức sàng f1 và f2 bậc d có nghiệm chung m modulo N. 16 (1). Tính m   N1/ d  . (2). Tạo cấp số nhân 1, m,..., md  N . (3). Sử dụng thuật toán LLL đối với ma trận L để tìm các véc tơ ngắn (b1 ,..., bd ) . (4). Biểu diễn bi  (ai,0 ,..., ai,d )t và tính ai ,0   j 1 ai , j m j mod N , với d i = 1, 2. (5). Trả về cặp đa thức fi   j 0 ai , j x j và nghiệm chung m mod N. d Về mặt thực hành, việc thực hiện bước kiểm tra các hệ số đầu và hệ số cuối có ước nguyên tố nhỏ trước khi áp dụng  ( Fi ) và phép xoay đa thức của Murphy sẽ loại bỏ được rất nhiều đa sàng có tính chất tồi. Thuật toán 11: Thuật toán chọn cặp đa thức phi tuyến bậc d tốt. Input: Số nguyên cần phân tích N, bậc của cặp đa thức phi tuyến d, ngưỡng của phép xoay đa thức J. Output: Cặp đa thức sàng (f1, f2) có tính chất tốt. (1). Sử dụng Thuật toán 10 sinh cặp đa thức phi tuyến (f1, f2) bậc d có nghiệm chung m modulo N. (2). Kiểm tra các hệ số đầu và cuối là bội của 60. (3). Tính  ( fi ) và ghi vào tệp “Alphas.txt”. (4). Thực hiện phép xoay đa thức với j1 , j2 , j3  (0,J ] : f j1 , j2 , j3 ( x)  j1 f1 ( x)  j2 f 2 ( x)  j3 ( x  m) . (4).1 (4).2 Tính  ( f j1 , j2 , j3 ) , ghi vào tệp “Alphas.txt”. (5). Return “Cặp đa thức fi có nghiệm chung m modulo N có giá trị  ( fi ) nhỏ nhất trong tệp Alphas.txt”. 2.3.3. Một số nhận xét Áp dụng Hệ quả 2.2 thì: 17  Có thể sinh ra cặp đa thức sàng bậc 2 có nghiệm chung m modulo N với các hệ số cỡ O( N 1/ 4 ) và tích chập cỡ O( N ) . Kết quả này trùng với phương pháp của Montgomery.  Có thể sinh ra cặp đa thức sàng bậc 3 có nghiệm chung m modulo N với các hệ số cỡ O( N 2 / 9 ) và tích chập cỡ O( N 4 / 3 ) . Kết quả này trùng với phương pháp luận án đã xây dựng.  Có thể sinh ra cặp đa thức bậc d = 4 có nghiệm chung m modulo N với các hệ số cỡ O( N 3 /16 ) và tích chập cỡ O( N 3 / 2 ) . Kết quả này tốt hơn phương pháp của Prest và Zimmermann sinh ra các đa thức có hệ số cỡ O( N 5 /14 ) và tích chập cỡ O( N 10 / 7 ) . 2.4. Kết luận chương 2 Các kết quả của chương này bao gồm: (1). Đưa ra các Thuật toán 6 và Thuật toán 7 để chọn cặp đa thức sàng bậc hai và tâm sàng của chúng cho phương pháp sàng trường số. Thuật toán 7 thực hiện nhanh hơn Thuật toán 6; việc sàng tìm quan hệ tại tâm sàng sẽ giúp cho phương pháp NFS thực hiện nhanh hơn. (2). Xây dựng phương pháp và cơ sở lý thuyết (bao gồm: Định lý 2.1, Định lý 2.2, và Hệ quả 2.1) cho thuật toán chọn cặp đa thức sàng phi tuyến bậc ba cho phương pháp sàng trường số. Kết quả thu được Thuật toán 8, dùng để tìm các cặp đa thức sàng phi tuyến bậc 3 có các hệ số cỡ O(N2/9); góp phần giải trường hợp riêng của bài toán chọn đa thức sàng Montgomery. (3). Tổng quát hóa thuật toán chọn cặp đa thức sàng dựa vào cấp số nhân đặc biệt, từ đó xây dựng được Thuật toán 10 và Thuật toán 11 để chọn cặp đa thức sàng phi tuyến bậc tổng quát. Các kết quả nêu trên đã được tác giả công bố trên các bài báo số [1], [4], và [6] (Danh mục các công trình khoa học đã công bố). 18 CHƯƠNG 3 CẢI TIẾN VÀ ĐÁNH GIÁ HIỆU QUẢ THUẬT TOÁN SÀNG CHO PHƯƠNG PHÁP SÀNG TRƯỜNG SỐ 3.1. Thuật toán NFS tổng quát Thuật toán 12: Thuật toán NFS tổng quát. Input: Hợp số N. Output: Ước không tầm thường p của N. Bước 1: Chọn đa thức sàng. Bước 2: Xây dựng các cơ sở phân tích. Bước 3: Sàng tìm quan hệ. Bước 4: Giải hệ phương trình đại số tuyến tính. Bước 5: Khai căn bậc hai và tìm ước. 3.2. Cải tiến cài đặt thuật toán sàng tuyến tính Thuật toán sàng tuyến tính 3.2.1. Thuật toán sàng tuyến tính (Thuật toán 13) gồm 2 bước chính: 3.2.2.  Các phần tử (a, b) có chuẩn hữu tỷ chia hết cho (p, m mod p) trong RFB thì a có dạng a = -bm+kp với k  .  Các phần tử (a, b) có chuẩn đại số chia hết cho (p, r) trong AFB thì a có dạng a = -br+kp với k  . Song song hóa thuật toán sàng tuyến tính Giả sử thực hiện thuật toán trên M tiến trình, tiến trình t thực hiện sàng với các giá trị b trong khoảng WS*(t-1) đến WS*t. Sau khi tất cả các tiến trình kết thúc việc sàng trong khoảng WS đã xác định thì lặp lại công việc sàng của các tiến trình như trên với giá trị b mới bắt đầu từ WS*M. Công việc này được thực hiện lặp lại đối với các tiến trình đến
- Xem thêm -

Tài liệu liên quan