Tải bản đầy đủ (.pdf) (72 trang)

XÂY DỰNG CƠ SỞ DỮ LIỆU CÁC ĐA THỨC BẤT KHẢ QUY

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 (691.66 KB, 72 trang )


ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN





TRẦN ĐỨC DŨNG


XÂY DỰNG CƠ SỞ DỮ LIỆU
CÁC ĐA THỨC BẤT KHẢ QUY







LUẬN VĂN THẠC SĨ
NGÀNH HỆ THỐNG THÔNG TIN










Thành phố Hồ Chí Minh - 2011

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN





TRẦN ĐỨC DŨNG


XÂY DỰNG CƠ SỞ DỮ LIỆU
CÁC ĐA THỨC BẤT KHẢ QUY


Ngành: HỆ THỐNG THÔNG TIN
Mã số: 60.48.05



LUẬN VĂN THẠC SĨ




NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS. TS. NGUYỄN ĐÌNH THÚC





Thành phố Hồ Chí Minh - 2011
LỜI CẢM ƠN
\ [

Trước hết tôi xin bày tỏ lòng biết ơn chân thành đối với thầy hướng dẫn khoa học, PGS.
TS. Nguyễn Đình Thúc, người đã gợi ý cho tôi một đề tài hết sức thú vị, đồng thời đã hết
lòng giúp đỡ tôi trong suốt quá trình thực hiện đề tài với một sự quan tâm sâu sắc và bền
bỉ. Chính sự giúp đỡ quý báu và sự quan tâm sâu sắc của thầy đã là nguồn động viên vô
hạ
n và là chỗ dựa tinh thần vững chắc giúp tôi có thể thực hiện đề tài một cách nhanh
chóng và thuận lợi.
Tôi xin bày tỏ lòng biết ơn đối với quý thầy cô khoa Công nghệ Thông tin, Đại học Khoa
học Tự nhiên đã truyền đạt cho tôi những kiến thức khoa học vô cùng quý báu làm nền
tảng cho việc thực hiện đề tài và quá trình nghiên cứu khoa học sau này. Đặc biệt là PGS.
TS. Đinh Điền, Đại học Khoa học Tự nhiên và thầ
y Trần Đình Long (nghiên cứu sinh
tiến sĩ), Đại học Huế, những người cũng đã giúp đỡ tôi rất nhiều trong quá trình thực hiện
đề tài.
Cuối cùng tôi xin bày tỏ lòng biết ơn đối với gia đình, đồng nghiệp và bạn bè đã hết lòng
ủng hộ và động viên tôi trong suốt quá trình học tập và thực hiện đề tài. Tôi xin cảm ơn
tất cả các bạn lớp Hệ thống Thông tin Khóa 17 đã cho tôi nhữ
ng tháng ngày tốt đẹp nhất
dưới mái trường thân yêu của chúng ta.
1

MỤC LỤC
DANH MỤC HÌNH 4
DANH MỤC BẢNG 5

CHƯƠNG MỞ ĐẦU 6
0.1 Tóm lược đề tài 6
0.2 Mục tiêu cần đạt 6
0.3 Mục đích và nội dung nghiên cứu 7
0.4 Đóng góp của luận văn 7
0.5 Bố cục của luận văn 8
CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN 10
1.1 Vai trò của các đa thức bất khả quy 10
1.2 Một số công trình liên quan 11
1.3 Sự phân bố của các đa thức bất khả quy 16
1.4 Ứng dụng của các đa thứ
c bất khả quy 19
1.4.1 Ứng dụng trong hệ thống mã hóa và chứng thực RSA 19
1.4.2 Biểu diễn và tính toán trên trường mở rộng 23
CHƯƠNG 2 XÂY DỰNG CƠ SỞ DỮ LIỆU CÁC ĐA THỨC BẤT KHẢ QUY
25
2.1 Một số khái niệm cơ bản 25
2

2.2 Xây dựng cơ sở dữ liệu ban đầu 27
2.2.1 Một số định lý toán học có liên quan 27
2.2.2 Giải thuật Berlekamp 30
2.2.3 Giải thuật Cantor-Zassenhaus 34
2.2.4 Giải thuật Simple 38
2.2.5 Giải thuật tổng quát phân tích đa thức thành các nhân tử bất khả quy 43
2.3 Tổng hợp các đa thức bất khả quy bậc cao 45
2.3.1 Phát sinh các đa thức bất khả quy bậc cao với số lượng hạn chế 45
2.3.2 Tìm các đa thức bất khả quy bậc cao dạng đặc biệt 46
2.3.3 Sử dụng công thức tổng hợp 50
2.3.3.1 Phương pháp Order-Based 51

2.3.3.2 Phương pháp Primitive-Based 51
2.3.3.3 Phương pháp Varshamov 52
2.3.3.4 Phương pháp Kyuregyan 54
3.2.3.5 So sánh giữa các phương pháp tổng hợp 57
2.3.3.6 Giải thuật kiểm tra tính nguyên thủy 58
2.3.4 Cấu trúc lưu trữ cho cơ sở dữ liệu các đa thức bất khả quy 60
2.3.4.1 Biểu diễn đa thức 60
2.3.4.2 Hàm băm và cấu trúc bảng 60
3

2.3.4.3 Các giải thuật tìm kiếm và thao tác trên cơ sở dữ liệu 62
CHƯƠNG 3 CÀI ĐẶT THỬ NGHIỆM 64
3.1 Môi trường phát triển ứng dụng 64
3.2 Phát sinh cơ sở dữ liệu ban đầu 64
3.3 Tổng hợp các đa thức bất khả quy bậc cao 69
3.4 Phát sinh các đa thức bất khả quy bậc cao dạng đặc biệt 72
3.5 Thao tác trên cơ sở dữ liệu 74
3.6 Phân tích đa thức bất kỳ thành các nhân tử bất khả quy 76
3.7 Sử dụng giao diện Web 78
3.8 Mở rộng một số chức năng trên trường hữu hạn 

bất kỳ 82
3.9 Đánh giá hệ thống và so sánh kết quả 87
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 90
4.1 Các kết quả đã đạt được 90
4.2 Một số hạn chế 90
4.3 Hướng phát triển 91
TÀI LIỆU THAM KHẢO 92

4


DANH MỤC HÌNH
Hình1.1–Sự phân bố của các đa thức bất khả quy trên trường 

 19
Hình3.1–Phátsinhcơ sở dữ liệu ban đầu 65
Hình3.2–Tổng hợp các đa thức bất khả quy bậc cao 70
Hình3.3–Phátsinhcácđathức bất khả quy bậc cao dạng đặc biệt 73
Hình3.4–Thaotáctrênkhocơ sở dữ liệu 75
Hình3.5–Phântíchđathức ra thành các nhân tử bất khả quy 77
Hình3.6–Phátsinhđathức bất khả quy trên giao diện Web 79
Hình3.7–Tổng hợp đa thức bất khả quy trên giao diện Web 80
Hình3.8–Tổng hợp đa thức bất khả quy dạng Trinomial trên giao diện Web 81
Hình3.9–Tìmkiếm các đa thức bất khả quy trong cơ sở dữ liệu trên giao diện Web 82
Hình3.10–Phátsinhđathức bất khả quy trên trường hữu hạn 

bất kỳ 84
Hình3.11–Tổng hợp đa thức bất khả quy trên trường hữu hạn 

bất kỳ 85
Hình3.12–Tìmkiếm đa thức bất khả quy trong cơ sở dữ liệu trên trường 

bất kỳ 86




5

DANH MỤC BẢNG

Bảng 1.1 – So sánh các phương pháp phân tích đa thức thành nhân tử bất khả quy 13
Bảng 1.2 – Sự phân bố của các đa thức bất khả quy trên trường 

16
Bảng 1.3 – Bảng phép toán cộng trên trường mở rộng 

24
Bảng 1.4 – Bảng phép toán nhân trên trường mở rộng 

24
Bảng 2.1 – Cấu trúc lưu trữ cho đa thức bất khả quy 61
Bảng 3.1 – So sánh hiệu quả của các giải thuật phát sinh đa thức bất khả quy 68
Bảng 3.2 – Cấu trúc lưu trữ cho đa thức bất khả quy trên trường hữu hạn 

bất kỳ 83
Bảng 3.3 – So sánh số lượng các đa thức bất khả quy bậc  giữa 

và 

87
Bảng 3.4 – Kết quả đánh giá sơ bộ về hệ thống cài đặt thử nghiệm 89






6

CHƯƠNG MỞ ĐẦU

0.1. Tóm lược đề tài
Đa thức bất khả quy trên một trường hữu hạn 

có nhiều ứng dụng trong thực tiễn, đặc
biệt là trong các lĩnh vực mã hóa-mật mã, an toàn thông tin và trong các hệ thống tính
toán số (Number and Algebra Systems). Tuy nhiên, việc phát sinh ra các đa thức bất
khả quy thông thường không phải là một công việc đơn giản, đòi hỏi phải tiêu tốn
nhiều thời gian và công sức và có thể gây ảnh hưởng đến hiệu năng (performance) của
các chương trình ứng dụng (đặc biệt là khi phải phát sinh ra các đa thứ
c bất khả quy
với số lượng lớn hoặc có bậc cao). Do đó vấn đề xây dựng sẵn một kho cơ sở dữ liệu
các đa thức bất khả quy là một vấn đề hết sức hữu dụng và mang giá trị thực tiễn cao.
Trong đề tài này chúng tôi nghiên cứu một phương pháp mang tính hệ thống nhằm mục
đích xây dựng sẵn một kho cơ sở dữ liệu các đ
a thức bất khả quy có khả năng đáp ứng
nhu cầu của các ứng dụng thực tiễn, nhằm giảm thiểu đáng kể phần chi phí do phải
phát sinh các đa thức bất khả quy theo kiểu truyền thống, do đó có khả năng nâng cao
hiệu năng của ứng dụng. Hệ thống được xây dựng dựa trên một mô hình bao gồm hai
giai đoạn: giai đoạn đầu phát sinh ra tất cả các đa thức bất khả quy có bậc nhỏ hơn hay
bằng một giá trị ngưỡng 

nào đó, giai đoạn thứ hai phát sinh ra các đa thức bất khả
quy bậc cao. Các đa thức bất khả quy ở bậc cao sẽ không còn đầy đủ một cách liên tục
nữa.
0.2. Mục tiêu cần đạt
Mục tiêu của luận văn là xây dựng một kho cơ sở dữ liệu các đa thức bất khả quy sao
cho đầy đủ nhất có thể về số lượng, phong phú về dạ
ng thức và có chứa các đa thức bất
khả quy bậc cao. Với kho cơ sở dữ liệu này chúng ta có khả năng cung cấp cho ứng
dụng các đa thức bất khả quy với số lượng lớn hoặc có bậc cao một cách nhanh chóng

7

và thuận tiện, giảm thiểu chi phí phát sinh các đa thức bất khả quy và góp phần nâng
cao hiệu năng của toàn bộ hệ thống.
0.3. Mục đích và nội dung nghiên cứu
Đa thức bất khả quy có nhiều ứng dụng thực tiễn trong khi việc phát sinh ra các đa thức
bất khả quy lại thường kém hiệu quả và hao tốn chi phí. Mục đích nghiên cứu của đề
tài là tìm kiếm một giải pháp tối
ưu nhằm phát sinh sẵn ra các đa thức bất khả quy phục
vụ tốt nhất cho các yêu cầu của ứng dụng. Nội dung nghiên cứu của đề tài là tìm kiếm
các giải thuật phát sinh và tổng hợp các đa thức bất khả quy và một giải pháp lưu trữ và
tìm kiếm hiệu quả sao cho có thể trả về các đa thức bất khả quy một cách nhanh chóng
và tiện lợi nhất cho các ứng dụng thực tiễn.
Để đề tài có tính khả thi trong điều kiện nguồn lực bị hạn chế, luận văn sẽ chỉ tập trung
nghiên cứu các đa thức bất khả quy chủ yếu trên trường nhị phân 

là trường được sử
dụng phổ biến nhất trong tin học. Tuy nhiên, các kết quả nghiên cứu có thể dễ dàng mở
rộng sang một trường hữu hạn 

bất kỳ một cách trực tiếp, hoặc chỉ với một số thay
đổi nhỏ. Trong đề tài này chúng tôi cũng sẽ trình bày với tính cách minh họa và cài đặt
thử nghiệm một số chức năng tương tự của các đa thức bất khả quy trên một trường
hữu hạn 

bất kỳ.
0.4. Đóng góp của luận văn
Về mặt phương pháp luận đề tài đã đề xuất một phương pháp phát sinh ra các đa thức
bất khả quy một cách có hệ thống. Phương pháp này kết hợp nhiều phương thức phát
sinh ra các đa thức bất khả quy vào một phương thức thống nhất, đó là lưu trữ và tìm

kiếm trong kho cơ sở dữ liệu các đa th
ức bất khả quy đã được xây dựng sẵn. Chúng ta
có thể kết hợp ưu điểm của nhiều phương thức khác nhau và hệ thống có thể dễ dàng
mở rộng khi cần thiết. Chúng tôi cũng đề xuất một giải pháp đơn giản nhưng hiệu quả
8

(giải thuật Simple, trang 38) để tìm tất cả các đa thức bất khả quy có bậc nhỏ hơn hay
bằng một giá trị ngưỡng 

nào đó.
Về mặt thực tiễn đề tài đã xây dựng được một kho cơ sở dữ liệu các đa thức bất khả
quy tương đối lớn về mặt số lượng (hơn bốn triệu đa thức bất khả quy) và phong phú
về dạng thức (sử dụng một số công thức tổng hợp, mỗi công thức cho ta một dạng thức
khác nhau, ngoài ra còn có dạng
đặc biệt trinomial), cùng với cơ chế lưu trữ và tìm
kiếm hiệu quả sẵn sàng cung cấp đa thức bất khả quy cho ứng dụng khi có nhu cầu.
Với kho cơ sở dữ liệu lưu trữ sẵn này các ứng dụng không còn cần thiết phải quan tâm
nhiều đến vấn đề phát sinh ra các đa thức bất khả quy. Nếu được khai thác một cách có
hiệu quả, chi phí của ứng dụng sẽ giảm thiểu đáng kể đồng thời hiệu năng của ứng
dụng cũng sẽ được nâng cao.
0.5. Bố cục của luận văn
Luận văn bao gồm 5 chương với những nội dung chính như sau:
Chương mở đầu: Tóm lược nội dung cần thực hiện của đề tài, đề ra mục tiêu cần đạt,
trình bày mục đích và nội dung nghiên cứu cùng nh
ững đóng góp của luận văn.
Chương 1: Giới thiệu tổng quan
Chương này giới thiệu vai trò của các đa thức bất khả quy cùng với sự phân bố của
chúng trên trường hữu hạn 

, tóm tắt một số công trình liên quan và nêu lên một số ví

dụ minh họa về ứng dụng của các đa thức bất khả quy trong thực tiễn.
Chương 2: Xây dựng cơ sở dữ liệu các đa thức bất khả quy
Chương này trình bày một số khái niệm và định lý toán học cơ sở, các phương pháp và
giải thuật cơ bản được sử dụng trong quá trình thực hiện việc xây dựng kho c
ơ sở dữ
liệu các đa thức bất khả quy.
9

Chương 3: Cài đặt thử nghiệm
Chương này trình bày một số kết quả và số liệu thu thập được trong quá trình cài đặt
thử nghiệm và vận hành hệ thống, đánh giá hệ thống và so sánh kết quả.
Chương 4: Kết luận và hướng phát triển
Chương này trình bày những thành quả đạt được, những điểm còn hạn chế, khả năng
ứng dụng và hướng phát triển của hệ thống trong t
ương lai.

10

CHƯƠNG 1
GIỚI THIỆU TỔNG QUAN
1.1. Vai trò của các đa thức bất khả quy
Các đa thức bất khả quy trên một trường hữu hạn 

đóng vai trò tương tự như các số
nguyên tố trong vành số nguyên: chúng là các đơn vị cấu trúc cơ bản và do đó nhiều
tính chất đặc trưng của toàn bộ cấu trúc có thể được suy ra từ tính chất của các phần tử
cơ bản này.
Mỗi số nguyên bất kỳ trong vành số nguyên đều có thể phân tích một cách duy nhất
thành tích của các thừa số nguyên tố. Tương tự, mỗi đa thức bấ
t kỳ trên một trường

hữu hạn 

cũng có thể phân tích được một cách duy nhất thành tích của các thừa số là
các đa thức bất khả quy.
Các khái niệm và kết quả nghiên cứu trên vành số nguyên, chẳng hạn như ước chung
lớn nhất, bội chung nhỏ nhất, tính chất nguyên tố cùng nhau của hai số nguyên, thuật
toán chia Euclidean, định lý số dư Trung Hoa, … đã được mở rộng một cách rất tự
nhiên sang trường hữu hạn 

, khiến cho việc ứng dụng các lý thuyết toán học vào thực
tiễn ngày càng phát triển phong phú hơn, và các thành tựu đã gặt hái được lại trở thành
động cơ thúc đẩy cho việc nghiên cứu lý thuyết sâu sắc hơn về các tính chất của các
phần tử cơ bản này. Từ rất lâu, việc nghiên cứu các tính chất của các số nguyên tố và
của các đa thức bất khả quy cùng ứng dụng của chúng đã tạo nguồn cảm hứng cho
nhiều nhà toán học và tin học qua các thời kỳ khác nhau và vẫn còn tiếp tục phát triển
cho tới ngày hôm nay (và trong tương lai).

11

1.2. Một số công trình liên quan
Các bài toán liên quan đến các đa thức bất khả quy và ứng dụng của chúng đã được
nghiên cứu từ rất sớm. Chúng ta sẽ chỉ xem xét các bài toán quan trọng nhất có liên
quan trực tiếp đến đề tài của luận văn. Đó là các bài toán: tìm các tiêu chuẩn để nhận
biết và kiểm tra tính bất khả quy của một đa thức, phân tích một đa thức bất kỳ thành
tích của các thừa số
là các đa thức bất khả quy, xây dựng (hay tổng hợp) các đa thức
bất khả quy từ các đa thức bất khả quy đã biết trước đó. Các bài toán này không tách
rời nhau mà có mối quan hệ nội tại hết sức thú vị. Chẳng hạn như chúng ta sẽ thấy ở
chương 2, bài toán tìm tất cả các đa thức bất khả quy có bậc là  của chúng ta có thể
quy về bài toán phân tích một đ

a thức (đa thức tích) thành nhân tử là các đa thức bất
khả quy. Hoặc quá trình xây dựng các đa thức bất khả quy có thể quy về quá trình phân
tích thành nhân tử bất khả quy của một đa thức khác [10]. Các đặc điểm này rất dễ
nhận ra trong các giải thuật đã được đề xuất.
Đối với bài toán phân tích đa thức thành các nhân tử bất khả quy có hai nhóm giải thuật
được sử dụng: nhóm các giải thuậ
t tất định (deterministic) và nhóm các giải thuật ngẫu
nhiên hay không tất định (randomized hay non-deterministic). Hầu hết các giải thuật
đều có độ phức tạp thời gian đa thức theo các biến số  (bậc của đa thức) và  (kích
thước hay số phần tử của trường hữu hạn). Thông thường khi giải bài toán phân tích
một đa thức thành các nhân tử bất khả quy ta phải giải một bài toán phụ
nào đó, chẳng
hạn như bài toán tìm nghiệm của một đa thức, tìm một phần tử 

sao cho 




( gọi là 

non-residue), hoặc các bài toán có liên quan đến đại số tuyến
tính, chẳng hạn như tìm hạng của một ma trận hay tìm cơ sở của không gian con null
space của một không gian tuyến tính như trong giải thuật Berlekamp mà chúng ta sẽ
cài đặt sau này (ở chương 2).
12

Ta quy ước nếu thời gian thực thi được xác định bởi hàm , thì điều đó có nghĩa
là giải thuật tương ứng cần thực hiện 


,

 thao tác số học cơ bản (cộng, trừ,
nhân, chia) trên trường 

để phân tích hoàn toàn đa thức thành các nhân tử bất khả
quy. Nếu giải thuật có liên quan đến xử lý ma trận, chúng ta sẽ ký hiệu 

là chi phí
phát sinh thêm do phải thực hiện các phép tính trên ma trận (3 đối với phương
pháp cổ điển và 2.3755 đối với phương pháp tốt nhất hiện nay do Coppersmith và
Winogard đề xuất 1990). Tương tự, chi phí phát sinh thêm do thực hiện các phép toán
không phải là cơ bản trên đa thức, chẳng hạn như tính ước chung lớn nhất của hai đa
thức bậc , được cho bởi công thức log

(đối với phương pháp tính toán nhanh
(fast polynomial arithmetic) – so với phương pháp cổ điển – thì số mũ thích hợp là 2
hoặc 3).
Bảng 1.1 ở trang kế tổng kết các phương pháp khác nhau đã được sử dụng cho bài toán
phân tích đa thức thành các nhân tử bất khả quy cùng với thời gian thực thi và các điều
kiện áp dụng hoặc các bài toán phụ cần phải giải của mỗi phương pháp (theo [6], trang
296-298).









13

Bảng 1.1. So sánh các phương pháp phân tích đa thức thành nhân tử bất khả quy
Tác giả Thời gian thực thi và điều kiện áp dụng
Tonelli
(1891)
log
Chỉ phân tích các đa thức bậc 2 trên trường nguyên tố


. Cần tìm phần tử 

không phải là lũy thừa bậc 2
của bất kỳ phần tử 

nào (



).
Arwin
(1918)



log

log



Chỉ tách các thừa số có bậc khác nhau. Tức là mỗi nhân
tử trong kết quả là tích của các thừa số có cùng bậc, do
đó chưa phải là bất khả quy (phân tích một phần). Chẳng
hạn 




















1

1










1, thay vì
phân tích hoàn toàn 





1



1






1








1.
Butler
(1954)


loglog


Kiểm tra tính bất khả quy dựa vào việc xây dựng ma trận
tương tự như trong giải thuật của Berlekamp.
Berlekamp
(1967)




log


Đối với giá trị  lớn thời gian thực thi có thể giảm xuống
do việc sắp xếp lại giai đoạn cuối của giải thuật.

14

Berlekamp
(1970)





log

log


Dựa theo phương pháp ngẫu nhiên của Collins và Knuth
(1967) và của Zassenhaus (1969). Xác suất thành công
chưa được phân tích đầy đủ. Sử dụng công cụ giải hệ
phương trình tuyến tính thưa (sparse linear system
solver, Wiedemann 1986), thời gian thực thi của phương
pháp này có thể giảm xuống còn log

log


hoặc 

loglog

, đồng thời giảm không
gian lưu trữ xuống còn 



(thay vì 

) nếu áp
dụng cải tiến của Cantor và Zassenhaus (1981).

Moenck
(1977)


loglog


Phương pháp này yêu cầu phải tìm một nghiệm nguyên
thủy (primitive root) của trường 

.
Rabin
(1980)

log



log


Phương pháp ngẫu nhiên, dựa vào việc tìm nghiệm trong
các trường đại số mở rộng (algebraic extensions). Tác
giả còn đề xuất giải thuật ngẫu nhiên xây dựng các đa
thức bất khả quy bậc  trên trường 

. Giải thuật đã
được Ben-Or cải tiến vào năm 1981.
Cantor-Zassenhaus
(1981)



loglog


Giải thuật ngẫu nhiên. Phương pháp phân tích thành
nhân tử bất khả quy đầu tiên có thời gian thực thi đa
thức với không gian lưu trữ .

15

Schoof
(1985)

log


loglog


Chỉ phân tích các đa thức bậc 2 trên trường nguyên tố


. Cần tính các căn bậc 2 [] của các hằng số
nguyên, chẳng hạn như -1. Độ phức tạp thời gian được
tính theo thao tác trên bit. Đây là giải thuật phân tích tất
định duy nhất được biết đến mà không yêu cầu thời gian
thực thi đa thức theo đối số log.
Huang
(1991a, 1991b)

log


Thời gian thực thi phụ thuộc vào hiệu lực của giả thuyết
Riemann mở rộng.

16

1.3. Sự phân bố của các đa thức bất khả quy
Trong mục này chúng ta sẽ khảo sát sự phân bố của các đa thức bất khả quy trên một
trường hữu hạn 

. Nói cách khác, ta sẽ xem xét tỷ lệ mà các đa thức bất khả quy bậc 
chiếm trong toàn bộ các đa thức bậc  của trường 

.
Số các đa thức bất khả quy có hệ số đầu bằng 1 và có bậc của trường 

được xác
định bởi công thức sau đây (theo [26], Theorem 3.25, trang 84).






1








1


/
||
1.3.1,
trong đó  là hàm Moebius (xem chương 2, trang 27, công thức 2.2.1.2). Số liệu
thống kê của các đa thức có bậc nhỏ hơn hay bằng 30 trên trường nhị phân 

được cho
trong bảng 1.2 dưới đây.
Bảng 1.2. Sự phân bố của các đa thức bất khả quy trên trường 


Bậc 
Tổng số các
ĐTBKQ bậc 
Tổng số các
đa thức bậc 
Tổng số các
ĐTBKQ bậc nhỏ
hơn hay bằng 
Tổng số các đa thức
bậc nhỏ hơn hay
bằng 
1

2
2
2
2
2
1
4
3
6
3
2
8
5
14
4
3
16
8
30
5
6
32
14
62
6
9
64
23
126
7

18
128
41
254
8
30
256
71
510
17

9
56
512
127
1022
10
99
1024
226
2046
11
186
2048
412
4094
12
335
4096
747

8190
13
630
8192
1377
16382
14
1161
16384
2538
32766
15
2182
32768
4720 65534
16
4080
65536
8800
131070
17
7710
131072
16510
262142
18
14532
262144
31042
524286

19
27594
524288
58636
1048574
20
52377
1048576
111013
2097150
21
99858
2097152
210871
4194302
22
190557
4194304
401428
8388606
23
364722
8388608
766150
16777214
24
698870
16777216
1465020
33554430

25
1342176
33554432
2807196
67108862
26
2580795
67108864
5387991
134217726
27
4971008
134217728
10358999
268435454
28
9586395
268435456
19945394
536870910
29
18512790
536870912
38458184
1073741822
30
35790267
1073741824
74248451
2147483646


• Cột 1 là bậc của các đa thức khảo sát.
• Cột 2 là số các đa thức bất khả quy có bậc , cột 3 là số các đa thức có bậc .
18

• Cột 4 là số các đa thức bất khả quy có bậc nhỏ hơn hay bằng . Cột 5 là số các
đa thức có bậc nhỏ hơn hay bằng .
Chẳng hạn, với 4 ta có 16 đa thức bậc 4, trong số đó có 3 đa thức bất khả quy (bậc
4). Tương tự ta có 30 đa thức có bậc nhỏ hơn hay bằng 4, trong số đó có 8
đa thức bất
khả quy có bậc nhỏ hơn hay bằng 4.
Các con số này tăng lên rất nhanh. Chẳng hạn với 10 ta có 1024 đa thức bậc 10,
trong số đó có 99 đa thức bất khả quy; có 2046 đa thức có bậc nhỏ hơn hay bằng 10,
trong số đó có 226 đa thức bất khả quy có bậc nhỏ hơn hay bằng 10.
Với giá trị của 30, ta đ
ã có 1.073.741.824 (hơn 1 tỷ!) đa thức bậc 30, trong số đó
có 35.790.267 (hơn 35 triệu!) đa thức bất khả quy; có 2.147.483.646 (hơn 2 tỷ) đa thức
có bậc nhỏ hơn hay bằng 30, trong số đó có 74.248.451 (hơn 74 triệu) đa thức bất khả
quy có bậc nhỏ hơn hay bằng 30.
Nếu ta xây dựng một cơ sở dữ liệu bao gồm tất cả các đa thức bất kh
ả quy có bậc nhỏ
hơn hay bằng 30 trên trường 

thì ta đã có hơn 74 triệu đa thức bất khả quy (trên
trường 

con số này còn lớn hơn nhiều).
Sự phân bố của các đa thức bất khả quy có bậc 10 trên trường 

được biểu diễn

bởi đồ thị trên hình 1.1 ở trang kế.
19


Hình 1.1. Sự phân bố của các đa thức bất khả quy trên trường 


1.4. Ứng dụng của các đa thức bất khả quy
Đa thức bất khả quy có nhiều ứng dụng thực tiễn, đặc biệt là trong các lĩnh vực lý
thuyết mã (coding theory), mật mã hóa (cryptography) và an toàn thông tin
(information security).
1.4.1. Ứng dụng trong hệ thống mã hóa và chứng thực RSA
Trước hết chúng ta hãy xét một ví dụ về quá trình chứng thực chữ ký trong hệ thống
mã hóa và chứng thực RSA cổ
điển. Hệ thống dựa trên cơ sở của lý thuyết nhóm hữu
hạn. Nếu  là tích của hai số nguyên tố khác nhau  và  thì các phần tử nguyên tố
cùng nhau với 





1

1 (gọi là các phần tử đơn vị của 

) tạo thành
một nhóm  có bậc là ||.
0
500

1000
1500
2000
2500
12345678910
ĐathứcBKQbậcn
Đathứcbậcn
ĐathứcBKQbậc≤n
Đathứcbậc≤n
20

Mọi phần tử  của nhóm đều có tính chất là 
||
1. Nếu hai số nguyên  và  thỏa
1 ( nguyên) thì sau hai lần nâng lên lũy thừa của thông điệp  ta có
kết quả 







.1, tức là trở về nguyên vẹn thông
điệp ban đầu.
Độ an toàn của hệ thống phụ thuộc vào độ khó của quá trình phân tích số  thành tích
của hai số nguyên tố  và .
Quy trình trên được mô tả bởi giải thuật dưới đây.
Giải thuật RSA cổ điển
Về phía người gửi ():

(1) Chọn hai số nguyên tố lớn và . Tính tích .
(2) Chọ
n số nguyên  nguyên tố cùng nhau với số 





1

1.
(3) Tính  sao cho 1



.
(4) Công bố khóa công khai , cho mọi người (bao gồm cả người nhận).
(5) Mã hóa thông điệp  cần gửi bởi hàm  sao cho 



.
(6) Ký thông điệp 

sử dụng khóa cá nhân (khóa bí mật) bằng cách tính



.
Về phía người nhận ():

(7) Giải mã bằng cách tính 

 (

) rồi tính 



 ().
21

Kết quả trên đã được mở rộng một cách rất tự nhiên sang vành đa thức. Giải thuật RSA
dựa vào đa thức bất khả quy dưới đây là tương ứng (counterpart) của giải thuật RSA cổ
điển đã nêu trên.
Giải thuật RSA dựa vào các đa thức bất khả quy
Quá trình tạo khóa (của người gửi )
(1) Chọn số nguyên t
ố lẻ  và hai đa thức bất khả quy  và  trên
trường 

.
(2) Tính 







.

(3) Tính 







1



1,  và  lần lượt là bậc của  và
.
(4) Chọn ngẫu nhiên số nguyên ,1



 sao cho
gcd,



1.
(5) Sử dụng thuật toán chia Euclidean để xác định ,1



 và
1




 ( được xác định ở đây là duy nhất).
(6) Công bố khóa công khai ,



, và giữ  là khóa bí mật.
Quá trình ký (của người gử
i )
(7) Nhận thông điệp  trong hệ thặng dư đầy đủ modulo  của 

.
(8) Tính 








 là một đa thức trong hệ thặng dư đầy đủ modulo
 của 

.
(9) Sử dụng khóa bí mật  để tính 















.
(10) Gửi thông điệp đã ký và mã hóa 

 của .
Quá trình chứng thực (của người nhận )
(1)  nhận khóa công khai ,



, của .
22

(2)  tính 








 (

).
(3)  phục hồi  bằng cách tính 






.
Ví dụ với các bộ số cụ thể:
389, 





37643, 





384

310 trên 


,






371

111

145

38841,






389

1

389

1

8907280505760, 95561135039,
5878808345759, 




13

, 












1
3

, 







13




172

86


265

59177












172

86

265

59177






13
















13


13


Để đơn giản, trong ví dụ trên ta sử dụng hàm mã hóa  là hàm đồng nhất (





, cũng tức là không có mã hóa, do đó 




).
Ramzi A. Haraty và các đồng sự [30] đã làm thực nghiệm so sánh giữa hai phương
pháp RSA cổ điển và RSA dựa trên đa thức và đã đưa ra một số kết luận như sau:
• Tấn công hệ thống RSA cổ điển rất dễ đối với các số nguyên tố nhỏ. Tuy nhiên,
đối với các số nguyên tố có từ 100 chữ số trở lên thì rất khó t
ấn công và cần
phải sử dụng nhiều máy tính chạy song song.
• Tấn công hệ thống RSA dựa trên đa thức trở nên khó hơn khi kích thước của 
tăng hoặc khi bậc của các đa thức lớn.

×