1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn

88 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn(Luận văn thạc sĩ) Nghiên cứu giao thức trao đổi khóa an toàn

LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tp Hồ Chí Minh, ngày ii tháng năm 2014 CẢM TẠ Tôi xin chân thành cảm ơn Cô hướng dẫn khoa học PGS.TS Phạm Hồng Liên, tận tình hướng dẫn tơi hồn thành luận văn Tơi xin chân thành cảm ơn quý Thầy cô khoa Điện-Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM, tận tình giúp đỡ, hỗ trợ tơi suốt q trình thực luận văn Xin cảm ơn quý Thầy cô tham gia giảng dạy lớp cao học khóa 2011 – 2013, mang đến cho kiến thức quý báu khoa học kỹ thuật Xin cảm ơn đến đồng nghiệp hỗ trợ tơi q trình học tập hồn thành luận văn Tp Hồ Chí Minh, ngày iii tháng năm 2014 TÓM TẮT LUẬN VĂN Luận văn thực nghiên cứu số vấn đề trao đổi khóa, thuật tốn mật mã liên quan đưa cải tiến giao thức trao đổi khóa an tồn sở kết hợp chữ ký số giao thức Diffie-Hellman Thực nghiên cứu cải tiến nhằm tăng tính an tồn, tăng số lượng khóa phiên Giao thức cải tiến có độ phức tạp tính tốn tương đương với giao thức Liu & Li (năm 2010) Những cải tiến đánh giá tốt, có ý nghĩa thiết thực chứng minh tương đối chặt chẽ mặt lý thuyết ABSTRACT The thesis studies some issues about key exchange, encryption algorithms involved, and provides improvements in safe key exchange protocol based on the combination of digital signatures and Diffie-Hellman protocol The thesis also studies improvements in order to increase safety and the number of session keys Improvement protocol is as complicated as the protocol of Liu & Li (2010) These improvements are evaluated to be good and have practical meanings, and are rigorously proved in theory iv MỤC LỤC Trang tựa Trang Quyết định giao đề tài Lý lịch cá nhân i Lời cam đoan ii Cảm tạ iii Tóm tắt iv Mục lục v Danh sách chữ viết tắt vii Danh sách hình viii Danh sách bảng ix Chương TỔNG QUAN 1.1 Tổng quan chung lĩnh vực nghiên cứu 1.2 Mục đích đề tài 1.3 Nhiệm vụ giới hạn đề tài 1.3.1 Nhiệm vụ đề tài 1.3.2 Giới hạn đề tài 1.4 Phương pháp nghiên cứu Chương 2.CƠ SỞ LÝ THUYẾT 2.1 An toàn bảo mật thong tin 2.2 Mật mã học 2.3 Hệ thống mã hoá 2.4 Vai trị khố phương pháp bảo mật 12 2.4.1 Vai trị khố 12 2.4.2 Vấn đề an tồn khố giải pháp bảo mật 15 2.5 Một số khái niệm liên quan 17 2.6 Cơ sở toán học 19 2.6.1 Lý thuyết số 19 vi 2.6.2 Cơ đại số trừu tượng 20 2.6.3 Bài toán logarit rời rạc 23 2.7 Các thuật toán mật mã liên quan 26 2.7.1 Hệ mật Elgamal 26 2.7.2 Hàm băm 27 2.7.3 Chữ ký số 34 Chương XÂY DỰNG GIAO THỨC TRAO ĐỔI KHĨA AN TỒN 46 3.1 Phân tích số giao thức trao đổi khóa có tích hợp chữ ký số 46 3.1.1 Các u cầu giao thức trao đổi khóa 46 3.1.2 Giao thức trao đổi khóa Arazi 47 3.1.3 Những phát triển Lein Harn 49 3.1.4 Giao thức trao đổi khóa Phan 51 3.1.5 Giao thức trao đổi khóa Jie Liu Jianhua Li 54 3.1.6 Đánh giá hướng cải tiến 56 3.2 Xây dựng giao thức trao đổi khóa 58 3.2.1 Đặt tốn 58 3.2.2 Tổ chức giao thức 59 3.2.3 Nhận xét 63 3.3 Mô giao thức 67 3.3.1 Môi trường cài đặt 67 3.3.2 Giao diện chương trình 67 KẾT LUẬN VÀ KIỂN NGHỊ 71 TÀI LIỆU THAM KHẢO 72 PHỤ LỤC 74 vi DANH SÁCH CHỮ VIẾT TẮT TT Kí hiệu Giải thích ASSRDH-DSA Against session state reveal Diffie-Hellman - DSA: Giao thức cải tiến AKA Auxiliary Key Agreement: Bổ trợ thỏa thuận khóa CA Certificate authority: Trung tâm phân phối khóa CKĐT Chữ ký điện tử CKS Chữ ký số CSDL Cơ sở liệu DH Trao đổi khóa Diffie – Hellman DSA Digital signature algorithm: Giải thuật chữ ký số ECC Elliptic curve cryptography: Hệ mật đường cong elliptic 10 NIST National Institute of Standards and Technology: Viện tiêu chuẩn công nghệ quốc gia Hoa Kỳ 11 SHA Secure hash algorithm: Thuật tốn băm bí mật 12 TĐK Trao đổi khóa vii DANH SÁCH CÁC HÌNH HÌNH Trang Hình 2.1: Mơ hình chung hệ thống mật mã khóa đối xứng Hình 2.2 a) Chức bảo mật hệ mật với khóa cơng khai 11 Hình 2.2 b) Chức xác thực hệ mật với khóa cơng khai 11 Hình 2.3 Sơ đồ ký kiểm thử sử dụng hàm băm 28 Hình 3.1 Giao thức TĐK Arazi 48 Hình 3.2 Giao thức TĐK ba vịng Lein Harn 50 Hình 3.3 Giao thức TĐK ba vịng sau sửa 53 Hình 3.4 Giao thức TĐK Liu Li cải tiến 55 Hình 3.5 Giao thức TĐK ARSDH-DSA 62 Hình 3.6 Giao diện nhập khóa bí mật 67 Hình 3.7 Mơ bước giao thức 68 Hình 3.8 Mơ bước hai giao thức 68 Hình 3.9 Mơ bước ba giao thức 69 Hình 3.10 Mơ bước bốn giao thức 69 Hình 3.11 Mơ bước bốn giao thức 70 viii DANH SÁCH CÁC BẢNG BẢNG Trang Bảng 2.1: Các tính chất thuật tốn băm an tồn 34 Bảng 3.1: Liệt kê thuộc tính bảo mật giao thức 56 Bảng 3.2 Đặc tính giao thức DH kết hợp với DSA 63 ix Chương TỔNG QUAN 1.1 Tổng quan chung lĩnh vực nghiên cứu Ngày nay, công nghệ thông tin thương mại điện tử xâm nhập vào khía cạnh hoạt động xã hội Việc trao đổi đảm bảo an toàn cho thông tin nhạy cảm mạng truyền dẫn vấn đề mang tính thời vơ phức tạp Trên thực tế, kỹ thuật mật mã phương pháp an toàn hiệu để bảo đảm truyền tin an tồn mạng Trong đó, tốn trao đổi khóa ln đặt để đáp ứng ứng dụng thuật tốn mật mã Xác lập khóa (Key Establishment) tiến trình hai (hoặc nhiều) đối tượng xác lập khóa bí mật chia sẻ Trong thực tế có hai kiểu giao thức xác lập khóa [3]: 1) Các giao thức truyền khóa (Key Transport Protocols), khóa phát sinh đối tượng truyền an toàn đến đối tượng khác 2) Các giao thức thỏa thuận khóa (Key Agreement Protocols), đối tượng trao đổi thông tin để xác lập khóa bí mật chia sẻ Trong khn khổ luận văn, người viết quan tâm đến giao thức thỏa thuận (trao đổi) khóa Các khóa dùng q trình mã hóa giải mã phải giữ bí mật cần trao đổi phương pháp an toàn gặp trực tiếp hay thơng qua người đưa thư tin cậy Vì q trình phân phối khóa thực tế gặp nhiều khó khăn, đặc biệt số lượng người sử dụng lớn Mật mã hóa khóa cơng khai giải vấn đề cho phép người dùng gửi thông tin mật đường truyền khơng an tồn mà khơng cần thỏa thuận khóa từ trước Thuật tốn mật mã hóa khóa cơng khai thiết kế James H Ellis, Clifford Cocks, Malcolm Williamson vào đầu thập kỷ 1970 Năm 1976, Whitfield Diffie Martin Hellman công bố hệ thống mật mã hóa khóa bất đối xứng nêu phương pháp trao đổi khóa cơng khai Trao đổi khóa Diffie-Hellman (DH) phương pháp áp dụng thực tế để phân phối khóa bí mật thơng qua kênh thơng tin khơng an tồn Giao thức DH thiết kế để có khả chống lại công thụ động, nhiên khơng cung cấp xác thực đối tượng tham gia truyền thông Giải pháp xác thực cần sử dụng áp dụng giao thức thực tế là: sử dụng kết hợp với trung tâm phân phối khóa (CA) chữ ký số (CKS) Tuy nhiên, sử dụng kết hợp với CA, việc thay đổi khóa cơng khai khóa bí mật chia sẻ thường sử dụng làm khóa chủ để mã hóa khóa phiên phiên liên lạc Khi kết hợp với CKS, việc thay đổi khóa cơng khai dễ dàng Arazi người kết hợp giao thức DH CKS DSA để cung cấp tính xác thực khóa Tuy nhiên, Nyberg and Rueppel [7] điểm yếu lược đồ Arazi cơng khóa biết Một kiểu công khác công khố chia sẻ khơng biết hay cơng lặp lại khóa Vì vậy, năm 2004 Lein Harn mở rộng cách tiếp cận Arazi để tích hợp cách tin cậy giao thức DH DSA Giao thức TĐK Lein Harn đề xuất cung cấp đặc tính như: an tồn khóa biết, ngăn cản cơng khóa chia sẻ khơng biết (unknown key–share resilience) ngăn cản cơng khóa lặp lại Ba tính an toàn yêu cầu chuẩn cho giao thức TĐK Tuy nhiên, giao thức không cung cấp hai tính chuẩn an tồn khác, là: an tồn phía trước khả làm khóa Do năm 2005 R.C.W Phan xếp giao thức để đảm bảo hai đặc tính an tồn phía trước khả làm khóa mà trì đặc tính giao thức gốc Năm 2010 Jie Liu Jianhua Li đưa cải tiến nhằm làm cho giao thức an toàn giữ yêu cầu lược đồ Phan Tuy nhiên giao thức cải tiến Liu li chưa khắc phục tính bảo mật chống lại lộ trạng thái khóa phiên K AB2 = H K AB3 = H  m  ||  yB  v1 B  y  xA B xA  = H  g    g  ||  nB  = H v xB xA w1v1 ||  g  B ||  g  x xA w2 v2   An toàn chống lại lộ trạng thái khóa phiên (security against session state reveal): có nghĩa là, bí mật khóa phiên trì kẻ cơng biết giá trị bí mật ngắn hạn (v w v1, v2, w1 w2) sử dụng để tạo khóa phiên Sự an tồn bắt nguồn từ việc giá trị ngẫu nhiên ngắn hạn phiên dễ dàng bị rị rỉ so với khóa bí mật lâu dài (xA, xB) Viết lại hai phương trình tính khóa bí mật chia sẻ:   v1 +v2  xA K AB1 = H  DH1  = H  oB   = H  g    w1 +w2  xB  v1 +v2  xA K AB2 = H  DH || DH  = H  mB  ||  yB  K AB3 = H  DH || DH  = H v  y  B xA xA  = H  g   ||  nB  = H v  g   w1v1 xB xA (3.16) ||  g  B  (3.17) ||  g   (3.18) x xA w2 v2 Từ ba phương trình (3.16), (3.17) (3.18) thấy khóa phiên K AB1 , K AB2 , K AB3 hàm phụ thuộc vào giá trị bí mật ngắn hạn v1,v2, w1, w2 giá trị bí mật lâu dài g x A xB mà không phụ thuộc vào giá trị công khai yA hay yB Khi kẻ công biết giá trị v1,v2, w1, w2 khơng tính khóa phiên K AB , K AB , K AB g x A xB Vì vậy, giao thức cung cấp tính an tồn chống lại cơng lộ trạng thái khóa phiên 3.2.3.2 Độ phức tạp - Độ phức tạp tính tốn: ASSRDH-DSA có độ phức tạp tính tốn tương đương giao thức trao đổi khóa Liu & Li - Độ phức tạp khơng gian: ASSRDH-DSA có thêm phép tính giá trị DH1, DH2, DH3, DH4 giá trị trung gian để tính khóa bí mật chia sẻ làm cho độ phức tạp không gian nở (không ảnh hưởng nhiều đến tốc độ giao thức máy tính có cấu hình cao) bù lại làm cho giao 66 thức an tồn (do có hầu hết tính chất cần có giao thức thời điểm tại) 3.3 Mô giao thức 3.3.1 Mơi trường cài đặt Cài đặt chương trình mơ ASSRDH-DSA: - Phần mềm sử dụng: Microsoft Visual Studio 2010 - Ngôn ngữ: C - Môi trường: hệ điều hành Windows 7, Intel(R) Core(TM) 2CPU T7400 2.16 GHz - Tốc độ xử lý máy tính: RAM 2GHz 3.3.2 Giao diện chương trình - Bên A B chọn khóa bí mật xA, xB tính khóa cơng khai yA, yB Hình 3.6 Giao diện nhập khóa bí mật - Bên A sử dụng cặp khóa dài hạn (xA, yA) tính tốn thơng số (mA, nA, oA) gửi cho B 67 Hình 3.7 Mơ bước giao thức - Bên B sử dụng cặp khóa dài hạn (xB, yB) thơng số (mA, nA, oA) nhận từ bên A để tính tốn gửi thơng số tương ứng (mB,nB,oB,sB) Hình 3.8 Mô bước hai giao thức 68 - Bên A kiểm tra chữ ký tính K AB , K AB , K AB sA sau gửi sA cho B Hình 3.9 Mơ bước ba giao thức - Bên B xác thực chữ ký (rA, sA) tính K AB , K AB , K AB kết thúc phiên Hình 3.10 Mơ bước bốn giao thức 69 Hình 3.11 Mơ bước bốn giao thức 70 KẾT LUẬN VÀ KIẾN NGHỊ Kết luận Luận văn thực nghiên cứu vấn đề TĐK, trọng tâm vào TĐK an toàn sở kết hợp CKS giao thức DH Nghiên cứu đưa cải tiến nhằm mục tiêu tăng tính an tồn, tăng số lượng khóa phiên Giao thức cải tiến có độ phức tạp tính tốn tương đương với giao thức Liu & Li (năm 2010) Tuy nhiên vấn đề nghiên cứu tương đối khó, địi hỏi kiến thức mã hóa tốn học cao Bản thân người viết tham gia vào lĩnh vực nghiên cứu này, nên luận văn không tránh khỏi chỗ hạn chế Kính mong đóng góp q thầy cô bạn đồng nghiệp cho luận văn thân tác giả Kiến nghị Nội dung nghiên cứu luận văn phần hướng nghiên cứu công việc thực tế người viết sau nên chắn phát triển, đào sâu Tính tốn trường số khác, sử dụng mơ hình để TĐK nhóm Và mong muốn thời gian không xa giao thức sử dụng thực tế Liên quan đến khó khăn nghiên cứu áp dụng, người viết mong muốn có nguồn tài liệu phong phú hơn, điều kiện vật chất tốt tạp chí uy tín giới thường phải bắt đăng ký trả phí nên phải nhà trường nên có số tài khoản để sinh viên dùng chung Khó khăn thứ hai áp dụng thực tế, đặc thù ngành điều kiện vật chất nên nghiên cứu mật mã an ninh mạng thường triển khai thực tế, mong nhà trường tương lai có dự án giới thiệu đơn vị triển khai hỗ trợ kinh phí cho nghiên cứu lĩnh vực 71 TÀI LIỆU THAM KHẢO Tiếng Việt TS Dương Anh Đức, Ths Trần Minh Triết (2005), Mã hóa ứng dụng, Trường Đại học khoa học tự nhiên - Đại học quốc gia TP.HCM Tiếng Anh B Arazi (1993), “Integrating a key distribution procedure into the digital signature standard”, Electronics Letters, 29, (11), 966-967 Diffie & M Hellman (1976), “New Directions in Cryptography”, IEEE Trans On Info Theory, IT-22(6), 644-654 D R Stinson (1995), Cryptocraphy: theory and practice, CRC press, Nebraska & Lincoln University Enge (1999), A Elliptic Curves and their Applications to Cryptography: an Introduction, Springer J Liu and J Li (2010), “A Better Improvement on the Integrated Diffie-Hellman - DSA Key Agreement Protocol”, IEEE Communication Letters, 11, (2), 114117 K Nyberg and R Rueppel (1994), “Weaknesses in some recent key agreement protocols”, Electronics Letters, 30, (1), 26-27 L Harn, Ma Mehta, and W J Hsin (2004), “Integrating Diffie-Hellman key exchange into the digital signature algorithm (DSA)”, IEEE Communication Letters, 8, (3), 198-200 Menezes, P van Oorschot and S Vanstone (1997), Handbook of Applied Cryptography, Boca Raton, Florida: CRC Press 72 10 R C W Phan (2005), “Fixing the integrated Diffie-Hellman DSA key exchange protocol”, IEEE Communication Letters, 9, (6), 570-572 11 R Kenneth (2000), Elementary number theory and its applications, AT & T Bell Laboratories, 4th edition, ISBN:0-201-87073-8 12 Wenbo Mao, Prentice Hall PTR (2003), Modern Cryptography: Theory and Practice River, New Jersey 07458 13 William Stallings (2005), Cryptography and Network Security Principles and Practices, Fourth Edition, Prentice Hall PTR, p 592 14 National Institute of Standards and Techonogy , FIPS 186-1, FIPS 186-2, FIPS 186-3, FIPS 186-4 73 PHỤ LỤC Hàm tính giá trị hàm băm private BigInteger H(string hash) { UTF8Encoding gbyte = new UTF8Encoding(); byte[] bytes1 = gbyte.GetBytes(hash); SHA1CryptoServiceProvider SHS = new SHA1CryptoServiceProvider(); byte[] hashBytes = SHS.ComputeHash(bytes1); BigInteger res = new BigInteger(hashBytes); return res; } Hàm tạo số nguyên tố lớn ngẫu nhiên p, q, g private void TaoPQG() { Random Rand = new Random(); //***********Khoi tao tham so P, Q, G**************** q = new BigInteger(); p = new BigInteger(); g = new BigInteger(); //***********TAO THAM SO Q**************** while (q.isProbablePrime(20) == false) { Rand = new Random(); q.genRandomBits(160, Rand);//q ngau nhien 160 bit } // //***********TAO THAM SO P**************** BigInteger temp = new BigInteger(Rand.Next(10, 10000)); Random rn = new Random(); temp.genRandomBits(320, rn); p = temp * q + 1; while (!p.isProbablePrime(20)) { rn = new Random(); temp.genRandomBits(320, rn); p = temp * q + 1; } // //***********TAO THAM SO G**************** Rand = new Random(); temp = new BigInteger(Rand.Next(10, 10000)); g = temp.modPow((p - 1) / q, p); while (g == 1) { temp = new BigInteger(Rand.Next(10, 100)); g = temp.modPow((p - 1) / q, p);//g=temp^((p-1)/q)mod p } } Hàm tính cặp khóa dài hạn (xA, yA), (xB, yB) 74 private void txtYA_Click(object sender, EventArgs e) { Random rn = new Random(); if (txtXA.Text == "") { xA = new BigInteger(rn.Next(10, 100)); xA.genRandomBits(160, rn); txtXA.Text = xA.ToString(); } xA = H(txtXA.Text); yA = g.modPow(xA, p); txtYA.Text = yA.ToHexString(); } private void txtYB_Click(object sender, EventArgs e) { Random rn = new Random(); if (txtXB.Text == "") { xB = new BigInteger(rn.Next(10, 100)); xB.genRandomBits(160, rn); txtXB.Text = xB.ToString(); } xB = H(txtXB.Text); yB = g.modPow(xB, p); txtYB.Text = yB.ToHexString(); } Hàm tạo tham số mA, nA, oA gửi cho B private void btnTao_ma_na_oa_Click(object sender, EventArgs e) { pic_buoc1.Visible = true; grbBuoc2.Visible = true; // //Lấy ngẫu nhiên hai số v1, v2 có 128 bit (đảm bảo thuộc [1, q-1] Random rd1 = new Random(14); v1 = new BigInteger(); v1.genRandomBits(128, rd1); mA = g.modPow(v1, p); // Random rd2 = new Random(74); v2 = new BigInteger(); v2.genRandomBits(128, rd2); nA = g.modPow(v2, p); // BigInteger temp = mA * nA; oA = temp.modPow(xA, p); txtMA.Text = mA.ToHexString(); txtNA.Text = nA.ToHexString(); txtOA.Text = oA.ToHexString(); } Hàm tạo tham số mB, nB, oB, sB gửi cho A 75 private void btnTao_mB_nB_oB_sB_Click(object sender, EventArgs e) { pic_buoc2.Visible = true; grbBuoc3.Visible = true; BigInteger temp = new BigInteger(); // //Tính rB khác { { //Lấy ngẫu nhiên hai số w1, w2 có 128 bit (đảm bảo thuộc [1, q-1] Random rd1 = new Random(2); w1 = new BigInteger(); w1.genRandomBits(128, rd1); Random rd2 = new Random(7); w2 = new BigInteger(); w2.genRandomBits(128, rd2); // //Tính mB, nB, oB, rB mB = g.modPow(w1, p); nB = g.modPow(w2, p); temp = mB * nB; oB = temp.modPow(xB, p); // temp = ((mB * nB) % p) % q; } while (temp == 0); // (rB=temp) DH1B = oA.modPow(((w1 + w2) * xB), p); DH2B = mA.modPow(w1, p); DH3B = yA.modPow(xB, p); DH4B = nA.modPow(w2, p); rB = temp; // //Tính sB khác gửi cho A sB = (((w1 + w2).modInverse(q)) * (H(mB.ToHexString() + nB.ToHexString() + DH1B.ToHexString() + DH2B.ToHexString() + DH3B.ToHexString() + DH4B.ToHexString()) + xB * rB) % q) % q; } while (sB == // txtMB.Text = txtNB.Text = txtOB.Text = txtSB.Text = 0); mB.ToHexString(); nB.ToHexString(); oB.ToHexString(); sB.ToString(); } Hàm kiểm tra chữ ký số DSA private bool KiemTraDSA(BigInteger e_nho, BigInteger r, BigInteger s, BigInteger y) 76 { BigInteger i = s.modInverse(q); BigInteger u1 = (e_nho * i) % q; BigInteger u2 = (r * i) % q; BigInteger D_lon = (g.modPow(u1, p) * y.modPow(u2, p)) % p; BigInteger D_nho = D_lon % q; bool res = false; if (D_nho == r) res = true; return res; } Hàm kiểm tra chữ ký DSA (rB, sB) thông tin từ B private void btnKiemTra_rB_sB_Click(object sender, EventArgs e) { BigInteger rB_A_gui = new BigInteger(); rB_A_gui = ((mB * nB) % p) % q; if ((rB_A_gui >= q) || (sB >= q)) { MessageBox.Show("Thông tin nhận B.\nKết thúc giao thức"); return; } // //Kiểm tra chữ ký số DSA (rB,sB) // DH1A = oB.modPow(((v1 + v2) * xA), p); DH2A = mB.modPow(v1, p); DH3A = yB.modPow(xA, p); DH4A = nB.modPow(v2, p); BigInteger e_nho = H(mB.ToHexString() + DH1A.ToHexString() + DH2A.ToHexString() + DH3A.ToHexString() + DH4A.ToHexString()); nB.ToHexString() rB_A_gui = ((mB * nB) % p) % q; if (KiemTraDSA(e_nho, rB_A_gui, sB, yB) == true)//rB_A_gui { MessageBox.Show("Chữ ký hợp lệ!"); } else { MessageBox.Show("Chữ ký không hợp lệ"); } } Hàm tính sA gửi cho B private void btnTinh_sA_Click(object sender, EventArgs e) { pic_buoc3.Visible = true; grbBuoc4.Visible = true; //Tính KAB1, KAB2, KAB3 77 + kAB1_A = H(DH1A.ToHexString()); kAB2_A = H(DH2A.ToHexString() + DH3A.ToHexString()); kAB3_A = H(DH3A.ToHexString() + DH4A.ToHexString()); // //Tính rA khác Tính sA khác gửi cho B rA = ((mA * nA) % p) % q; sA = ((v1 + v2).modInverse(q) * (H(mA.ToHexString() + nA.ToHexString() + DH1A.ToHexString() + DH2A.ToHexString() + DH3A.ToHexString() + DH4A.ToHexString()) + xA * rA) % q) % q; txtSA.Text = sA.ToHexString(); txtKAB1_A.Text = kAB1_A.ToHexString(); txtKAB2_A.Text = kAB2_A.ToHexString(); txtKAB3_A.Text = kAB3_A.ToHexString(); } Hàm kiểm tra chữ ký DSA (rA, sA) thông tin từ A private void btnKiemTra_rA_sA_Click(object sender, EventArgs e) { BigInteger rA_B_gui = ((mA * nA) % p) % q; if ((rA_B_gui >= q) || (sA >= q)) { MessageBox.Show("Thông tin nhận A.\nKết thúc giao thức"); return; } // //Kiểm tra chữ ký số DSA (rA,sA) // BigInteger e_nho = H(mA.ToHexString() + DH1B.ToHexString() + DH2B.ToHexString() + DH3B.ToHexString() + DH4B.ToHexString()); nA.ToHexString() + if (KiemTraDSA(e_nho, rA_B_gui, sA, yA) == true)//rB_A_gui { MessageBox.Show("Chữ ký hợp lệ!"); //Tính KAB1, KAB2, KAB3 kAB1_B = H(DH1B.ToHexString()); kAB2_B = H(DH2B.ToHexString() + DH3B.ToHexString()); kAB3_B = H(DH3B.ToHexString() + DH4B.ToHexString()); // txtKAB1_B.Text = kAB1_B.ToHexString(); txtKAB2_B.Text = kAB2_B.ToHexString(); txtKAB3_B.Text = kAB3_B.ToHexString(); // MessageBox.Show("Kết thúc giao thức.\nThu khóa bí mật chia sẻ A B:\nKAB1, KAB2, KAB3"); } else { MessageBox.Show("Chữ ký không hợp lệ"); } 78 } 79 ... u cầu giao thức trao đổi khóa 46 3.1.2 Giao thức trao đổi khóa Arazi 47 3.1.3 Những phát triển Lein Harn 49 3.1.4 Giao thức trao đổi khóa Phan 51 3.1.5 Giao thức trao đổi khóa Jie Liu Jianhua... LUẬN VĂN Luận văn thực nghiên cứu số vấn đề trao đổi khóa, thuật tốn mật mã liên quan đưa cải tiến giao thức trao đổi khóa an tồn sở kết hợp chữ ký số giao thức Diffie-Hellman Thực nghiên cứu. .. thiện an toàn giao thức Các giao thức có tính bảo mật ngày tốt 1.2 Mục đích đề tài Nghiên cứu tổng quan số vấn đề trao đổi khóa, thuật tốn mật mã liên quan, nghiên cứu giao thức trao đổi khóa bí mật

Ngày đăng: 16/12/2022, 14:53

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN