Chương trình thực nghiệm

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, so sánh và đánh giá độ an toàn của hệ mật mã rabin và RSA (Trang 60)

3.3.1. Chuẩn bị dữ liệu thử nghiệm

Dữ liệu thử nghiệm của chương trình là các tệp văn bản Tiếng Việt được lưu trữ dưới dạng tệp txt và định dạng unicode. Để kiểm tra tốc độ thực hiện của thuật toán, tác giả chuẩn bị 5 bộ dữ liệu mẫu như sau:

 Data1.txt: 1783 kí tự

 Data2.txt: 3568 kí tự

 Data4.txt: 14278 kí tự

 Data5.txt: 28558 kí tự

3.3.2. Thử nghiệm chương trình

Giao diện chương trình chính như sau:

- Vùng 1: đây là vùng nhập các tham số tùy chọn cho thuật toán hoạt động. Tham số thứ nhất là kích thước của giá trị p và q tương ứng với độ lớn kích thước của số hai số nguyên tố do chương trình tự sinh, giá trị nhập vào là số nguyên lớn hơn 0. Tham số thứ hai là đường dẫn của tệp dữ liệu như đã mô tả trong mục 3.4.1. - Vùng 2: hiển thị kết quả thực hiện mã hóa và giải mã theo thuật toán RSA. Các thông tin hiển thị bao gồm giá trị số nguyên tố P, số nguyên tố Q, cặp khóa công khai để mã hóa (n, e), cặp khóa bí mật để giải mã (d, e), nội dung bản mã và thời gian chạy thuật toán tính bằng mili giây.

- Vùng 3: hiển thị kết quả thực hiện mã hóa và giải mã theo thuật toán Rabin. Các thông tin hiển thị bao gồm giá trị số nguyên tố P, số nguyên tố Q, nội dung bản mã và thời gian chạy thuật toán tính bằng mili giây.

Để chạy thử nghiệm thuật toán, tại giao diện chương trình cần nhập giá trị kích thước p,q và chọn đến tệp dữ liệu cần mã hóa. Sau đó nhấn nút “THỰC HIỆN THUẬT TOÁN”, kết quả chương trình sẽ hiển thị ở vùng 2 và 3.

Dưới đây là ví dụ với kích thước p, q là 15 kí tự, kết quả thực hiện thuật toán như sau:

3.3.3. Thử nghiệm hiệu năng

Kịch bản 1: Cố định kích thước p và q bằng 20, thay đổi tệp dữ liệu đầu vào (từ data1.txt đến data5.txt, các tệp dữ liệu sau có kích thước gấp đôi tệp

dữ liệu trước) để theo dõi ảnh hưởng của độ lớn văn bản đầu vào đến tốc độ thực hiện thuật toán. Với mỗi bộ dữ liệu sẽ đo 5 lần và ghi giá trị trung bình, lặp lại với các bộ dữ liệu còn lại. Kết quả thực hiện được ghi lại trong bảng dưới đây:

Bảng 3.1. Bảng thử nghiệm hiệu năng ( kịch bản 1)

STT Bộ dữ liệu Thời gian chạy RSA

(mili giây)

Thời gian chạy Rabin (mili giây) 1 data1.txt 1008.057 105.9998 2 data2.txt 2041.117 210.0003 3 data3.txt 4108.1266 322.9935 4 data4.txt 8704.4984 655.0034 5 data5.txt 16075.9172 1197.0063

Qua kết quả thử nghiệm có thể thấy tốc độ thực hiện của thuật toán Rabin nhanh hơn nhiều so với thuật toán RSA và mức độ tăng của Rabin cũng ít hơn.

Kịch bản 2: Cố định tệp dữ liệu đầu vào (sử dụng tệp data5.txt), thay đổi kích thước p và q để theo dõi ảnh hưởng của kích thước số p, q đến tốc độ thực hiện thuật toán. Với mỗi bộ dữ liệu sẽ đo 5 lần và ghi giá trị trung bình, lặp lại với các thử nghiệm còn lại. Kết quả thực hiện được ghi lại trong bảng dưới đây:

Bảng 3.2. Bảng thử nghiệm hiệu năng ( kịch bản 2)

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 1 2 3 4 5

STT Kích thước P,Q Thời gian chạy RSA (mili giây)

Thời gian chạy Rabin (mili giây)

1 5 179.916 70.365

2 10 229.013 89.268

3 20 1002.065 105.306

4 40 5088.291 356.254

5 80 34567.91 1536.325

Kết quả thử nghiệm chỉ ra rằng tốc độ của thuật toán Rabin bị ảnh hưởng ít hơn nhiều so với thuật toán RSA.

0 5000 10000 15000 20000 25000 30000 35000 40000 1 2 3 4 5

KẾT LUẬN

Trong luận văn này em đã tiến hành nghiên cứu về tổng quan hệ mật mã; lý thuyết số; tìm hiểu, phân tích, nhận xét và so sánh, đánh giá độ an toàn của hệ mật mã Rabin và RSA. Hệ mật mã RSA có độ phức tạp lớn hơn so với hệ mật mã Rabin vì vậy về tốc độ mã hóa thì mật mã Rabin nhanh hơn mật mã RSA nhiều. Nhưng trong việc ứng dụng ký số và xác thực thì hệ mật mã RSA tỏ ra ưu việt hơn hẳn so với hệ mật mã Rabin. Còn về mặt an toàn thì mật mã Rabin có nhiều lỗ

hổng hơn RSA. Ta không nên dùng mật mã khóa công khai Rabin trong bảo mật

và xác thực thông tin. Hệ mật RSA chỉ có một lỗ hổng (được nêu ở 3.2.2.5), nhưng người ta đã có cách khắc phục bản mã 𝐶̅ = c.x2mod n là không thể giải được. Như vậy, cho đến nay RSA được cho là an toàn theo chuẩn quốc tế (trong tiêu chuẩn quốc tế X.509 không có mật mã Rabin mà chỉ có mật mã RSA và ELGAMAL).

Mặc dù có rất nhiều cố gắng trong nghiên cứu thực hiện luận văn, được sự chỉ bảo nhiệt tình của thầy giáo hướng dẫn, Tiến sỹ Hồ Văn Canh, và sự động viên giúp đỡ của bạn bè, đồng nghiệp nhưng luận văn không thể tránh khỏi những thiếu sót do thời gian và kiến thức của người thực hiện còn hạn chế.

Trong quá trình làm luận văn, em đã nhận được sự giúp đỡ của các thầy cô trong trường Đại học Công nghệ thông tin và Truyền thông nói chung cũng như các thầy cô trong Phòng đào tạo sau đại học nói riêng. Em xin chân thành cảm ơn toàn thể các thầy cô giáo trong Bộ phận quản lý Đào tạo sau đại học. Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến thầy TS. Hồ Văn Canh - Giáo viên trực tiếp hướng dẫn em hoàn thành luận văn này!

Em xin chân thành cảm

TÀI LIỆU THAM KHẢO

Tài liệu tiếng việt:

[1] Đặng Văn Cương - Vấn đề an toàn của hệ mật mã khoá công khai - Luận văn thạc sĩ, Khoa công nghệ thông tin - Đại học công nghệ 2003

[2] Phan Đình Diệu – Lý thuyết mật mã và an toàn thông tin, Đại học quốc gia Hà Nội 2002

[3] Trịnh Nhật Tiến – Giáo trình an toàn dữ liệu – Khoa công nghệ thông tin, Đại học quốc gia Hà Nội 2008

Tài liệu tiếng anh:

[4] Alfred J. Menezes, Paul C. Van Oorschot, Scott A. Vanstone : Handboof of APPLIED CRYPTOGRAPHY. CRC Press: Boca Raton, New York, London, Tokyo, 1997

[5] D.Bleichenbacher. Chosen ciphertext attacks against protocols based on the RSA encryption standard PKCS #1 ,1998

[6] D.Boneh and G.Durfee. New results on cryptanalysis of low private exponent RSA. Preprint, 1998

[7] Mark Stamp Richard M.Low: “Applied Cryptanalysis”, A John Wiley & Sons INC publication, San Jose state University, San Jose CA 2007

[8] M. Wiener. Cryptanalysis of short RSA secret exponents. IEEE Transactions on Information Theory, 1990

[9] http://www.RSA.com

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, so sánh và đánh giá độ an toàn của hệ mật mã rabin và RSA (Trang 60)

Tải bản đầy đủ (PDF)

(67 trang)