1. Trang chủ
  2. » Khoa Học Tự Nhiên

Phân tích các số nguyên có dạng 2 n -1 ra thừa số nguyên tố doc

23 1,1K 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 242,5 KB

Nội dung

ĐẶT VẤN ĐỀ• Bài toán phân tích số nguyên ra thừa số nguyên tố đã được ra đời từ rất lâu và đã cuốn hút nhiều bộ óc vĩ đại nhất trên thế giới để giải quyết vấn đề về nó.. ĐẶT VẤN ĐỀ• Nhiệ

Trang 1

PHÂN TÍCH CÁC SỐ NGUYÊN

CÓ DẠNG 2 n-1

RA THỪA SỐ NGUYÊN TỐ

Trang 2

ĐẶT VẤN ĐỀ

• Bài toán phân tích số nguyên ra thừa số nguyên tố đã được ra đời từ rất lâu và đã cuốn hút nhiều bộ óc vĩ đại nhất trên thế giới để giải quyết vấn đề về nó

• Ngoài ý nghĩa lý thuyết của bản thân bài toán người ta còn phát hiện nhiều ý nghĩa thực tiễn đặc biệt là trong mật mã

Trang 3

ĐẶT VẤN ĐỀ

• Nhiệm vụ chính của đề án là giải quyết bài toán: “Phân tích các số nguyên có dạng 2 n -1

• Chương 1 sẽ trình bầy về các số Mersenne Chương 2 đề cập đến bài toán phân tích số nguyên ra thừa số nguyên tố Chương 3 là phần

cơ bản của đề án, trong đó trình bày các tư tưởng của thuật toán phân tích ra thừa số nguyên tố của những số nguyên lớn

Trang 4

CHƯƠNG I CÁC SỐ MERSENNE

VÀ VIỆC PHÂN TÍCH

• Các số có dạng Mq=2q-1 (với q là nguyên tố )

được gọi là các số Mersenne

• Nếu q là một số nguyên tố đồng dư modulo 4(q3(mod 4)) thì Mq chia hết cho 2q+1 khi và chỉ khi 2q+1 là nguyên tố; trong trường hợp này, nếu q>3 thì Mq là hợp số

Nếu M q chia hết cho n thì n  1 (mod 8) và mod 8) và ) và

n 1 (mod 8) và mod q)

Trang 6

CHƯƠNG II MỘT SỐ PHƯƠNG

PHÁP PHÂN TÍCH SỐ

• Thuật toán sàng Eratosthenes

• Phương pháp p-1: Thuật toán

Pollard thứ nhất

• Phương pháp : Thuật toán Pollard

thứ hai

Trang 8

Phương pháp p-1: Thuật toán

Pollard thứ nhất

(mod 8) và 1) Q= , i=1,j=0.

(mod 8) và 2) Lấy a ngẫu nhiên trong Z * N , tính ba Q mod N.

(mod 8) và 3) Xét đẳng thức b=1 Nếu đúng chuyển sang (mod 8) và 4)

Ngược lại chuyển sang (mod 8) và 6).

(mod 8) và 4) Xét j<log qi N Nếu đúng thì j=i+1, Q=Q|qi, quay về (mod 8) và 3).

Ngược lại: chuyển sang (mod 8) và 5).

(mod 8) và 5) Xét i<k Nếu đúng thì : i=i+1, j=0, nếu b 1 thì Q=Q.q i Quay

về (mod 8) và 4) Ngược lại quay về (mod 8) và 1).

(mod 8) và 6) Xét gcd (mod 8) và b-1, N)>1 Nếu đúng có ước của n là

gcd (mod 8) và b-1,N) Dừng chương trình Ngược lại quay về (mod 8) và 4)

q N q k

N

k

log log

2 2

Trang 9

Phương pháp : Thuật toán

Pollard thứ hai

(mod 8) và 1) i=0

(mod 8) và 2) i=i+1

(mod 8) và 3) Xét gcd(mod 8) và (mod 8) và x 2i - x i )mod N,N)>1

- Nếu đúng, ta có gcd(mod 8) và (mod 8) và x 2i - x i )mod N,N)

Dừng chương trình.

- Ngược lại quay về (mod 8) và 2).

Trang 10

CHƯƠNG III XÂY DỰNG PHẦN MỀM

Trang 12

Phân tích hệ thống

Khai báo số lớn

Cho q>0 khi đó N, tồn tại duy nhất một

bộ n0, n1, ,nk, với 0ni<q, sao cho

N=n 0 +n 1 q+n 2 q 2 + +n k q k (1)

(1) được gọi là biểu diễn q phân của số N

Trang 14

Phép nhân số lớn

Cho các số lớn X và Y Tích Z của hai số này được định nghĩa như sau:

Trang 15

Phép chia số lớn

Định lý: Cho X<qY Giả sử X=x0+

+xnqn+xn+1qn+1, và Y=y0+ +ynqn Nếu x div y=q thì

X div Y= q hoặc q-1

Định lý là cơ sở giúp ta đoán nhanh thương của 2 số lớn X/Y với điều kiện X<qY

Trang 16

r r

b b

b b

Trang 17

Cài đặt chương trình

Trang 18

Mô tả quá trình thực hiện

(0) Xây dựng một chương trình tìm và ghi lên một tệp

(a) đọc một số nguyên tố a từ tệp các số nguyên tố nhỏ

(b) Nếu M không chia hết cho a thì quay lên bước a) để đọc

số tiếp theo Thực hiện phép chia M cho a bằng hàm

Chia_Word()

Trang 19

- Nếu M chia hết cho a thì làm lại bước này đối

với thương của phép chia M cho a.

- Nếu đến một lúc nào đó ta thu được một

thương bằng một số nguyên tố trong tệp hoặc chia hết cho một số trong tệp thì dừng chương trình và kết luận đã phân tích hoàn toàn và tích của các thừa số nguyên tố là ước của M chính

là bằng M.

- Nếu đọc hết tệp mà thương cuối cùng không

trùng với bất kỳ số nào trong tệp hoặc không chia hết cho bất cứ số nào trong tệp nào thì phải phân tích xem thương này có phải là số nguyên

tố không bằng cách dùng hàm nguyên_to_SL Nếu xác định thương này là nguyên tố thì dừng chương trình và kết luận là “ phân tích hoàn

toàn” Ngược lại thì chuyển sang giai đoạn (2).

Trang 20

(2) Dùng thuật toán Pollard_1 để phân tích ước hợp số

Nếu UCLN này lớn hơn 1 thì đây sẽ là một ước của Z và

in ra “đã tìm được ước” Ngược lại thì tăng Q lên 1 và

làm lại bước này cho đến khi tìm được một ước hoặc khi

Q vượt qua một số Q0 đủ lớn nào đó thì dừng (thông

thường, chọn Q0=65536) Trong trường hợp này ta nói

rằng

“không phân tích hoàn toàn”

Trang 21

Sơ đồ khối của các modules trong chương trình

a) Chương trình chính

Begin

Input i

Tính M=2 n -1

Tìm ước nhỏ < 2 16

Ước còn lại

là nguyên tố

Phân tích hoàn toàn

Pollard1

=0

Ước nguyên tố Ước còn lại

Không phân tích hoàn toàn

T T

Trang 22

T F

T

Trang 23

Kết luận

Bài toán phân tích số nguyên ra thừa số nguyên

tố đã được đặt ra từ rất lâu và là một bài toán

phức tạp

Kết quả chính của đề tài là xây dựng được một

chương trình có thể phân tích được tất cả các số nguyên có dạng 2 n -1, với n<=200, ra các thừa số nguyên tố dựa trên thuật toán Pollard thứ nhất.

Ngày đăng: 25/03/2014, 04:21

HÌNH ẢNH LIÊN QUAN

Sơ đồ xuất phát - Phân tích các số nguyên có dạng 2 n -1 ra thừa số nguyên tố doc
Sơ đồ xu ất phát (Trang 11)
Sơ đồ khối của các modules trong chương trình - Phân tích các số nguyên có dạng 2 n -1 ra thừa số nguyên tố doc
Sơ đồ kh ối của các modules trong chương trình (Trang 21)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w