XÂY DỰNG CHƯƠNG TRÌNH MÃ HÓA VÀ GIẢI MÃ ELGAMAL an toàn bảo mật

55 32 0
XÂY DỰNG CHƯƠNG TRÌNH MÃ HÓA VÀ GIẢI MÃ ELGAMAL  an toàn bảo mật

Đ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

bài tập lớn an toàn bảo mật thông tin. bài tập lớn an toàn bảo mật thông tin. bài tập lớn an toàn bảo mật thông tin. bài tập lớn an toàn bảo mật thông tin. bài tập lớn an toàn bảo mật thông tin. bài tập lớn an toàn bảo mật thông tin.

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THƠNG TIN ====================== BÁO CÁO BÀI TẬP LỚN AN TỒN VÀ BẢO MẬT THƠNG TIN XÂY DỰNG CHƯƠNG TRÌNH MÃ HĨA VÀ GIẢI MÃ ELGAMAL GVHD: Nhóm - Lớp: Thành viên: TS Nguyễn Bá Nghiễn 14 - 20222IT6001013 Nguyễn Tử Nghĩa Trần Đại Nghĩa Nguyễn Thiện Đức Anh Nguyễn Tiến Đạt Hà Nội, năm 2023 MỤC LỤC MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu hệ mật mã .5 1.2 Khóa 1.2.1 Độ dài khóa 1.2.2 Quản lý khóa cơng khai .7 1.2.3 Chứng nhận khố cơng khai 1.2.4 Quản lý khóa phân phối .8 1.3 Hệ mật mã công khai 1.4 Thám mã 1.5 Giới thiệu chung hệ mật mã Elgamal 11 1.6 Ưu nhược điểm hệ mật mã Elgamal .11 1.7.1 Ưu điểm .11 1.7.2 Nhược điểm .11 1.7 Tính an tồn hệ mật mã ElGamal 11 CHƯƠNG KẾT QUẢ NGHIÊN CỨU 13 2.1 Giới thiệu 13 2.2 Nội dung thuật toán 13 2.3 Thiết kế, cài đặt chương trình đề mơ thuật tốn .16 Giao diện chương trình demo .16 2.4.Cài đặt triển khai 19 2.4.1 Giới thiệu công cụ .19 2.4.2 Hướng dẫn cài đặt chạy chương trình demo cài đặt 22 2.5.Thực toán 36 2.5.1 Trần Đại Nghĩa – Ngôn ngữ Java 36 2.5.2 Nguyễn Tử Nghĩa – Ngôn ngữ C# 38 2.5.3 Nguyễn Thiện Đức Anh -Ngôn ngữ python 41 2.5.4 Nguyễn Tiến Đạt - Ngôn ngữ C++ 47 CHƯƠNG 3: KIẾN THỨC LĨNH HỘI VÀ BÀI HỌC KINH NGHIỆM 50 3.1 Nội dung thực .50 3.2 Hướng phát triển .51 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 54 LỜI MỞ ĐẦU Ngay từ thuở sơ khai lịch sử, vấn đề bảo mật mã hóa thông tin tồn nghiên cứu suốt chiều dài văn minh nhân loại Từ xa xưa, trước tồn khái niệm máy tính sơ khai nhất, người sáng tạo hệ mật mã cổ điển với bút giấy, chí hỗ trợ từ dụng cụ khí đơn giản Vào đầu kỷ 20, xuất cấu khí điện cơ, chẳng hạn máy Enigma, cung cấp chế phức tạp hiệu cho việc mật mã hóa Sự đời phát triển mạnh mẽ ngành điện tử máy tính, vai trò ngày quan trọng chúng đời sống văn minh làm bùng nổ tầm quan trọng việc bảo mật mã hóa thơng tin, nhờ tạo điều kiện để mật mã học có bước nhảy vọt lớn Nhờ trợ giúp máy tính, nhiều hệ mật mã đại đời dựa sở đại số Modulo thuật toán logarit rời rạc, hệ mật mã có tính bảo mật cao vượt trội Một số hệ mật mã đại phổ biến sử dụng ngày hôm hệ mã hóa Elgamal Dựa hướng dẫn giảng viên – TS Nguyễn Bá Nghiễn, thành viên nhóm tiến hành tìm hiểu thuật tốn mã hóa giải mã Elgamal Bên cạnh nhóm chúng em tiến hành xây dựng chương trình demo hệ mã hóa Elgamal nhiều ngơn ngữ khác Trong suốt q trình hồn thiện tập lớn, nhóm chúng em cố gắng nhiên khơng thể tránh khỏi sai sót nên chúng em mong nhận góp ý từ phía thầy để tập lớn nhóm hồn thiện Chúng em xin chân thành cảm ơn! CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu hệ mật mã Để đảm bảo việc truyền tin an toàn kiểm tra tính tồn vẹn thơng tin, người ta thường mã hóa thơng tin trước truyền số hệ mật DES, Triple DES (3DES), RC4, AES, RSA, Rabin, Diffle-Hellman, Elgamal, Một hệ thống mật mã hệ bao gồm thành phần (P, C, K, E, D) thỏa mãn tính chất:  P (Plaintext) tập hợp hữu hạn rõ (hay cịn gọi khơng gian rõ)  C (Ciphertext) tập hợp hữu hạn mã (hay cịn gọi không gian mã)  K (Key) tập hợp khóa (hay cịn gọi khơng gian khóa)  E (Encryption) tập hợp quy tắc mã hóa (hay cịn gọi khơng gian hàm mã hóa)  D (Decryption) tập hợp quy tắc giải mã (hay cịn gọi khơng gian hàm giải mã) Q trình mã hóa tiến hành cách áp dụng hàm tóan học E lên thơng tin P để trở thành thơng tin mã hóa C Q trình giải mã tiến hành ngược lại: áp dụng hàm D lên thông tin C để thông tin giải mã Q trình mã hóa giải mã 1.2 Khóa 1.2.1 Độ dài khóa Độ an tồn thuật toán mã hoá cổ điển phụ thuộc vào hai điều độ dài thuật tốn độ dài khoá Nhưng độ dài khoá dễ bị lộ Giả sử độ dài thuật toán lý tưởng, khó khăn lớn lao đạt thực hành Hồn tồn có nghĩa khơng có cách bẻ gãy hệ thống mã hố trừ cố gắng thử với khoá Nếu khoá dài bits có = 256 khố Nếu khố dài 56 bits, có 256 khố Giả sử siêu máy tính thực triệu phép tính giây, cần tới 2000 năm để tìm khố thích hợp Nếu khố dài 64 bits, với máy tính tương tự cần tới xấp xỉ 600,000 năm để tìm khố số 64 khố Nếu khố dài 128 bits, cần tới 1025 năm , vũ trụ tồn cỡ 1010 năm Như với 1025 năm đủ dài Trước bạn gửi phát minh hệ mã hoá với Kbyte độ dài khố, bạn nên nhớ nửa khác khơng phần quan trọng thuật tốn phải an tồn nghĩa khơng có cách bẻ gãy trừ tìm khóa thích hợp Điều khơng dễ dàng nhìn thấy được, hệ thống mã hố nghệ thuật huyền ảo Một điểm quan trọng khác độ an tồn hệ thống mã hố nên phụ thuộc vào khố, khơng nên phụ thuộc vào chi tiết thuật toán Nếu độ dài hệ thống mã hoá tin thực tế kẻ công biết nội dung bên thuật tốn Nếu bạn tin giữ bí mật nội dung thuật tốn, tận dụng độ an tồn hệ thống phân tích lý thuyết sở hữu chung bạn nhầm Và thật ngây thơ nghĩ khơng thể gỡ tung mã nguồn bạn đảo ngược lại thuật tốn Giả sử vài kẻ thám mã biết hết tất chi tiết thuật toán bạn Giả sử họ có nhiều mã, họ mong muốn Giả sử họ có khối lượng rõ công với nhiều liệu cần thiết Thậm chí giả sử họ lựa chọn rõ công Nếu hệ thống mã hố dư thừa độ an tồn tất mặt, bạn có đủ độ an tồn bạn cần 1.2.2 Quản lý khóa cơng khai Trong thực tế, quản lý khóa vấn đề khó an tồn hệ mã hóa Để thực thiết kế an tồn thuật tốn mã hóa việc dễ dàng để tạo lưu trữ khóa bí mật điều khó Kẻ thám mã thường cơng hai hệ mã hóa đối xứng cơng khai qua hệ quản lý khóa chúng Đối với hệ mã hóa cơng khai việc quản lý khóa dễ hệ mã hóa đối xứng, có vấn đề riêng người có khóa cơng khai, số người mạng 1.2.3 Chứng nhận khố cơng khai Chứng nhận khố cơng khai xác định khố thuộc đó, quản lý người đáng tin cậy Chứng nhận để sử dụng vào việc cản trở cố gắng thay khoá khoá khác Nó lưu trữ thơng tin Bob tên, địa viết mà Eva tin tưởng, người thường gọi CA (certifying authority) Bằng cách xác nhận khoá thông tin Bob CA xác nhận thông tin Bob khố cơng khai thuộc quyền sở hữu Bob Eva kiểm tra lại dấu hiệu sau sử dụng khố cơng khai, an tồn cho Bob khơng khác biết 1.2.4 Quản lý khóa phân phối Trong vài trường hợp, trung tâm quản lý khố khơng làm việc Có lẽ khơng có CA (certifying authority) mà Eva Bob tin tưởng Có lẽ họ tin tưởng bạn bè thân thiết họ khơng tin tưởng Quản lý khố phân phối, sử dụng chương trình miền cơng khai, giải vấn đề với người giới thiệu (introducers) Người giới thiệu người dùng khác hệ thống người nhận khố cơng khai bạn 1.3 Các hệ mật mã Hệ mật mã gồm loại:  Hệ mật mã đối xứng (hay gọi hệ mật mã khóa bí mật): hệ mật dùng chung khóa q trình mã hóa giải mã thơng tin Do khóa phải giữ bí mật tuyệt đối Một số thuật toán tiếng mã hóa đối xứng là: DES, Triple DES(3DES), RC4, AES,  Hệ mật mã bất đối xứng (hay gọi mật mã khóa cơng khai): Các hệ mật dùng khóa để mã hóa sau dùng khóa khác để giải mã, nghĩa khóa để mã hóa khóa để giải mã khác Các khóa tạo nên cặp chuyển đổi ngược khơng có khóa suy khóa cịn lại Khóa dùng để mã hóa cơng khai khóa dùng để giải mã giữ bí mật Do thuật tốn có hai loại khóa: khóa dùng để mã hóa gọi khóa cơng khai-Public Key cịn khóa để giải mã gọi khóa bí mật Private Key Một số thuật tốn mã hóa cơng khai tiếng: DiffleHellman, Elgamal, RSA, Rabin 1.3 Hệ mật mã công khai Hệ mật mã công khai bước tiến lớn ngành mật mã Hệ mật mã đời phá bỏ tư cũ mật mã, đồng thời có nhiều ứng dụng to lớn như: phân phối khóa, chữ ký số v.v Mặc dù giải điểm yếu logic hệ mật mã khóa đối xứng hệ mật mã khóa cơng khai (bất đối xứng) đồng thời biến điểm mạnh hệ mật mã khóa bí mật thành điểm yếu Hệ khóa cơng khai tính tốn chậm liên tục xử lý số lớn (ở RSA tính tốn với số ngun tố lớn) Để đảm bảo tính an tồn hệ mật mã RSA Một quy luật tự nhiên yếu đâu ta khắc phục Để giảm thời gian tính tốn hệ mật mã khóa cơng khai, ta cổ gắng thực Giảm độ dài khóa đồng thời giữ tính an tịan hệ mật mã Đây xu mật mã học Xuất phát từ mong muốn tìm hiểu, tạo nên chương trình demo mã hóa giải mã thơng tin lợi ích mà việc mã hóa mang lại với yêu cầu tập lớn mơn an tồn bảo mật thơng tin nên nhóm 14 chúng em lựa chọn tìm hiểu hệ mã hóa cơng khai (hệ mật mã bất đối xứng) RSA với mục đích hiểu rõ phương pháp, cách thức thực mã hóa, giải mã thuật tốn dùng để mã hóa giải mã thơng tin Qua ta thấy tầm quan trọng hệ mã hóa cơng khai RSA việc truyền tin an tồn kiểm tra tính tồn vẹn thông tin 1.4 Thám mã 10 Mục tiêu thám mã (phá mã) tìm điểm yếu khơng an tồn phương thức mật mã hóa Thám mã thực kẻ công ác ý, nhằm làm hỏng hệ thống; người thiết kế hệ thống với ý định đánh giá độ an tồn hệ thống Có nhiều loại hình cơng thám mã, chúng phân loại theo nhiều cách khác Một đặc điểm liên quan người cơng biết làm để hiểu thơng tin bí mật Ví dụ, người thám mã truy cập mã hay không? Hay có biết hay đốn phần rõ? Hoặc chí: Anh ta có chọn lựa rõ ngẫu nhiên để mật mã hóa? Các kịch tương ứng với công mã, công biết rõ công chọn lựa rõ Trong công việc thám mã túy sử dụng điểm yếu thuật tốn mật mã hóa, cơng khác lại dựa thi hành, biết đến công kênh bên Nếu người thám mã biết lượng thời gian mà thuật toán cần để mã hóa lượng rõ đó, sử dụng phương thức công thời gian để phá mật mã Người cơng nghiên cứu mẫu độ dài thông điệp để rút thơng tin hữu ích cho việc phá mã, điều biết đến thám mã lưu thông Nếu hệ thống mật mã sử dụng khóa xuất phát từ mật khẩu, chúng có nguy bị cơng kiểu duyệt tồn (brute force), kích thước khơng đủ lớn thiếu tính ngẫu nhiên mật Đây điểm yếu chung hệ thống mật mã Đối với ứng dụng mạng, giao thức thỏa thuận khóa chứng thực mật giảm số giới hạn mật Đối với ứng dụng độc lập, biện pháp an toàn để lưu trữ liệu chứa mật và/hoặc cụm từ kiểm sốt truy cập thơng thường gợi ý nên sử dụng

Ngày đăng: 10/10/2023, 17:49

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

Tài liệu liên quan