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
Trang 1TRẦ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
Trang 3Trướ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
Trang 4MỤ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
Trang 52.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
Trang 62.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
Trang 7DANH 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
Trang 8
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
Trang 9
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
Trang 10và 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ả
Trang 11(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
Trang 12Chươ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
Trang 13CHƯƠ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)
Trang 141.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)
Trang 15Ta 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)
Trang 16Bả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
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 logChỉ 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
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
Trang 17chư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 loghoặ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 logPhươ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 logPhươ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 logGiả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ữ
Trang 18Schoof
(1985)
log log logChỉ 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)
logThời gian thực thi phụ thuộc vào hiệu lực của giả thuyết
Riemann mở rộng
Trang 19
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.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
Trang 20• 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
Trang 21• 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ế
Trang 22Hì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à | |
Trang 23Mọ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 ( ):
Về phía người nhận ( ):
(7) Giải mã bằng cách tính ( ) rồi tính ( )
Trang 24Kế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
Trang 25• 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
Trang 261.4.2 Biểu diễn và tính toán trên trường mở rộng
Trường hữu hạn phần tử luôn có số phần tử , trong đó là một số nguyên dương và là một số nguyên tố gọi là đặc số nguyên tố của trường
Trường là một mở rộng đại số đơn giản (simple algebraic extension) của trường
Giả sử là một đa thức bất khả quy bậc thì có một nghiệm trong trường
và ( là trường mở rộng nhỏ nhất của trường có chứa ) Khi ấy, mỗi phần tử của trường đều có thể được biểu diễn như là một đa thức với biến trên trường có bậc nhỏ hơn
Ví dụ, các phần tử của trường có thể được biểu diễn dưới dạng một đa thức bậc nhất đối với biến là nghiệm của một đa thức bất khả quy bậc hai trên trường , chẳng hạn 1 Các phần tử của đều được biểu diễn dưới dạng , với , Các phần tử đó là: 0, 1 , , 1 Với chú ý rằng 1 0 (do là nghiệm của phương trình 1 0), ta có thể thiết lập các bảng tính toán trên trường mở rộng đối với các phép toán cộng và nhân như sau (các bảng 1.3
và 1.4 ở trang kế):
Trang 27Bảng 1.3 Bảng phép toán cộng trên trường mở rộng
Trang 28CHƯƠNG 2 XÂY DỰNG CƠ SỞ DỮ LIỆU CÁC ĐA THỨC BẤT KHẢ QUY
Quá trình xây dựng cơ sở dữ liệu các đa thức bất khả quy gồm hai giai đoạn:
• Xây dựng cơ sở dữ liệu ban đầu gồ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 đó
• Tổng hợp các đa thức bất khả quy bậc cao từ các đa thức bất khả quy có trong
cơ sở dữ liệu ban đầu đã được xây dựng trong giai đoạn trước
Các đa thức bất khả quy mà ta xét đến ở đây là các đa thức bất khả quy có hệ số đầu bằng 1 ( 1)
Trước tiên ta tóm lược một số khái niệm cơ bản được sử dụng trong các định lý toán học có liên quan đến quá trình xây dựng cơ sở dữ liệu các đa thức bất khả quy
2.1 Một số khái niệm cơ bản
Các cấu trúc cơ bản của đại số hiện đại là nhóm, vành và trường
Nhóm là một tập hợp trên đó có trang bị một phép toán hai ngôi (thường ký hiệu là ‘+’ hoặc ‘*’) có tính chất kết hợp và có thể có tính chất giao hoán (nhóm giao hoán hay
nhóm Abel) Nhóm có chứa một phần tử đặc biệt gọi là phần tử trung lập thường được
ký hiệu là 0 (đối với nhóm cộng) hoặc 1 (đối với nhóm nhân) và mọi phần tử của nhóm đều tồn tại phần tử đối (nhóm cộng) hay phần tử đảo (nhóm nhân)
Trang 29Nhóm hữu hạn |G| phần tử có một tính chất rất quan trọng là | | , Tính chất này được sử dụng trong các giải thuật mã hóa và chứng thực như ta đã thấy qua ví
dụ ở mục 1.4.1 trong chương 1
Vành là một tập hợp trên đó có trang bị hai phép toán hai ngôi cộng và nhân, trong đó phép toán nhân có tính chất phân phối đối với phép toán cộng, phép toán cộng là một nhóm giao hoán và phép toán nhân có tính chất kết hợp Nếu phép toán nhân có thêm tính chất giao hoán và mọi phần tử khác không đều có phần tử đảo thì ta có cấu trúc trường
Trường hữu hạn là trường có số phần tử là hữu hạn
Đa thức trên trường hữu hạn là biểu thức có dạng:
Trang 302.1.2
Đa thức ∑ được gọi là liên hợp tuyến tính (linearized
2.2 Xây dựng cơ sở dữ liệu ban đầu
2.2.1 Một số định lý toán học có liên quan
Trong quá trình xây dựng cơ sở dữ liệu ban đầu ta cần tìm kiếm giải thuật cho phép tìm được tất cả các đa thức bất khả quy ở một bậc nào đó Định lý 2.2.1.1 sau đây (theo [26], Theorem 3.29, trang 85) rất hữu dụng cho mục đích này
Trang 31Định lý 2.2.1.3
Với 0 ta có:
, ; 2.2.1.4
Trang 32trong đó tích ở vế phải được thực hiện trên tất cả các số nguyên dương là ước của
1, sao cho là bậc của modulo (tức là không tồn tại số nguyên dương
nào mà lại là ước của 1) và là đa thức cyclotomic bậc trên
Đa thức cyclotomic bậc , được xác định bởi công thức (theo [26], Theorem 3.27, trang 84):
lý 2.2.1.3, nên ta có thể biểu diễn 2,6; dưới dạng:
Trang 33Như vậy thay vì phải phân tích đa thức bậc 54 ta sẽ phân tích ba đa thức có bậc nhỏ hơn, trong đó đa thức có bậc lớn nhất là 36
Một định lý có nhiều ứng dụng quan trọng trong lý thuyết trường hữu hạn là định lý
Trung Hoa về phép chia có dư, được phát biểu như sau (theo [1], Định lý 4, trang 66)
2.2.2 Giải thuật Berlekamp
Giả sử rằng là tích của các thừa số phân biệt nhau , , … , (số mũ của các đều bằng 1, ta nói có dạng square-free) Khi ấy giải thuật phân tích
đa thức thành nhân tử bất khả quy của Berlekamp (theo [26], trang 130-134) dựa trên
cơ sở của định lý 2.2.2.1 dưới đây (theo [26], Theorem 4.1, trang 130)
Trang 34Giả sử rằng: … 2.2.2.2
Ta có:
…
2.2.2.3 (vì trên trường hữu hạn ta có )
Ta xây dựng một ma trận , 0 , 1 có kích thước bằng cách tính như sau:
Trang 35, , … , , , … ,hay,
, , … , 0, trong đó là ma trận đơn vị cấp
Sử dụng định lý Trung Hoa về phép chia có dư Berlekamp [26] đã chứng minh được rằng các nghiệm cần tìm lập thành một cơ sở của không gian con null space của Từ đó ta có giải thuật Berlekamp sau đây cho bài toán phân tích đa thức thành
các nhân tử bất khả quy Giải thuật bao gồm hai giai đoạn
Giai đoạn 1: Giải thuật tìm các đa thức thỏa
1 Thành lập ma trận theo công thức 2.2.2.4 ở trên bằng cách thực hiện tính
, 0 1 (kết quả chính là dòng thứ của ma trận )
2 Sử dụng phương pháp (giải thuật) Gauss để đưa ma trận về dạng Column Echelon Giả sử ta được ma trận kết quả là
3 Tìm cơ sở của ma trận Kết quả chính là mảng các đa thức cần tìm
Giai đoạn 2: Giải thuật phân tích thành các nhân tử bất khả quy
1 Tính hạng của ma trận , giả sử là Từ đó xác định được số thừa số của
là ( chính là số vectơ thành phần của cơ sở của ma trận )
2 Tính gcd , với mọi Tích của các thừa số này chính là kết quả phân tích (một phần) của thành các nhân tử bất khả quy
3 Nếu chưa được phân tích thành thừa số thì lặp lại quá trình ở bước 2 cho
và tất cả các thừa số đã tìm thấy được trước đó Có thể cần phải sử dụng tới x , 2 nhưng cuối cùng bao giờ ta cũng đạt được kết quả mong
Trang 36muốn là phân tích ra thành thừa số bất khả quy (ta không sử dụng 1)
Ví dụ, phân tích đa thức 1 ( 8) ra thành các nhân tử bất khả quy trên trường (theo [26], Example 4.2, trang 133)
Trước hết ta tính với 2, 0 7
1
11