Tải bản đầy đủ
5 Phương pháp phân tích bằng sàng trường số

5 Phương pháp phân tích bằng sàng trường số

Tải bản đầy đủ

28

2.5

Phương pháp phân tích bằng sàng trường số

Đây là phương pháp phân tích số lớn được xem là mạnh nhất trong thời gian
gần đây, đặc biệt là khi n có trên 110 chữ số thập phân, tức là n > 10110 ,
và ước bé nhất của nó có trên 48 chữ số (chính là những số hay được dùng
trong RSA hiện nay). Các bước chuẩn bị cho thực hiện thuật toán này như
sau.
• Lấy số tự nhiên d ≈

log(n)
log log(n)

và m =


d
n .

• Khai triển số n theo cơ số m,
n = md + ad−1 md−1 + · · · + a0

0 ≤ ai < m.

• Đa thức tương ứng với khai triển này là
f (x) = xd + ad−1 xd−1 + · · · + a0 .
• Lấy α là một nghiệm của đa thức nêu trên và xét trường mở rộng Q[α].
Để cho dễ hình dung quy trình thực hiện thuật toán, ta xét một ví dụ cụ thể
là phân tích số n = 2501. Ta có d = 2, vì

log(2501)
≈ 1.950217066,
log log(2501)

m=


2501 = 50.

Do 2501 = 502 + 1, nên ta có đa thức tương ứng là f (x) = x2 + 1. Đa thức
này có nghiệm là i cho nên ta sẽ xem xét trường mở rộng trường Q[i].

29
Ta để ý rằng trong vành Z/2510Z phần tử 50 có vai trò giống như
là i, vì 502 ≡ −1 mod 2501. Điều này đưa ta đến việc thiết lập ánh xạ
h : Z[i] → Z, từ tập các số nguyên đại số Z[i] vào tập các số nguyên thông
thường, theo công thức h(a + bi) = a + b · 50, và khi ấy ta có đẳng thức sau
h(αβ ) ≡ h(α)h(β ) mod 2501

với mọi α, β ∈ Z[i].

Nhắc lại rằng ta gọi một số nguyên là mịn (hay là “vụn”) nếu như nó
phân tích được thành tích của các số nguyên tố nhỏ. Mục tiêu trước mắt của
chúng ta là tìm các số nguyên đại số mịn trong Z[i], mà ảnh của nó (trong
phép ánh xạ h) cũng là mịn trong Z (nói chung, việc tìm những số này là
vô cùng khó khăn cho nên ta hiểu vì sao cho đến nay RSA vẫn được xem
là có độ an toàn cao).
Ta ký hiệu những số như vậy là αi , và ta muốn tìm một tập con của
chúng, mà ta sẽ đánh số là α1 , α2 , · · · , αr , sao cho tích của chúng là một số
“chính phương” trong Z[i] (nghĩa là, α1 α2 · · · αr = β 2 ∈ Z[i]), còn tích các
ảnh của chúng lại là một số chính phương thông thường, tức là
h(α1 )h(α2 ) · · · h(αr ) = t 2 ∈ Z.
Nếu có được những số này, ta sẽ phân tích được số n theo nhận xét sau đây.
Do
[h(β )]2 = h(β )h(β ) = h(β 2 ) = h(α1 .α2 · · · αr ) = h(α1 )h(α2 ) · · · h(αr ) = t 2 .
ˆ ) và tˆ
nên sau khi rút gọn h(β ) và t theo modulo n ta sẽ được hai số h(β
thoả mãn đẳng thức
ˆ )
h(β

2

≡ tˆ2

mod n.

(2.1)

30
và suy ra
ˆ ) − tˆ h(β
ˆ ) + tˆ ≡ 0
h(β

mod n.

(2.2)

ˆ ) không đồng dư với ±tˆ theo modulo n, thì từ đẳng thức trên ta
Nếu h(β
suy ra mỗi thừa số ở vế trái sẽ chứa một ước số của n, hay nói cách khác
ˆ ) − tˆ, n cho ta một ước (không tầm thường) của số n.
gcd h(β
Tóm lại, bài toán trở thành việc đi tìm các số nguyên đại số α1 , α2 , · · · , αr
sao cho biểu thức (2.1) được thoả mãn.

2.6

Khả năng phân tích số bằng các “chip” chuyên dụng

Như đã nêu, hiện nay phương pháp được xem là hiệu quả nhất đối với bài
toán phân tích các số lớn là thuật toán sử dụng sàng trường số. Chính bằng
phương pháp này mà gần đây (năm 1999) người ta đã phân tích được hợp
số với độ dài kỷ lục là 155 chữ số thập phân (512 bit nhị phân), nhưng cũng
mất nhiều tháng ròng và với số lượng máy tính khổng lồ. Cho nên hệ mã
RSA chuẩn mực, với độ dài chìa khoá 1024 bit nhị phân (khoảng 308 chữ
số thập phân), được người ta xem là an toàn tuyệt đối trong vòng 15-20
năm nữa.
Thế nhưng gần đây (khoảng tháng 2/2003) Adi Shamir (một trong ba
đồng tác giả đã công bố phát minh hệ mã RSA) tuyên bố rằng ông đã
cùng các cộng sự tại phòng Tin học và Toán ứng dụng của Viện nghiên
cứu khoa học Weizmann (Israel) thiết kế ra “con chip đặc thù” cho việc
phân tích một số ra các thừa số nguyên tố, có sức mạnh phi thường và có

31
khả năng bẻ được hệ mã RSA chuẩn hiện nay. Một công cụ “đặc chủng”
kiểu này cũng đã từng được biết đến trước đây, đó là hệ thống quang điện
tử TWINKLE, sử dụng các thành phần khá đắt tiền và khó chế tạo. Hệ
thống mới của Shamir và các đồng nghiệp, gọi tắt là TWIRL, có nhiều
điểm giống với TWINKLE, nhưng không chứa các thành phần quang học
đắt tiền, khó kiếm mà được thiết lập dựa trên công nghệ VLSI (Very large
scale integration - Tích hợp quy mô rất lớn) phổ biến hiện nay. Về bản chất
nó là một hệ thống tích hợp một lượng khổng lồ các bộ vi xử lý chạy trên
tần số 1GHz.
Cho tới lúc này, “con chip đặc thù” TWIRL mới chỉ nằm trên sơ đồ,
chưa được triển khai trong thực tế, nhưng một số đánh giá sơ bộ cho thấy:
để phân tích một số có độ dài 512 bit nhị phân (như đã nói ở trên) chỉ cần
một máy tính chuyên dụng (thiết lập trên cơ sở con chip TWIRL) trị giá
khoảng 10 ngàn USD, làm việc trong vòng 10 phút. Nếu nhớ rằng công
việc này đã từng đòi hỏi hàng ngàn máy tính mạnh làm việc trong nhiều
tháng ròng rã, ta thấy ngay sức mạnh của con chip chuyên dụng. Tuy nhiên,
cũng theo các đánh giá này, muốn phân tích một số có độ dài gấp đôi như
thế, tức là khoảng 1024 bit nhị phân (như chìa khoá thông thường của một
hệ mã RSA chuẩn hiện nay), thì phải cần tới một máy chuyên dụng trị giá
khoảng 10 triệu USD, làm việc liên tục trong thời gian 1 năm. Như vậy, giả
sử cứ theo cái đà này mà tiếp tục được, thì để bẻ được hệ mã RSA với độ
dài khoá 2048 bit nhị phân thì phải cần tới máy tính chuyên dụng trị giá 10
tỷ USD, làm việc liên tục trong 52560 năm!