THỬ NGHIỆM CHỮ KÝ KHÔNG THỂ CHỐI BỎ

Một phần của tài liệu LUẬN VĂN: NGHIÊN CỨU MỘT SỐ CHỮ KÝ SỐ ĐẶC BIỆT VÀ ỨNG DỤNG docx (Trang 62 - 68)

4.3.1. Giới thiệu

Chƣơng trinh gồm 2 tab, 1 cho ngƣời ký (signer) và 1 cho ngƣời xác thực chữ ký - Tab Signer

Hình 8: Giao diện của người ký chữ ký không thể chối bỏ

- Tab verifier

56

4.3.2. Mô tả hoạt động chƣơng trình

1/. Chuẩn bị các tham số

- Khi chƣơng trình đƣợc bật lên, số nguyên tố ngẫu nhiên p, q đã đƣợc chọn sẵn cho ngƣời dùng. Giá trị g cũng đã đƣợc tính sẵn dựa theo p. Tuy nhiên ngƣời dùng có thể nhập trực tiếp giá trị p và g từ bàn phím bằng cách sửa trực tiếp ở các textbox này.

- Ngƣời ký nhập giá trị khóa bí mật a ( 0 < a < q ) vào textbox sau đó nhấn enter. Chƣơng trình tự động tính giá trị h = ga

mod p. Khi đó: + Tab Signer có các thông tin: p, q, g, a, h

+ Tab Verifier có các thông tin: p, q, g, h

2/.

- Ngƣời cần ký nhập vào thông điệp cần ký ( bên tab Verifier ) là một số sau đó

nhấn Enter, khi đó thông điệp đƣợc chuyển sang cho Signer, Signer ký y = xamod p sau đó bấm vào nút “Send” để gửi giá trị chữ ký cho Verifier.

3/. Giao thức kiểm thử chữ ký

- Verifier nhập vào 2 số ngẫu nhiên 𝑒1, 𝑒2 ∈ 𝑍𝑞∗. Khi đó chƣơng trình sẽ tính giá trị c và hiển thị giá trị này vào textbox c. Sau đó giá trị này đƣợc gửi cho Signer. - Sau khi nhận đƣợc c, chƣơng trình tính d = 𝑐𝑎−1𝑚𝑜𝑑 𝑞𝑚𝑜𝑑 𝑝 và hiển thị giá trị

này vào textbox d trong tab Signer. Signer bấm vào nút “Send” để gửi giá trị này cho Verifier.

- Sau khi nhận đƣợc d, Verifier bấm vào nút “Result” để hiện kết quả kiểm tra chữ ký. Nếu chữ ký là đúng, chƣơng trình sẽ có thông báo:

57

Hình 10: Thông báo khi chữ ký không thể chối bỏ được xác thực là đúng

4/. Giao thức chối bỏ chữ ký

- Trƣờng hợp thứ nhất: Ngƣời ký (Signer) chối bỏ một chữ ký không phải do anh ta ký

+ Verifier nhập 1 số nguyên vào textbox Message.

+ Verifier nhập chữ ký vào textbox Signature. Sau khi nhập xong, nhấn Enter để chƣơng trình thực hiện việc chuyển thông điệp và chữ ký cho Signer.

+ Sau đó, ngƣời xác thực chữ ký (Verifier) nhập giá trị 𝑒1, 𝑒2 tƣơng ứng. Nhấn Enter để chƣơng trình tự động tính c. Giá trị c này đƣợc tự động gửi cho Signer.

+ Sau khi nhận đƣợc c, chƣơng trình tính d = 𝑐𝑎−1𝑚𝑜𝑑 𝑞𝑚𝑜𝑑 𝑝 và hiển thị giá trị này vào textbox d trong tab Signer. Signer bấm vào nút “Send” để gửi giá trị này cho Verifier.

+ Sau khi nhận đƣợc d, Verifier bấm vào nút “Result” để hiện kết quả kiểm tra chữ ký. Nếu điều kiện kiểm tra không đƣợc thỏa mãn, chƣơng trình sẽ hiện lên nhƣ sau:

58

Hình 11: Thông báo khi điều kiện 𝒅 ≡ 𝒙𝒆𝟏𝒈𝒆𝟐𝒎𝒐𝒅 𝒑 không được thỏa mãn

+ Sau khi bấm OK, các textbox 𝑓1, 𝑓2 xuất hiện để ngƣời dùng nhập thông tin vào. Sau khi nhập vào 𝑓1, 𝑓2 Verifier nhấn Enter để chƣơng trình tự động tính C. Giá trị C này đƣợc tự động gửi cho Signer.

+ Signer sau khi nhận đƣợc C sẽ tính D. Signer bấm “Send” để gửi cho Verifier. + Sau khi Verifier nhận đƣợc D, Verifier click vào nút “Result” để xem kết quả.

Nếu chữ ký đúng là giả mạo, thông báo của chƣơng trình nhƣ sau:

59

- Trƣờng hợp Signer cố tình chối bỏ chữ ký của mình + Verifier nhập 1 số nguyên vào textbox Message.

+ Verifier nhập chữ ký của Signer trên Message vào textbox Signature. Sau khi nhập xong, nhấn Enter để chƣơng trình thực hiện việc chuyển thông điệp và chữ ký cho Signer.

+ Sau đó, verifier nhập giá trị 𝑒1, 𝑒2 tƣơng ứng. Nhấn Enter để chƣơng trình tự động tính c. Giá trị c này đƣợc tự động gửi cho Signer.

+ Sau khi nhận đƣợc c, chƣơng trình tính d = 𝑐𝑎−1𝑚𝑜𝑑 𝑞𝑚𝑜𝑑 𝑝 và hiển thị giá trị này vào textbox d trong tab Signer. Signer có thể chỉnh sửa giá trị d này tùy ý sau đó bấm vào nút “Send” để gửi giá trị này cho Verifier.

+ Sau khi nhận đƣợc d, Verifier bấm vào nút “Result” để kiểm tra chữ ký. Nếu điều kiện kiểm tra không thỏa mãn, thông báo nhƣ Hình 11 hiện ra.

+ Sau khi bấm OK, các textbox 𝑓1, 𝑓2 xuất hiện để ngƣời dùng nhập thông tin vào. Sau khi nhập vào 𝑓1, 𝑓2, verifier nhấn Enter để chƣơng trình tự động tính C. Giá trị C này đƣợc tự động gửi cho Signer.

+ Phía Signer sau khi nhận đƣợc C sẽ tính D. Signer có thể chỉnh sửa giá trị D này tùy ý sau đó bấm vào nút “Send” để gửi giá trị này cho Verifier.

+ Sau khi Verifier nhận đƣợc D, Verifier click vào nút “Result” để xem kết quả sẽ thu đƣợc thông báo nhƣ sau:

60

KẾT LUẬN

a. Kết quả thu đƣợc

Sau thời gian thực hiện khóa luận, em đã tìm hiểu đƣợc kiến thức tổng quan về lý thuyết bảo mật thông tin, mã hóa, ký số. Đồng thời đã nghiên cứu sử dụng thƣ viện mã nguồn mở OpenSSL để xây dựng các ứng dụng thử nghiệm. Khóa luận gồm các kết quả nghiên cứu sau:

1/. Tìm hiểu và nghiên cứu các tài liệu để hệ thống lại các vấn đề sau: + Chữ ký mù RSA

+ Chữ ký không thể chối bỏ

2/. Thử nghiệm các chƣơng trình ứng dụng sau: + Chữ ký số RSA

+ Chữ ký mù RSA

+ Chữ ký không thể chối bỏ

b. Tƣơng lai phát triển

Cùng với sự phát triển nhanh chóng của công nghệ thông tin, nền quản lý hành chính điện tử, thƣơng mại điện tử hay chính phủ điện tử sẽ là những vấn đề cấp thiết cần nghiên cứu và phát triển. Bởi vậy, việc xây dựng một cơ sở hạ tầng thông tin an toàn là rất cần thiết và cấp bách.

Chữ ký số là một phƣơng pháp hiệu quả trong bảo vệ thông tin. Vì vậy, nó đã, đang và sẽ thu hút nhiều sự chú ý, nghiên cứu và ứng dụng trên thế giới. Ở Việt Nam, chuyên ngành an toàn thông tin cũng chỉ đang trong giai đoạn phát triển, nên những kiến thức nền tàng này đóng vai trò rất quan trọng. Trong tƣơng lai, em muốn tiếp tục nghiên cứu để cải tiến nhƣợc điểm của các sơ đồ chữ ký trên, cũng nhƣ tìm hiểu thêm nhiều loại chữ ký số khác để có thể áp dụng rộng rãi vào nhiều lĩnh vực khác nhau nhƣ: quản lý hành chính, thƣơng mại điện tử, ….

TÀI LIỆU THAM KHẢO

[1] Phan Đình Diệu. Lý thuyết mật mã và an toàn thông tin – NXB Đại học Quốc gia Hà Nội - 2006

[2] Trịnh Nhật Tiến. Giáo trình An toàn dữ liệu

[3] Trịnh Nhật Tiến, Đinh Vinh Quang. Thanh toán bằng “Tiền điện tử”

[4] Trịnh Nhật Tiến, Trƣơng Thị Thu Hiền. Về một quy trình bỏ phiếu từ xa – Tạp chí Khoa học ĐHQGHN, KHTN & CN, T.XXI, SỐ 2PT. 2005

[5] Trịnh Nhật Tiến. Chữ ký: mù, nhóm, mù nhóm và ứng dụng. Kỷ yếu HN KH FAIR lần 2 tại TP Hồ Chí Minh 9/2005

[6] Danny De Cock, Christopher Wolf, Bart Preneel. The Belgian Electronic Identity Card.

[7] Doublas Stinson. Cryptography: Theory and Practice – CRC Press 03/17/95 [8] Markus Jakobsson. Blackmailing using undeniable signatures. Springer- Verlag

[9] Matt Messsier, John Viega. Secure Programming Cookbook for C and C++ - O’Reilly July 2003

[10] Morten Bohoj, Mads Keblov Kjeldsen. Cryptography report Undeniable signature schems – December 15, 2006

[11] N. Kuntze C. Hett and A. U. Schmidt. Non-repudiation of voice-over-ip conversations with chained digital signatures. From Fraunhofer SIT

[12] http://openssl.org

[13] http://vi.wikipedia.org/wiki/Ki%E1%BB%83m_tra_Solovay-Strassen

[14] http://vi.wikipedia.org/wiki/Ki%E1%BB%83m_tra_Miller-Rabin

Một phần của tài liệu LUẬN VĂN: NGHIÊN CỨU MỘT SỐ CHỮ KÝ SỐ ĐẶC BIỆT VÀ ỨNG DỤNG docx (Trang 62 - 68)