Báo cáo chữ ký elgamal kèm code java

98 10 0
Báo cáo chữ ký elgamal kèm code java

Đ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

Chữ ký ElGamal là một phương pháp chữ ký số được đặt tên theo tên của nhà mật mã học Taher Elgamal. Nó dựa trên việc sử dụng tính toán phân phối khóa công khai của hệ mật mã khóa công khai. Quá trình tạo chữ ký ElGamal bao gồm hai bước: chữ ký và xác minh chữ ký. Bước 1: Chữ ký Khóa công khai của người gửi được tạo ra bằng cách chọn một số nguyên tố p và một số g sao cho g là phần tử sinh của trường Zp. Người gửi chọn một số ngẫu nhiên k từ khoảng (1, p1) và tính toán y = gk mod p. Người gửi tính toán c1 = gr mod p. Người gửi tính toán c2 = (m x c1) k(1) mod (p1), trong đó m là thông điệp cần ký, x là khóa bí mật của người gửi. Kết quả là chữ ký ElGamal (c1, c2), nơi c1 và c2 là hai thành phần của chữ ký. Bước 2: Xác minh chữ ký Người nhận sử dụng khóa công khai của người gửi (g, p, y) và chữ ký ElGamal nhận được (c1, c2) để xác minh chữ ký: Người nhận tính toán x = (c1y yc2) mod p. Nếu x = gm mod p (với m là thông điệp ban đầu), chữ ký được xác minh thành công. Chữ ký ElGamal được sử dụng trong các hệ thống mã hóa và xác thực như một phương pháp bảo mật và phân phối khóa công khai.

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 tồn bảo mật thơng tin ĐỀ TÀI: Tìm hiểu chữ ký điện tử ElGamal viết ứng dụng minh họa CBHD: Nhóm: Thành viên nhóm HÀ NỘI - 2023 ✔ LỜI CẢM ƠN Báo cáo tập lớn với đề tài “Tìm hiểu chữ ký điện tử ElGamal viết ứng dụng minh họa” kết q trình cố gắng khơng ngừng nhóm, động viên khích lệ, giúp đỡ giảng viên A Qua trang viết chúng em xin gửi lời cảm ơn tới người giúp đỡ chúng em thời gian học tập - nghiên cứu vừa qua Chúng em xin tỏ lịng kính trọng biết ơn sâu sắc cô giáo A trực tiếp tận tình hướng dẫn cung cấp tài liệu thông tin khoa học cần thiết cho tập chúng em Cuối chúng em kính chúc cô dồi sức khỏe thành công nghiệp cao quý Nhóm thực ✔MỤC LỤC ✔ LỜI CẢM ƠN ✔ MỤC LỤC ✔ DANH SÁCH CÁC HÌNH Chương Tổng quan 1.1 Tổng quát đề tài 1.2 Lý chọn đề tài 1.3 Nội dung nghiên cứu 1.4 Các kiến thức cần có 1.5 Lĩnh vực hoạt động Chương Kết nghiên cứu 10 2.1 Giới thiệu 10 2.2 Nội dung thuật toán 11 2.3 Thiết kế, cài đặt chương trình đề mơ thuật tốn 13 2.3.1 Giao diện chương trình đề mơ 13 2.3.1.1 - Chương trình C# 13 2.3.1.2 _Chương trình Java 19 2.3.1.3 - Chương trình Python 28 2.3.1.4 - Chương trình JavaScript 31 2.4 Cài đặt triển khai 37 2.5 Thực tốn 58 2.5.1 Phân cơng cơng việc 58 2.5.2 – Tổng quan chữ ký điện tử 59 2.5.3 - Chữ ký điện tử ElGamal 65 2.5.4 – Tìm hiểu phương pháp mã hố bất đối xứng ứng dụng chữ ký điện tử, thuật tốn hàm băm SHA-256 75 2.5.5 – Tìm hiểu hàm băm SHA 81 2.5.6 – Thuật toán hàm băm SHA-1 86 Phần kiến thức lĩnh hội học kinh nghiệm 90 Chương Nội dung thực 90 3.2 Hướng phát triển 96 ✔ 3.1 TÀI LIỆU THAM KHẢO 98 ✔DANH SÁCH CÁC HÌNH Hình : Sơ đồ chữ ký điện tử Hình :Ví dụ minh hóa dễ hiểu thuật tốn SHA256 gì? Hình 3:Đặc điểm Mã hóa SHA256 Hình 4: Ví dụ hàm băm hash Hình 5: Mã hố thơng điệp khóa bí mật người ký Hình 6: Chứng thực chữ ký số Hình 7: Sơ đồ thuật toán SHA-1 27 43 44 46 50 50 52 Chương Tổng quan 1.1 Tổng quát đề tài Ngày với phát triển khoa học kỹ thuật đại, công nghệ thông tin giúp nhiều lĩnh vực đời sống người Mạng Internet với tốc độ nhanh, lượng thông tin trao đổi lớn đặc biệt khơng hạn chế người sử dụng, giúp cho người trao đổi với nhanh hơn, xác hiệu Sự đời văn điện tử kéo theo xuất giao dịch điện tử, từ phát sinh nhu cầu ký văn điện tử để thực giao dịch ấy, lúc mà chữ ký số đời đóng vai trị quan trọng việc xác minh tính tồn vẹn văn bản, thơng điệp Qua dự án lần nhóm sinh viên chúng em sâu tìm hiểu lược đồ chữ ký điện tử Elgamal , nắm kiến thức phương pháp mã hóa bất đối xứng có hiểu biết hàm băm SHA(Hash).Và từ cá nhân nhóm ứng dụng tạo chương trình “Chữ ký điện tử Elgamal” ngôn ngữ khác nhau: Java, C#, python, javascript,… xác minh tính tồn vẹn tài liệu 1.2 Lý chọn đề tài Bảo mật thông tin vấn đề quan trọng hàng đầu lĩnh vực tình báo, quân sự, ngoại giao, vấn đề nghiên cứu hàng nghìn năm Bảo mật thơng tin trì tính bảo mật, tính tồn vẹn tính sẵn sàng thông tin Bảo mật nghĩa đảm bảo thông tin tiếp cận người cấp quyền tương ứng Tính tồn vẹn bảo vệ xác, hồn chỉnh thơng tin thơng tin thay đổi người cấp quyền Tính sẵn sàng thơng tin người quyền sử dụng truy xuất thơng tin họ cần Vấn đề bảo mật nhiều người tập trung nghiên cứu tìm giải pháp để đảm bảo an toàn, an ninh cho hệ thống phần mềm, đặc biệt hệ thống thông tin mạng Internet cho phép người truy cập, khai thác chia sẻ thơng tin Mặt khác nguy dẫn đến thơng tin bị rị rỉ bị phá hoại Lúc việc bảo mật an toàn liệu vấn đề thời sự, chủ đề rộng có liên quan đến nhiều lĩnh vực thực tế có nhiều phương pháp thực để đảm bảo liệu Sự đời văn điện tử kéo theo xuất giao dịch điện tử, từ phát sinh nhu cầu ký văn điện tử để thực giao dịch ấy, lúc mà chữ ký điện tử hình thành nhằm chứng thực tác giả văn giúp người nhận kiểm tra tính tồn vẹn nội dung văn gốc Nhằm tìm hiểu phương pháp bảo vệ an tồn thơng tin có tính an toàn cao dùng Chữ ký điện tử Nhóm em chọn đề tài: “Tìm hiểu chữ ký điện tử ElGamal viết ứng dụng minh họa.” cho thi kết thúc học phần An toàn bảo mật thông tin 1.3 Nội dung nghiên cứu ⮚ Tìm hiểu chữ ký điện tử ● Giới thiệu chữ ký điện tử ● Khái niệm chữ ký điện tử ? ● Ứng dụng chữ ký điện tử ● Tầm quan trọng ● Một số ưu nhược điểm chữ ký điện tử ⮚ Chữ ký điện tử ElGamal ● Lược đồ chữ ký điện tử ElGamal ● Ví dụ minh hoạ ● Độ an tồn chữ ký điện tử ElGamal ⮚ Tìm hiểu phương pháp mã hóa bất đối xứng ứng dụng chữ ký điện tử ● Mã hóa bất đối xứng gì? ● Đặc điểm ▪ Ưu điểm ▪ Hạn chế ● Ứng dụng chữ ký số ▪ Chữ ký số ▪ Chữ ký số sử dụng hệ mật mã Elgamal ▪ Ưu điểm ▪ Ý nghĩa ⮚ Tìm hiểu hàm băm SHA ● Giới thiệu hàm băm Hash ● Tính chất hàm băm Hash ● Danh sách hàm băm mật mã học ● Ứng dụng hàm băm Hash ● Thuật toán hàm băm SHA-1 ▪ Giới thiệu hàm băm SHA-1 ▪ Thuật toán băm SHA-1 ● Thuật toán hàm băm SHA-256 ▪ Mã hố SHA-256 gì ? ▪ Ứng dụng SHA-256 ⮚ Áp dụng thực xây dựng chương trình với ngôn ngữ Java, C#, JavaScript, Python 1.4 Các kiến thức cần có ⮚ Các kiến thức thuật toán, định lý: o Nắm rõ kiến thức Chữ ký điện tử ( Định nghĩa, lợi ích, vai trò,… ) o Kiến thức chữ ký điện tử Elgamal(Lược đồ chữ ký điện tử Elgamal, cách tạo chữ ký , cách xác minh chữ ký ,…) o Phương pháp mã hóa bất đối xứng , ứng dụng phương pháp mã hóa bất đối xứng vào trình tạo xác minh chữ ký điện tử o Kiến thức hàm Băm(Hash) ứng dụng q trình tạo chữ điện tử ⮚ Các kiến thức ngơn ngữ lập trình : + Java + C# + JavaScript + Python ⮚ Kiến thức sử dụng cơng cụ lập trình + Đối với Java : NetBeans IDE + Đối với C# : Visual studio 2019 + Đối với Python : PyCharm/ Visual studio code + Đối với JavaScript : Visual studio code 1.5 Lĩnh vực hoạt động Phạm vi ứng dụng chữ ký số rộng, gồm nhiều lĩnh vực, như: Ký số thư điện tử cho phép khách hàng xác định xác người gửi; Sử dụng chữ ký số thực việc ký văn xác nhận đầu tư chứng khoán trực tuyến, bán hàng trực tuyến, toán trực tuyến, chuyển tiền trực tuyến; Ký số hợp đồng kinh tế mà không cần gặp mặt trực tiếp; Ký số kê khai, nộp thuế trực tuyến, khai báo hải quan thông quan trực tuyến… Trong quan Nhà nước, ứng dụng chữ ký số yếu tố khơng thể thiếu để xây dựng Chính phủ điện tử cải cách thủ tục hành Trong doanh nghiệp, chữ ký số công cụ hữu hiệu giao dịch với quan nhà nước thông qua dịch vụ công trực tuyến, giao dịch với đối tác khách hàng Việc ứng dụng chữ ký số giúp tiết kiệm chi phí (chi phí mua giấy in, mực in, chi phí thời gian gửi văn bản); giảm thiểu sức lao động công tác quản lý, bảo mật liệu cá nhân liệu chuyên môn; giảm thời gian, tiết kiệm chi phí lại người dân doanh nghiệp; quan trọng minh bạch hóa thơng tin, làm thay đổi phương pháp, tác phong công tác, phương thức làm việc Ứng dụng chữ ký số: ⮚ Trong phủ điện tử ● Khai báo hải quan điện tử, thuế điện tử ● Khai sinh, khai tử ● Cấp loại giấy tờ chứng ● Hệ thống nộp hồ sơ xin phép: xuất bản, xây dựng, y tế, giáo dục ⮚ Trong thương mại điện tử ● Chứng thực danh tính người tham gia giao dịch, xác thực tính an tồn giao dịch điện tử qua mạng Internet ● Chứng thực tính nguyên vẹn hợp đồng, tài liệu ● Ứng dụng xác thực Internet banking ● Ứng dụng xác thực giao dịch chứng khoán ● Ứng dụng xác thực mua bán, đấu thầu qua mạng  Chương Kết nghiên cứu 2.1 Giới thiệu ⮚ Tên đề tài: Tìm hiểu chữ ký điện tử ElGamal viết ứng dụng minh họa ⮚ Nghiên cứu nội dung thuật tốn ● Tìm hiểu thuật tốn sơ đồ chữ ký điện tử Elgamal, cách tạo chữ ký, xác minh chữ ký ● Tìm hiểu phương pháp mã hóa bất đối xứng , ứng dụng chữ ký điện tử ● Tìm hiểu hàm băm ,ứng dụng chữ ký điện tử ⮚ Thiết kế chương trình ✔ Phần tạo khố: Bước 1: Tại giao diện tạo khoá cần nhấn vào phần tạo khố để sinh khố cơng khai khố bí mật ✔ Phần ký văn bản: Bước 2: Tại giao diện văn ta thực bước sau: ● Tải văn cần ký ● Ký vào văn ● Sau ký xong lưu lại chữ ký ✔ Phần xác nhận văn bản: Bước 3: Tại giao diện xác nhận văn ta thực bước ● Tải văn ký cần xác nhận lên ● Tải chữ ký kèm theo ký văn ● Xác nhận chữ ký ✔ Kiểm tra toàn vẹn tài liệu/văn 10

Ngày đăng: 03/07/2023, 23:55

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

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

Tài liệu liên quan