Các giải thuật tìm kiếm và thao tác trên cơ sở dữ liệu

Một phần của tài liệu XÂY DỰNG CƠ SỞ DỮ LIỆU CÁC ĐA THỨC BẤT KHẢ QUY (Trang 65 - 72)

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

KT LUN VÀ HƯỚNG PHÁT TRIN

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ế (adsbygoogle = window.adsbygoogle || []).push({});

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 LIU THAM KHO

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 (adsbygoogle = window.adsbygoogle || []).push({});

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. (adsbygoogle = window.adsbygoogle || []).push({});

[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

Một phần của tài liệu XÂY DỰNG CƠ SỞ DỮ LIỆU CÁC ĐA THỨC BẤT KHẢ QUY (Trang 65 - 72)