Tải bản đầy đủ (.doc) (3 trang)

Các thuật toán phân tích mạnh nhất.DOC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (63.62 KB, 3 trang )

Các thuật toán phân tích mạnh nhất.
Trong phần này em giới thiệu một số thuật toán phân tích số nguyên đợc coi
là mạnh nhất theo nghĩa thời gian tính tốt nhất hiện nay. Việc trình bày của
chúng tôi dựa trên quan điểm không phải là đa ra thuật toán chi tiết nhằm
mục đích phân tích số nguyên mà chủ yếu nêu ra ý tởng của thuật toán và
quan trọng nhất là đa ra thông số về thời gian tính của chúng nhằm chứng
minh cho kích thớc tối thiểu của các modulo đợc sử dụng trong mật mã theo
dạng tích hai số nguyên tố lớn.Các thuật toán đợc kể đến bao gồm thuật toán
sàng bậc hai, thuật toán phân tích trên đờng cong Elliptic, thuật toán sàng tr-
ờng số.... nhng do hai thuật toán sau đều cần phải có kiến thức bổ trợ khá
cồng kềnh về đại số hiện đại vả lại điều kiện về tài liệu lại không đủ chi tiết
nên em chỉ trình bày thuật toán sàng bậc hai và cũng dừng ở những nét chính
yếu nhất.
1. thuật toán sàng bậc hai.
T tởng chủ đạo của một loạt khá lớn các thuật toán phân tích số nh phơng
pháp đặc biệt của Euler, phơng pháp phân tích các dạng chính phơng của
Danien Shanks, phơng pháp triển khai liên phân số của Morrison và Brillhart,
phơng pháp sàng bậc hai của Pomerance .. là cố tìm đồng d thức x
2
y
2
mod
N sao cho x y mod N, còn kỹ thuật tìm cụ thể nh thế nào thì chính là nội
dung riêng của từng thuật toán.
Đối với thuật toán sàng bậc hai của Pomerance đợc thực hiện nh sau:
- Chọn k là số nguyên tố đầu tiên và gọi là cơ sở phân tích.
- Chọn B là một số nào đó gọi là ngỡng tìm các thặng d bậc hai nhỏ.
- Tìm k+1 các thặng d bậc hai nhỏ hơn B và phân tích đợc hoàn toàn trong tập
cơ sở trong lớp các số dạng Q(x) ((m+x)
2
- N) mod N với k là số phần tử của


cơ sở, m = [
N
] còn x=0, 1, 2,....
- Xây dựng đồng d thức x
2
y
2
mod N từ k+1 thặng d bậc hai tìm đợc trên.
Cơ sở thuật toán chủ yếu dựa vào thứ nhất là khả năng tìm đợc k+1 thặng d
bậc hai và tiếp đến là xây dựng đồng d thức x
2
y
2
mod N nh thế nào.
Trớc hết chúng ta cùng xem xét đến vấn để thứ hai.
Giả sử thặng d bậc hai thứ i tìm đợc ở trên là r
i
=
i
2
= q
1

1
. q
2

2
.... q
k


k
. (qj là số
nguyên tố thứ j của B), ta đặt tơng ứng với véc tơ v
i
[GF(2)]
k
nh sau r
i
khác
nhau đợc ứng cùng với véc tơ v nhng một cách hình thức ta có thể coi có k+1
véc tơ khác nhau thu từ việc ứng k+1 giá trị r có đợc ở trên.
Hiển nhiên trong không gian k chiều GF(2)
k
thì tập k+1 véc tơ v
i
(i=1,2,...,k+1) chắc chắn phụ thuộc tuyết tính, giả sử ta có tổ hợp tuyết tính
đặc trng cho phụ thuộc đó là:
aivi =

i
k
=
+

1
1

với là véc tơ không và a
i

không đồng d bằng không.
khi đó
Q( )

i
ai=

1
theo định nghĩa sẽ là x
2
mod N, mặt khác do điều kiện
đặt ra ở trên là Q(x
i
) phân tích đợc hoàn toàn trong tập cơ sở cùng với điều
kiện
aivi =

i
k
=
+

1
1
tức là vế phải của tích
Q( )

i
ai=


1
chứa toàn các số mũ
chẵn đối với các thừa số trong cơ sở do vậy nó cũng là một thặng d bậc hai y
2
nào đó. Nừu xy mod N thì chúng ta sẽ thành công việc phân tích N với các
thừa số tơng ứng là gcd(xy,N). Ngời ta chỉ ra rằng khả năng thành công xảy
ra với xác xuất là 0,5 do vậy thời gian tính của thuật toán chủ yếu phụ thuộc
vào giai đoạn tìm thặng d bậc hai nhỏ và giai đoạn tìm hệ thức phụ thuộc
tuyến tính (thông thờng bằng phép khử Gauss).
Với việc tìm các thặng d bậc hai nhỏ thoạt tiên chúng ta nhận thấy rằng do
Q(x+rp

) [(m+x+rp

) -N] mod N {[(m+x)
2
- N] + rp


[2(m+x) + rp

]} mod
N Q(x) + rp

[2(m+x) + rp

] mod N nên :
Nếu p

là ớc của Q(x) thì nó cũng là ớc của Q(x + rp


) với mọi số nguyên r.
Từ kết quả trên chúng ta thấy rằng nếu tồn tại giá trị x theo yêu cầu Q(x) phân
tích hoàn toàn trong cơ sở và không quá B thì ta có thể tìm đợc nó chỉ cần
trong lân cận B của 0.
Ngoài ra còn một số kết quả ( xem [Riesel]) khác cũng không kém phần quan
trọng đó là :
Điều kiện cần và đủ để x sao cho p là ớc của Q(x) là kí hiệu Legendge(N/p)
=1.
Nh vậy không phải toàn bộ các số nguyên tố trong cơ sở đều phải đợc biểu
diễn (đúng hơn là chỉ có khoảng một nửa số nguyên tố trong cơ sở là có mặt
trong biểu diễn các Q(x)) do đó để thu đợc hệ phụ thuộc tuyến tính nêu trong
phân tích trên thì thờng chỉ cần số phơng trình khoảng già nửa số các số
nguyên tố trong cơ sở là đủ.
nếu p 3 mod 4 thì giá trị x -m N
(p+1)/4
mod p là các giá trị < p thoả mãn p
là ớc của Q(x). Nếu p 1 mod 4 thì việc tìm các giá trị x tơng ứng có thể bằng
một thuật toán gần đa thức.
Nếu x<p

thoả mãn p

là ớc của Q(x) và p

+1
không là ớc của Q(x) thì giá trị
y< p

+1

có p

+1
là ớc của Q(y) có thể tìm đợc là y=x+r p

với r là nghiệm của
phơng trình đồng d bậc nhất sau
(x + m)2 - N
(x+m)
2
- N
(chú ý rằng phơng trình trên luôn luôn có duy nhất một nghiệm)
Với hai kết quả trên rõ ràng chúng ta luôn luôn tìm đợc toàn bộ giá trị x trong
một phạm vi B cho trớc nào đó mà với chúng Q(x) có ớc lẻ trong tập cơ sở
phân tích. Trờng hợp p=2 việc thu đợc kết quả na ná nh trên ta có phức tạp
hơn, em không có đủ tài liệu để mô tả tờng minh việc tìm đó ở đây.
Tóm lại quá trình tìm thặng d bậc hai nhỏ có thể mô tả nh sau :
- Chọn một ngỡng B nào đó và sàng để tìm giá trị x nhỏ nhất <B mà với
chúng p

là ớc của Q(x).
- Các thặng d bậc hai nhỏ Q(x) = R
2
= q
1

1
. q
2


2
.... q
k

k
. nếu có thì chỉ cầm tìm
theo r= 0, 1, 2,.. tại những giá trị Q(x) với x= x
0
+ s q
1

1
. q
2

2
.... q
k

k
, ở đây
x
0
là giá trị nhỏ nhất để q
1

1
. q
2


2
.... q
k

k
là ớc của Q(x) mà ta có thể phát hiện
đợc ở bớc trên.
Tất cả các phân tích đợc nêu ở trên mặc dù cha đủ chặt chẽ cho sự đảm bảo
thành công việc tìm thặng d bậc hai nhỏ trong lớp Q(x) mà chỉ dừng ở mức độ
thể hiện một mô tả bớc tìm kiếm này sẽ đợc thông qua một quá trình sàng
theo cơ sở của những kết quả nêu trên nhằm loại bỏ các giá trị không thể là
ứng cử viên cho các thặng d bậc hai nhỏ. Một số tài liệu (xem [Dixon],
[Lenstra],...) đã phân tích về thời gian tính của thuật toán và số liệu khả quan
nhất về vấn đề này của Lenstra là:
2. Thời gian tính của một số thuật toán phân tích khác.
Thuật toán phân tích dựa trên đờng cong elliptic cũng là một thuật toán có
thời gian tính khá tốt. Thuật toán thực sự là mở rộng của thuật toán kiểu phân
tích p-1 của Pollard theo ý thay cho sự phải phân tích đợc p-1 ra các thừa
số bằng một cái gì đó gần nh thế mà cơ sở của nó là sự có cấu trúc của các
điểm trên đờng cong elliptic. Thời gian tính của thuật toán này đợc đánh giá
là :
Thoạt tiên ta có thể thấy ngay thuật toán này tỏ ra hơn hẳn thuật toán sàng
bậc hai nếu hai ớc của N chênh lệch nhau nhiều. Tuy nhiên nếu hai ớc của N
xấp xỉ nhau thì thuật toán sàng bậc hai thờng tỏ ra hiệu quả hơn.
Thuật toán sàng trờng số là thuật toán mới nhất, thuật toán này cũng phân tích
số nguyên N bằng cách xây dựng đồng d thức x
2
y
2
mod N nhng việc thực

hiện bằng các tính toán trên các vành đại số. Sàng trờng số đang trong thời kỳ
nghiên cứu tuy nhiên theo dự đoán chung thì nó chứng tỏ nhanh nhất với các
số có trên 125 chữ số thập phân. Thời gian tính của thuật toán sàng trờng số
là:
Cuối cùng thay cho kết luận

×