Kết quả thử nghiệm và nhận xét

Một phần của tài liệu Luận văn Hạ tầng khóa công khai (PKI), vấn đề cấp phát chứng thực số và ứng dụng trong thương mại điện tử (Trang 25 - 28)

- So sánh RSA và DSA

 Để so sánh tốc độ của hai thuật toán chữ ký số RSA và DSA, Thử nghiệm 2.2 dưới đây đã được tiến hành và ghi nhận.

 Thử nghiệm 2.2: DSS chuẩn ràng buộc độ dài khóa L là bội số của 64 và 512≤L≤1024 và để an toàn lâu dài độ dài khóa L được đề nghị là 2048 hoặc 3072. Do đó độ dài khóa được thử nghiệm cho cả RSA và DSA là 576, 640, 704, 768, 832, 896, 960, 1024, 2048, 3072 (bit). Ứng với mỗi độ dài khóa, lần lượt cho cả RSA và DSA phát sinh khóa, ký văn bản ngẫu nhiên (kích thước 2 MB) và kiểm tra chữ ký tạo được. Để thuận tiện so sánh, hàm băm mật mã SHA-1 được chọn để sử dụng cho cả RSA và DSA. Thử nghiệm được lặp lại 50.000 lần. Kết quả nhận được như sau:

Kích thước (bit)

Tạo khóa (giây) Tạo chữ ký (giây) Xác nhận chữ ký (giây) RSA DSA DSA/

RSA RSA DSA RSA/DSA RSA DSA RSA/DSA 512 0,0408 0,5676 13,93 0,0351 0,0011 32,60 0,0320 0,0017 19,32 576 0,0568 0,8030 14,14 0,0361 0,0013 27,24 0,0321 0,0022 14,60

640 0,0757 1,2464 16,47 0,0371 0,0015 24,53 0,0319 0,0025 12,57 704 0,0994 1,7948 18,06 0,0387 0,0019 20,25 0,0320 0,0031 10,16 704 0,0994 1,7948 18,06 0,0387 0,0019 20,25 0,0320 0,0031 10,16 768 0,1278 2,3668 18,52 0,0408 0,0016 25,29 0,0321 0,0040 7,94 832 0,1609 3,0526 18,97 0,0428 0,0021 20,31 0,0322 0,0044 7,34 896 0,2026 4,2369 20,92 0,0454 0,0027 16,58 0,0321 0,0050 6,36 960 0,2446 5,4622 22,33 0,0480 0,0026 18,45 0,0321 0,0061 5,29 1024 0,2734 7,1210 26,05 0,0515 0,0035 14,86 0,0318 0,0068 4,69 2048 2,4876 103,1124 41,45 0,1749 0,0124 14,16 0,0325 0,0240 1,35 3072 11,1882 508,2395 45,43 0,5056 0,0278 18,19 0,0341 0,0539 0,63

Bảng 2.2 So sánh thời gian tạo khóa, tạo chữ ký và xác nhận chữ ký của RSA với DSA

Hình 2.3 : Thời gian tạo khóa của RSA và DSA

 Kết quả Thử nghiệm 2.5 cho thấy tốc độ tạo khóa của RSA nhanh hơn rất nhiều so với DSA và khi kích thước khóa tăng lên thì tỷ lệ này ngày càng gia tăng. Hơn nữa, khi tăng kích thước L của DSA và tương ứng với các hàm băm SHA có đầu ra lớn hơn thì DSA sẽ còn chậm hơn rất nhiều.

Hình 2.4 : Thời gian tạo chữ ký của RSA và DSA

 Kết quả Thử nghiệm 2.2 cho thấy tốc độ tạo chữ ký của RSA chậm hơn DSA nhưng tỷ lệ này có xu hướng giảm khi kích thước khóa tăng lên. Nguyên nhân là do khi số mũ khóa công khai e cố định thì số mũ khóa bí mật d sẽ tăng khi kích thước n tăng. Mặt khác, phép tính chiếm thời gian nhiều nhất của quy trình ký chính là phép lũy thừa modulo nên khi số mũ tăng thì thời gian thực hiện cũng sẽ tăng. Tuy nhiên, kích thước khóa được sử dụng phổ biến hiện nay là 1024 và 2048 nên thời gian ký lúc này sẽ không còn là vấn đề đáng lo ngại do toàn bộ quy trình chỉ mất ít hơn 0,2 giây.

Hình 2.5 : Thời gian xác nhận chữ ký của RSA và DSA

Thử nghiệm trên môi trường Windows XP, bộ xử lý Pentium 4 3.00 GHz, bộ nhớ 512 MB.

 Kết quả Thử nghiệm 2.2 cũng cho thấy tốc độ xác nhận chữ ký của

RSA không thay đổi đáng kể khi kích thước khóa tăng do số mũ công khai e được sử dụng luôn là một số nhỏ (giá trị phổ biến hiện này là 65537) và tốc độ thực hiện phép lũy thừa modulo (phép toán chính trong quy trình xác nhận chữ ký) sẽ tăng không nhiều. Ngược lại, tốc độ xác nhận chữ ký của DSA mặc dù thấp hơn RSA nhưng sẽ ngày càng tăng khi kích khóa tăng lên. Nguyên nhân là do quy trình xác nhận chữ ký của DSA gồm rất nhiều phép tính tốn chi phí cao (phép lũy thừa modulo và phép nhân) nên khi kích thước khóa tăng dần thì điều này sẽ trở thành gánh nặng. Mặc khác, nếu kích thước L được chọn lớn hơn thì tốc độ xác nhận chữ ký sẽ chậm hơn nữa. Với các thử nghiệm trên ta dễ dàng nhận thấy RSA tốt hơn DSA về mọi mặt, đặc biệt là tốc độ phát sinh khóa của RSA nhanh hơn DSA rất nhiều. Ngoài ra, tốc độ ký và xác nhận chữ ký dẫu có chậm hơn DSA nhưng thời gian này là không đáng kể.[8]

Một phần của tài liệu Luận văn Hạ tầng khóa công khai (PKI), vấn đề cấp phát chứng thực số và ứng dụng trong thương mại điện tử (Trang 25 - 28)