Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
1,05 MB
Nội dung
lOMoARcPSD|17343589 ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC SÀI GỊN KHOA CƠNG NGHỆ THƠNG TIN - - BÁO CÁO MƠN HỌC AN TỒN VÀ BẢO MẬT DỮ LIỆU TRONG HỆ THỐNG THÔNG TIN Trần Quốc Toàn MSSV: 3118410439 Lê Thanh Toàn MSSV: 3118410438 Trần Thuận Tiến MSSV: 3118410433 THÀNH PHỐ HỒ CHÍ MINH, THÁNG 05 NĂM 2022 lOMoARcPSD|17343589 MỤC LỤC LỜI MỞ ĐẦU I ỨNG DỤNG MÃ HÓA .2 Ceasar .2 Permutation Affine .5 Vignere Hill RSA Elgamal II DEMO ỨNG DỤNG CHAT .10 KẾT LUẬN 18 lOMoARcPSD|17343589 LỜI MỞ ĐẦU Trước cơng nghệ máy tính chưa phát triển, nói đến vấn đề an tồn bảo mật thơng tin, thường hay nghĩ đến biện pháp nhằm đảm bảo cho thông tin trao đổi hay cất giữ cách an tồn bí mật, chẳng hạn biện pháp như: Đóng dấu ký niêm phong thư để biết thư 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 để có người gửi người nhận hiểu thông điệp, lưu giữ tài liệu két sắt có khóa nơi bảo vệ nghiêm ngặt Ngày với phát triển khoa học công nghệ, đặc biệt phát triển Internet, việc sử dụng máy tính điện thoại cá nhân trở lên rộng rãi, dẫn đến nhiều thơng tin lưu trữ máy tính gửi mạng Internet Do nhu cầu an tồn bảo mật thơng tin máy tính nhiều việc sử dụng mật mã mã hóa phổ biến Do có nhiều kiểu mã hóa đại phức tạp ngày sinh phát triển Chính lý dựa kiến thức học Trong đồ án này, nhóm em thực xây dựng chương trình mã hóa giải mã mật mã với nhiều hình thức mã hóa khác Ngồi nhóm cịn xây dựng chương trình chat sử dụng mã hóa cơng khai RSA Em xin cám ơn thầy Nguyễn Huỳnh Khắc Huy nhiệt tình bảo em hoàn thành đề tài lOMoARcPSD|17343589 I ỨNG DỤNG MÃ HĨA Chương trình code bao gồm hệ mã cổ điển xây dựng ngôn ngữ Flutter chạy môi trường web: Link demo web Ceasar Trong mật mã học, mật mã Caesar kỹ thuật mã hóa đơn giản phổ biến Đây dạng mật mã thay thế, ký tự văn thô thay ký tự khác, có vị trí cách khoảng xác định bảng chữ lOMoARcPSD|17343589 Ví dụ: Với độ dịch chuyển 3, D trở thành A, E trở thành B, v.v Tên kỹ thuật mã hóa đặt theo tên Julius Caesar, người sử dụng thư từ bí mật Bước mã hóa thực mật mã Caesar thường kết hợp phần dạng mã hóa phức tạp hơn, chẳng hạn mật mã Vigenere Cũng giống tất dạng mật mã thay bảng chữ khác, mật mã Caesar dễ bị phá giải không đáp ứng đủ khả bảo mật thông tin liên lạc sống đại Giao diện hệ mã Ceasar Kết chạy mã hoá lOMoARcPSD|17343589 Kết giải mã lOMoARcPSD|17343589 Permutation Trong mật mã cổ điển, mật mã hoán vị mật mã chuyển vị khóa hoán vị Để áp dụng mật mã, hốn vị ngẫu nhiên kích thước e tạo (giá trị e lớn mật mã an tồn) Bản rõ sau chia thành đoạn có kích thước e chữ đoạn hốn vị theo khóa Về lý thuyết, mật mã chuyển vị xem mật mã hốn vị e độ dài rõ Tuy nhiên, khái niệm cồng kềnh để sử dụng thực tế Dưới mã hoá hoán vị với khoá xnyahpogzqwbtsflrcvmuekjdi bảng chữ độ dài 26 kí tự Kết chạy mã hoá lOMoARcPSD|17343589 Kết chạy giải mã Affine Mật mã Affine dạng mật mã thay dùng bảng chữ cái, chữ ánh xạ tới số sau mã hóa qua hàm số tốn học đơn giản Mã hoá: E(x) = (ax + b) mod m, với a phải nguyên tố với m Giải mã: D(x) = a-1(x - b) mod m, với a-1 nghịch đảo a theo modular m lOMoARcPSD|17343589 Khoá A hệ mã Affine Kết chạy mã hoá Kết chạy giải mã Vignere Mật mã Vigenère phương pháp mã hóa văn cách sử dụng xen kẽ số phép mã hóa Caesar khác dựa chữ từ khóa Nó dạng đơn giản mật mã thay dùng nhiều bảng chữ lOMoARcPSD|17343589 Kết chạy mã hoá Kết chạy giải mã Hill Mật mã Hill mật mã thay đa dạng dựa đại số tuyến tính Mỗi chữ biểu diễn mơđun số 26 Thường lược đồ đơn giản A = 0, B = 1,…, Z = 25 sử dụng, tính mật mã Để mã hóa thơng điệp, khối gồm n chữ (được coi vectơ n thành phần) nhân với ma trận n × n khả nghịch, theo mô đun 26 Để giải mã thông điệp, khối nhân với nghịch đảo ma trận sử dụng cho mã hóa Ma trận sử dụng để mã hóa khóa mật mã phải chọn ngẫu nhiên từ tập ma trận n × n khả nghịch (mô đun 26) lOMoARcPSD|17343589 Kết chạy mã hoá Kết chạy giải mã lOMoARcPSD|17343589 RSA RSA (Rivest – Shamir – Adleman) hệ thống mật mã khóa cơng khai sử dụng rộng rãi để truyền liệu an tồn Nó lâu đời Từ viết tắt "RSA" xuất phát từ họ Ron Rivest, Adi Shamir Leonard Adleman, người cơng khai mơ tả thuật tốn vào năm 1977 Trong hệ thống mật mã khóa cơng khai, khóa dùng mã hóa cơng khai khác biệt với khóa giải mã (được giữ bí mật) Người dùng RSA tạo xuất khóa cơng khai dựa hai số nguyên tố lớn, với giá trị bổ trợ Các số nguyên tố giữ bí mật Tin nhắn mã hóa ai, thơng qua khóa cơng khai, giải mã người biết số nguyên tố RSA thuật tốn tương đối chậm Do đó, khơng thường sử dụng để mã hóa trực tiếp liệu người dùng Thông thường hơn, RSA sử dụng để truyền khóa chia sẻ cho mật mã khóa đối xứng, sau sử dụng cho mã hóa giải mã Kết chạy mã hố với khoá sinh lOMoARcPSD|17343589 Kết chạy giải mã với khố sinh Elgamal Mã hóa ElGamal hệ thống mật mã khóa cơng khai Nó sử dụng mã hóa khóa bất đối xứng để giao tiếp hai bên mã hóa tin nhắn Hệ thống mật mã dựa khó khăn việc tìm kiếm lơgarit rời rạc nhóm tuần hồn mà biết ga gk, khó tính gak Kết chạy mã hoá với khoá sinh lOMoARcPSD|17343589 Kết chạy giải mã với khoá sinh lOMoARcPSD|17343589 II DEMO ỨNG DỤNG CHAT Màn hình đăng nhập lOMoARcPSD|17343589 Màn hình cá nhân sau đăng nhập thành cơng Giao diện chat với người danh sách lOMoARcPSD|17343589 Dấu để chèn hình sticker có sẵn Chèn hình thành cơng lOMoARcPSD|17343589 Giao diện nhóm chat Giao diện tạo nhóm từ nút tạo (bên trái chỗ Group May) lOMoARcPSD|17343589 Kết tạo nhóm thành cơng Giao diện người thứ đăng nhập vào lOMoARcPSD|17343589 Chức nhắn tin nhóm lOMoARcPSD|17343589 Lúc đầu ta tạo key RSA server (dịng 28) Sau đó, ta gửi public key RSA dòng 34 cho lớp ThreadClient đại diện lớp Server đảm nhiệm giao tiếp với lớp Client có client đăng nhập lOMoARcPSD|17343589 ThreadClient khởi tạo thành công (lúc client đăng nhập) gửi lệnh hello với public key cho client đăng nhập Phía Client lúc tạo key AES mã hoá key AES public key RSA nhận từ ThreadClient hình Client đăng nhập tạo key AES mã hoá key AES với khoá public key RSA (dịng 66) Key AES mã hố gửi lại cho ThreadClient để giải mã lOMoARcPSD|17343589 Tại dịng 86-88, ThreadClient nhận thơng điệp hello giải mã key AES gửi từ Client private key RSA tạo từ lúc Server bắt đầu chạy (mỗi lần khởi tạo tạo lại key RSA mới) Có key AES bên ThreadClient Client giao tiếp với với thông điệp mã hoá lOMoARcPSD|17343589 KẾT LUẬN Trên tồn kiến thức hệ mã hóa tiểu biểu mà nhóm em học , nhóm em trình bày tồn nội dung xây dựng chương trình mã hóa giải mã tin nhắn dựa mật mã khóa cơng khai RSA Để tìm hiểu cách hoạt động mật mã khóa cơng khai, em tìm hiểu sở tốn học, thuật tốn để xây dựng mã hóa RSA Chương trình mã hóa giải mã xây dựng ngơn java thư viện mã hóa tự động Việc xây dựng ứng dụng chat mã hóa vơ thú vị chúng em Nó thiết thực nhu cầu giao tiếp bí mật Tuy ứng dụng nhỏ ý nghĩa vơ to lớn, em hi vọng tiền đề giúp em phát triển ứng dụng tốt xây dựng dự án lớn Một lần em xin cảm ơn thầy nhiều Trong trình làm báo cáo có sai sót hay nội dung chưa phù hợp Nhóm em mong thầy thơng cảm bảo thêm để nhóm em cải thiện Downloaded by v? ngoc (vuchinhhp10@gmail.com) ... Trước công nghệ máy tính chưa phát triển, nói đến vấn đề an tồn bảo mật thơng tin, thường hay nghĩ đến biện pháp nhằm đảm bảo cho thông tin trao đổi hay cất giữ cách an toàn bí mật, chẳng hạn... đủ khả bảo mật thông tin liên lạc sống đại Giao diện hệ mã Ceasar Kết chạy mã hoá lOMoARcPSD|17343589 Kết giải mã lOMoARcPSD|17343589 Permutation Trong mật mã cổ điển, mật mã hoán vị mật mã chuyển... thoại cá nhân trở lên rộng rãi, dẫn đến nhiều thông tin lưu trữ máy tính gửi mạng Internet Do nhu cầu an tồn bảo mật thơng tin máy tính nhiều việc sử dụng mật mã mã hóa phổ biến Do có nhiều kiểu mã