Bài tập lớn môn an toàn bảo mật thông tin đề tài xây dựng chương trình mã hóa và giải mã rsa

29 0 0
Bài tập lớn môn an toàn bảo mật thông tin đề tài xây dựng chương trình mã hóa và giải mã rsa

Đ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

Kiến thức lĩnh hội và bài học kinh nghiệm...253.1 Nội dung đã thực hiện...253.2 Hướng phát triển...25KẾT LUẬN...27 Trang 3 Lời nói đầuTrước đây khi công nghệ máy tính chưa phát triển, k

lOMoARcPSD|39222638 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN: AN TOÀN BẢO MẬT THÔNG TIN Đề tài:Xây dựng chương trình mã hóa và giải mã RSA CBHD : Nguyễn Bá Nghiễn Lớp : 20222IT6001010 Nhóm : Nhóm 12 Thành viên nhóm : Trịnh Thị Lệ Nhung – 2020607331 Phạm Lê Hà Trang – 2020605304 Nguyễn Lam Trường – 2020604249 Hoàng Thị Xuân – 2020605328 Hà Nội, 2023 1 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 MỤC LỤC Chương 1 Tổng quan .4 1.1 Giới thiệu về an toàn thông tin .4 1.2 Khái niệm cơ bản về mật mã học 5 1.3 Mã hóa RSA .7 Chương 2 Kết quả nghiên cứu 11 2.1 Giới thiệu 11 2.2 Nội dung thuật toán .11 2.2.1 Thuật toán Euclid 11 2.2.2 Định lý Fermat 13 2.2.3 Hàm số Euler .13 2.2.4 Thuật toán Miller-Rabin - Kiểm tra số nguyên tố lớn 14 2.2.5 Định lý phần dư Trung Hoa .17 2.2.6 Mật mã khóa công khai 18 2.3 Thiết kế giao diện 20 2.4 Cài đặt và triển khai 20 2.5 Thực hiện bài toán 21 2.5.1 Phạm Lê Hà Trang 22 2.5.2 Trịnh Thị Lệ Nhung 22 2.5.3 Nguyễn Lam Trường 22 2.5.4 Hoàng Thị Xuân 23 Chương 3 Kiến thức lĩnh hội và bài học kinh nghiệm 25 3.1 Nội dung đã thực hiện 25 3.2 Hướng phát triển 25 KẾT LUẬN 27 TÀI LIỆU THAM KHẢO 28 2 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 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 biện 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 là các biện pháp như: Đó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ã mã hóa thông điệp để chỉ 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ó khóa 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ệ, đặt 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 càng trở lên rộng rãi, dẫn đế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ã hóa càng được phổ biến Trong bài tập lớn này, chúng tôi thực hiện xây dựng chương trình mã hóa và giải mã mật mã hóa công khai RSA 3 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 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 mạng là sự bảo vệ thông tin, hệ thống thông tin trên mạng tránh bị truy nhập, sử dụng, tiết lộ, gián đoạn, sửa đổi hoặc phá hoại trái phép nhằm bảo đảm tính nguyên vẹn, tính bảo mật và tính khả dụng của thông tin Ba tính chất là tính bảo mật, tính nguyên vẹn và tính khả dụng trong an toàn thông tin mạng được gọi là tam giác bảo mật CIA (Confidentiality - Integrity - Availability)  C: (Confidentialily) Bảo mật thông tin nghĩa là chỉ những người, máy tính được cấp phép mới có quyền truy cập và sử dụng thông tin của doanh nghiệp, hay nói cách khác, bảo mật là tránh để rò rỉ thông tin ra bên ngoài hệ thống Những tin tặc có vô vàn cách thức để đánh cắp thông tin với mục đích xấu như giám sát hệ thống mạng của doanh nghiệp, hay Social Engineering Vì vậy, các doanh nghiệp cần cải tiến hệ thống bảo mật thông tin (sử dụng firewall hoặc ACL, yêu cầu người dung cung cấp credential…) để tránh những việc đáng tiếc xảy ra Tính mật của thông tin được đại diện bởi quyền READ  I: (Intergrity) Đảm bảo tính toàn vẹn của thông tin nghĩa là chỉ người có thẩm quyền mới được chỉnh sửa thông tin nhưng không làm thay đổi sự chính xác của dữ liệu Một cách phổ biến nhất để tội phạm mạng thay đổi thông tin chính là xâm nhập vào các lỗ hổng bảo mật trong hệ thống của doanh nghiệp Tính toàn vẹn của thông tin được đại diện bởi quyền MODIFY  A: (Availability) Có nghĩa là hệ thống lưu trữ và xử lý thông tin luôn sẵn sàng để được truy xuất ở bất cứ thời điểm nào với mục đích tránh những rủi ro về phần cứng, phần mềm, hay thậm chí tránh được 4 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 hình thức tấn công từ chối dịch vụ (DoS)  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ử Hình 1.1 An toàn thông tin Để thực hiện điều này chúng ta áp dụng các biện pháp xác thực và mã hóa Và mật mã học là nghiên cứu về vấn đề mã hóa Mã hóa là một tiến trình biến đổi dữ liệu từ dạng plaintext (văn bản thuần túy dễ dàng nhận biết) thành kết quả ciphertext, dạng dữ liệu không thể đọc được nếu không được giải mã bằng các khóa thích hợp Mục tiêu của mã hóa là ngăn ngừa việc tấn công đánh cắp dữ liệu trái phép hoặc phòng ngừa việc mất mát dữ liệu khi bị tấn công vật lý như trộm đĩa cứng, máy tính xách tay hay thậm chí đột nhập vào hệ thống vẫn không thể xem được dữ liệu riêng tư, bí mật đã được bảo vệ bằng các thuật toán mã hóa mạnh mẽ 1.2 Khái niệm cơ bản về mật mã học Mật mã học là một lĩnh vực nghiên cứu về các phương pháp bảo vệ các thông tin quan trọng, nhằm đảm bảo tính bảo mật và riêng tư của dữ liệu Trong mật mã học, các thuật toán được sử dụng để mã hóa thông tin 5 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 sao cho chỉ có người nhận cụ thể mới có thể giải mã, trong khi người khác không thể đọc được Hình 1.2.1: Mật mã học Mật mã học hiện đại được ứng dụng nhiều trong:  Lưu trữ mật khẩu và dữ liệu: Ngăn chặn dữ liệu bị rò rỉ thiệt hại nếu ổ cứng bị đánh cắp  Giao tiếp bảo mật: Thường thấy trong giao tiếp giữa người dùng (client) và máy chủ (server)  Thương mại điện tử: Bao gồm thanh toán điện tử, tiền tệ điện tử, v.v  Chữ ký điện tử (digital signature) và nhiều loại dấu vết điện tử khác (digital footprint) Trong cuộc sống hằng ngày, chúng ta thường gặp các hệ thống mật mã hóa, chẳng hạn như khi sử dụng Internet để trao đổi thông tin nhạy cảm hoặc khi sử dụng thẻ tín dụng để thanh toán Các kỹ thuật mật mã hóa của mật mã học gồm có mã hóa đối xứng, mã hóa không đối xứng, hash functions và chữ ký số Mỗi kỹ thuật có những ứng dụng riêng biệt và có độ an toàn khác nhau.Mật mã học bao gồm hai nhánh, là mật mã học lập mã và mật mã học phân tích Mật mã 6 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 học lập mã với ý là tiến hành mã hoá thông tin để thực hiện việc che giấu thông tin, còn mật mã học phân tích là ngành học nghiên cứu phân tích giải dịch mật mã Hai cái đối lập với nhau, nhưng lại thúc đẩy lẫn nhau Dùng phương pháp mật mã có thể che dấu và bảo hộ những thông tin cơ mật, làm cho người chưa được uỷ quyền không thể lấy được thông tin, những thông tin được giấu kín kia được gọi là văn bản rõ, mật mã có thể đem văn bản rõ biến đổi thành một loại hình khác, gọi là văn bản mật Sự biến đổi văn bản rõ thành văn bản mật gọi là mã hoá bảo mật, quá trình người thu nhận hợp pháp khôi phục từ văn bản mật trở thành văn bản rõ được gọi là quá trình giải mã (hoặc giải mật) Người thu nhận phi pháp có ý đồ phân tích từ văn bản mật ra thành văn bản rõ, gọi là giải dịch 1.3 Mã hóa RSA  Mục đích: RSA là một thuật toán mã hóa khóa công khai được sử dụng rộng rãi hiện nay Thuật toán này dựa trên sự khó khăn của việc phân tích các số nguyên lớn thành những thừa số nguyên tố Khi tạo ra bộ khóa RSA, một khóa riêng tư và một khóa công khai sẽ được tạo ra Khóa công khai có thể được cung cấp cho bất kỳ ai để mã hóa tin nhắn, trong khi khóa riêng tư chỉ được giữ bởi người nhận để giải mã tin nhắn  Quá trình mã hóa RSA được thực hiện như sau:  Một khóa công khai RSA được tạo ra bao gồm hai số nguyên lớn và ngẫu nhiên (n và e) Số n được tạo bằng cách tính tích hai số nguyên tố lớn và ngẫu nhiên (p và q) Tính n = pq Số e phải là số nguyên lớn hơn 1 và nhỏ hơn n, nó cũng phải không có ước chung lớn hơn 1 với hàm totient (phi) của n  Tạo ra một khóa riêng tư RSA bằng cách tính một số nguyên d để d là nghịch đảo của e trong mod phi(n) (d * e = 1 mod phi(n))  Để mã hóa một thông điệp (m), sử dụng khóa công khai (n, e), tính c = m^e mod n 7 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638  Để giải mã một thông điệp mã hóa (c), sử dụng khóa riêng tư (n, d), tính m = c^d mod n  Ý tưởng Năm 1977 RSA lần đầu tiên được ra mắt bởi Ron Rivest, Adi Shamir và Leonard Adleman Cái tên RSA là bắt nguồn từ ba chữ cái đầu trong tên của ba nhà khoa học Mật mã khóa công khai sử dụng hai key khác nhau là public key (khóa công khai) và private key (khóa riêng tư) Public key có thể được chia sẻ với mọi người, riêng private key thì cần phải giữ bí mật  Mô tả cách hoạt động của RSA:  Tạo khóa: Giả sử An và Bình cần trao đổi thông tin bí mật thông qua một kênh không an toàn (ví dụ như Internet) Với thuật toán RSA, An đầu tiên cần tạo ra cho mình cặp khóa gồm khóa công khai và khóa bí mật theo các bước sau: 1 Chọn 2 số nguyên tố lớn p và q với p khác q , lựa chọn ngẫu nhiên và độc lập 2 Tính: n=pq 3 Tính: giá trị hàm số Euler φ(n) = (p-1).(q-1) 4 Chọn một số tự nhiên e sao cho 1

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

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

Tài liệu liên quan