Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
409,79 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - TÌM HIỂU LƯỢC ĐỒ CHỮ KÝ SỐ CHỐNG CHỐI BỎ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ Thơng tin Sinh viên thực hiện: Hồng Văn Hiệp Giáo viên hướng dẫn: TS Hồ Văn Canh Mã số sinh viên: 1351010042 HẢI PHÒNG - 2019 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng MỤC LỤC MỞ ĐẦU CHƯƠNG 1: MẬT MÃ KHÓA CÔNG KHAI 1.1 Lịch sử phát triển 1.1.1 Giới thiệu 1.1.2 Định nghĩa hệ mật 1.2 Một vài hệ mật đơn giản 1.2.1 Mã dịch chuyển 1.2.2 Mã thay 1.2.3 Mã Affine 1.2.4 Mã Vigenere 10 1.2.5 Mã hoán vị 11 1.3 Mật mã khố cơng khai 12 1.3.1 Cơ sở mật mã khóa cơng khai 13 1.3.2 Một số hệ mật điển hình 15 CHƯƠNG 2: CHỮ KÝ SỐ 19 2.1 Giới thiệu 19 2.2 Định nghĩa lược đồ chữ ký số: 20 2.3 Một số lược đồ chữ ký số 20 2.3.1 Lược đồ chữ ký RSA 20 2.3.2 Lược đồ chữ ký Elgamal 22 CHƯƠNG 3: HÀM HASH 26 3.1 Chữ ký hàm Hash 26 3.1.1 Đặt vấn đề 26 3.1.2 Định nghĩa hàm HASH 26 3.2 Một số hàm HASH sử dụng chữ ký số 28 3.2.1 Các hàm HASH đơn giản 28 3.2.2 Hàm HASH MD5: 29 CHƯƠNG 4: CHỮ KÝ CHỐNG CHỐI BỎ 39 4.1 Giới thiệu 39 4.2 Sơ đồ chữ ký chống chối bỏ 40 4.2.1 Thuật toán ký: 40 4.2.2 Thuật toán xác minh: 40 4.2.3 Giao thức từ chối: 40 Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng CHƯƠNG : ÁP DỤNG CHỮ KÝ CHỐNG CHỐI BỎ VÀO QUẢN LÝ HÀNH CHÍNH CỦA TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHỊNG 45 5.1 Đặt vấn đề 45 5.2 Giải vấn đề 45 CHƯƠNG 6: CHƯƠNG TRÌNH 48 6.1 Giải thích chương trình 48 6.2 Các phép toán hỗ trợ 48 6.3 Demo chương trình 52 KẾT LUẬN 54 TÀI LIỆU THAM KHẢO 55 Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng MỞ ĐẦU Cùng với phát triển mạnh mẽ công nghệ thông tin giao lưu thông tin ngày trở nên phổ biến mạng truyền thơng, vấn đề đảm bảo an tồn thông tin trở thành yêu cầu chung hoạt động kinh tế, xã hội giao tiếp người Để thực yêu cầu bảo mật thơng tin cách hay dùng mã hố thơng tin trước gửi Vì mật mã nghiên cứu sử dụng từ lâu lịch sử loài người Tuy nhiên vài ba chục năm gần đây, nghiên cứu cơng khai tìm lĩnh vực ứng dụng đời sống công cộng với phát triền kỹ thuật tính tốn viễn thơng đại Và từ đó, ngành khoa học phát triển mạnh mẽ, đạt nhiều kết lý thuyết sâu sắc tạo sở cho việc phát triển giải pháp bảo mật an tồn thơng tin lĩnh vực hoạt động người thời đại mà công nghệ thông tin ứng dụng rộng rãi Các hệ thống mật mã chia làm hai loại: mật mã bí mật mật mã khố cơng khai Trong hệ thống mật bí mật, hai người muốn truyền tin bí mật cho phải thoả thuận khóa mật mã chung K, K vừa khóa để lập mã vừa khóa để giải mã Và khóa K phải giữ kín có hai người biết Đề tài dựa sở hệ thống mật mã khóa cơng khai Ở đây, quan niệm bí mật gắn với độ phức tạp tính tốn: ta xem giải pháp bí mật, để biết bí mật cần phải thực q trình tính tốn phức tạp, phức tạp đến mức mà ta coi “không thể được” thực tế Với quan niệm đó, người ta cải tiến tạo nhiều giải pháp mật mã thực cơng cụ tính tốn đại Mật mã khóa cơng khai cống hiến lý thuyết mật mã đại có nhiều ứng dụng mà hệ thống mật mã cổ điển khơng thể có Mật mã khóa cơng khai dựa ý tưởng: tách riêng khóa làm hai phần tương ứng với hai q trình lập mã giải mã Bí mật dành cho người nhận tin, nên phần khóa giải mã phải giữ bí mật cho người nhận tin, cịn phần khóa dành cho việc lập mã để gửi đến người A cơng khai để người dùng để gửi thông tin mật cho A Ý tưởng thực nhờ vào hàm cửa sập phía Tính ưu việt hệ thống mật mà thể chỗ: hệ truyền tin bảo mật khơng phải trao đổi khóa bí mật trước với Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng cả, người giữ bí mật riêng mà truyền tin bảo mật với người khác Điều quan trọng việc truyền tin phát triển mạng rộng với số người sử dụng gần khơng hạn chế Mật mã khóa cơng khai khơng có tác dụng bảo mật, mà cịn có nhiều ứng dụng khác, ứng dụng xác thực, chữ ký số Trong cách giao thiệp truyền thống, chữ ký viết tay người gửi văn khơng có tẩy, xố đủ xác nhận người gửi ai, người gửi có trách nhiệm văn toàn vẹn văn chối bỏ trách nhiệm chữ ký Nhưng truyền tin điện từ, văn dãy bít, nên để đảm bảo hiệu lực truyền thống người ta phải dùng chữ ký số Chữ ký số có nhiệm vụ giống chữ ký tay nghĩa dùng để thực chức xác nhận người gửi văn Nó phải vừa mang dấu vết không chối cãi người gửi, vừa phải gắn bó với bit văn mà thay đổi dù bit văn chữ ký khơng cịn chấp nhận May thay, yêu cầu thực phương pháp mật mã khố cơng khai Nói chung sơ đồ chữ ký số khơng cần đối thoại Tuy nhiên, số trường hợp để tăng thêm trách nhiệm việc xác nhận, người ta dùng giao thức có tính chất đối thoại (hay chất vấn )qua vài lần hỏi đáp để thức xác nhận tính đắn (hoặc khơng đắn) chữ ký, tính tồn vẹn văn bản, hay để buộc chấp nhận (khơng thể thối thác, chối bỏ) chữ ký Trên sở đó, đề tài tốt nghiệp tơi tìm hiểu lược đồ chữ ký số chống chối bỏ việc áp dụng quản lý hành mạng trường Đại học Dân Lập Hải Phịng Hồng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng CHƯƠNG 1: MẬT MÃ KHĨA CƠNG KHAI 1.1 Lịch sử phát triển 1.1.1 Giới thiệu Theo nhà nghiên cứu lịch sử mật mã Hồng đế Caesar người sử dụng mật mã quân Trong năm 1949, báo Claude Shannon lần công bố với tiêu đề “lý thuyết thông tin hệ thống mật" (Communication Theory of Secret Systems) The Bell Systems Technical Joumal Bài báo đặt móng khoa học cho mật mã, có ảnh hưởng lớn đến việc nghiên cứu khoa học mật mã Ý tưởng hệ mật khoá công khai Diffie Hellman đưa vào 1976, cịn việc thực hố hệ mật khố cơng khai Rivest, Shamir Adleman đưa vào năm 1977 Họ tạo nên hệ mật RSA tiếng Kể từ có nhiều hệ mật cơng bố phân tích, cơng Mục tiêu mật mã giúp hai người (Bob Alice) thường xuyên liên lạc với qua kênh khơng an tồn mà cho đối phương (Oscar) khơng thể hiểu họ nói Kênh đường dây điện thoại mạng máy tính Thơng tin Alice muốn gửi cho Bob, mà gọi “thơng báo rõ“, văn tiếng Anh, liệu số, tài liệu có cấu trúc tuỳ ý.Alice mã thơng báo cách sử dụng khố xác định trước gửi kết kênh Oscar thu trộm mã kênh song hiểu thơng báo rõ gì, với Bob người biết khố mã Alice giải mã thu thông báo rõ 1.1.2 Định nghĩa hệ mật Một hệ mật thành phần (P, C, K, E, D) thoả mãn điểu kiện sau: P: tập hữu hạn rõ C: tập hữu hạn mã K: (khơng gian khố): tập hữu hạn khóa Đối với k K có quy tắc mã ek E quy tắc giải dk D tương ứng, đó: Hồng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng Mỗi ek: P → C dk: C→P hàm thoả mãn: dk (ek(x)) = x với x P Tính chất quan trọng tính chất Nội dung rõ x mã hoá ek mã giải mã dk ta phải thu rõ ban đầu x Alice Bob áp dụng thủ tục sau để dùng hệ mật khoá riêng Đầu tiên họ chọn khoá ngẫu nhiên k K Điều thực họ chỗ không bị theo dõi Oscar, họ có kênh an tồn trường hợp khơng chỗ Sau Alice muốn gửi cho Bob thông báo kênh không an tồn, giả sử thơng báo chuỗi : x= x x2 xn (với số nguyên n ≥1, rõ ký hiệu x i P, ≤ i ≤ n) Alice mã xi quy tắc ek với khoá xác định trước k Nghĩa là, Alice tính: yi = ek(xi), ≤ i ≤n, kết chuỗi: y = y y2 yn gửi kênh Khi Bob nhận y1 y2 yn , giải hàm d k thu thông bảo gốc x1 x2 xn Ta hình dung hệ thống liên lạc sau: Oscar y Alice x Bộ mã yy Bob k k k x Bộ giải Kênh an tồn Nguồn khóa Rõ ràng trường hợp này, hàm e k phải hàm đơn ánh (ánh xạ 1-1) không việc giải mã không thực cách tường minh Ví dụ nếu: y = e K(x1) = e2(x2), x1 ≠ x2, Bob khơng biết giải mã thành x1 hay x2 Chú ý ràng P=C hàm mã hố phép hốn vị, tức tập mã tập rõ đồng hàm mà hoán vị phần tử tập Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng 1.2 Một vài hệ mật đơn giản 1.2.1 Mã dịch chuyển Giả sử P = C = K = Z26 , với 0≤k ≤ 25, định nghĩa: eK(x) = x + k mod 26 dK(x) = y - k mod 26; (x, y € Z26) Ví dụ: Cho k = 11 rõ là: wewillmeetatmidnight Biến đối rõ thành dày số nguyên tương ứng công với k theo modulo 26: 224228111112 419019128 313 86 19 + K =11 71571922222315154114231914241917184 Biến đổi dãy số nguyên ký tự ta mã sau: hphtwwxppelextoytrse Để giải mã ta chuyển mã thành dãy số nguyên ,sau trừ K theo modulo 26: 71571922222315154114231914241917184 K =11 22422 11 11 12 4 19 19 12 831386719 ta rõ ban đầu là: wewillmeetatmidnight Nhận xét: Mã dịch chuyển khơng an tồn bị thám khóa phương pháp vét cạn( có 26 khóa) Về trung bình, tính thơng báo sau 26/2 = 13 lần thử Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng Một hệ mật muốn sử dụng thực tế phải thỏa mãn số tính chất định Sau nêu hai số đó: Mỗi hàm mã hóa ek hàm giải mã dk phải có khả tính tốn cách hiệu Đối phương dựa xâu mã phải khơng có khả xác định khóa k dùng khơng có khả xác định xâu rõ x 1.2.2 Mã thay Định nghĩa hệ mật: Cho P = C = Z26 K chứa hốn vị 26 ký hiệu 0, 1, 2, , 25 Với hoán vị K, ta xác định phép với phép ta định nghĩa: eK (x) = Trong -1 dK (y) = (x) -1 (y) phép ngược , Ví dụ: K= defghijkolnmpqrswtuvyxbaze abcdeighijk1mnopqrstuvwx yz П= defghijkoln mpqrswtuvyxbazc Hãy giải mã sau đây: qdbqj vpybd mdifk yzhhq lfydt utsbo iacza abcdefghijklmnopqrstuvwxyz -1 П = xwzabcdefghjlkimnportsqvuy -1 Để giải mã trên, áp dụng П vào ký tự mã, sau ghép lại ta rõ tương ứng Cụ thể sau: Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng qdbqj => navvng => nắng vpybd=> smuvva => mưa mdifk => lafch => yzhhq => uyeen => chuyện lfydt => jcuar => utsbo => trovvi => trời Nhận xét: Mỗi khoá mật mã thay phép hoán vị 26 ký tự Số hoán vị 26 26!, lớn x 10 Đó số rấl lớn Bởi vậy, phép tìm khóa vét cạn khơng thể thực được, chí máy tính 1.2.3 Mã Affine Trong mã Affine, ta xét hàm mã có dạng: e (x) = ax + b mod 26, (a, b Z26) Các hàm gọi hàm Affine (khi a = => ta có mã dịch chuyển) Để việc giải mã thực được, yêu cầu cần thiết hàm Affine phải đơn ánh Với y Z26, ta cần phương trình: ax + b ≡ y (mod 26), phải có nghiệm Đồng dư thức tương đương với : ax = y - b (mod 26) Vì y biến đổi Z26 nên (y - b) mod 26 biến đối Z 26 Vì vậy, ta cần xét đồng dư thức: ax ≡ y (mod 26), y Z26 Ta biết rằng, phương trình có nghiệm y (a, 26) = Trước tiên, giả sử (a, 26) = d > Thế thì, ax≡0(mod 26) có nghiệm phân biệt Z26 x = x =26/d Khi đó, e(x) = ax + b mod 26 hàm đơn ánh khơng phải hàm mã hợp lệ + Ta giả thiết (a, 26) = Khi phương trình ax = y (mod 26) có -1 nghiệm với y Z26 x = a y (mod 26) + Hệ mật: Cho p = c = Z26 giả sử: K = { (a, b) Z26 x Z26 : (a, 26) = 1} Hoàng Văn Hiệp - CT1301 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng -1 e2 = a (u -1e1) mod q vi e1 Z*q có q giá trị e1 có q cặp (e1, e2) cho cùng giá trị c Bây giờ, Bob nhận yêu cầu c, khơng có cách biết cặp (e1,e2) q cặp co thể mà Alice dùng để xây dựng c Ta khẳng định, a y x mod p đáp ứng d G mà Bob tạo tương ứng với xác q cặp sắp( e1,e2) Vì sinh G nên ta viết phần tử thuộc G số mũ , i j số mũ xác định theo modulo q Vì viết c= , d= , k x= y= hai đồng dư thức sau: c≡ y d≡x -1 ; với i,j,k,l Zq phép tính số học theo modulo q Xét e1 e2 mod p) e1 e2 (mod p) Hệ tương đương với hệ đồng dư thức sau: i≡-le1 +ae2(mod )q j≡ke1 +e2(mod)q a Bây giả thiết rằng: y x (mod p) ta rút : a k(mod q) Vì thế, ma trận hệ số hệ đồng dư thức theo modulo q có định thức khác tồn nghiệm cho hệ thống Nghĩa là, d G đáp ứng với q cặp (e1,e2) Hệ xác suất để Bob đưa cho Alice đáp ứng d xác minh 1/q Bây ta chứng minh hai vấn đề: Bob thuyết phục Alice chữ ký không hợp lệ giả mạo Bob làm Alice tin chữ ký tin cậy giả mạo trừ xác suất bé a Định lý 2: Nếu y x mod p Alice Bob thực theo giao thức từ chối thì(d -e2 f1 ) ≡ (D -f2 e1 ) mod p Chứng minh: Do Alice Bob thực giao thức nên ta sử dụng yếu tố: d≡c a-1 mod p Hoàng Văn Hiệp - CT1301 42 Đồ án tốt nghiệp c≡y e1 e2 a ≡ Trường ĐHDL Hải Phòng mod p mod p -e2 f1 Ta có: (d ) ≡((y e1 e2 a-1 e-2 f1 ) ≡(ye1f1a-1 e2a-1f1 -e2f1 ) (mod p) (mod p)) ≡ye1f1a-1 e2f1 -e2f1 mod p ≡ye1f1a-1 mod p Tương tự, dùng yếu tố D≡C a-1 mod p , C≡y f1 f2 mod p ≡ a mod p, ta có: (D -f2)e1 ≡ ye1f1a-1 mod p phép kiểm tra tính phù hợp bước thành công Bây xét xác suất để Bob từ chối chữ ký hợp lệ Trường hợp không giả thiết Bob thực theo thủ tục Nghĩa Bob khơng xây dựng D d giao thức Vì định lý chi giả thiết rằng, Bob tạo D d thỏa mãn điều kiện bước 4,8,9 giao thức chối bỏ a Định lý 3: Giả sử y≡ x mod p Alice thực theo giao thức từ chối Nếu e1 e2 d x mod p D x f1 f2 (mod p) xác suất để (d -e2 f1 ) (D -f2 e1 ) (mod p) 1-1/q Chứng minh: Giả sử đồng dư thức sau thỏa mãn a y≡x (mod p) d x e1 e2 (mod p) f1 f2 Dx (d (mod p) -e2 f1 ) ≡ (D -f2 e1 ) (mod p) ta đưa mâu thuẫn sau: Trong giao thức chối bỏ, bước viết lại sau: f1 f2 D≡ d0 (mod p) đó, d0 = d 1/e1 -e2/e1 mod p giá trị phụ thuộc vào bước từ 1-4 giao thức Áp định lý 1, ta kết luận y chữ ký hợp lệ d0 với xác suất 1-1/q a a Song ta giả thiết y chữ ký hợp lệ x, nghĩa ta có x ≡d0 (mod p) với Hoàng Văn Hiệp - CT1301 43 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng xác suất cao, điều kéo theo x = d0 Tuy nhiên d x e1 e2 Và từ biểu thức d ≡d (mod p) có nghĩa x≡ d 1/e1 -e2/e1 1/e1 -e2/e1 (mod p), suy x≠d (mod p) ta nhận mâu thuẫn Như Bob co thể lừa dối Alice theo cách với xác suất 1/q Ví dụ: Giả sử lấy p=467, vi phần tử nguyên thủy nên = phần tử sinh G, gồm thặng dư bậc hai modulo 467 Vì ta lấy =4 Giả thiết a = 101, Khi đó: a = mod 467=449 Bob ký thông báo x=119 với chữ ký: 101 y =119 mod 467 = 129 Bây giả sử Alice muốn xác minh chữ ký y, cô ta chọn số ngẫu nhiên chẳng hạn e1=38, e2=397 Cơ tính c= 13 lúc Bob trả lời với d= 38 397 Alice kiểm tra câu trả lời việc xác minh rằng: 119 Alice chấp nhận y chữ ký hợp lệ =9mod 467 Vì mà Ví dụ: Giả sử p= 467, =4, a=101 =449 Giả sử thông báo x=286 ký với chữ ký y = 83 Bob muốn thuyết phục Alice chữ ký không hợp lệ Giả sử Alice bắt đầu việc chọn giá trị ngẫu nhiên e1=45, e2=237 Alice tính c=305 Bob trả lời với d=109 Sau Alice tính: 45 237 246 mod 467=149 149≠109 nên Alice thực bước chọn giá trị ngẫu nhiên f1=125, f2=9 Alice tính C=270 Bob trả lời với D=68 Alice tính: 125 286 mod 467=25 Vì 25≠ 68 nên Alice thực bước cuối kiểm tra tính phù hợp Bước kiểm tra thành cơng vì: -237 125 ≡ 188(mod 467) -9 45 ≡ 188(mod 467) (109 x ) và: (68 x ) Vì Alice tin chữ ký y x khơng hợp lệ Hồng Văn Hiệp - CT1301 44 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng CHƯƠNG : ÁP DỤNG CHỮ KÝ CHỐNG CHỐI BỎ VÀO QUẢN LÝ HÀNH CHÍNH CỦA TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG 5.1 Đặt vấn đề Với quan tổ chức hệ thống quản lý hành đóng vai trị quan trọng Trường Đại Học Dân Lập Hải Phịng có sở số 36-Đường dân lập-Dư Hàng Kênh- Lê Chân- Hải Phòng, sở 2( xây dựng) Tại Xã Minh Tân- Kiến Thụy- Hải Phòng khu Khách Sạn Sinh Viên Do khoảng cách đia lý nên việc quản lý hành phức tạp khó khăn Trường Đại Học Dân Lập Hải Phòng gồm phòng ban, khoa, trung tâm nên việc ban hành định, văn từ Nhà trường tới phòng ban phận văn thư đảm nhiệm nên khó khăn thời gian Mặt khác, yêu cầu, kiến nghị khoa, trung tâm muốn lấy ý kiến, thị lãnh đạo nhà trường phức tạp 5.2 Giải vấn đề Ngày với phát triển mạnh mẽ công nghệ cao, cơng nghệ internet khơng cịn mẻ người, việc trao đổi thông tin mạng trở nên phổ biến Vì vậy, giải pháp thuận lợi chuyển định, văn qua mạng Tuy nhiên việc trao đổi tài liệu qua mạng khơng có khó khăn: ví dụ đường truyền văn bản, nghị bị sửa đổi, điều nguy hiểm khơng phải tài liệu thơng thường mà nghị quyết, văn quy chế Nhà trường Cũng có vấn đề khác cần giải đáp, ví dụ văn có đáng tin khơng? văn có xác khơng? Chúng ta biết rằng, nghị quyết, văn bản, thơng thường giấy kết thúc chữ ký người định Đó chứng để chứng minh hiệu lực văn Nếu chữ ký bị tẩy xóa ta co thể nghi ngờ tài liệu bị sửa đổi, chữ ký giả mạo Nhưng trao đổi mạng chữ ký viết tay thực văn thơng thường Hiện có nhiều chữ ký điện tử đem vào sử dụng thực tiễn Do tính chất đặc điểm việc quản lý hành chính, tơi chọn chữ ký chống chối bỏ để áp dụng Chữ ký chống chối bỏ chữ ký với ba giao thức: giao thức ký, giao thức kiểm thử giao thức chối bỏ, phù hợp với việc trao đổi mạng, tất áp dụng giao thức chữ ký chống chối bỏ việc Hồng Văn Hiệp - CT1301 45 Đồ án tốt nghiệp Trường ĐHDL Hải Phịng ban hành định có chữ ký Nhà trường hoàn toàn đáng tin cậy Người ký muốn phủ nhận chữ ký khơng Hơn nữa, người chối bỏ chữ ký khơng phải chữ ký Đặc biệt chữ ký chống chối bỏ nhân Khi sử dụng chữ ký chống chối bỏ, tất người tham gia mạng có số nguyên tố p, phần tử nguyên thủy khóa thư mục công khai chung Trường khóa bí mật a cho riêng mình, phần tử có bậc * a q Z p, p=2q + (q số nguyên tố) = mod p Ví dụ: Khoa Cơng Nghệ Thơng Tin muốn gửi danh sách sinh viên đủ điều kiện bảo vệ đồ án tốt nghiệp cho Hiệu trưởng duyệt Trước gửi danh sách cho Hiệu trưởng Trưởng khoa Công Nghệ Thông Tin tiến hành việc ký sau: Ông lấy số nguyên tố p thư mục cơng khai khóa bí mật a dùng cho riêng Tiến hành ký văn bản: y=x mod p(Ở x văn thu sau hai phép biến đổi thông báo cần ký là: Hash đưa nhóm G) Gửi văn kèm theo chữ ký mạng a Về phía mình, Hiệu trưởng kiểm tra lại chữ ký có Trưởng khoa Cơng Nghệ Thơng Tin hay khơng? Ơng ta tiến hành giao thức kiểm thử với hợp tác Trưởng khoa Công Nghệ Thông Tin sau: Hiệu trưởng lấy ngẫu nhiên hai số e1, e2 tính c=y cho Trưởng khoa Công Nghệ Thông Tin Trưởng khoa Công Nghệ Thơng Tin tính d =a cho Hiệu trưởng Hiệu trưởng kiểm tra d≡x e1 e2 e1 e2 mod p gửi lại -1mod q mod p gửi lại mod p chấp nhận chữ ký hợp lệ Sau kiểm tra chữ ký, Hiệu trưởng định cho sinh viên mà khoa Công Nghệ Thông Tin gửi bảo vệ đồ án tốt nghiệp ký vào định trước gửi cho khoa Công Nghệ Thông Tin Khoa Công Nghệ Thông Tin kiểm tra chữ ký Hiệu trưởng cách thức Nếu hai bên khơng có vấn đề thời gian tiến hành bảo vệ khoa Công Nghệ Thông Tin ấn định Nếu danh sách có sai sót người chịu trách nhiệm Trưởng khoa Công Nghệ Thông Tin danh sách có chữ ký Trưởng khoa Tuy nhiên, Trưởng khoa tuyên bố chữ ký giả mạo từ chối xác minh nó, thực giao thức theo cách để chữ ký khơng thể xác minh Để ngăn chặn tình Hồng Văn Hiệp - CT1301 46 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng này, Hiệu trưởng thực hiên giao thức từ chối Nếu Trưởng khoa Công Nghệ Thông Tin không chấp nhận tham gia vào giao thức từ chối điều xem chữ ký thực tế thật ông ta cố gắng từ chối chữ ký cua Nếu Trưởng khoa tuân thủ bước giao thức kết việc Hiệu trưởng kết luận chữ ký giả mạo thi ông có quyền chối bỏ chữ ký cách thuyết phục Giao thức từ chối tiến hành sau: Hiệu trưởng chọn ngẫu nhiên e1, e2 Z*q e1 e2 Hiệu trưởng tính c = y mod p gửi cho Trưởng khoa CNTT a-1 mod q Trưởng khoa CNTT tính d= c mod p gửi cho Hiệu trưởng e1 e2 Hiệu trưởng xác minh xem có d x mod p khơng? Hiệu trưởng chọn ngẫu nhiên f1, f2 Z*q f1 f2 Hiệu trưởng tính C= y mod p gửi cho Trưởng khoa CNTT a-1 mod q Trưởng khoa CNTT tính D = C mod p gửi cho Hiệu trưởng f1 f2 Hiệu trưởng xác minh xem có D x mod p khơng? Hiệu trưởng kết luận y giả mạo (d p) -e2 f1 ) ≡(D -f2 e1 ) (mod Như cách sử dụng chữ ký số chống chối bỏ việc trao đổi định, giấy tờ nhanh xác Hơn nữa, tất chữ ký văn lưu giữ lại kiểm thử lại lúc thấy cần thiết Tuy nhiên, cài đặt lược đồ chữ ký vào mạng thông tin máy tính trường tơi thấy cần nghiên cứu thêm ba vấn đề nữa: Có thể Hiệu trưởng Trưởng khoa Công Nghệ Thông Tin bận, cần ủy quyền cho người khác tham gia vào giao thức hỏi đáp, phải thực nào? Cũng có trường hợp, bên nhận thấy văn gửi cho có nội dung mà chưa muốn thực nên không tiến hành kiểm tra chữ ký lờ Vậy làm để ngăn chặn cố này? Nghiên cứu việc lưu trữ máy tính văn chứng tương ứng cho an toàn thuận tiện Hoàng Văn Hiệp - CT1301 47 Đồ án tốt nghiệp Trường ĐHDL Hải Phịng CHƯƠNG 6: CHƯƠNG TRÌNH 6.1 Giải thích chương trình Để cài đặt sơ đồ chữ ký chơng chối bỏ, sử dụng ngôn ngữ C++ để an tồn tơi thực số cỡ lớn hệ số 256 Mỗi số cỡ lớn cài đặt sau: độ dài số cỡ lớn lưu vào biến unsigned int giá trị lưu mảng unsigned char Để mô chữ ký chống chối bỏ, tơi chọn số p có độ dài 19 byte giá trị sau: 56 29 43 85 112 151 142 150 211 90 78 106 77 226 71 208 21 191 Khóa tạo theo thủ tục sau: Chọn ngẫu nhiên phần tử e Z Nếu = 1, quay lại bước * p tính = e mod p Điều kiện để thực chữ ký chống chối bỏ x, y G.Để ký văn bất kỳ, thực sau: Tiến hành Hash văn gốc( giả sử x1) theo thuật toán MD5 thành văn gồm 16 byte (giả sử m) m Tính x = mod p Và giao thức ký tiến hành x để thu chữ ký y y xem chữ ký văn gốc Điều đảm bảo x, y G Chương trình chia làm hai modun sau: Tạo danh sách người sử dụng mạng sở liệu: Modun cho phép đăng ký tham cách nhập user name password Tạo khóa bí mật: Trước tiên, người sử dụng phải đăng nhập mạng cách nhập user name password(dạng mã hóa) Sau đăng nhập mạng thành cơng tiến hành thủ tục tạo khóa với số p cho trước Khóa , đưa vào thư mục cơng khai, cịn khóa bí mật a người sử dụng giữ cho riêng Cuối modun chứa giao thức ký, kiểm thử từ chối 6.2 Các phép toán hỗ trợ a Thuật toán cộng Input: x,y số nguyên, số gồm n+1 chữ số hệ 256 Output: x+y = (wn+1wn w1w0) hệ 256 c 0( c số nhớ) Hoàng Văn Hiệp - CT1301 48 Đồ án tốt nghiệp Trường ĐHDL Hải Phòng For i=0 to n 2.1 wi (xi +yi+c) mod 256 2.2 if(xi +yi +c