1. Trang chủ
  2. » Luận Văn - Báo Cáo

testing is intended to show that a program does what it is intended to do and to dis

92 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN THỊ MỴ KHẢO SÁT CÁC THUẬT TOÁN KIỂM ĐỊNH SỐ NGUYÊN TỐ LỚN VÀ ỨNG DỤNG Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số : 60.48.01.01 LUẬN VĂN THẠC SĨ HƢỚNG DẪN KHOA HỌC: PGS TSKH NGUYỄN XUÂN HUY THÁI NGUYÊN – 2017 download by : skknchat@gmail.com LỜI CAM ĐOAN T i xin kết nghi n t i kh m o n yl u luận v n n y l trung th T i ng xin luận v n n y ã ƣợ ƣợ ng tr nh nghi n u ri ng t i, s liệu v v kh ng tr ng l p với m o n r ng s gi p ảm ơn v cho việ th th ng tin trí h dẫn luận v n ã hỉ rõ nguồn g T giả Nguyễn Thị Mỵ \ i download by : skknchat@gmail.com LỜI CẢM ƠN T i xin b y tỏ s kính trọng v lịng biết ơn s u sắ ến PGS.TSKH Nguyễn Xuân Huy - ngƣời ã tận t nh hƣớng dẫn v gi p qu tr nh họ tập, nghi n u v ho n th nh luận v n, xin ảm ơn gi o v ngo i trƣờng ã ung ấp kiến th ho qu tr nh họ tập v rèn luyện T i t i su t thầy, v tạo i u kiện thuận lợi th n t i ng xin ƣợ b y tỏ lòng biết ơn h n th nh ến B n Gi m Hiệu, thầy gi o, gi o phòng S u ại họ trƣờng Đại họ C ng Nghệ Th ng Tin &Truy nTh ng, thầy gi o Viện C ng Nghệ Th ng Tin ã giảng dạy v tạo i u kiện ho t i họ tập, nghi n Xin ảm ơn gi u v ho n th nh luận v n n y nh, bạn bè ã hết lòng gi p , khí h lệ, ộng vi n t i ể t i ho n th nh luận v n Thái Nguyên, tháng 03 năm 2017 T giả Nguyễn Thị Mỵ ii download by : skknchat@gmail.com DANH MỤC CÁC KÝ HIỆU TRONG LUẬN VĂN Kí hiệu Ý nghĩa ℝ Tập s th ℝ+ Tập s th ℕ Tập s t nhi n (kể ả 0) ℤ Tập s nguy n ℤ+ Tập s nguy n kh ng m, ℤ+ = ℕ (a, b), gcd (a,b) Ƣớ Ordn(b) Bậ ℤ/n V nh nguy n theo modulo n kh ng m lớn av b b theo modulo n Nếu n nguy n theo th ℤ/n l trƣờng ℤ[x] V nh ≡ To n ẳng, tƣơng ƣơng, ồng dƣ ϕ(n) H m phi Euler L, BitLen(n) S bit biểu diễn nhị ph n n logn log rit s lgamma(n) log((n1)!) ( ) th Tổ hợp hập k ( nguy n n n ) iii download by : skknchat@gmail.com DANH MỤC CÁC BẢNG TRONG LUẬN VĂN Bảng Tên bảng luận văn Trang 1.1 Ph n b s nguy n t 10 1.2 Một v i s nguy n t Mersenne 16 1.3 Một s 17 p nguy n t sinh i 1.4 Một s s nguy n t Sophie Germ in 17 1.5 V i s gi i thừ nguy n t 18 1.6 20 s nguy n t ầu ti n v h m n#, pn# 19 1.7 Một s s nguy n t gi i th y ã biết 1.8 20 Thời gi n m y tính d ng ể ph n tí hs n r thừ s nguy n t 2.1 C s nguy n t v hợp s khoảng 2100-1 l s 2.2 C phép + v ⋅ v nh ℤ/7 49 3.1 C phƣơng th 52 3.2 Bậ lớp BI biệt 24 31 s ℤ/7 61 ℤ/7 62 3.3 H i phần tử sinh iv download by : skknchat@gmail.com MỤC LỤC LỜI CẢM ƠN II DANH MỤC CÁC KÝ HIỆU TRONG LUẬN VĂN III DANH MỤC CÁC BẢNG TRONG LUẬN VĂN IV MỞ ĐẦU CHƢƠNG1 TỔNG QUAN VỀ SỐ NGUYÊN TỐ 1.1 Các định nghĩa khái niệm mở đầu 1.2 Một số tính chất số nguyên tố 1.3 Sự phân bổ số nguyên tố 1.4 Số giả nguyên tố 11 1.5 Số Mersenne 13 1.6 Số Fermat 16 1.7 Các số nguyên tố lớn 17 171C s nguy n t sinh i 17 172C s nguy n t Sophie Germ in 17 173C s gi i thừ nguy n t 18 174C s nguy n t gi i th y 19 1.8 Ứng dụng số nguyên tố 21 Mật mã v s nguy n t 21 182C hệ mật mã ng kh i 21 CHƢƠNG CÁC THUẬT TOÁN KIỂM ĐỊNH SỐ NGUYÊN TỐ 26 2.1 Các lớp P NP 26 2.2 Thuật toán kiểm định theo√ 28 2.3 Sàng Eratosthenes 30 2.4 Thuật toán kiểm định theo xác suất MILLER-RABIN 31 Cơ sở to n họ 31 Thuật to n Miller Test 36 v download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis Thuật to n Miller-Rabin 36 244C trƣờng hợp biệt 37 2.5 Kiểm định theo giả thuyết Riemann 38 2.6 Thuật tốn kiểm định tính ngun tố AKS 39 2.6 Giới thiệu 39 2.6 Định lí AKS 40 2.6 Thuật to n 41 2.6 Một s kiến th to n họ 42 2.7 Thuật toán Bernstein 46 2.7 Định lí Bernstein 46 2.7 Thuật to n Bernstein 47 CHƢƠNG CÀI ĐẶT VÀ ỨNG DỤNG 48 Lớp BI 49 1 Nhận xét 49 312C trƣờng liệu 49 313C phƣơng th 49 3.2 Lớp ARITHM 55 Ƣớ lớn 55 2 H m phi Euler 55 323S hính n 56 Bậ theo modulo 58 C n nguy n th y 59 S nguy n t s t s u 61 Kiểm tr ƣớ nguy n t 62 Ƣớ nguy n t lớn 64 Nh n modulo 66 10 L y thừ modulo 67 vi testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis 3.3 Lớp BIPOL 67 331C trƣờng liệu 67 332C phƣơng th 67 3.4 Lớp MR 72 3.5 Lớp AKS 72 3.6 Ứng dụng 72 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 73 TÀI LIỆU THAM KHẢO 79 vii testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis MỞ ĐẦU Số nguyên tố l s t nhi n lớn v Định nghĩ v s nguy n t m vấn xo y qu nh lu n l m d hỉ hi hết ho v hính ơn giản v ngắn gọn nhƣng nh to n họ qu n t m S nguy n t l kh i niệm xƣ s nguy n t l vật liệu x y d ng n n nguy n t t ng l n v hạn n n to n họ C s t nhi n V u hỏi ầu ti n s t r l : Có số nguyên tố? Có thể liệt k tất ả h ng r h y h ng lập th nh dãy s v hạn Để h ng minh i u n y Eu lid ã ƣ r lập luận, xuất ph t từ giả thiết phản h ng r ng dãy s nguy n t l hữu hạn, s u ó hỉ r s nguy n t kh với s nguy n t ã ó M u thuẫn n y ho biết tập s nguy n t l vô hạn S u Eu lid h ng minh ó v s xung qu nh s nguy n t ƣợ ƣ r s nguy n t , nhi u Một s u hỏi u hỏi ó, dƣới ph t biểu ơn giản, ã trở th nh b i to n lị h sử to n họ m ho ến n y hƣ ó ƣợ lời giải trọn vẹn Ngƣời t kh ng t m thấy s tuần ho n n o dãy s nguy n t S ph n b ph t s nguy n t tỏ r ph tạp v kh ng ó quy luật Việ s nguy n t lớn thời gi n d i l s qu n t m nhi u nh to n họ Tuy nhi n ho ến n y s họ òn tồn nhi u giả thuyết mở v s nguy n t ng y n y việ nghi n Hơn nữ , thời ại u s nguy n t ng nghệ th ng tin ng ƣợ kí h thí h s kiện l s nguy n t tỏ r ó í h việ mã hó v giải mã th ng tin Tính bảo mật v khai ƣợ n to n qu tr nh tr o ổi khó v ảm bảo b ng ộ ph nguy n th nh tí h t n ho việ tạp thừ s nguy n t hạy m y tính ể th hệ mật mã khó ng b i to n s họ ph n tí h s Nói h kh , vấn thời gi n ti u b i to n ph n tí h s nguy n testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis lớn th nh to n thừ s nguy n t hầu hết nói ri ng Đó ƣợ sử dụng l m hỉ ti u hệ mật mã khó ng l lí ể ng kh i RSA ƣợ nh gi ộ n ng kh i nói v hệ mật mã RSA hệ mật mã nói v hệ mật mã khó ộng ồng qu tế hấp nhận rộng rãi thƣơng mại iện tử v tr o ổi th ng tin Trong khu n khổ m nh, luận v n tr nh b y qu n ến s nguy n t v ng dụng thuật to n li n thuật to n tr n ể từ ó hƣơng tr nh thử nghiệm nh m nhấn mạnh v i trò i t s nguy n t việ mã hó v giải mã th ng tin Đối tượng phạm vi nghiên cứu Luận v n tập trung t m hiểu v s nguy n t v hệ mật thiết ến s nguy n t , b o gồm t , hệ mật mã khó nguy n t i tƣợng ó qu n thuật to n kiểm ịnh s nguy n ng kh i Ngo i r luận v n qu n t m ến s lớp s biệt thƣờng ƣợ khuyến o tr nh sử dụng x y d ng hệ mật mã v thuật to n kiểm ịnh s nguy n t n y thƣờng ó ộ ph tạp kh ng o Những nội dung nghiên cứu Nội dung hính s u luận v n h yếu tập trung v o nghi n u vấn y: Chương Tổng quan số nguyên tố khái niệm liên quan Trong hƣơng n y họ vi n tr nh b y v tổng qu n s nguy n t : Giới thiệu v s nguy n t , ịnh lý qu n trọng v v i lớp s nguy n t qu n trọng lị h sử to n họ Chương Giới thiệu số thuật toán kiểm định số nguyên tố Trong hƣơng n y, luận v n tập trung tr nh b y ịnh s nguy n t lớn d v phƣơng ph p x tr n tiếp ận kh thuật to n kiểm nh u: phƣơng ph p tất ịnh suất testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis 3.3.2.2 Lũy thừa mod (N, xR  1) Cho f l v nh modulo (N, xR1) v k l s v nh th mod N Cần tính z = f k modulo (N, xR1) Trong ả h i thuật to n AKS v AKSB t u phải kiểm tr ẳng th (x+a)N  xN + a mod (N, xR1), a < N Vế phải ẳng th tr n ơn giản, ụ thể l , N > R n n xN + a  xN mod R + a mod (N, xR1) v ó ó dạng biểu diễn BIPOL l dãy hệ s th bậ N mod R, ụ thể l hệ s c0 = a, hệ s cN mod R = Nhận xét tr n ho t biết hỉ ần th f có bậc m th th th tính h m f k ó bậ mk Trong hai u phải tính fN với f = x+a l thuật to n AKS v AKSB t Ngoải r , f l t phƣơng th mod (n, xR1), a < n (x+a)n Để ý r ng i th bậ bậ v k < R th f k mod (n, xR1) = f k mod N T xét trƣờng hợp s u: Trường hợp k < R Khi ó bậ th kết f k l k < R th kết f k l Trường hợp k = R Khi ó bậ Trường hợp k > R Gọi d l thƣơng v v l dƣ phép hi k ho R1 T ó k = d(R1) + v, ≤ v < R1 v ó f k = (fR1)d  f v T tính ri ng th nh phần tổng hợp kết quả, ụ thể l Tính t1 = f R1 mod N 70 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis Tính t2 = f v mod N Tính t3 = t1d mod (N, xR1) Kết = (t1  t3) mod (N, xR1) Operator ^ Ch n ng: tính z = f^k mod n Input: f: BIPOL k: BI Output: z Method if (f = or f = 0) then return f endif; // 1^k = 1, 0^k = z ≔ BIPOL(1); if (k < R) then for i ≔ to BitLen(k) – if Bit(k[i]) = then z ≔ z* f endif; f := f*f; end for return z; endif // k >= R DivMod(k, R-1, d, v); // k = d(R-1)v // Tính th c t := f^(R-1); // Tính th c z := f^v; // Tính d thu z = z*t^d for i ≔ to BitLen(d)-1 if (Bit(d[i] = 1) then z := z* t endif; t := t*t; endfor return z; endoperator * 71 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis 3.4 Lớp MR Lớp MR gồm thuật to n kiểm ịnh x suất tính nguy n t theo thuật to n Miller-Rabin Họ vi n ã th Kiểm kiểm ịnh s u y: ịnh theo thuật to n Miller-R bin 5000000 theo h i phƣơng n ó v kh ng xét s nguy n t trƣờng hợp dƣới biệt (m tả mụ 4 Kiểm ịnh tr n i s nh thuật to n Miller-R bin v thuật to n AKSB s lớn 3.5 Lớp AKS Lớp AKS gồm thuật to n AKSB ải tiến theo kết Bernstein Để x ng hỉ r l Bernstein họn s th m biến nhƣ s u ịnh s nguy n t r n n xuất ph t từ gi trị r = r0 s u ó gọi h m NextPrime(r) ể t m s nguy n t Nếu s bit biểu diễn n, L lớn họn r0 = 01∙L2, ngƣợ lại, L ≤ 32 bit th 32 bit th 003∙L Tuy nhi n, ơn giản t Độ ph họn r0 = hỉ ần họn r0 ≥ tạp tính to n: L phép kh i n v L phép l y thừ , ó L = BitLen(n) = log2n l s bit biểu diễn n Thuật to n tính biểu th ( )( )( i u kiện ho s (2 5) )( ( ) Kí hiệu C(n, k) l h m ho gi trị tổ hợp ( H i vế biến n n bất ẳng th (1) ) ul ( ) ( k theo n T biết: ) s kh ng m M t kh (2 5) xảy r v v P lần lƣợt l vế tr i v phải √ ( ) ) h m log rit ồng hỉ log(T) ≤ log(P), ó T (2 5), log ƣợ tính theo s t nhu n e 72 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis Trong thƣ viện m th C++, h m lg mm (n) ho t log rit (n1)!, ụ thể l lgamma(n) = log(n!) = log(1)+log(2)+…+log(n-1) T ó: log(C(n,k)) =  log(n!)  log(k!) log((n-k)!) = lgamma(n+1)lgamma(k+1)lgamma(nk+1) Gọi LogC(k,n) l h m tính log rit tổ hợp C(n,k), t ó LogC(k, n) = log(C(n,k)) = log(n!) - log(k!) - log((n-k)!) = lgamma(n+1)lgamma(k+1)lgamma(nk+1) Khi ó log rit vế tr i l : log(T) = LogC(2*s, i) + LogC(d, i) + LogC(2*si, j) + LogC(r1d, j) v r l s nguy n t n n φ(r) = r1 ( ) ⌈√( ) ⌉ ( ) 3.6 Ứng dụng cấp khóa cho hệ mã RSA Trong hệ mật mã RSA qui tr nh sinh khó gồm ho ngƣời sử dụng b o bƣớ s u: K1 Chọn h i s nguy n t p v q lớn K2 Tính tí h n = pq v h m phi Euler (n) = (p1)(q1) K3 Chọn h i s nguy n dƣơng d v e thỏ i u kiện de  mod (n) Giữ khó ri ng (d,n), khó th h i l (e,n) ể ng kh i Với ngƣời sử dụng ần ấp khó t giả thiết l hệ th ng ần họn s nguy n t p v q lớn h i ngƣ ng sp v sq ho trƣớ NextPrime dƣới y th h Thuật to n n ng tr n 73 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis Algorithm NextPrime(BI x) Ch n ng: Tim s nguy n t s t s u x Input : s nguy n x output: s nguy n t ầu ti n > x Method // Xuất ph t từ s lẻ x if (x l s endif hẵn) then x ≔ x + else x ≔ x +2 while not Prime(x) x ≔ x + 2; endwhile return x; endNextPrime T m s nghị h ảo theo modulo : Cho , n nguy n t ịnh x thỏ ng nh u X i u kiện x mod n = x ƣợ gọi l s nghị h ảo modulo n Trƣớ hết vận dụng thuật to n Eu lid mở rộng t m x v y thỏ : ax + ny = (a,n) = Từ y suy r ( x mod n) + (ny mod n) = mod n Vậy x mod n = Algorithm Inv(BI a, BI n) Ch n ng: T m s nghị h ảo theo modulo n input: BI a, BI n; (a,n) = output: x thỏ x mod n = Method x := 0; b := n; u := 1; q := a/b; r := a - q*b; while (r > 0) a := b; b := r; t := u; u := x; x := t - q*x; q := a / b; r := a - q*b; endwhile return (x > 0) ? x : x+n; endInv 74 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com theo testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis Khi x ịnh ƣợ h i s nguy n t p,q v tính ƣợ d, e nhờ h i thuật to n NextPrime v Inv t mã hó m theo v giải mã theo ng th ng th Algorithm GenKey(BI sp, BI sq) Ch n ng: sinh khó k input: BI sp, BI sq ; output: d,e thỏ de  mod (n), (n) = (p1)(q1) Method P: = NextPrime(sp); // Tim so nguyen to p > sp q: = NextPrime(sq);// Tim so nguyen to q > sq n:= p*q; phi := (p-1)*(q-1); // Tinh d thoa (d,phi) = d := (p+q)/2; while (Gcd(d,phi) != 1) d:=d+1; endwhile // Tinh e thoa de % phi = e: = Inv(d,phi); // Kiem tra d, e for (m = 1; true; ++m) { = PowMod(m, e,n);// mã hó m v = PowMod( , d, n);// giải mã m } Endfor EndGenKey 75 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis Bảng so s nh thời gi n kiểm ịnh s nguy n t theo h i thuật to n ã ƣợ i t 76 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis số hệ Thời gian kiểm định Thời gian kiểm định thập phân theo Miller – Rabin theo AKS 10000339 gi y với k=100 lần gi y 193707721 gi y với k=100 lần 15 gi y 761838257287 gi y với k=100 lần 218 gi y 203891234567897 gi y với k=100 lần 1555 gi y 77 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis Một s kết hạy hƣơng tr nh 78 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis 79 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis KẾT LUẬN CHƢƠNG D v o nội dung t m hiểu ƣợ hƣơng 2, hƣơng ã ã cập ến ý nghĩ , lý h tổ ch c liệu v s nguy n t v i s nh giữ i t i thuật to n v lớp i tƣợng ể quản ng dụng ể t m khó cho hệ mã RSA 80 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN M d ng dụng c a s nguy n t kh ng nhi u nhƣng v i trò i với hệ mật mã quan trọng, c biệt l s nguy n t lớn Trong phạm vi c a luận v n, họ vi n ã th c ƣợc: T m hiểu v i trò v Nắm ầy ịnh lý qu n trọng li n qu n ến s nguy n t thuật to n kiểm ịnh s nguy n t kiến th c v T m hiểu v ải tiến thuật to n nh m t ng t Thiết kế i T m khó ho hệ mã hó RSA t lớp ộ tính to n i tƣợng quản lý s nguy n t Qu tr o ổi v xin ý kiến c huy n gi họ vi n thấy r ng: Một hƣớng ph t triển ó ý nghĩ nghi n b i to n li n qu n ến hệ mật mã 81 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com u giải testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis TÀI LIỆU THAM KHẢO [1] Singh Simon (2008), Mật mã: từ cổ điển đến lượng tử, NXB Trẻ, Phạm V n Thi u, Phạm Việt Hƣng dị h [2]Singh Simon (2010), Định lí cuối Fermat, NXB Trẻ, Phạm V n Thi u, Phạm Việt Hƣng dị h [3]H Huy Kho i – Phạm Huy Điển – Số học thuật toán, NXB Kho họ H Nội n m 1996 [4]Neeraj and Saxena Nitin (2004), PRIMES is in P, Annals of Mathematics, 160 (2): – 781 793 doi:10.4007/annals.2004.160.781 JSTOR 3597229 [5] Bernstein Daniel J (2003), Proving Primality After Agrawal-KayalSaxena, (manuscript, version of January 25) [6] Granville Andrew (2004), It is easy to determine whether a given integer is prime, BULLETIN (New Series) OF THE AMERICAN MATHEMATICAL SOCIETY, Volume 42, Number 1, Pages 338, S 02730979(04)01037-7 [7] Kenneth Rosen H (1993), Elementary Number Theory And Applications, Third edition, Addison-Wesley [8] Knuth Donald E (2003), Selected Papers on Discrete Mathematics (cloth), Lecture Notes (106) Stanford, CA: Center for the Study of Language and Information, SLI, ISBN 1-57586-249-2, ISBN 1-57586-2484 (paperback) [9] Knuth Donald E (2010), Selected Papers on Design of Algorithms, CSLI Lecture Notes, no 191, ISBN 1-57586-583-1 (cloth), ISBN 1-57586582-3 (paperback) 82 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis [10] Knuth Donald E (2003), The Art of Computer Programming, 1: Fundamental Algorithms (3rd ed.), Addison-Wesley, Professional ISBN 0201-89683-4 [11] Knuth Donald E (2003), The Art of Computer Programming, 2: Seminumerical Algorithms (3rd ed.), Addison-Wesley Professional ISBN 0201-89684-2 [12] Knuth Donald E (2003), The Art of Computer Programming, 4A: Combinatorial Algorithms, Addison-Wesley Professional ISBN 0-201- 03804-8 [13] Ribenboim, Paulo (1991),The Little Book of Big Primes, SpringerVerlag 83 testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis download by : skknchat@gmail.com testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis testing.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.distesting.is.intended.to.show.that.a.program.does.what.it.is.intended.to.do.and.to.dis

Ngày đăng: 08/01/2024, 00:43

w