Bài tập lớn an toàn và bảo mật thông tin xây dựng chương trình mã hoá và giải mãelgamal

64 4 0
Bài tập lớn an toàn và bảo mật thông tin xây dựng chương trình mã hoá và giải mãelgamal

Đ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

Trang 7 DES 3DES, RC4, AES, RSA, Rabin, Di昀툀e-Hellman,Elgamal,...Qua dự án lần này nhóm sinh viên chúng em đã đi sâu tìmhiểu về xây dựng và phát triển mã hóa giải mã Elgammal ,nắm được n

lOMoARcPSD|38594337 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI BÀI TẬP LỚN Môn: An toàn và bảo mật thông tin ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH MÃ HOÁ VÀ GIẢI MÃ ELGAMAL CBHD: ThS Trần Phương Nhung Lớp: 20222IT6001008 Nhóm: 13 Thành viên nhóm: 1 Phạm Anh Tuấn – 2020604057 2 Dương Văn Tùng - 2021607567 3 Nguyễn Viết Tùng - 2021604131 4 Lê Thiên Tuấn Vũ – 2020601530 5 Trần Xuân Vũ – 2021601795 Downloaded by NGUYEN BAY (tailieuso.17@gmail.com) lOMoARcPSD|38594337 Trường đại học Công Nghiệp Hà Nội Nhóm 13 - ATBMTTGVHD: ThS Trần Phương Nhung Hà Nội – 2023 MỤC LỤC Lời nói đầu 4 Chương 1: Tổng quan 5 1.1 Giới thiệu về an toàn thông tin 5 1.2 Lý do chọn đề tài 6 1.2.1 Vai trò của hệ mật mã 6 1.2.2 Khái niệm cơ bản 6 1.2.3 Các thành phần của hệ mật mã 6 1.2.4 Phân loại hệ mật mã 7 1.3 Giới thiệu về hệ mã Elgamal .8 1.3.1 Giới thiệu chung về hệ mã Elgamal .8 1.3.2 Mã hoá và giải mã hệ mã Elgamal .8 1.3.3 Độ an toàn 9 1.3.4 Ưu và nhược điểm của hệ mã Elgamal 10 1.3.5 Tính an toàn của hệ mã Elgamal 10 Chương 2: Kết quả nghiên cứu 12 2.1 Giới thiệu 12 2.2 Nội dung thuật toán 12 2.2.1 Kiểm tra số nguyên tố .12 2.2.2 Thuật toán euclid tìm ước chung lớn nhất 13 2.2.3 Thuật toán bình phương và nhân tính x^n mod m 14 2.2.4 Định lý Ferma nhỏ .15 2.2.5 Hàm phi Euler 16 2.2.6 Thuật toán Euclid mở rộng tìm nghịch đảo 16 2.2.7 Thuật toán Baby-Step Giant-Step tìm phần tử sinh 17 2 Downloaded by NGUYEN BAY (tailieuso.17@gmail.com) lOMoARcPSD|38594337 Trường đại học Công Nghiệp Hà Nội Nhóm 13 - ATBMTTGVHD: ThS Trần Phương Nhung 2.2.8 Mã hoá và giải mã hệ mã Elgamal .18 2.3 Thiết kế, cài đặt chương trình đề mô thuật toán .20 2.3.1 Giao diện chương trình đề mô 20 2.4 Cài đặt và triển khai 22 2.4.1 Chương trình mã hoá và giải mã hệ mã Elgamal bằng C# .22 2.4.2 Chương trình mã hoá và giải mã hệ Elgamal bằng C++ 29 2.4.3 Chương trình mã hóa và giải mã hệ Elgamal bằng Java 42 2.4.4 Chương trình mã hoá và giải mã hệ Elgamal bằng Python44 2.5 Thực hiện bài toán 48 2.5.1 Phân công công việc 48 2.5.2 Phạm Anh Tuấn 49 2.5.3 Lê Thiên Tuấn Vũ .49 2.5.4 Trần Xuân Vũ .49 2.5.5 Dương Văn Tùng 49 3 Phần kiến thức lĩnh hội và bài học kinh nghiệm 50 3.3 Nội dung đã thực hiện .50 3.4 Hướng phát triển .51 Kết luận 54 Tài liệu tham khảo 55 3 Downloaded by NGUYEN BAY (tailieuso.17@gmail.com) lOMoARcPSD|38594337 Trường đại học Công Nghiệp Hà Nội Nhóm 13 - ATBMTTGVHD: ThS Trần Phương Nhung Lời nói đầu Trước đây khi công nghệ máy tính chưa phát triển, khi nói đến vấn đề an toàn bảo mật thông tin, chúng ta thường hay nghĩ đến các phương pháp nhằm đảm bảo cho thông tin được trao đổi hay cất giữ một cách an toàn và bí mật, chẳng hạn như các phương pháp: đóng dấu và ký niêm phong một bức thư để biết rằng lá thư có được chuyển nguyên vẹn đến người nhận hay không, dùng mật mã hoá thông điệp để chi có người gửi và người nhận hiểu được thông điệp, lưu giữ tài liệu trong các két sắt có khoá tại nơi được bảo vệ nghiêm ngặt Ngày nay với sự phát triển của khoa học công nghệ, đặc biệt là sự phát triển của Internet, việc sử dụng máy tính và điện thoại cá nhân trở nên rộng rãi, dẫn dắt đến càng nhiều thông tin được lưu trữ trên máy tính và gửi đi trên mạng Internet Do đó nhu cầu về an toàn và bảo mật thông tin trên máy tính càng nhiều và việc sử dụng mật mã mã hoá càng được phổ biến Trong thực tế các hacker, các dạng virus luôn tấn công và là mối đe dọa của các nguồn tài nguyên thông tin Những vấn đề đảm bảo an toàn thông tin trong các hệ thống máy tính là rất quan trọng Hiểu được điều đó, nhóm chúng em đã thực hiện xây dựng chương trình mã hóa và giải mã ELGAMAL Từ những kiến thức đã được học cùng với việc nghiên cứu các tài liệu trên Internet, và nhất là nhờ sự hướng dẫn, chỉ bảo tận tình của cô Trần Phương Nhung, nhóm chúng em đã hoàn thành 4 Downloaded by NGUYEN BAY (tailieuso.17@gmail.com) lOMoARcPSD|38594337 Trường đại học Công Nghiệp Hà Nội Nhóm 13 - ATBMTTGVHD: ThS Trần Phương Nhung đề tài này Trong quá trình hoàn thành đề tài, chúng em còn gặp nhiều khó khăn, và sự hiểu biết của chúng em còn hạn hẹp nên kết quả vẫn còn nhiều thiếu sót Kính mong cô nhận xét và đóng góp ý kiến để nhóm chúng em có thẻ hoàn thiện bài tập lớn này Chúng em xin trân thành cảm ơn! 5 Downloaded by NGUYEN BAY (tailieuso.17@gmail.com) lOMoARcPSD|38594337 Trường đại học Công Nghiệp Hà Nội Nhóm 13 - ATBMTTGVHD: ThS Trần Phương Nhung Chương 1: Tổng quan 1.1 Giới thiệu về an toàn thông tin An toàn thông tin là bảo vệ các đặc tính riêng tư (con昀椀dentialy), toàn vẹn (intergrity) và khả dụng (availabity) của thông tin - C: (Con昀椀dentialy) bảo vệ tính riêng tư của dữ liệu thông qua các cơ chế chứng thực và mã hóa, ngăn ngừa những người không hợp lệ sẽ không được đọc những thông tin Giống như các bì thư khi phát lương thưởng được dán chữ Con昀椀dentialy, chúng ta có thể hình dung trong môi trường công nghệ thông tin là một người chưa đăng nhập vào Domain sẽ không được truy cập những dữ liệu chỉ chia sẻ cho các Domain User - I: (Intergrity) bảo vệ tính toàn vẹn của dữ liệu thông qua các thuật toán RSA, SHA, MD5 ngăn ngừa attacker thay đổi các thông tin nhạy cảm trong quá trình truyền - A: (Available) bảo đảm dữ liệu luôn ở trong trạng thái sẵn sằng đáp ứng nhu cầu của người dùng - Non-Repudiation: Tính không thể chối bỏ, nghĩa là dữ liệu người nào gửi đi thì họ phải có trách nhiệm với các thông tin của mình thông qua các xác nhận nguồn gốc như chữ kí điện tử Để đảm bảo việc truyền tin an toàn và kiểm tra tính toàn vẹn của thông tin, người ta thường mã hóa thông tin trước khi truyền đi bằng các một sổ các hệ mật như DES, Triple 6 Downloaded by NGUYEN BAY (tailieuso.17@gmail.com) lOMoARcPSD|38594337 Trường đại học Công Nghiệp Hà Nội Nhóm 13 - ATBMTTGVHD: ThS Trần Phương Nhung DES (3DES), RC4, AES, RSA, Rabin, Di昀툀e-Hellman, Elgamal, Qua dự án lần này nhóm sinh viên chúng em đã đi sâu tìm hiểu về xây dựng và phát triển mã hóa giải mã Elgammal , nắm được những kiến thức cơ bản Trong phương pháp mã hóa và giải mã cũng như là các thuật toán cần thiết bằng các ngôn ngữ như: C#, Java, Python, C++ 1.2 Lý do chọn đề tài 1.2.1 Vai trò của hệ mật mã - Phải che giấu được nội dung của văn bản rõ (plaintext) - Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trong hệ thống đến người nhận hợp pháp là xác thực - Tổ chức các sơ đồ chữ ký điện tử, đảm bảo k có hiện tượng giả mạo, mạo danh để gửi thông tin lên mạng 1.2.2 Khái niệm cơ bản - Bản rõ X: được gọi là bản tin gốc, bản rõ có thể được chia nhỏ có kích thước phù hợp - Bản mã Y: là bản tin gốc đã được mã hoá - Mã: là thuật toán mã hoá chuyển bản rõ thành bản mã, thông thường chúng ta cần thuật toán mã hoá mạnh, cho dù kẻ thù biết được thuật toán, nhưng không biết thông tin về khoá thì cũng không tìm được bản rỏ 7 Downloaded by NGUYEN BAY (tailieuso.17@gmail.com) lOMoARcPSD|38594337 Trường đại học Công Nghiệp Hà Nội Nhóm 13 - ATBMTTGVHD: ThS Trần Phương Nhung - Khoá K: là thông tin tham số dùng để mã hoá, chỉ có người gửi và người nhận biết Khoá là độc lập với bản rõ và có độ dài phù hợp với yêu cầu bảo mật - Mã hoá: là quá trình chuyển bản rõ thành bản mã - Giải mã: là quá trình chuyển bản mã thành bản rõ, đây là quá trình ngược lại của mã hoá 1.2.3 Các thành phần của hệ mật mã Một hệ mật mã là một hệ bao gồm 5 thành phần (P, C, K, E, D) thoả mãn: ● P (Plaintext): không gian bản rõ, là tập hợp hữu hạn các bản rõ có thể ● C (Ciphertext): không gian bản mã, là tập hợp những bản mã có thể ● K (Key): không gian khoá, là tập hợp các khoá có thể ● E (Encryption): không gian hàm mã hoá, là tập hợp các quy tắc mã hoá có thể ● D (Decryption): không gian hàm giải mã, là tập hợp các quy tắc giải mã có thể Đối với mỗi k thuộc K có một quy tắc mã hoá ek: P -> C thuộc E và một quy tắc giải mã tương ứng dk: C -> P thuộc D 8 Downloaded by NGUYEN BAY (tailieuso.17@gmail.com) lOMoARcPSD|38594337 Trường đại học Công Nghiệp Hà Nội Nhóm 13 - ATBMTTGVHD: ThS Trần Phương Nhung Hình 1.1: Quá trình mã hoá và giải mã thông tin 1.2.4 Phân loại hệ mật mã - Hệ mật mã đối xứng: hay còn gọi là mật mã khoá bí mật, là những hệ mật dùng chung một khó cả trong quá trình mã hoá và giải mã dữ liệu Do đó khoá phải giữ bí mật tuyệt đối Một số thuật toán nổi tiếng như: DES, Triple DES, RC4, … - Hệ mật mã bất đối xứng (mật mã khoá công khai): dùng một khoá để mã hoá sau đó dùng một khoá khác để giải mã (2 khoá khác nhau) Các khoá này tạo nên từng cặp chuyển đổi ngược nhau và không có khó nào có thể suy được từ khoá nào Kháo đung để mã hoá có thể công khai, nhưng khoá dùng để giải mã phải giữ bí mật Một số thuật toán nổi tiếng như: RSA, Elgamal, … 1.3 Giới thiệu về hệ mã Elgamal 1.3.1 Giới thiệu chung về hệ mã Elgamal - Là một hệ mật mã công khai 9 Downloaded by NGUYEN BAY (tailieuso.17@gmail.com) lOMoARcPSD|38594337 Trường đại học Công Nghiệp Hà Nội Nhóm 13 - ATBMTTGVHD: ThS Trần Phương Nhung - Dựa trên bài toán logarithm rời rạc Tính an toàn của nó phụ thuộc vào độ phức tạp của bài toán logarithm - Là một biến thể của sơ đồ phân khối khoá Di昀케e- Hellman, được đưa ra năm 1984 - So với hệ mã RSA, hệ mã Elgamal không có nhiều rắc rối về vấn đề quyển sử dụng 1.3.2 Mã hoá và giải mã hệ mã Elgamal * Quá trình mã hoá và giải mã Hình 1.2: Sơ đồ quá trình mã hoá và giải mã hệ mã Elgamal - Ban đầu người ta sẽ lựa chọn một số nguyên tố lớn p và 2 số nguyên tố nhỏ hơn p là alpha (phần tử nguyên thuỷ của Z*p) và a (khoá bí mật của người nhận) sau đó tính: beta = alphaa mod p Kpublic(p, alpha, beta), Kprivate(a) 10 Downloaded by NGUYEN BAY (tailieuso.17@gmail.com)

Ngày đăng: 21/03/2024, 17:19

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan