3.4.1. Giới thiệu
Chương trình thử nghiệm các thuật tốn sinh khĩa, ký/kiểm thử, mã hĩa/giải mã trên hai hệ mã hĩa ECC (độ dài khĩa 160 bit) và RSA (độ dài khĩa 512, 1024, 2048 bit) được viết trên ngơn ngữ Delphi 6 cĩ sử dụng thư viện mã nguồn của TSM Inc.
Mơi trường thử nghiệm: trên máy tính cá nhân cĩ cấu hình như sau: BXL Pentium IV CPU 2,1GHz; RAM 256 MB.
3.4.2. Kết quả thử nghiệm
Bảng kết quả dưới đây cho biết thời gian thực hiện từng thuật tốn với mỗi hệ mã hố cĩ độ dài bit khác nhau, đơn vị tính thời gian thực hiện là ms-
MilliSeconds.
Sinh khĩa Ký Kiểm thử Mã hĩa Giãi mã
ECC (160 bit) 16 ms 16 ms 16 ms 16 ms 15 ms RSA (512 bit) 1281 ms 63 ms 15 ms 15 ms 63 ms RSA (1024 bit) 6313 ms 218 ms 15 ms 15 ms 219 ms RSA (2048 bit) 72688 ms 1328 ms 16 ms 15 ms 1343 ms
Bảng 2: Kết quả thực hiện các thuật tốn trên 2 hệ mã hố với độ dài khố khác nhau
Thuật tốn Hệ mã hĩa
3.4.3. Đánh giá, nhận xét
Như ta thấy với việc sử dụng hệ mã hố đường cong elliptic, thời gian thực hiện các thuật tốn sinh khố, ký/kiểm thử cũng như mã hố và giải mã là thấp hơn nhiều so với việc sử dụng hệ mã RSA.
Với độ dài khố nhỏ 160 bit, hệ mã hố đường cong elliptic sẽ tiết kiệm đường truyền, thực thi nhanh chĩng, yêu cầu về khơng gian khơng lớn phù hợp với các thiết bị truyền thơng khơng dây mà vẫn đảm bảo tính bảo mật an tồn cao.
3.4.4. Một số giao diện và mã nguồn chương trình thử nghiệm
Hình 3.7: Sinh khố bằng hệ mã hố đường cong Elliptic
Thủ tục sinh khĩa hệ mã hĩa đường cong elliptic:
procedure TfrmRSATest.btnMakeECCKeyClick(Sender: TObject); begin m:=MilliSecondOfTheDay(Time); EllipticCurve1.PassPhrase := edtSecret.Text; EllipticCurve1.MakeKey; edtPublicKey1.Text := EllipticCurve1.KeyPublic; edtPrivateKey1.Text := EllipticCurve1.KeySecret; m:=MilliSecondOfTheDay(Time)-m;
Showmessage('Thêi gian t¹o kho¸: '+ inttostr(m)+' MilliSeconds'); end;
Hình 3.8: Thực hiện ký bằng hệ mã hố RSA với độ dài khố 512 bit.
Thủ tục ký bằng hệ mã hĩa RSA:
procedure TfrmRSATest.btnSignClick(Sender: TObject); var
Digest: array[1..19] of Byte; i: integer;
begin
m:=MilliSecondOfTheDay(Time); for i := 1 to Length(edtTestText.Text) do begin
Digest[i mod Sizeof(Digest)] := Digest[i mod Sizeof(Digest)] xor Ord(edtTestText.Text[i]);
end; {for} // Tao chu ky
RSA1.Sign(Digest, Sizeof(Digest)); // Hien thi chu ky
edtSignature.Text := RSA1.Signature; m:=MilliSecondOfTheDay(Time)-m;
Showmessage('Thêi gian ký: '+ inttostr(m)+' MilliSeconds'); end; {TfrmRSATest.btnSignClick}
Thủ tục ký bằng đường cong elliptic:
procedure TfrmRSATest.btnECCSignClick(Sender: TObject); var i: integer; begin m:=MilliSecondOfTheDay(Time); Randomize; for i := 0 to 19 do begin Digest[i] := Random(256); end; EllipticCurve1.Sign(Digest); edtECCSignature.Text := EllipticCurve1.Signature; m:=MilliSecondOfTheDay(Time)-m;
Showmessage('Thêi gian ký: '+ inttostr(m)+' MilliSeconds');
KẾT LUẬN
Cơng nghệ thơng tin đã và đang là một trong những lĩnh vực đem lại nhiều lợi ích cho xã hội, nĩ khơng thể thiếu trong nền kinh tế hội nhập và tồn cầu hĩa. An tồn và bảo mật thơng tin là một trong những yếu tố quan trọng cho nhiều ứng dụng trong thực tiễn.
Trong quá trình nghiên cứu các giải pháp bảo mật người ta đã phát minh hệ mã hĩa cơng khai dựa trên đường cong elliptic. Cho đến nay hệ mã hĩa đường cong elliptic được xem là hệ mã hĩa an tồn và hiệu quả nhất. So với các hệ mã hĩa khĩa cơng khai khác, ECC được xem là ưu việt hơn bởi ở cùng độ bảo mật như nhau thì độ dài khĩa trong ECC nhỏ hơn nhiều so với các hệ mã hĩa khác. Điều này dẫn tới các hệ mã hĩa ECC cĩ khả năng thực thi nhanh hơn, hiệu quả hơn các hệ mã hĩa cơng khai khác.
Trong khuơn khổ nghiên cứu về một số vấn đề xác thực trong mạng truyền thơng khơng dây đã cho thấy được một cách tổng quát các vấn đề liên quan đến xác thực, bao gồm các nền tảng tốn học, các sơ đồ chữ ký, xác thực bằng chứng chỉ số và đặc biệt là nghiên cứu phương pháp xác thực dựa trên hệ mã hĩa đường cong elliptic trong mơi trường truyền thơng khơng dây.
Những nghiên cứu trên đã chỉ ra rằng, với những đặc thù riêng của mơi trường truyền thơng khơng dây, giải pháp áp dụng hệ mã hĩa đường cong elliptic trong việc xác thực cho mạng truyền thơng khơng dây là giải pháp an tồn và hiệu quả hơn nhiều so với các hệ mã hĩa khĩa cơng khai khác.
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Phan Đình Diệu (1999), Lý thuyết mật mã và an tồn thơng tin, Đại Học Quốc Gia Hà Nội.
[2] Phạm Huy Điển, Hà Duy Khối (2003), Mã hĩa thơng tin: Cơ sở tốn học & Ứng dụng, Nhà Xuất Bản Đại Học Quốc Gia Hà Nội.
[3] Trịnh Nhật Tiến, Nguyễn Đình Nam, Trương Thị Thu Hiền (2005), “Về một quy trình bỏ phiếu từ xa”, Tạp Chí Khoa Học ĐHQGHN, (Số 2PT 2005).
[4] Trịnh Nhật Tiến, Trương Thị Thu Hiền (2003), “Một số kỹ thuật bỏ phiếu từ
xa”, Báo cáo tại hội thảo QG về CNTT, Thái Nguyên.
Tiếng Anh
[5] Alfred Menezes, Minghua Qu, Doug Stinson, Yongge (2001), Evaluation of
Security Level of Cryptography: ECDSA Signature Scheme, Certicom Research,
Canada.
[6] Don Johnson and Alfred Menezes, and Scott Vanstone, “The Elliptic Curve
Digital Signature Algorithm”, Dept. of Combinatorics & Optimization, University
of Waterloo, Canada.
[7] Gerardo Orlando (2002), “Efficient Elliptic Curver Processor Architectures for
Field Programmable Logic”, A Dissertation Submitted to the Faculty of the
Worcesrer Polytechnic Institute.
[8] Harald Baier (2002), “Effcient Algorithms for Generating Elliptic Curves over
Finite Fields Suitable for Use in Cryptography”, Vom Fachbereich Informatik der
Technischen Universitat Darmstadt Genehmigte.
[9] Jalal Feghhi, Jalil Feghhi, Peter Williams (1998), “Digital Certificates”, An Imprint Of Addison Wesley Longman, Inc.
[10] Johannes A.Buchmann (2002), “Introduction to cryptography”, Springer – Verlag.
[11] Murat Aydos (2000), “Efficient Wireless Security Protocols based on Elliptic
Curve Cryptography”, An Abstract of the thesis of Murat Aydos for the degree of
Doctor of Philosophy in Electrical & Computer Engineering.
[12] Sattam S.Al-Riyami (2004), “Cryptographic Schemes baseb on Elliptic Curver
Pairings”, Thesis submited to the University of London for the degree of Doctor of
Philosophy.
[13] Sattam S.Al – Riyami and Kenneth G.Paterson (2003), “Certificateless Public
Key Cryptography”, University of London.
[14] S. Chokhani (1999), “Internet X.509 Public Key Infrastructure Certificate
Policy and Certification Practices Framework”, CygnaCom Solutions, Inc.
[15] William Stallings (2003), “Cryptography And Network Security”, Pearson Education, Inc.