Các ứng dụng thường có yêu cầu trả về các đa thức bất khả quy thỏa mãn một số tính chất nào đó (chẳng hạn trả về tất cả các đa thức bất khả quy dạng trinomial có bậc
11), hoặc chỉ đơn giản kiểm tra xem một đa thức bất khả quy nào đó đã tồn tại trong cơ sở dữ liệu hay chưa. Chẳng hạn, khi cần thêm một đa thức bất khả quy mới vào cơ sở dữ liệu thì việc đầu tiên của chúng ta là phải kiểm tra xem đa thức đang xét có tồn tại trong cơ sở dữ liệu hay chưa và sẽ chỉ thực hiện thao tác thêm khi nó là đa thức bất khả quy và chưa tồn tại trong cơ sở dữ liệu.
Thêm một đa thức mới vào cơ sở dữ liệu
Thao tác thêm một đa thức mới vào cơ sở dữ liệu bao gồm các bước sau. • Tính giá trị của hàm băm của chuỗi bit biễu diễn cho đa thức. • Xác định bậc của đa thức.
• Tính tổng số của các bit có giá trị bằng 1.
Sau đó thực hiện tìm kiếm trong cơ sở dữ liệu tất cả các đa thức bất khả quy có cùng các thông tin vừa được xác định ở trên (số này không nhiều, do tính chất của hàm băm).
• Nếu tìm không có kết quả, thực hiện kiểm tra nếu là đa thức bất khả quy thì thêm vào cơ sở dữ liệu với các thông tin đã xác định ở trên và GroupOrder có giá trị 0 (đa thức đầu tiên của nhóm).
• Ngược lại, kết quả tìm kiếm cho ta một danh sách các đa thức bất khả quy. Lần lượt khảo sát chuỗi bit tương ứng biểu diễn cho các đa thức này. Nếu đa thức cần thêm đã tồn tại trong nhóm này cũng tức là đã tồn tại trong cơ sở dữ liệu, thì
không cần phải thêm nữa. Ngược lại thực hiện kiểm tra xem nếu là đa thức bất khả quy thì thêm vào cơ sở dữ liệu với các thông tin đã được xác định ở trên và
GroupOrder có giá trị là giá trị lớn nhất của GroupOrder trong nhóm đang khảo
sát cộng thêm 1.
Cập nhật một đa thức trong cơ sở dữ liệu
Khi ta thay đổi nội dung (tương ứng với chuỗi bit biểu diễn) của một đa thức, các thông tin tương ứng như HashCode, Degree, SumBit cũng thay đổi theo. Do đó, thao
tác cập nhật thật ra là thao tác thêm đa thức mới và xóa đi đa thức cũ. Thao tác cập nhật dường như không thực sự cần thiết đối với ứng dụng của chúng ta.
Xóa đi một đa thức trong cơ sở dữ liệu
Để xóa đi một đa thức trong cơ sở dữ liệu, ta phải dựa vào các thông tin HashCode,
Degree, SumBit và GroupOrder. Các thuộc tính này tạo thành khóa chính nên xác định
duy nhất một đa thức cần phải xóa. Như ta sẽ thấy ở mục 3.5 trong chương 3, các thông tin này là hoàn toàn xác định khi ta chọn một đa thức trong kho cơ sở dữ liệu để thực hiện thao tác xóa.
Như vậy, vấn đề tìm kiếm của chúng ta sẽ được thực hiện trên các cột thuộc tính (field) tạo thành khóa chính và đã được tự động lập chỉ mục tìm kiếm: HashCode, Degree, SumBit. Hệ quản trị cơ sở dữ liệu SQL Server lưu trữ dữ liệu dưới dạng cấu trúc cây
mở rộng (BTree++) nên công việc tìm kiếm sẽ được thực hiện một cách nhanh chóng và hiệu quả hơn nhiều so với phương pháp tìm kiếm tuần tự thông thường.
CHƯƠNG 4
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
4.1. Các kết quảđã đạt được
Về mặt lý thuyết đề tài đã đề xuấ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 cùng với phương thức lưu trữ và tìm kiếm hiệu quả.
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 (hơn bốn triệu), bao gồm:
• Tất cả các đa thức bất khả quy có bậc 25.
• Với mỗi 26 500: phát sinh (ngẫu nhiên) 100 đa thức bất khả quy ở mỗi bậc.
• Tất cả các đa thức bất khả quy dạng trinomial có bậc 2000.
• Các đa thức bất khả quy bậc cao theo các phương pháp tổng hợp khác nhau (sử dụng các đa thức bất khả quy có bậc 10 trong cơ sở dữ liệu ban đầu gồm 226 đa thức bất khả quy).
• Tất cả các đa thức bất khả quy có bậc 10 trên trường hữu hạn .
4.2. Một số hạn chế
Do nhiều hạn chế về nguồn lực, nhất là về mặt thời gian, nên đề tài chưa thể thực hiện tốt việc tối ưu mã. Các giải thuật mà đề tài cài đặt có thể chưa hẳn đã là giải thuật tốt nhất hiện có.
Một điểm hạn chế nữa là đề tài chỉ thực hiện chủ yếu trên trường nhị phân , các chức năng cần mở rộng sang một trường hữu hạn bất kỳ chưa được thực hiện một cách
đầy đủ, chẳng hạn phân tích một đa thức bất kỳ trên trường hữu hạn thành các nhân tử bất khả quy.
4.3. Hướng phát triển
Trong tương lai chúng tôi có thể sẽ phát triển ứng dụng bằng cách mở rộng phạm vi sang một trường bất kỳ với đầy đủ các chức năng cần thiết, nghiên cứu các giải thuật tối ưu thay thế các giải thuật hiện tại và đặc biệt là tìm cách khai thác có hiệu quả kho cơ sở dữ liệu đã xây dựng được bằng cách sử dụng kết quả vào các ứng dụng thực tiễn, đặc biệt là trong các lĩnh vực mã hóa-mật mã và an toàn thông tin.
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Bùi Doãn Khanh, Nguyễn Đình Thúc, Trần Đan Thư (2005), Cơ sở lý thuyết số
trong an toàn – bảo mật thông tin, Nhà xuất bản giáo dục, 2005.
Tiếng Anh
[2] A.J. Menezes, P. van Oorschot and S. Vanstore (1996), Handbook of Applied
Cyptography, CRC Press 1996.
[3] Alfred J. Menezes, I.F. Blake, X. Gao, R.C. Mullin, S.A. Vanstone and T. Yaghoobian (1993), Applications of Finite Fields, Kluwer Academic Publishers, Boston Dordrecht-Lancaster, 1993.
[4] E. Selmer (1956), On the Irreducibility of Certain Trinomials, Math. Scandinavica, 4, 1956, 287-302.
[5] E.R. Rodemich and H. Rumsey Jr. (1968), Primitive polynomials of high
degree, Math. Comp., 22 (1968) pp. 863-865.
[6] Erich Kaltofen (1992), Polynomial Factorization 1987-1991, Proc. Latin’92, I. Simon (Ed.), Springer Lect. Notes Comput. Sci., vol 583, pp. 294-313 (1992). [7] Gary L. Miller (1975), Riemann’s Hypothesis and Tests for Primality, Research
Report CS-75-27, University of Waterloo, Waterloo, Ontario, Canada, October 1975.
[8] I.F. Gao and R. J. Lambert (1994), Constructive problems for irreducible
polynomials over finite fields, in Information Theory and Applications (A.
[9] I.F. Blake, S. Gao and R.J. Lambert (1996), Construction and distribution
problems for irreducible trinomials over finite fields, Applications of Finite
Fields, ed., D. Gollmann, Oxford, Clarendon Press, 1996, 19-32.
[10] J. von zur Gathen (1986), Irreducible polynomials over finite fields, Computer Sciences Technical Report No. 188/86, University of Toronto.
[11] J. von zur Gathen and J. Gerhard (1999), Modern Computer Algebra, Cambridge University Press, 1999.
[12] J. von zur Gathen and V. Shoup (1992), Computing Frobenius maps and
factoring polynomials, Computational Complexity, 2 (1992), pp. 58-63.
[13] J. von zur Gathen (1999), Irreducible trinomials over finite fields, Proc. Amer. Math. Soc. 127 (6) (1999), 1615-1623.
[14] J. Watson (1962), Primitive polynomials (mod 2), Math. Comp. 16 (1962), 368- 369.
[15] Joel V. Brawley, Shuhong Gao and Donald Mills (1991), Computing Composed
Products of Polynomials, Mathematics Subject Classification, 1991.
[16] K.O. Geddes, S.R. Czapor and G. Labahn (1992), Algorithms for Computer
Algebra, Kluwer Academic Publishers, 1992.
[17] L. Carlitz (1970), Factorization of a special polynomial over a finite field, Pac. J. Math., 32 (1970) pp. 603-614.
[18] L.M. Adleman and H.W. Lenstra, Jr. (1986), Finding irreducible polynomials
over finite fields, in Proceedings of the 18th Annual ACM Symposium on Theory of Computing (STOC), Berkeley, 1986, pp. 350-355.
[19] M. Huang (1985), Riemann hypothesis and finding roots over finite fields, Proceedings of the 17th Annual ACM Symposium on Theory of Computing (1985), 121-130.
[20] M.K. Kyuregyan (2004), Iterated constructions of irreducible polynomials over
finite fields with linearly independent roots, Finite Fields Appl. 10 (2004) 323-
431.
[21] M.K. Kyuregyan, M.G. Evoyan (2009), Two methods for constructing
irreducible polynomials over finite fields based on polynomial composition,
proceedings of CSIT 2009, Yerevan, Armenia.
[22] Melsik K. Kyuregyan, Gohar M. Kyureghyan (2009), Irreducible Compositions
of Polynomials over Finite Fields, Otto-von-Guericke University, Armenia.
[23] Nidal Ali (2009), On the Irreducibility for Composition of Polynomials, International Mathematical Forum, 4, 2009, no. 40, 2001-2008.
[24] P. Camion (1983), Improving an algorithm for factoring polynomials over a
finite field and constructing large irreducible polynomials, IEEE Transactions
on Informtion Theory, vol. 29, no. 3, pp. 378-385.
[25] R. Lidl and H. Niederreiter (1987), Finite Fields, Cambridge University Press, 1987.
[26] R. Lidl, H. Niederreiter (1986), Introduction to finite fields and their
applications, Cambridge University Press, 1986.
[27] R. P. Brent, S. Larvala and P. Zimmermann (2003), A fast algorithm for testing
reducibility of trinomials mod 2 and some new primitive trinomials of degree 3021377, Math. Comp. 72 (2003), 1443-1452.
[28] Richard P. Brent and Paul Zimmermann (2010), The great trinomial hunt, Notices of the American Mathematical Society, 4 January 2010.
[29] R.G. Swan (1962), Factorization of polynomials over finite fields, Pac. J. Math.,
12 (1962) 1099-1106.
[30] Ramzi A. Haraty (2004), A Comparative Study of RSA Based Digital Signature
Algorithms, Proceedings of the Sixth International Conference on Enterprise
Information Systems (ICEIS 2004), vol. 3, pp. 79-84, 2004.
[31] Shuhong Gao and Daniel Panario (1997), Tests and Constructions of Irreducible
Polynomials over Finite Fields, To appear in Foundations of Computional
Mathematics, F. Cucker and M. Shub (Eds.), Springer 1997, 346-361.
[32] Thomas W. Judson (2009), Abstract Algebra Theory and Applications, Stephen F. Austin State University, February 14, 2009.
[33] Tom Hansen and Gary L. Mullen (1992), Primitive polynomials over Finite Fields,
[34] Victor Shoup (2008), A Computational Introduction to Number Theory and Algebra, New York 2008.
[35] Victor Shoup (1996), A New Polynomial Factorization Algorithm and Its
Implementation, To appear in Jornal of Symbolic Computation, 1996.
[36] Victor Shoup (1994), Fast Construction of Irreducible Polynomials Over Finite
Fields, J. Symbolic Comput. 17 (1994), no. 5, 371-391.
[37] Victor Shoup (1990), New Algorithms for Finding Irreducible Polynomials over