2.5.1. Độ phức tạp tính toán
Độ phức tạp tính toán của thuật toán mã hóa trong cả 3 sơ đồ cải tiến trên là tương đương vì đều cần phải tính J M
N và M2 mod N. Vì vậy, chúng ta chỉ so sánh độ phức tạp tính toán của các thuật toán giải mã.
Trước hết dễ dàng nhận thấy, những tính toán chủ yếu của thuật toán giải mã Shimada gồm:
(1) Tính L C
p và L C
q . Các đại lượng này, trong trường hợp tổng quát, tính theo công thức: ( 1)/2 mod p C L C p p và ( 1)/2 mod q C L C q q
Nếu xem phép tính cơ bản là phép nhân và phép chia mod, thì theo [1], số phép tính cần thực hiện xấp xỉ bằng 2 log2 1 2 log2 1 2 log2 1 1
2 2
p q
p q
(2) Tính các nghiệm x1, x2, x3, x4 của phương trình X2 = mod N theo các công thức trong mục 2.4.1. Trong số đó, hai công thức phức tạp nhất là :
( 1)/ 4 ( 1)/ 4 mod , mod p q p p x a p x b q Cũng theo [1] thì phép tính cần dùng xấp xỉ bằng 2 2 2 1 1
2 log 2 log 2 log 1 1
4 4
p q
p q
(3) Tính hai hàm te(x) và ue(x) đối với ít nhất một nghiệm, nhiều nhất 4 nghiệm. Do đó, trung bình phải tính te(x) và ue(x) đối với hai trong số bốn nghiệm x1, x2, x3, x4 nên số phép tính xấp xỉ bằng
2 2 2
1 1
2 log 2 log 2 log 1 1
4 4
p q
p q
Từ (1), (2) và (3) suy ra, độ phức tạp tính toán của thuật toán giải mã Shimada xấp xỉ bằng
2
8 log p 1 q 1
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
(3), nên độ phức tạp xấp xỉ bằng: 2
4 log p 1 q 1
Thuật toán giải mã trong sơ đồ THA chỉ phải thực hiện các phép tính trong (2), nên độ phức tạp xấp xỉ bằng:
2
2 log p 1 q 1
Các kết quả phân tích trên được trình bày trong bảng sau:
Sơ đồ Số phép toán cơ bản
THA 2 log2 p 1 q 1
Chen-Tsu 4 log2 p 1 q 1
Shimada 8 log2 p 1 q 1
Bảng 2.1: Độ phức tạp tính toán của các thuật toán giải mã 2.5.2. Mức độ bảo mật
Trong cả 3 sơ đồ, khóa bí mật là hai số nguyên tố p, q và khóa công khai là N=pxq. Do vậy, mức độ bảo mật của chúng chính là độ khó của bài toán phân tích một số ra thừa số nguyên tố.
2.5.3. Phạm vi ứng dụng
Trong cả 2 sơ đồ của Shimada và Chen-Tsu đều cần dùng tính chất te(M) = td(C) và ue(M) = ud(C). Để có được tính chất này thì, cần chọn p dạng 7(mod 8) và q dạng 3(mod 8). Cả 2 dạng này đều là các trường hợp riêng của dạng 3(mod 4). Thực tế cho thấy tập các số nguyên dạng 7(mod 8) và 3(mod 8) nhỏ hơn nhiều so với tập số nguyên 3(mod 4). Sơ đồ THA sử dụng dạng 3(mod 4) nên phạm vi ứng dụng rộng hơn so với 2 sơ đồ trước.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Chương 3
PHẦN MỀM THỬ NGHIỆM Cài đặt chƣơng trình
Để so sánh tốc độ thực hiện của các thuật toán cải tiến được trình bày trong luận văn với nhau, tác giả đã tiến hành cài đặt các phương pháp này bằng ngôn ngữ lập trình Csharp trên Net Framework 4.0.
Nội dung cài đặt bao gồm các module sau:
a)Module sinh số nguyên tố có độ dài hàng trăm chữ số. Trong mudule này, tác giả sử dụng thuật toán kiểm tra số nguyên tố của Miller – Rabin để sản sinh các dạng số nguyên tố khác nhau ứng với mỗi sơ đồ cải tiến.
b)Module mã hóa của ba phương pháp Shimada, Chen-Tsu và THA. c)Module giải mã của ba phương pháp Shimada, Chen-Tsu và THA.
Chi tiết về giao diện, các thao tác sử dụng của các module này sẽ được mô trả trong các phần kế tiếp.
3.1. Sinh và kiểm tra số nguyên tố làm khóa
Hình 3.1: Sinh số nguyên tố và tạo khóa
Với giao diện như trên, người dùng thực thiện tuần tự các bước như sau : Bước 1: Chọn độ dài cho hai số nguyên tố p và q
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Bước 2: Chọn chức năng Rabin hoặc Shimada&Tsu để chương trình sản sinh hai số nguyên tố có dạng tương ứng với từng sơ đồ mã hóa.
Bước 3: Chọn chức năng Tạo Khóa để chương trình sinh ra cặp khóa công khai và khóa bí mật, hai khóa này được lưu trữ vào hai tệp khóa tương ứng trên giao diện.
Bên cạnh đó, trong module còn cung cấp cho người dùng giao diện để thực hiện chức năng kiểm tra dạng của số nguyên tố cho trước như sau :
Hình 3.2: Kiểm tra số nguyên tố
3.2. Mã hóa theo sơ đồ cải tiến của Shimada
Các sơ đồ cải tiến đều có giao diện và thao tác sử dụng tương đối giống nhau, vì vậy sau đây chỉ xin trình bày giao diện một sơ đồ cải tiến của Shimada.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Với giao diện như trên, người dùng thực thiện tuần tự các bước sau : Bước 1: Nạp khóa công khai N để thực hiện mã hóa.
Bước 2: Nạp tệp bản rõ cần mã hóa.
Bước 3: Chọn chức năng Mã hóa để chương trình thực hiện mã hóa, bản mã được lưu với tên tương ứng trên giao diện. Chương trình thông báo mã hóa thành công khi kết thúc quá trình mã hóa.
3.3. Giải mã theo sơ đồ cải tiến của Shimada
Hình 3.4: Giải mã theo sơ đồ cải tiến của Shimada
Với giao diện như trên, người dùng thực thiện tuần tự các bước sau : Bước 1: Nạp khóa công bí mật p, q để thực hiện giải mã.
Bước 2: Nạp tệp bản mã.
Bước 3: Chọn chức năng Giải mã để chương trình thực hiện giải mã, bản rõ được lưu với tên tương ứng trên giao diện. Chương trình thông báo thời gian và giải mã thành công khi kết thúc quá trình giải mã.
3.4. Kết quả thực nghiệm
Để so sánh thời gian thực hiện của các thuật toán cải tiến, tác giả đã sử dụng cố định cặp số nguyên tố p, q cho tất cả các sơ đồ. Hai số nguyên tố p, q được sử dụng có độ dài khoảng 60 chữ số cụ thể như sau:
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
p=17940613248426056992444596099059329882824054832508914788524842691 637599
q = 60817366542854590443814656698938261640013625642547
Quá trình thực nghiệm được thực hiện trên 8 bản rõ có kích thức khác nhau và được thực hiện trên máy tính ASUS X83V, kết quả chạy máy được trình bày trong bảng sau:
Bảng 3.1: Thời gian thực hiện các thuật toán giải mã
STT Kích thƣớc tệp Thời gian giải mã (giây) Shimada Chen-Tsu THA
1 4KB 0.195 0.070 0.032 2 120KB 21.824 7.254 3.385 3 202KB 41.012 13.447 6.193 4 223KB 43.570 14.430 6.739 5 609KB 118.592 32.454 20.704 6 787KB 164.564 51.745 24.117 7 1.09MB 224.297 73.694 33.992
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
KẾT LUẬN VÀ KIẾN NGHỊ 1. Kết luận
Sau thời gian thực hiện luận văn, với sự cố gắng của bản thân, cùng sự giúp đỡ tận tình của thầy giáo hướng dẫn, các thầy cô trong trường Đại học CNTT &TT Thái Nguyên, các đồng nghiệp và các bạn bè, gia đình luận văn đã thực hiện theo đúng nhiệm vụ được giao và đúng thời hạn theo yêu cầu. Trong thời gian nghiên cứu và thực hiện luận văn tốt nghiệp, bản thân đã thu được một số kết quả sau:
- Hiểu khái quát về mật mã và mật mã khóa công khai. Nắm được một số kiến thức cơ sở toán học của lý thuyết mật mã.
- Tìm hiểu rõ hơn về số nguyên tố, phương pháp kiểm tra và sinh số nguyên tố. - Nghiên cứu một số cải tiến hệ mật mã Rabin.
- Cài đặt một số cải tiến hệ mật mã khóa công khai Rabin và đánh giá các phương pháp cải tiến.
2. Kiến nghị
Hướng phát triển tiếp theo của luận văn là kết hợp mật mã khóa công khai với các nội dung bảo mật an toàn thông tin khác như giấu tin, thủy vân số.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Phạm Văn Ất, Nguyễn Văn Long, Nguyễn Hiếu Cường, Đỗ Văn Tuấn, Cao Thị Luyên, Trần Đăng Hiên, Đề xuất thuật toán xử lý số nguyên lớn và ứng dụng trong các hệ mật mã khóa công khai, Kỷ yếu hội thảo quốc gia lần thứ XII, Một số vấn đề chọn lọc Công nghệ thông tin và Truyền thông, Đồng Nai - 8/2009, tr 107-118.
[2] Phan Đình Diệu (2006), Lý thuyết mật mã và An toàn thông tin, NXB ĐHQG HN.
[3] Hà Huy Khoái, Phạm Huy Điển (2003), Số học thuật toán: Cơ sở lý thuyết và tính toán thực hành, NXB ĐHQG HN.
[4] Hà Huy Khoái, Phạm Huy Điển (2004), Mã hoã thông tin: Cơ sở toán học và ứng dụng, NXB ĐHQG HN.
[5] Đỗ Văn Tuấn, Trần Đăng Hiên, Phạm Văn Ất, Một sơ đồ cải tiến hệ mật mã khóa công khai Rabin, Kỷ yếu hội thảo quốc gia lần thứ XIV, Một số vấn đề chọn lọc Công nghệ thông tin và Truyền thông, Cần Thơ - 2011, tr 280-289.
Tiếng Anh
[6] Chin-Chen Chang and Sun-Min Tsu (2000), “An improvement on Shimada’s public-key cryptosystem”, Journal of Science and Engineering, vol. 3, no. 2, pp. 75-79.
[7] Harn, and Kiesler (1989), “Improved Rabin’s scheme with high efficiency”, Electron. Lett., 25, (1 l), pp. 726-728
[8] Rabin, M. O (1980), “Probabilistic algorithm for testing primality”, J. Number theory, 12(1): 128 – 183.
[9] Safuat Hamdy (2005), “The Miller – Rabin Primality Test”, United Arab Emirates University College of IT.
[10] Shimada, M (1992), "Another Practical Public-Key Cryptosystem", {\em Electronics Letters}, Vol.28, No.23, pp.2146-2147.