1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỒ án tốt NGHIỆP tìm hiểu, thực thi lược đồ chia sẻ bí mật sharmir kết hợp chuẩn ký số ECDSA

29 10 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 528,95 KB

Nội dung

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP Tìm hiểu, thực thi lược đồ chia sẻ bí mật Sharmir kết hợp chuẩn ký số ECDSA Ngành: An tồn thơng tin Mã số: 7.48.02.02 Sinh viên thực hiện: Lê Thế Công Lớp: AT14G Người hướng dẫn : TS Nguyễn Mạnh Hợp Cục Chứng thực số Bảo mật thông tin - BCY Hà Nội, 2022 BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP Tìm hiểu, thực thi lược đồ chia sẻ bí mật Sharmir kết hợp chuẩn ký số ECDSA Ngành: An tồn thơng tin Mã số: 7.48.02.02 Sinh viên thực hiện: Lê Thế Công Lớp: AT14G Người hướng dẫn : TS Nguyễn Mạnh Hợp Cục Chứng thực số Bảo mật thông tin - BCY Hà Nội, 2022 MỤC LỤC Chương Giới thiệu chung hệ mật RSA 1.1 Lịch sử đời RSA 1.2 Hoạt động thuật tốn RSA 1.2.1 Mơ tả sơ lược 1.2.2 Tạo khóa 1.2.3 Mã hóa 1.2.4 Giải mã 1.2.5 Ví dụ 1.3 Tạo chữ ký số cho văn 1.4 Vấn đề an toàn RSA 1.5 Các vấn đề đặt thực tế 1.5.1 Q trình tạo khóa 1.5.2 Phân phối khóa 1.5.3 Tấn công dựa thời gian 1.6 Sự cần thiết việc chuyển đổi rõ 1.7 Kết luận chương Chương Chuyển đổi rõ theo PKCS #1 v1.5 2.1 Lược đồ chuyển đổi rõ theo PKCS #1 v1.5 2.1.1 Chuyển đổi rõ theo PKCS #1 v1.5 2.1.2 Giải chuyên đổi rõ theo PKCS #1 v1.5 2.2 Hỗ trợ lược đồ chuyển đổi rõ PKCS #1 v1.5 phiên chuẩn mật mã RSA 2.3 Kết luận chương Chương Lược đồ chuyển đổi rõ OAEP 3.1 Mô tả chung lược đồ chuyển đổi rõ OAEP 3.1.1 Chuyển đổi rõ theo lược đồ OAEP 3.1.2 Giải chuyển đổi rõ theo lược đồ OAEP 3.1.3 Sai lầm cách hiểu OAEP 3.2 Áp dụng lược đồ OAEP vào hệ mật RSA 3.2.1 Chuyển đổi rõ theo lược đồ OAEP 3.2.2 Giải chuyển đổi rõ theo OAEP 3.2.3 Hàm băm Hash 3.2.4 Hàm sinh mặt nạ MGF 3.2.5 Tham số P 3.3 Sự điều chỉnh lược đồ OAEP qua phiên khác chuẩn mật mã RSA 3.4 Kết luận chương Chương Xây dựng chương trình minh họa hoạt động lược đồ chuyển đổi rõ 4.1 Yêu cầu chương trình 4.2 Lựa chọn cơng cụ lập trình 4.3 Tính giá trị băm P 4.4 Giới thiệu chương trình 4.5 Kết luận chương Kết luận Tài liệu tham khảo Phụ lục DANH MỤC KÍ HIỆU VÀ VIẾT TẮT || Phép nối hai chuỗi bít (hoặc chuỗi octet) ||X|| Độ dài chuỗi bít (hoặc chuỗi octet) X ⊕ Phép cộng bít theo mô-đun Số nguyên nhỏ không nhỏ Số nguyên lớn không lớn DB Data Block EM Encoded Message EME Encoding Method for Encryption I2OSP Integer To Octet String Primitive MGF Mask Generation Function OAEP Optimal Asymmetric Encryption Padding PKCS Public-Key Cryptography Standard PS Padding String RFC Request for Comments RSAES RSA Encryption Scheme DANH MỤC HÌNH VẼ Hình 2.1 Giải chuyển đổi rõ theo PKCS #1 v1.5 Hình 3.1 Chuyển đổi rõ theo lược đồ OAEP Hình 3.2 Giải chuyển đổi rõ theo lược đồ OAEP Hình 3.3 Biểu diễn OAEP khơng Hình 3.4 Chuyển đổi rõ theo lược đồ OAEP PKCS #1 v2.0 Hình 3.5 Giải chuyển đổi rõ theo lược đồ OAEP PKCS #1 v2.0 Hình 4.1 Kết chuyển đổi chuỗi rỗng trước băm SHA1 Hình 4.2 Giao diện chương trình chuyển đổi rõ Hình 4.3 Giao diện chương trình giải chuyển đổi rõ Hình 4.4 Thơng báo lỗi chuỗi M chứa kí tự khơng hợp lệ Hình 4.5 Thơng báo lỗi chuỗi M q dài 2 2 2 2 2 DANH MỤC BẢNG Bảng 3.1 Chuyển đổi rõ theo lược đồ OAEP PKCS #1 v2.0 Bảng 3.2 Giải chuyển đổi rõ theo lược đồ OAEP PKCS #1 v2.0 Bảng 3.3 Hàm sinh mặt nạ MGF1 Bảng 3.4 Hàm chuyển đổi số nguyên thành chuỗi octet I2OSP Bảng 3.5 Chuyển đổi rõ theo lược đồ OAEP PKCS #1 v2.1 2 2 LỜI CẢM ƠN Trong trình thực đồ án tốt nghiệp này, nhận giúp đỡ tận tình cán hướng dẫn TS Nguyễn Mạnh Hợp – Giảng viên Khoa An toàn thông tin Học viện Kỹ thuật Mật mã, quan tâm sâu sát cán Hệ quản lý học viên quốc tế, động viên người thân bạn bè Xin cảm ơn tất người tạo điều kiện tốt để tơi hồn thành đồ án tốt nghiệp này! SINH VIÊN THỰC HIỆN ĐỒ ÁN Lê Thế Cơng LỜI NĨI ĐẦU Trong sống thường ngày, việc giữ bí mật thơng tin quan trọng việc cần thiết, đặc biệt thơng tin có ảnh hưởng tới phát triển tổ chức, công ty, an ninh quốc gia, địi hỏi người tham gia giữ bí mật phải thật tin tưởng lẫn nhau, tin tưởng định Nhưng thực tế, tin tưởng đảm bảo, cần người lộ bí mật tồn thơng tin quan trọng bị lộ, gây ảnh hưởng vô to lớn Nhất mà khoa học kỹ thuật ngày phát triển mạnh mẽ, phương tiện truyền thông ngày phổ biến, việc đảm bảo thơng tin quan trọng giữ bí mật ln vấn đề nóng nhiều người quan tâm Lược đồ chia sẻ bí mật khơng phải lĩnh vực mẻ bảo mật an tồn thơng tin, hứa hẹn mang đến nhiều ứng dụng thực tiễn vô mẻ lĩnh vực cần đảm bảo giữ bí mật Chính vậy, đồ án xin lựa chọn đề tài: “Tìm hiểu, thực thi lược đồ chia sẻ bí mật Sharmir kết hợp chuẩn ký số ECDSA” để làm đồ án tốt nghiệp Đồ án thực nhằm mục đích tìm hiểu vấn đề an toàn hệ mật RSA Mục tiêu đặt thực đồ án là: - Tổng quan chia sẻ bí mật - Lược đồ chia sẻ bí mật Shamir kết hợp chuẩn ký số ECDSA - Xây dựng chương trình thực thi lược đồ chia sẻ bí mật Shamir kêt hợp chuẩn ECDSA Sau thời gian khoảng ba tháng thực đồ án, mục tiêu đạt Tuy nhiên mật mã lĩnh vực khoa học phức tạp, thời gian thực đồ án tương đối ngắn nên chắn khơng tránh khỏi thiếu sót Rất mong góp ý thầy cô, bạn học viên để đồ án hoàn thiện SINH VIÊN THỰC HIỆN ĐỒ ÁN Lê Thế Công 10 * Tính tốn chữ ký ECDSA Để ký tin nhắn m, A thực sau: Tính tốn đại diện tin nhắn f = H (m), sử dụng hàm băm mật mã Lưu ý f lớn r không dài (bit đo) Chọn số nguyên u ngẫu nhiên khoảng [1, r – 1] Tính V = uG = (xV, yV) c ≡ xV mod r (goto (2) c = 0) Tính d ≡ u-1*(f + s*Pc) mod r (2) d = 0) Chữ ký cho tin nhắn m cặp số nguyên (c, d) * Xác minh chữ ký ECDSA Để xác minh chữ ký A, B nên làm sau: Lấy xác thực khóa cơng khai A (E, G, r, W) Xác minh c d số nguyên khoảng [1, r – 1] Tính f = H (m) h ≡ d-1 mod r Tính h1 f *h mod r h2 c*h mod r Tính h1G + h2W = (x1, y1) c1 ≡ x1 mod r Chấp nhận chữ ký c1 = c Để có ích mặt mật mã, tham số r nên có 250 bit Cơ sở cho tính bảo mật hệ thống mật mã đường cong elliptic toán logarit rời rạc đường cong elliptic (ECDLP): cho hai điểm G, W E (ℤp), W nằm nhóm thứ tự r tạo G, xác định số nguyên k cho W = k*G < k 4)]); Result.Append(HexAlphabet[(int)(B & 0xF)]); } return Result.ToString(); } public static bool IsValidHexString(String st) { for (int i = 0; i < st.Length; i++) { if (st[i] >= '0' && st[i] = 'A' && st[i] = 'a' && st[i]

Ngày đăng: 27/04/2023, 08:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w