Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ...

19
Chương 4 PHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ 4.1 Nhân tử hóa với độ phức tạp là hàm mũ 4.1.1 Mở đầu Trong mục này chúng ta xem xét các thuật toán phân tích số tự nhiên n ra thừa số, mà nó thực hiện lệnh số học, c là hằng số, 0<c<1; hoặc thực hiện lệnh số học với một số giá trị . Chúng ta sẽ giới hạn bằng cách tìm kiếm sự phân tích số ra 2 thừa số: n=ab, . Nếu như thuật toán tìm kiếm như vậy mất lệnh số học, thì sự phân tích hoàn toàn n ra thừa số nguyên tố sẽ được tìm thấy tốn lệnh số học, bởi vì n bao gồm tích của không lớn hơn số nguyên tố. Nhưng trước khi tiến hành phân tích thành nhân tử số nguyên, chúng ta phải chắc chắn rằng số đã cho là hợp số. Để tin tưởng điều này, tốt nhất chúng ta dùng một trong các phương pháp kiểm tra tính nguyên tố của số bằng một số phương pháp đã trình bày trong chương về số nguyên tố, nhưng thông thường ta chọn phương pháp xác suất, ví dụ thuật toán Miller-Rabin. 4.1.2 Phương pháp Fermat Phương pháp nhân tử hóa chúng ta đã tìm hiểu trong phần phương pháp thử chia, và cách này tốn lệnh số học. Bây giờ chúng đi tìm hiểu thuật toán Fermat. Thuật toán này tính toán nhân tử lớn nhất a của n, mà nó không lớn hơn

Transcript of Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ...

Page 1: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

Chương 4

PHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ

4.1 Nhân tử hóa với độ phức tạp là hàm mũ

4.1.1 Mở đầu

Trong mục này chúng ta xem xét các thuật toán phân tích số tự nhiên n ra thừa số, mà

nó thực hiện lệnh số học, c là hằng số, 0<c<1; hoặc thực hiện lệnh số

học với một số giá trị . Chúng ta sẽ giới hạn bằng cách tìm kiếm sự phân tích số ra 2

thừa số: n=ab, . Nếu như thuật toán tìm kiếm như vậy mất lệnh số học,

thì sự phân tích hoàn toàn n ra thừa số nguyên tố sẽ được tìm thấy tốn lệnh

số học, bởi vì n bao gồm tích của không lớn hơn số nguyên tố.

Nhưng trước khi tiến hành phân tích thành nhân tử số nguyên, chúng ta phải chắc

chắn rằng số đã cho là hợp số. Để tin tưởng điều này, tốt nhất chúng ta dùng một trong

các phương pháp kiểm tra tính nguyên tố của số bằng một số phương pháp đã trình bày

trong chương về số nguyên tố, nhưng thông thường ta chọn phương pháp xác suất, ví dụ

thuật toán Miller-Rabin.

4.1.2 Phương pháp Fermat

Phương pháp nhân tử hóa chúng ta đã tìm hiểu trong phần phương pháp thử chia, và

cách này tốn lệnh số học. Bây giờ chúng đi tìm hiểu thuật toán Fermat. Thuật toán

này tính toán nhân tử lớn nhất a của n, mà nó không lớn hơn . Trong thuật toán này

không sử dụng lệnh chia mà là lệnh cộng, trừ và nhân. Chú ý rằng nếu n=pq, với p, q là

số nguyên tố, ví dụ nó có độ lớn như nhau thì thuật toán Fermat sẽ nhanh phân tích. Cái

này được tính toán khi chọn modulo trong hệ mã RSA.

Thuật toán Fermat

Cho n là hợp số, n=ab, ở đây . Đặt , với u, v là số tự nhiên,

, . Thuật toán Fermat tìm sự biểu diễn n dưới dạng

, từ đây nhận được sự phân tích .

Chúng ta làm việc với các độ lớn

, k=0,1,2,…

Page 2: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

Giá trị ban đầu . Sự tăng số k diễn ra theo quy tắc sau. Nếu như

, thì mục đích của chúng ta đạt được , và thuật toán

dừng. Nếu như , thì

,

Nếu như , thì

;

sau đó

Chúng ta có thể chứng minh rằng với số bước thực hiện có hạn thì thuật toán đưa đến

giá trị .

4.1.3 Phương pháp (p-1) Pollaid

Thuật toán p-1 của Pollaid đưa ra năm 1974 là một thuật toán đơn giản áp dụng đối

với các số nguyên lớn. Thuật toán này dựa vào hai đối số: Số nguyên lẻ n cần phân tích

và cận B.

Thuật toán được miêu tả như sau:

Đầu vào: n và B.

Đầu ra: Các thừa số của n (nếu tìm thấy).

Bước 1. Cho a=2

Bước 2. For j=2 to B do

Bước 3. Tính d=UCLN(a-1,n)

Bước 4. Nếu thì

d là một thừa số của n

Ngược lại

Không tìm thấy thừa số của n.

Chúng ta xem tính hợp lý của thuật toán.

Giả sử p là một ước số nguyên tố của n. Giới hạn B >0 thỏa mãn điều kiện sau. Với

mọi số nguyên tố thì ta có điều kiện:

.

Từ đây dẫn đến (p-1)|B! Nếu như chúng ta chọn số tự nhiên n sao cho UCLN(a,n)=1

thì theo định lý nhỏ Fermat:

,

Page 3: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

Mà (p-1)|B!, nên , nghĩa là , mà ta lại có p|n, cho nên

p=UCLN(a-1, n).

Trong thuật toán có (B-1) lũy thừa theo modulo, mỗi lũy thừa cần nhiều nhất là

2log2B phép nhân modulo, ở đây chúng ta có thể áp dụng thuật toán bình phương và nhân

để thực hiện hiểu quả phép lũy thừa.

Việc tính ước chung lớn nhất có thể thực hiện trong thời gian O((log n)3) bằng thuật

toán Euclide. Vì thế độ phức tạp của thuật toán là O(B log B(log n)2+(log n)3). Nếu như B

là O((log n)i) với i là một số nguyên nào đó thì độ phức tạp của thuật toán là độ phức tạp

thời gian đa thức.

4.1.4 Phương pháp Pollaid

Phương pháp này được đề cập khá nhiều trong các sách và báo, nên ở đây chúng ta

chỉ nói khá tóm tắt miêu tả thuật toán.

Sơ đồ thuật toán

Đầu vào: là số nguyên n, mà chúng ta cần phân tích nó ra thừa số.

Bước 1. Chọn ánh xạ

.

Thông thường là đa thức có bậc không lớn hơn hay bằng 2, ví dụ .

Bước 2. Chọn ngẫu nhiên và tính phần tử theo đệ quy của dãy theo

quy tắc

.

Bước 3. Đối với một số j, k kiểm tra điều kiện

Cho đến khi nào không tìm được ước của số n hoặc thời gian chưa kết thúc.

Kết thúc thuật toán

Chú ý: Sự lựa chọn j, k trong bước 3 của thuật toán thông thường thực hiện một trong

các cách sau

1. Đối với từng j chọn tất cả các số k, k<j; cái này thì lâu và cần nhiều bộ nhớ máy

tính.

2. Xem cặp k và 2k, để kiểm tra điều kiện

3. Nếu như j trong giới hạn , , thì cho

Page 4: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

Đây là phương pháp khá đơn giản. Nếu như chu kỳ của dãy có thể bậc là

n, thì chu kỳ của dãy đối với ước nguyên tố p của số n không vượt quá p.

Điều này có nghĩa là có thể khác nhau theo modulo n, nhưng trùng nhau theo

modulo p, có nghĩa là .

Phương pháp này cần lệnh số học. Nó rất thông dụng và thường được sử dụng

để tách ước nguyên tố không lớn của số n.

4.1.5 Phương pháp Serman-Leman

Thuật toán này cần lệnh số học

Thuật toán

Đầu vào: Cho n là số lẻ, n>8.

Đầu ra: Là các thừa số của n.

Bước 1. Đối với kiểm tra điều kiện . Nếu như trên bước này chúng

ta không phân tích được n ra thừa số, thì chuyển đến bước 2.

Bước 2. Nếu như trong bước 1 ước không tìm thấy và n là hợp số, thì n=pq, ở đây p,q

là số nguyên tố và

Như thế đối với tất cả và tất cả , kiểm tra số

có phải là số chính phương hay là không. Nếu là chính phương thì

và thỏa mãn đồng dư thức

.

Trong trường hợp này kiểm tra điều kiện

Nếu điều kiện này thỏa mãn thì chúng ta đã phân tích n ra 2 thừa số và thuật toán

dừng.

Kết thúc thuật toán.

Nếu thuật toán không phân tích n ra 2 thừa số thì n là số nguyên tố.

4.1.6 Thuật toán Pollaid –Xtrassen

Thuật toán này phân tích n thành 2 thừa số cần lệnh số học. Thuật toán

cơ bản dựa trên định lý sau

Định lý 4.1 Cho . Khi đó đối với bất kỳ số tự nhiên t, ước số nhỏ nhất của

số có thể tìm thấy cần lệnh số học.

Thuật toán Pollard-Xtrassen

Page 5: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

Đặt . Tiếp theo với sự giúp đỡ của định lý 2.20 chúng ta

tìm ước nguyên tố nhỏ nhất của . Bởi vì y! chia hết cho ước nguyên tố nhỏ

nhất p của n (bởi vì ), nên thuật toán đưa ra chính là số p. Độ phức tạp của thuật

toán Pollard-Xtrassen là .

4.1.7 Phương pháp nhân tử hóa dành cho các số có dạng đặc trưng

Đối với số n có dạng đặc trưng thì có khả năng có các cách riêng để phân tích ra thừa

số nguyên tử, bởi vì ước của các số đó có thể có dạng đặc trưng.

Định lý 4.2 Cho . Nếu p là số nguyên tố, và ước của n, thì một

trong hai điều khẳng định sau là đúng:

1. với một số giá trị của d, ;

2. .

Nếu như p>2 và k là số lẻ, thì trường hợp thứ hai .

Chứng minh: Theo định lý nhỏ Fermat thì , cũng như .

Giả sử , khi đó . Nếu như , thì có nghĩa là điều khẳng

định thứ nhất đúng. Còn nếu như d=k, thì k|p-1, có nghĩa là .

4.2 Phân tích số nguyên thành nhân tử với độ phức tạp là hàm mũ giả

4.2.1 Mở đầu

Ký hiệu là hàm có đặc điểm sau: , , khi

, là hằng số.

Trong chương này chúng ta xem các thuật toán nhân tử hóa số tự nhiên n, cần

lệnh số học khi hoặc và một số giá trị dương c, gía trị này phụ thuộc vào thuật

toán.

Chúng ta giả sử rằng, n là hợp số và n không chia hết cho các số nguyên tố nhỏ

(những số nguyên tố nhỏ chúng ta tìm bằng cách lựa chọn, hoặc với sự giúp đở của các

thuật toán mà chúng ta tìm hiểu trong chương trước).

Thuật toán được miêu tả như sau, cách tìm các số tự nhiên x,y, sao cho ,

sau đó kiểm tra điều kiện

.

Nếu như ước của n được tìm , thì thuật toán dừng, ngược lại ta đi xây dựng cặp x,y

tiếp theo.

Duy, 08.04.08,
Xem lai
Page 6: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

Định lý 4.3 Cho n là hợp số lẻ, và giá trị của nó không bằng giá trị của hàm mũ của

một số nguyên tố. Khi đó đối với cặp ngẫu nhiên , thỏa mãn các biểu

thức

Xác suất để

Sẽ không nhỏ hơn 1/2.

Chứng minh. Giả sử . Cặp số x,y thỏa mãn điều kiện của định lý,

tương ứng với số z, (rõ ràng . Chúng ta cần

chứng minh rằng xác suất để z thỏa mãn bất đẳng thức phụ

Không nhỏ hơn 1/2. Rõ ràng rằng điều kiện tương đương với hệ phương

trình sau

Từ đây, số lượng các giá trị có thể của z bằng , và chỉ đối với 2 giá trị

thì ước chung lớn nhất bằng 1 hay n. Bởi vì , nên định lý của chúng ta

rõ ràng đúng.

4.2.2 Phương pháp Dixon

Cho - là số mà chúng ta cần phân tích thành nhân tử,

. Giả sử a là hằng số nào đó, , giá trị của nó xác

định ở dưới. Chúng ta gọi tập các số nguyên tố p, nằm trong khoảng dưới là cơ sở nhân

tử

.

Giả sử k là số lượng các số nguyên tố trong cơ sở nguyên tử, .

Thuật toán Dixon.

Đâu vào: là số nguyên n cần kiểm tra

Bước 1. Chúng ta tìm các số bằng cách lựa chọn ngẫu nhiên, sao cho thỏa

mãn

Page 7: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

Và các giá trị được dùng là chẳn lần, và với . Ký hiệu

.

Bước 2. Giải hệ phương trình tuyến tính

Trong không gian vector , chúng ta tìm được tập , tập này không

bao gồm các giá trị 0 (cái này tồn tại bởi vì số lượng phương trình k nhỏ hơn số ẩn).

Bước 3. Để tìm được , rõ ràng ta có biểu thức sau

Ký hiệu , , (số -là số nguyên xác định theo

), chúng ta nhận được biểu thức tương ứng

.

Tiếp theo chúng ta kiểm tra điều kiện

Trong trường hợp thành công chúng ta đã phân tích n ra thừa số. Trong trường hợp

không thành công thì chúng ta quay lại bước 1 và tìm các giá trị khác của

Kết thúc thuật toán

Ví dụ. Giả sử n=15770708441. Cơ sở nhân tử là tập . Chọn

, , . Xét ba đồng dư thức sau

Lấy tích 3 đồng dư thức trên vế theo vế, ta được

, rút gọn các biểu thức

trong ngoặc theo modulo n, ta có:

Ta tìm

Page 8: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

Ta thấy 115759 là một ước của n.

4.2.3 Thuật toán sàng bậc hai

Trong thuật toán Dixon, vấn đề là làm thế nào để chọn các số mà các giá trị

có thể phân tích hoàn toàn trên cơ sở nhân tử. Năm 1981 Pomerance đề xuất

phương pháp để xác định các số , có tên là sàng bậc hai.

Độ phức tạp của thuật toán sàng bậc hai tốn lệnh số học.

Chúng ta mô tả sơ đồ thuật toán ban đầu sàng bậc hai. Chúng ta xây dựng biểu thức

và kiểm tra bất đẳng thức

Để làm điều này chúng ta xem đa thức

,

ở đây . Các giá trị trong các điểm nguyên, rõ ràng chúng là chính

phương theo modulo n. Trong cơ sở nhân tử S chúng ta xem và tất cả các số

nguyên tố , sao cho . Sau đó với sự giúp đở của một số sàng, chúng ta tìm

giá trị , mà

,

có nghĩa là phân tích trong cơ sở nhân tử của chúng ta. Như vậy, ký hiệu ,

chúng ta nhận được đồng dư thức , chúng ta tích lũy số lượng đủ lớn các

biểu thức như thế, chúng ta thực hiện loại bỏ các biến và xay dựng biểu thức

Chú ý: Điều kiện với p là số nguyên tố của cơ sở nhân tử lấy từ đồng dư thức

, mà đồng dư cần thỏa mãn đối với một số giá trị của .

Sàng. Giá trị đối với được xác định như sau.

1. Đối với từng số nguyên tố p từ cơ sở nhân tử, chúng ta tìm nghiệm và

của phương trình .

2. Sau đó chúng ta thay đổi x trong khoảng đủ lớn , chúng ta đưa

đến một ma trận A, mà nó được đánh số thứ tự bằng giá trị của x.

3. Trong mỗi phần tử của ma trận với số thứ tự x ta đặt giá trị . Nghĩa là

.

Page 9: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

4. Sau đó đối với từng giá trị p từ cơ sở nhân tử S chúng ta thực hiện quá trình

sàng như sau: Từ mổi phần tử của ma trận A, tức là , số thứ tự của nó nằm

trong cấp số cộng và , chúng ta tính toán giá trị của

.

Ý ở đây là việc tính toán nằm ở chổ, đối với phần tử x trong cấp số như vậy, giá trị

của Q(x) sẽ chia hết cho p, nhưng việc chia Q(x) cho p chúng ta đổi thành

. Sau khi kết thúc quá trình sàng trong phần tử của ma trận với số thứ tự

x sẽ chứa giá trị

.

Sau khi kết thúc quá trình sàng, chúng ta chọn số thứ tự x, mà ở đó giá trị của ma trận

cố độ lớn không quá lớn. Đối với các vị trí x như vậy giá trị Q(x) phân tích nhanh hơn

trong cơ sở nhân tử của chúng ta và chúng ta phân tích số Q(x) bằng ước số thử và lưu

giá trị x, để hoàn toàn phân tích trong cơ sở nhân tử của chúng ta.

Ý nghĩa của quá trình sàng là tiết kiệm được số lượng lệnh chia các số nguyên lớn.

Cùng với nó là để từng giá trị phân tích Q(x) trong cơ sở nhân tử một cách

nhanh chóng, chúng ta ước lượt được tập x, và thực hiện tính toán bằng lệnh đơn giản là

cộng và trừ. Việc tiết kiệm này là rất hiệu quả, và nó đã được ưu chuộng hơn các thuật

toán nhân tử hóa trước đây.

4.2.4 Phân tích ra nhân tử với sự hổ trợ của đường cong Elliptic

Thuật toán phân tích này được Lenstra đề xuất, và độ phức tạp của nó là cần

lệnh số học, p là ước nguyên tố nhỏ nhất của n.

Để miêu tả thuật toán Lenstra chúng ta cần đường cong Elliptic không xây dựng trên

trường mà là vành , ở đây n là số lẻ, và không chia hết cho 3 hợp số, n là số chúng ta

cần phân tích thành nhân tử. Chúng ta xem 3 số , sao cho iđêal sinh bởi x,y

và z trùng với vành . Tập hợp

,

gọi là qũy đạo của phần tử , nó đươc ký hiệu là (x:y:z). Tập tất cả các qũy

đạo này ký hiệu .

Đường cong Elliptic trong vành cho bởi phương trình sau

Page 10: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

,

ở đây . Chúng ta ký hiệu tập các điểm của đường Elliptic

thông qua

.

Tập hợp này là một nhóm Abel hữu hạn, ứng với phép cộng. Thế nhưng chúng ta sẽ

sử dụng lệnh nhóm như vậy đối với trường hữu hạn nguyên tố. Chúng ta ký hiệu

Đối với và đối với bất kỳ số nguyên tố p, là ước của n, một điểm P từ tập

ký hiệu là . Rõ ràng rằng khi và chỉ khi P=O.

Phép cộng 2 điểm được tính như sau. Khi tính P+Q chúng ta hoặc tìm d là

ước của n (và mục đích của chúng ta đạt được) hoặc tìm điểm mà nó thỏa mãn điều

kiện sau.

Nếu như , và nếu như đối với p tìm được sao cho,

trong và khi đó , thì trong .

Việc tính tổng này được thực hiện như trong cách xây dựng trường hữu hạn bằng đường

cong Elliptic.

Chú ý: Nếu như chúng ta có điểm , số nguyên tố p và a thì

. Từ đây chúng ta có . Thế thì xác định được

giá trị . Nếu như đối với từng p|n, điểm nằm trên đường cong

trong trường , thì chúng ta có thể cộng trên đường cong

trong trường và tính tổng P+Q trong trường . Nếu như đối với một số giá trị của p

mà điểm không nằm trên đường , thì tính tổng P và Q không được

thực hiện.

Tổng các điểm P và Q từ tập được thực hiện như sau. Nếu như P=O, thì R=Q; Nếu

như Q=O thì R=P. Giả sử . Chúng ta tìm

bằng thuật toán Euclid. Nếu như , thì chúng ta đã tìm được

ước của n, và thuật toán dừng. Nếu như d=1 thì và đối với số

nguyên tố bất kỳ p, p|n. Khi đó chúng ta tìm bằng thuật toán mở rộng

Euclid. Tiếp theo ta đặt

Page 11: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

, , ,

.

Khi đó theo định nghĩa tổng của P và Q bằng .

Bây giờ chúng ta xem trường hợp . Lúc này .

Chúng ta tìm . Nếu như thì chúng ta đã tìm được ước của n

và thuật toán dừng. Nếu như ,nghĩa là , thì tổng . Nếu

như d=1, chúng ta tìm

, ,

,

và giả định .

Như vậy chúng ta đã xác định được tổng của các điểm của . Bây giờ chúng ta xác

định tích của điểm với số tự nhiên k. Kết quả phép nhân này hoặc là chúng ta tìm

được ước d của n, 1<d<n, hoặc nhận được điểm , mà nó thỏa mãn điều kiện sau:

Nếu như p là số nguyên tố, p|n, , và nếu như đối với p tìm được sao

cho , và trong khi đó , thì khi đó trong

nhóm , ở đây thuật toán tìm được nói đến trương chương xây dựng trường

hữu hạn bằng đường cong Elliptic.

Thuật toán nhân tử hóa với một đường cong Elliptic

Đầu vào của thuật toán là số tự nhiên n và các tham số ,phụ thuộc vào n.

Cũng như , sao cho , đối với thỏa

mãn điều kiện . Thuật toán tìm kiếm ước số tự nhiên d của số n,

1<d<n.

Đối với từng số , chúng ta gỉa sử

,

và sau đó

, r là số nguyên tố.

Giả sử . Khi đó P nằm trên đường cong Elliptic trong vành ,

được xác định bởi phương trình . Chúng ta tính điểm kP. Nếu như trong

quá trình tính toán tìm được ước của số n, 1<d<n, thì chúng ta phân tích được n ra

Page 12: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

thừa số và thuật toán dừng. Nếu như tìm được kP và không tìm được d thì thuật toán

dừng và thông báo về bất thành công của thí nghiệm nhân tử hóa.

Thuật toán kết thúc.

Chú ý.

Chúng ta chọn các tham số v,w,a,x,y như thế nào? Các phần tử được chọn

ngẫu nhiên; khi đó , chúng ta nhận được đường cong Elliptic

trong vành và các điểm trên nó. Tham số w theo lý thuyết bằng , với

, p là ước nguyên tố nhỏ nhất của n. Bởi vì p là chưa biết, nhưng

, nên , từ đây chúng ta nhận được

giới hạn trên của của w

.

Trên thực tế thuật toán phân tích thành nhân tử khi cho bởi n,v,w thực hiện như sau.

Chọn ngẫu nhiên các số ưu tiên và thực hiện thuật toán nhân tử hóa với một

đường cong. Và lặp lại như thế cho đến khi nào phân tích được n ra thừa số hoặc thời

gian của chúng ta kết thúc.

4.2.5 Thuật toán sàng trường số học

Thuật toán sàng trường số dành phân tích một số nguyên dạng đặc biệt ra thừa số

(SNFS). Số n, mà chúng ta áp dụng SNFS có dạng , ở đây , r và |s|

không quá lớn.

Độ phức tạp của thuật toán này là c là hằng số nào đó. Thực tế sàng trường

số không là thuật toán, mà là một phương pháp tính toán, nó bao gồm một số tầng, một

trong các tầng nó được phục vụ bằng một số thuật toán.

Sơ đồ phương pháp SNFS đối với số n

Tầng 1.Lựa chọn cơ sở nhân tử

Cơ sở nhân tử bao gồm từ một số tập hợp các phần tử . Tất cả khả

nghịch trong vành . Ký hiệu tập hợp vector -chiều:

Chúng ta xem ánh xạ

Page 13: Chương 4fit.mta.edu.vn/files/FileMonHoc/Chương 4 - Phân tích... · Web viewPHÂN TÍCH SỐ NGUYÊN THÀNH NHÂN TỬ Nhân tử hóa với độ phức tạp là hàm mũ Mở

(nhóm khả nghịch theo phép nhân các phần tử trong vành )

.

Tầng 2. Tìm mối liên hệ

Ở đây chúng ta tìm vector , tức là , sao cho

Chúng ta cần tìm tập hợp đủ lớn các vector như thế, chính xác hơn |V|

cần phải lớn hơn .

Tầng 3. Tìm sự phụ thuộc

Ở đây chúng ta tìm sự phụ thuộc tuyến tính không tầm thường theo modulo 2 của các

vector tìm được ; số lượng của nó lơn hơn so với kích thước của nó, cho nên sự

phụ thuộc như vậy là tồn tại. Để tìm sự phụ thuộc chúng ta giải hệ phương trình tuyến

tính

ở đây . Giải hệ phương trình này chúng ta tìm được tập hợp con không rổng

, mà

Lúc này , với . Điều này có nghĩa là khi thì

chúng ta có

.

Lúc này chúng ta kiểm tra bất đẳng thức sau có đúng hay không

Nếu như bất đẳng thức đúng thì chúng ta tìm được ước của n, và chúng ta dừng,

ngược lại chúng ta quay về hoặc tầng 2 (tìm liên hệ mới), hoặc tầng 1 (xây dựng một

cơ sở nhân tử mới)

Kết thúc sơ đồ