Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
638,43 KB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN —————————– Khúc Xuân Thành LÝTHUYẾTLƯỚIVÀỨNGDỤNGTRONGMẬTMÃ LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội - Năm 2017 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN —————————— Khúc Xuân Thành LÝTHUYẾTLƯỚIVÀỨNGDỤNGTRONGMẬTMÃ Chuyên ngành: Đại số lýthuyết số Mã số: 60460104 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS Lê Minh Hà Hà Nội - Năm 2017 LỜI CẢM ƠN Lời luận văn em xin gửi lời cảm ơn sâu sắc tới thầy giáo hướng dẫn PGS TS Lê Minh Hà Thầy tận tình hướng dẫn em q trình hồn thành luận văn Nhân dịp em xin gửi lời cám ơn tời tồn thầy giáo khoa Tốn-Cơ-Tin học giảng dạy giúp đỡ chúng em suốt trình học tập khoa Đồng thời, em xin cảm ơn lãnh đạo Viện Khoa học-Công nghệ mật mã, Ban Cơ yếu Chính phủ tạo điều kiện cơng việc để em hồn thành luận văn Hà nội, ngày 01 tháng 08 năm 2017 Học viên Khúc Xuân Thành Mục lục Mục lục Bảng ký hiệu Lời nói đầu Một số kiến thức lưới lược 1.1 Lưới không gian thực n chiều 1.2 Xây dựng sở lưới 1.3 Trực giao hóa Gram-Schmidt 1.4 Một định nghĩa khác lưới 1.5 Lược đồ chữ ký 1.5.1 Lược đồ DSA 1.5.2 Lược đồ ECDSA 1.5.3 Lược đồ GOST R 34.10-2012 8 11 16 24 26 27 29 30 Thuật toán LLL 2.1 Cơ sở lưới rút gọn 2.2 Thuật toán LLL 2.3 Phân tích thuật tốn LLL 32 32 37 39 Ứngdụng thuật toán LLL mậtmã 3.1 Phương pháp Coppersmith 3.1.1 Giới thiệu toán 3.1.2 Xây dựngma trận Coppersmith 46 46 46 48 3.1.3 Áp dụng thuật toán LLL Tấn công lên lược đồ chữ ký số 52 53 3.2 đồ chữ ký số MỤC LỤC 3.3 3.2.1 Ý tưởng xây dựng công 3.2.2 Tấn công theo Blake 2002 3.2.3 Tấn công theo Poulakis 2011 3.2.4 Tấn công theo Draziotis 2016 3.2.5 Tấn công theo Poulakis 2016 Kết thực nghiệm 53 56 59 62 68 73 Kết luận 76 Tài liệu tham khảo 77 Phụ lục A.1 Phương pháp dãy Sturm 80 80 Bảng ký hiệu N N∗ Z Q R C Fq tập hợp số tự nhiên tập hợp số tự nhiên khác tập hợp số nguyên tập hợp số hữu tỉ tập hợp số thực tập hợp số phức Trường hữu hạn gồm q phần tử phép chia hết không chia hết deg bậc đa thức Span(S) Không gian véctơ căng hệ véctơ S GCD Ước chung lớn f = O(g) Tồn c, x0 > cho |f | ≤ c|g| với x ≥ x0 Chuẩn Euclide x·y Tích vơ hướng véctơ x y a Số nguyên gần a a a ≤ q/2 a Với a ∈ [1, , q], a = a − q a > q/2 Lời nói đầu Lýthuyếtlưới nghiên cứu cách khoảng 100 năm tên gọi “hình học số” (geometry of numbers), ứngdụng thực phát triển từ có thuật tốn rút gọn sở lưới ba nhà toán học Arjen Lenstra, Hendrik Lenstra, László Lovász tìm (được viết tắt LLL) [16] Thuật toán LLL xem thuật toán quan trọnglýthuyết số thuật toán thời gian đa thức cho việc phân tích đa thức nguyên giải phương trình diophantine đồng thời Một ứngdụng thuật toán LLL mậtmã phá vỡ hệ mật Merkle–Hellman Sau công lên hệ mật RSA [5], [17] dựa phương pháp Coppersmith Các công lên lược đồ chữ ký DSA [7], [19] ECDSA [20] hướng nghiên cứu quan tâm nhiều Mục đích luận văn tìm hiểu lýthuyết lưới, thuật toán LLL số công lên lược đồ chữ ký số dựa thuật tốn LLL Cụ thể, luận văn trình bày số kiến thức chuẩn bị liên quan đến lýthuyếtlưới trước trình bày phân tích độ phức tạp thuật toán LLL Phương pháp Coppersmith để tìm nghiệm nhỏ đa thức ứngdụng thuật toán LLL mà luận văn trình bày Tiếp theo, luận văn trình bày bốn công công bố gần lên lược đồ chữ ký DSA, ECDSA [2], [23], [24], [8] Một số nhầm lẫn báo luận văn Chẳng hạn như: sai sót tính tốn số để mơ tả cơng [23], số định nghĩa chưa xác [8] hay tính khơng khả thi công [24] Các tác giả báo công nhận nhầm lẫn Bên cạnh đó, luận văn áp dụng bốn công sang lược đồ chữ ký GOST R 34.10-2012 Các kết thực nghiệm cài đặt công phần mềm tính tốn đại số Magma Lời nói đầu nội dung luận văn Bố cục luận văn bao gồm chương: • Chương trình bày số kiến thức chuẩn bị phép trực giao hóa Gram-Schmidt, định nghĩa lưới, lưới cách xây dựng sở lưới Bên cạnh đó, sơ lược lược đồ chữ ký số DSA, ECDSA GOST R 34.10-2012 nội dụng chương • Chương trình bày phân tích độ phức tạp thuật tốn rút gọn sở lưới LLL • Chương trình bày số ứngdụng thuật tốn LLL phương pháp Coppersmith bốn cơng lên lược đồ chữ ký DSA, ECDSA GOST R 34.10-2012 Các kết thực nghiệm cài đặt cơng Magma trình bày chương Do thời gian thực luận văn không nhiều, kiến thức hạn chế nên làm luận văn khơng tránh khỏi hạn chế sai sót Tác giả mong nhận góp ý ý kiến phản biện thầy cô bạn đọc Xin chân thành cảm ơn! Hà Nội, ngày 08 tháng 08 năm 2017 Học viên Khúc Xuân Thành 3.2 Tấn công lên lược đồ chữ ký số Nếu xj = với ≤ j ≤ i ta có q n/(n+1) q (n−i+1)/(n+1) q > |x0 Aj + xj q| ≥ q − |x0 | Aj > q − Ai > , i+1 2 Suy > 4q 1/(n+1) với n (vô lý) Do xj = (j = 1, , i) Khi v > |x0 Ai | > q (n−i)/(n+1) i−1 i/(n+1) q n/(n+1) q = 2i+2 Điều mâu thuẫn với giao thức ban đầu Suy ∀v ∈ L, v > q n/(n+1) Định lý 3.23 Cho L lưới n chiều y ∈ Rn Khi tồn thuật tốn tất định tìm v ∈ L cho với t ∈ L ta có v − y ≤ t − y thời gian 22n+o(n) Chứng minh Xem [18] Định lý 3.24 Cho q số nguyên tố > số nguyên n, Ai , Bi (i = 1, , n) cho n ≤ log log q − 2i−1 q i−1/(n+1) < Ai < 2i q i/(n+1) Khi hệ phương trình đồng dư yi + Ai x + Bi = mod q (i = 1, , n) có nhiều nghiệm v = (x, y1 , , yn ) ∈ {0, , q − 1}n+1 có q n/(n+1) v ≤ 16 Nếu nghiệm tồn thuật tốn Định lý 3.23 áp dụng cho véctơ (0, B1 , , Bn ) lưới Bổ đề 3.22 đưa véctơ w mà tọa độ x Độ phức tạp tính tốn O((log q)2 ) Chứng minh Ta chứng minh phản chứng Giả sử tồn véctơ n/(n+1) v = (x, y1 , , yn ) nghiệm hệ với v < q 16 Ta tồn véctơ w = v mà w < q n/(n+1) 16 70 3.2 Tấn công lên lược đồ chữ ký số Xét lưới L căng hàng ma trận vuông J = −1 A1 A2 An q 0 q 0 q Do yi + Ai x + Bi = mod q nên tồn zi ∈ Z cho −xAi + zi q = yi +Bi (i = 1, , n) Khi véctơ u = (x, −xA1 +z1 q, , −xAn +zn q) ∈ L ta có u−b = u−b = v < q n/(n+1) , 16 b = (0, B1 , , Bn ) Mặt khác, theo Định lý 3.23 ta tìm w ∈ L cho w−b ≤ u−b < q n/(n+1) 16 Độ phức tạp việc tính tốn 22n+o(n) = O((log q)2 ) Do ta có u−w ≤ u−b + w−b < q n/(n+1) Hơn nữa, u − w ∈ L nên từ Bổ đề 3.22 suy u = w Do đó, b = (w0 , w1 , , wn ) x = w0 Dựa 3.24 3.23, [24] đưa thuật tốn cơng khơi phục lại khóa ký điều kiện để cơng thực thành công Cho n số nguyên dương n ≤ log log q − Giả sử có t (t ≤ n) thơng điệp mj (j = 1, , t ) ký Cặp (rj , sj ) chữ ký tương ứng với thông điệp mj Tấn công Poulakis 2016 Đầu vào: Các giá trị (h(mj ), rj , sj ), j = 1, , t Đầu ra: Khóa ký dài hạn a cơng khơng thực Bước Trong GOST R 34.10-2012, tính Cj = rj h(mj )−1 mod q Dj = −sj h(mj )−1 mod q Trong DSA ECDSA, tính Cj = −rj s−1 j mod q −1 Dj = −sj h(mj ) mod q 71 3.2 Tấn công lên lược đồ chữ ký số Bước Chọn số nguyên Ai (i = 1, , n) với 2i−1 q i/(n+1) < Ai < 2i q i/(n+1) Bước Tính Bij = Ai Dj Cj−1 mod q (i = 1, , n, j = 1, , t) Bước Ký hiệu M tập toàn ánh µ : {1, , t} → {1, , n} Với µ ∈ M , tìm nghiệm vµ = (xµ , y1µ(1) , , ynµ(n) ) hệ phương trình đồng dư yi + Ai x + Bi,µ(i) = mod q (i = 1, , n) Bước Nếu vµ < q n/(n+1) /16 lấy a = xµ , vµ chuẩn Euclide vµ Mệnh đề sau đưa điều kiện cần để thực thành cơng cơng để tìm lại khóa ký dài hạn a Mệnh đề 3.25 Đặt kij = kj Ai Cj−1 mod q (i = 1, , n, j = 1, , t) Giả sử tồn µ ∈ M cho a, k1µ(1) , , knµ(n) < q n/(n+1) 16 (3.8) tìm khóa ký dài hạn a Chứng minh Suy từ 3.24 Nhận xét 3.26 Mệnh đề 3.25 dựa giả thiết mạnh tồn µ ∈ M cho thỏa mãn (3.8) Câu hỏi đặt để tìm ánh xạ µ ? Ta thấy vế trái bất đẳng thức (3.8) phụ thuộc chủ yếu vào giá trị Ai kj , Cj−1 cố định Do đó, ta phải tìm đồng thời Ai ∈ 2i−1 q i/(n+1) , 2i q i/(n+1) với i = 1, , n để thỏa mãn (3.8) Vậy nên, việc tìm ánh xạ µ khó Ví dụ, xét lược đồ chữ ký ECDSA với q = 160 bít Giả sử ta có thơng điệp ký n = Khi đó, để thực cơng tìm a ta phải chọn đồng thời giá trị A1 ∈ 240 , 241 ,A2 ∈ (281 , 282 ) A3 ∈ (2122 , 2123 ) cho a, k1µ(1) , k2µ(2) , k3µ(3) < 2120 16 (3.9) Do A1 , A2 , A3 thuộc khoảng lớn nên việc chọn giá trị thỏa mãn (3.9) khó Về vấn đề này, tác giả luận văn trao 72 3.3 Kết thực nghiệm đổi với Poulakis [29] ơng công nhận việc chọn Ai để thỏa mãn đẳng thức (3.8) khó Ngồi ra, Poulakis “tin rằng” lúc chọn giá trị Ai Tuy nhiên, thời gian để chọn Ai Poulakis chưa trả lời Nhận xét 3.27 Ngồi tính hiệu công trên, [24] nhầm lẫn việc thực ví dụ để mơ tả cơng Cụ thể, báo tính sai chữ ký thông điệp, chưa chọn giá trị Ai thuật tốn mơ tả 3.3 Kết thực nghiệm Các Tấn công 1, cài đặt thực tế cơng cụ tính tốn đại số Magma với lực tính tốn CPU Intel Core i7-6700 3.4 Ghz, 8Gb RAM Trong GOST R 34.10-2012, ta xét đường cong E : y = x3 + ax + b [ví dụ 7,[6]] định nghĩa trường hữu hạn Fp , p =57896044618658097711785492504343953926 634992332820282019728792003956564821041 a =7 b =43308876546767276905765904595650931995 942111794451039583252968842033849580414 Cấp nhóm điểm đường cong elliptic E(Fp ) q =5789604461865809771178549250434395392 7082934583725450622380973592137631069619 Mã nguồn cài đặt công lên GOST R 34.10-2012 đặt [28] Dưới số kết thực nghiệm mà đạt Trong ECDSA, ta xét đường cong E : y = x3 + ax + b [NIST 73 3.3 Kết thực nghiệm Tấn công GOST R 34.10-2012 Tấn công Tấn công Tấn công Kích thước q (bít) Kích thước a (bít) Kích thước k (bít) 256 256 256 126 80 90 126 256 256 Kích thước k −1 (bít) 80 90 Thời gian (giây) 0,23 1,79 1,44 Bảng 3.1: Kết thực nghiệm công lên GOST R 34.10-2012 P,[6]] định nghĩa trường hữu hạn Fp , p =11579208921035624876269744694940757353 0086143415290314195533631308867097853951 a =3 b =410583637251521421293261297800472684091 14441015993725554835256314039467401291 Cấp nhóm điểm đường cong elliptic E(Fp ) q =11579208921035624876269744694940757352 9996955224135760342422259061068512044369 Tấn cơng ECDSA Kích thước q (bít) Kích thước a (bít) Kích thước k (bít) Tấn cơng Tấn cơng Tấn công 256 256 256 126 80 90 126 256 256 Kích thước k −1 (bít) 80 90 Thời gian (giây) 0,2 1,8 1,4 Bảng 3.2: Kết thực nghiệm công lên ECDSA Trong DSA, ta sử dụng tự sinh gồm p có kích thước 1024 bít q có kích thước 160 bít 74 3.3 Kết thực nghiệm Tấn cơng DSA Kích thước q (bít) Kích thước a (bít) Kích thước k (bít) Tấn cơng Tấn cơng Tấn công 160 160 160 78 50 56 78 160 160 Kích thước k −1 (bít) 50 56 Bảng 3.3: Kết thực nghiệm công lên DSA 75 Thời gian (giây) 0,21 1,7 1,3 Kết luận Trong luận văn trình bày số kiến thức lýthuyết lưới, phương pháp Coppersmith để tìm nghiệm nhỏ đa thức biến, bốn công lên ba lược đồ chữ ký số điểm nhầm lẫn báo [8], [23], [24] Luận văn cho thấy phần tầm quan trọng thuật toán LLL lýthuyết số mậtmã Các công lên lược đồ chữ ký mà luận văn tìm hiểu cơng gần dựa lýthuyếtlưới Các nhầm lẫn [23], [8] xuất phát từ chủ quan tác giả chỉnh sửa, tính không khả thi [24] xuất phát từ việc cơng dựa giả thiết mạnh Trong đó, đóng góp luận văn bao gồm: Dựa phương pháp công [2], [8], [23], [24] lên lược đồ chữ ký DSA, ECDSA áp dụng vào lược đồ chữ ký GOST R 34.10-2012 Chỉ số nhầm lẫn báo [23], [24], [8] Cài đặt thực nghiệm công Blake 2002, Poulakis 2011, Draziotis 2016 lên GOST R 34.10-2012 Hiện nay, thuật toán LLL gốc [16] có nhiều thuật tốn cải tiến độ phức tạp hiệu cài đặt thuật toán MLLL [26], BKZ [25], HKZ [15], FPLLL [27] Việc tìm hiểu thuật toán hướng nghiên cứu tiếp sau luận văn Bên cạnh đó, lýthuyếtlưới hướng nhà mậtmã quan tâm nhiều hệ mật xây dựnglưới tin tưởng kháng lại máy tính lượng tử điều mà hệ mật truyền thống khơng làm Do đó, tìm hiểu việc xây dựng hệ mật dựa lưới hướng tiếp luận văn Tài liệu tham khảo [1] Padraic Bartlett Finding all the roots: Sturm’s theorem class notes, 2013 [2] Ian F Blake and Theodoulos Garefalakis On the security of the digital signature algorithm Designs, Codes and Cryptography, 26(1):87– 96, 2002 [3] Dan Boneh and Glenn Durfee Cryptanalysis of rsa with private key d less than n/sup 0.292 IEEE transactions on Information Theory, 46(4):1339–1349, 2000 [4] Murray R Bremner Lattice basis reduction: an introduction to the LLL algorithm and its applications CRC Press, 2011 [5] Don Coppersmith Small solutions to polynomial equations, and low exponent rsa vulnerabilities Journal of Cryptology, 10(4):233–260, 1997 [6] Vasily Dolmatov and Alexey Degtyarev Gost r 34.10-2012: Digital signature algorithm 2013 [7] Konstantinos Draziotis and Dimitrios Poulakis Lattice attacks on dsa schemes based on lagrange’s algorithm In International Conference on Algebraic Informatics, pages 119–131 Springer, 2013 [8] Konstantinos A Draziotis Dsa lattice attacks based on coppersmith’s method Information Processing Letters, 116(8):541–545, 2016 [9] Konstantinos A Draziotis, 2017 77 TÀI LIỆU THAM KHẢO [10] PUB FIPS 186-4: Federal information processing standards publication digital signature standard (dss) Information Technology Laboratory, National Institute of Standards and Technology (NIST), Gaithersburg, MD, pages 20899–8900, 2013 [11] Nicolas Gama and Phong Nguyen Predicting lattice reduction Advances in Cryptology–EUROCRYPT 2008, pages 31–51, 2008 [12] Nicholas Howgrave-Graham Finding small roots of univariate modular equations revisited In IMA International Conference on Cryptography and Coding, pages 131–142 Springer, 1997 [13] ISO/IEC 14888-3:2006 Information technology – Security techniques – Digital signatures with appendix – Part 3: Discrete logarithm based mechanisms Standard, 2016 [14] Antoine Joux A new index calculus algorithm with complexity l (1/4+ o (1)) in small characteristic In International Conference on Selected Areas in Cryptography, pages 355–379 Springer, 2013 [15] Ravi Kannan Improved algorithms for integer programming and related lattice problems In Proceedings of the fifteenth annual ACM symposium on Theory of computing, pages 193–206 ACM, 1983 [16] Arjen Klaas Lenstra, Hendrik Willem Lenstra, and László Lovász Factoring polynomials with rational coefficients Mathematische Annalen, 261(4):515–534, 1982 [17] Alexander May Using lll-reduction for solving rsa and factorization problems., 2010 [18] Daniele Micciancio and Panagiotis Voulgaris A deterministic single exponential time algorithm for most lattice problems based on voronoi cell computations SIAM Journal on Computing, 42(3):1364–1391, 2013 [19] Phong Q Nguyen and Igor E Shparlinski The insecurity of the digital signature algorithm with partially known nonces Journal of Cryptology, 15(3), 2002 78 TÀI LIỆU THAM KHẢO [20] Phong Q Nguyen and Igor E Shparlinski The insecurity of the elliptic curve digital signature algorithm with partially known nonces Designs, codes and cryptography, 30(2):201–217, 2003 [21] Phong Q Nguyen and Brigitte Vallée The lll algorithm Information Security and, 2010 [22] John M Pollard Monte carlo methods for index computation mod p Mathematics of computation, 32(143):918–924, 1978 [23] Dimitrios Poulakis Some lattice attacks on dsa and ecdsa Applicable Algebra in Engineering, Communication and Computing, 22(5):347–358, 2011 [24] Dimitrios Poulakis New lattice attacks on dsa schemes Journal of Mathematical Cryptology, 10(2):135–144, 2016 [25] Claus-Peter Schnorr A hierarchy of polynomial time lattice basis reduction algorithms Theoretical computer science, 53(2):201–224, 1987 [26] Charles C Sims Computation with finitely presented groups, volume 48 Cambridge University Press, 1994 [27] Damien Stehlé Floating-point lll: theoretical and practical aspects In The LLL Algorithm, pages 179–213 Springer, 2009 [28] Khúc Xuân Thành Mã nguồn cài đặt công lên gost r 34.10-2012, 2017 [29] Khúc Xuân Thành trao đổi với D Poulakis Question on paper: New lattice attacks on dsa schemes [30] Khúc Xuân Thành trao đổi với K Draziotis Question on paper : (ec)dsa lattice attacks based on coppersmith’s method 79 Phụ lục A.1 Phương pháp dãy Sturm Dãy Sturm đa thức biến p(x) dãy đa thức xây dựng dựa p(x) đạo hàm biến thể thuật tốn Euclid cho đa thức Định lý Sturm số nghiệm thực phân biệt p(x) khoảng số lần thay đổi dấu giá trị dãy Sturm cận khoảng Định nghĩa A.1 [1] Một dãy Sturm dãy hữu hạn đa thức p(x0 ), p1 (x), , pm (x) có bậc giảm dần với tính chất sau: • p0 (x) khơng phương (khơng có thừa số có dạng (q(x)2 ), với q(x) đa thức bất kỳ) • Nếu a nghiệm p(x) dấu p1 (a) giống với dấu p (a) p1 (a), p (a) = • Nếu a nghiệm pi (x) với i đó, < i < m pi−1 (a), pi+1 (a) = Hơn nữa, dấu pi−1 (a) ngược với dấu pi+1 (a) • Dấu pm (x) ln không thay đổi pm (x) = với x Mệnh đề A.2 [1] Cho trước đa thức khơng phương p(x), với cách xây dựng cho ta dãy Sturm: • p(x) = p0 (x) • p1 (x) = p (x) • p2 (x) = −rem(p0 (x), p1 (x)) = p1 (x)q0 (x) − p0 (x), rem(p0 (x), p1 (x)) phần dư chia đa thức p0 (x) cho đa thức p1 (x) A.1 Phương pháp dãy Sturm • p3 (x) = −rem(p1 (x), p2 (x)) = p2 (x)q1 (x) − p1 (x) • pk = −rem(pk−2 (x), pk−1 (x)) = pk−1 (x)qk−2 (x) − pk−2 (x) • Lặp lại trình tới ta thu −rem(pm−1 , pm ) = 0, pm (x) = Chứng minh Xem [1] Định lý A.3 [1] Cho p(x) đa thức khơng phương, p0 (x), , pm (x) dãy Sturm p(x) khoảng (a, b) cho pi (a), pi (b) = với i Với ξ số bất kỳ, ký hiệu σ(ξ) số lần thay đổi dấu dãy p0 (ξ), , pm (ξ) Khi đó, p(x) có σ(a) − σ(b) nghiệm phân biệt khoảng (a, b) Chứng minh Xem [1] Thuật tốn tìm nghiệm đa thức dựa dãy Sturm Đầu vào: Một đa thức p(x) = an xn + · · · + a1 x + a0 , sai số cho phép ε khoảng (a, b) mà ta muốn tìm nghiệm cho pi (a), pi (b) = 0, với pi (x) dãy Sturm tương ứng p(x) Đầu ra: Các nghiệm p(x) khoảng mà ta muốn tìm với sai số cho phép ε Bước 1: Tính dãy Sturm p0 (x), , pm (x) tương ứng p(x) Bước 2: Tính k = σ(a) − σ(b) (1) Nếu k = p(x) khơng có nghiệm khoảng (a, b) (2) Nếu k = áp dụng phương pháp chia đơi p(x) để tìm nghiệm (3) Trường hợp lại, k ≥ (a) Nếu k ≤ 2ε Dừng p(x) có k nghiệm (b + a)/2 sai số (b) Nếu k ≥ 2ε Đặt c = (b + a)/2 method of bisections 81 A.1 Phương pháp dãy Sturm (i) Nếu pi (c) = với < i < m thực lại Bước với hai khoảng (a, c) (c, b) (ii) Nếu pi (c) = với < i < m Đặt d = c + ω (w lượng nhỏ cho d ∈ (a, b) Thực lại Bước với hai khoảng (a, d) (d, b) Ví dụ A.4 [1] Tìm tất nghiệm p(x) = x6 − 4x3 + x − với sai số ±1/10 khoảng (−2, 2) Trước hết, ta tính dãy Sturm p0 (x) = x6 − 4x3 + x − p1 (x) = 6x5 − 12x2 + p2 (x) = −rem(x6 − 4x3 + x − 2, 6x5 − 12x2 + 1) = 2x3 − 5x + p3 (x) = −rem(6x5 − 12x2 + 1, 2x3 − p4 (x) = p5 (x) = 5x 25x + 2) = 18x − 24 + 25x 92687x 5159 −rem(2x3 − 5x + 2, 18x − 24 + ) = 93312x − 2592 92687x 5159 12568084416 −rem(18x2 − 25x 24 + , 93312x − 2592 ) = − 175324081 Tại x = 2, ta có p0 (x) p1 (x) 32 p2 (x) 16, 33 145 p3 (x) p4 (x) 71, 42 −3, × 10−3 p5 (x) −71, 68 Tại x = −2, ta có p0 (x) 92 p1 (x) p2 (x) p3 (x) p4 (x) p5 (x) −239 −12, 33 75, 58 −3, 98 −71, 68 Do đó, σ(−2) − σ(2) = − = Xét c = 0, ta có p0 (x) p1 (x) p2 (x) p3 (x) -2 1,5 p4 (x) p5 (x) -1,99 −71, 68 Do p(−2) = 92, p(0) = −2, p(2) = 32 nên p(x) có nghiệm khoảng (−2, 0) nghiệm khoảng (0, 2) Áp dụng phương pháp chia đôi hai khoảng [−2, 0] [0, 2], ta có 82 A.1 Phương pháp dãy Sturm khoảng [a, b] điểm [a, b] p(x) điểm [−2, 0] -1 p(−1) = [−1, 0] -0,5 p(−0, 5) ≈ −1, 98 [−1, −0, 5] -0,75 p(−0, 75) ≈ −0, 88 [−1, −0, 75] -0,875 p(−0, 875) ≈ 0, 25 [−0, 875, −0, 75] -0,8125 p(−0, 8125) = khoảng [a, b] điểm [a, b] p(x) điểm [0, 2] p(1) = −4 1,5 p(1, 5) = −2, 61 [1, 2] [1, 5, 2] 1,75 p(1, 75) = 7, 04 [1, 5, 1, 75] 1,625 p(1, 625) ≈ 0, 87 [1, 5, 1, 625] 1,5625 p(1, 5625) = Do đó, x = 1, 5625 x = −0, 8125 nghiệm p(x) 83 A.1 Phương pháp dãy Sturm 84 ... HỌC KHOA HỌC TỰ NHIÊN —————————— Khúc Xuân Thành LÝ THUYẾT LƯỚI VÀ ỨNG DỤNG TRONG MẬT MÃ Chuyên ngành: Đại số lý thuyết số Mã số: 60460104 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS... Thuật toán LLL xem thuật toán quan trọng lý thuyết số thuật toán thời gian đa thức cho việc phân tích đa thức nguyên giải phương trình diophantine đồng thời Một ứng dụng thuật toán LLL mật mã phá... trận Y Ta kết luận lưới ρL bao gồm tất bội số nguyên ρ véctơ L, lưới lưới M Ta chứng minh bổ đề sau: Bổ đề 1.10 Nếu L lưới M lưới số ρ ρL ⊆ M ⊆ L Định lý 1.11 Cho L lưới Rn M lưới L Giả sử x1