Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯àNG Đ¾I HàC QUÀN LÝ VÀ CÔNG NGHÞ HÀI PHÒNG ------------------------------- Đâ ÁN TàT NGHIÞP NGÀNH : CÔNG NGHÞ THÔNG TIN Sinh viên : Ph¿m NhÁt Hoàng GiÁng viên h°ßng d¿n: TS. Hã Văn Canh HÀI PHÒNG – 2023 Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯àNG Đ¾I HàC QUÀN LÝ VÀ CÔNG NGHÞ HÀI PHÒNG ----------------------------------- ĀNG DþNG HÞ MÀT Mà RSA TRONG CHĀ KÝ ĐIÞN Tþ Đâ ÁN TàT NGHIÞP Đ¾I HàC HÞ CHÍNH QUY NGÀNH: CÔNG NGHÞ THÔNG TIN Sinh viên : Ph¿m NhÁt Hoàng GiÁng viên h°ßng d¿n: TS. Hã Văn Canh HÀI PHÒNG – 2023 Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯àNG Đ¾I HàC QUÀN LÝ VÀ CÔNG NGHÞ HÀI PHÒNG -------------------------------------- NHIÞM Vþ ĐÀ TÀI TàT NGHIÞP Sinh viên: Ph¿m Nhật Hoàng Mã SV: 1812402016 Lßp : CT2301C Ngành : Công nghệ thông tin Tên đÁ tài: Āng dāng Hệ mật mã RSA trong chữ ký điện tử 1 MþC LþC LàI CÀM ¡N .6 CH¯¡NG 1: TäNG QUAN VÀ HÞ MÀT Mà KHOÁ CÔNG KHAI.1 Khái niệm về mật mã và mật mã khoá công khai .2 Mật mã khoá công khai .2 Mát số hệ mật mã đối xāng và khoá công khai (bất đối xāng) .1 Ph°¡ng pháp mã hoá dịch chuyển .2 Ph°¡ng pháp mã hoá thay thế: .3 Ph°¡ng pháp Affine .4 Ph°¡ng pháp mã hoá Vigenere .5 Ph°¡ng pháp mã hoá Hill .6 Ph°¡ng pháp mã hoá hoán vị .7 Ph°¡ng pháp DES (Data Encyption Standard) .8 Hệ mật mã RSA .9 Hệ mật mã El-gamal .10 Ph°¡ng pháp trao đổi khoá Diffie-Hellman .3 Mát số tính chất cÿa mật mã khóa công khai.28 CH¯¡NG 2: CHĀ KÝ Sà .1 Định nghĩa chữ ký số và ví dā.2 So sánh chữ ký số với chữ ký viết tay .3 Hàm băm và các tính chất cÿa hàm băm.4 Vai trò cÿa hàm băm với chữ ký số.37 CH¯¡NG 3: HÞ MÀT RSA .1 Khái niệm và tính chất cÿa mật mã RSA .2 Mát số lß hổng cÿa RSA ta cần l°u ý.3 Thuật toán ký và xác thực.4 Cài đặt ch°¡ng trình thử nghiệm .47 Kết luận ch°¡ng: .50 TÀI LIÞU THAM KHÀO.55 2 DANH MþC HÌNH VẼ Hình 1.1: Máy Enigma từ thế chiến thā 2 được sử dụng để mã hoá, bảo vệ các thông tin tính toán học nhạy cảm.2: Sơ đồ mã hoá và giải mã .3 Sơ đồ mã hoá công khai.4 Ví dụ về phương pháp mã hoá dịch chuyển.5 Ví dụ về phương pháp mã hoá thay thế .6 Bảng mật mã cÿa Vigenere.7 : Biểu diễn 64 bit x thành 2 phần L và R.8 : Quy trình phát sinh dãy Li, Ri từ dãy Li - 1, Ri - 1 và khóa Ki .1 Hình ảnh chữ ký số.2: Ví dụ về minh hoạ về hàm băm .3 Vai trò cÿa hàm băm với chữ ký số.1 Sơ đồ thuật toán tạo chữ ký số.2 Sơ đồ thuật toán xác thực chữ ký .3 Khối tạo key .5 Khối thông tin key .6 Khối mã hoá và giải mã .7 Khối kiểm tra file.8 Thư mục output chāa file mã hoá và giải mã. 46 3 DANH MþC CHĀ VI¾T TÂT Chā vi¿t tÃt Tên ti¿ng anh Nghĩa ti¿ng vißt RSA Viết theo 3 chữ cái đầu cÿa tên ba tác giả Rivest – Shamir - Adleman DES Data Encryption Standard Tiêu chuẩn mã hóa dữ liệu MD1 Message – Digest Algorithm 1 Giải thuật tiêu hóa thông tin 1 MD2 Message – Digest Algorithm 2 Giải thuật tiêu hóa thông tin 2 MD5 Message – Digest Algorithm 5 Giải thuật tiêu hóa thông tin 5 MIT Massachusetts Institute of Viện công nghệ Massachusetts Technology SHA Secure Hash Algorithm Thuật giải băm an toàn UCLN ¯ớc chung lớn nhất 4 LàI CÀM ¡N Để hoàn thành tốt đ°ÿc Đồ án tốt nghiệp, tr°ớc hết em xin gửi tới các Thầy Cô khoa Công nghệ thông tin tr°ờng Đ¿i học Quản lý và Công nghệ Hải Phòng lời chào trân trọng, lời chúc sāc khỏe và lời cảm ¡n sâu sắc.
Với sự quan tâm, d¿y dß, chỉ bảo tận tình chu đáo cÿa Thầy Cô đã t¿o điều kiện tốt nhất cho em để em hoàn thành đề tài đúng dự kiến, đến nay em đã có thể hoàn thành đồ án tốt nghiệp với đề tài <Āng dụng Hệ mật mã RSA trong chữ ký điện tử=. Đặc biệt em xin gửi lời cảm ¡n chân thành nhất tới thầy giáo – TS. Hồ Văn Canh đã quan tâm giúp đỡ, h°ớng dẫn em hoàn thành tốt đề tài này trong thời gian qua. Em xin bày tỏ lòng biết ¡n đến lãnh đ¿o Tr°ờng Đ¿i học Quản lý và Công nghệ Hải Phòng, Khoa Công nghệ thông tin, các Phòng ban chāc năng đã trực tiếp, gián tiếp giúp đỡ em khi em còn ngồi trên ghế nhà tr°ờng và trong suốt quá trình học tập, nghiên cāu đề tài.
Trong quá trình làm đồ án tốt nghiệp với điều kiện thời gian cũng nh° kinh nghiệm còn h¿n chế cÿa mát sinh viên, đồ án tốt nghiệp này không thể tránh đ°ÿc những thiếu sót. Em rất mong nhận đ°ÿc sự chỉ bảo, đóng góp ý kiến cÿa các thầy cô để em có điều kiện bổ sung, nâng cao ý thāc cÿa mình, học đ°ÿc thêm nhiều kinh nghiệm và kiến thāc để có thể phāc vā tốt h¡n cho công việc thực tế sau này. Em xin chân thành cÁm ¢n! Hải Phòng, ngày… tháng… năm 2023 Sinh viên (Ký và ghi rõ họ tên) 5 LàI NÓI ĐÀU Với sự phát triển ngày càng nhanh chóng cÿa Internet và các āng dāng giao dịch điện tử trên m¿ng, nhu cầu bảo vệ thông tin trong các hệ thống và āng dāng điện tử ngày càng đ°ÿc quan tâm và có ý nghĩa hết sāc quan trọng. Các kết quả cÿa khoa học mật mã ngày càng đ°ÿc triển khai trong nhiều lĩnh vực khác nhau cÿa đời sống – xã hái, trong đó phải kể đến rất nhiều những āng dāng đa d¿ng trong lĩnh vực dân sự, th°¡ng m¿i.Các āng dāng mã hóa thông tin cá nhân, trao đổi thông tin kinh doanh, thực hiện các giao dịch điện tử qua m¿ng.
đã trở nên gần gũi và quen thuác với mọi ng°ời. Cùng với sự phát triển cÿa khoa học máy tính, các nghiên cāu và āng dāng cÿa mật mã học ngày càng trở nên đa d¿ng h¡n, mở ra nhiều h°ớng nghiên cāu chuyên sâu vào từng lĩnh vực āng dāng đặc thù với những đặc tr°ng riêng. Āng dāng cÿa khoa học mật mã không chỉ đ¡n thuần là mã hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khác nhau cần đ°ÿc nghiên cāu và giải quyết, ví dā nh° chāng thực nguồn gốc nái dung thông tin (kỹ thuật chữ ký điện tử), chāng nhận tính xác thực về ng°ời sở hữu mã khóa (chāng nhận khóa công cáng), các quy trình giúp trao đổi thông tin và thực hiện giao dịch điện tử an toàn trên m¿ng. Và hệ mật RSA là mát trong những hệ mật mã đ°ÿc sử dāng cho đến tận ngày nay nhằm đáp āng những ví dā trên.
RSA đ°ÿc công bố lần đầu vào tháng 8 năm 1977 trên t¿p chí khoa học Mỹ. Hệ mật sử dāng trong lĩnh vự đảm bảo tính riêng t° và cung cấp c¡ chế xác thực cÿa dữ liệu số. Ngày nay, RSA đã đ°ÿc phát triển āng dāng ráng rãi trong th°¡ng m¿i điện tử. Nó đ°ÿc sử dāng trên Web servers và trên các Browsers nhằm đảm bảo an ninh đ°ờng truyền, đ°ÿc sử dāng trong việc t¿o khóa và xác thực cÿa mail, trong truy cập từ xa&, và đặc biệt nó là h¿t nhận cÿa hệ thống thanh toán điện tử.
Tóm l¿i, RSA đ°ÿc āng dāng ráng rãi trong các lĩnh vực n¡i mà an ninh an toàn thông tin đ°ÿc đòi hỏi. 6 Qua quá trình học tập và nghiên cāu t¿i tr°ờng, d°ới góc đá là sinh viên năm cuối và kết hÿp sự định h°ớng h°ớng dẫn cÿa thầy giáo Hồ Văn Canh em đã quyết định chọn đề tài: <Āng dụng hệ mật mã RSA trong chữ ký điện tử= làm đồ án tốt nghiệp cÿa mình. 7 CH¯¡NG 1: TäNG QUAN VÀ HÞ MÀT Mà KHOÁ CÔNG KHAI 1.1 Khái nißm vÁ mÁt mã và mÁt mã khoá công khai 1.1 MÁt mã Mật mã là những quy tắc, quy °ớc riêng dùng để thay đổi hình thāc biểu hiện thông tin nhằm bảo đảm bí mật, xác thực, toàn vẹn cÿa nái dung thông tin. Là mát lĩnh vực liên quan đến các kỹ thuật ngôn ngữ và toán học để đảm bảo an toàn thông tin, cā thể là trong thông tin liên l¿c.
Trong lịch sử, mật mã học gắn liền với qua trình mã hoá. Điều này có nghĩa là nó gắn với các cách thāc để chuyển đổi thông tin từ d¿ng này sang d¿ng khác nh°ng ở đây là d¿ng thông tin có thể nhận thāc đ°ÿc thành d¿ng không nhận thāc đ°ÿc, làm cho thông tin trở thành d¿ng không thể đọc đ°ÿc nếu nh° không có các kiến thāc bí mật. Quá trình mã hoá đ°ÿc sử dāng chÿ yếu để đảm bảo tính bí mật cÿa các thông tin quan trọng, chẳng h¿n trong công tác tình báo, quân s° hay ngo¿i giao cũng nh° các bí mật về kinh tế, th°¡ng m¿i.1: Máy Enigma từ thế chiến thā 2 được sử dụng để mã hoá, bảo vệ các thông tin tính toán học nhạy cảm. 8 Trong những năm gần đây, lĩnh vực ho¿t đáng cÿa mật mã hoá đã đ°ÿc mở ráng: mật mã hoá hiện đ¿i cung cấp c¡ chế cho nhiều ho¿t đáng h¡n là chỉ duy nhất việc giữ bí mật và có mát lo¿t các āng dāng nh°: chāng thực khoá công khai, chữ ký số, bầu cử điện tử hay tiền điện tử.
Ngoài ra, những ng°ời không có nhu cầu thiết yếu đặc biệt về tính bí mật cũng sử dāng các công nghệ mật mã hoá, thông th°ờng đ°ÿc thiết kế và t¿o lập sẵn trong các c¡ sở h¿ tầng cÿa công nghệ tính toán và liên l¿c viễn thông. Mật mã hóa cũng đ°ÿc coi là mát nhánh cÿa công nghệ, nh°ng nó đ°ÿc coi là không bình th°ờng vì nó liên quan đến các sự chống đối ngầm (xem công nghệ mật mã hóa và công nghệ an ninh). Mật mã hóa là công cā đ°ÿc sử dāng trong an ninh máy tính và m¿ng.2: Sơ đồ mã hoá và giải mã 1.2 MÁt mã khoá công khai Mật mã hóa khóa công khai là mát d¿ng mật mã hóa cho phép ng°ời sử dāng trao đổi các thông tin mật mà không cần phải trao đổi các khóa chung bí mật tr°ớc đó. Điều này đ°ÿc thực hiện bằng cách sử dāng mát cặp khóa có quan hệ toán học với nhau là khóa công khai và khóa cá nhân (hay khóa bí mật).
Thuật ngữ mật mã hóa khóa bất đối xāng th°ờng đ°ÿc dùng đồng nghĩa với mật mã hóa khóa công khai mặc dù hai khái niệm không hoàn toàn t°¡ng 9 đ°¡ng. Có những thuật toán mật mã khóa bất đối xāng không có tính chất khóa công khai và bí mật nh° đề cập ở trên mà cả hai khóa (cho mã hóa và giải mã) đều cần phải giữ bí mật.