...Quyền Thu Hương.pdf tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực kinh...
Trang 1TRƯỜNG ĐẠI H
KHOA CÔNG NGH
XÂY DỰNG PH
I HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ N
KHOA CÔNG NGHỆ THÔNG TIN
NG PHẦN MỀM TẠO CHỮ KÝ SỐ
THUẬT TOÁN RSA
Hà Nội - 2016
NG HÀ NỘI
Ố BẰNG
Trang 2KHOA CÔNG NGH
XÂY DỰNG PH
Chuyên ngành
Mã ngành
NGƯỜI H
KHOA CÔNG NGHỆ THÔNG TIN
QUYỀN THU HƯƠNG
NG PHẦN MỀM TẠO CHỮ KÝ SỐ
THUẬT TOÁN RSA
Chuyên ngành : Công nghệ thông tin
Mã ngành : D480201
I HƯỚNG DẪN: TS PHẠM MINH HẢ
Hà Nội - 2016
Ố BẰNG
ẢI
Trang 3LỜI CAM ĐOAN
Tôi tên là: Quyền Thu Hương
MSSV: DC00201897
Hiện đang là sinh viên lớp ĐH2C4 – Khoa Công nghệ thông tin – Trường Đại học Tài nguyên và Môi trường Hà Nội
Với đề tài: “ Xây dựng phần mềm tạo chữ ký số bằng thuật toán RSA ”, tôi
xin cam đoan các kết quả nghiên cứu trong đề tài này dựa trên các kết quả thu được trong quá trình nghiên cứu của riêng tôi và được sự hướng dẫn của TS.Phạm Minh Hải và ThS Vũ Văn Huân Toàn bộ nội dung của đồ án do em tự học tập, nghiên cứu trên Internet, sách và các tài liệu trong và ngoài nước có liên quan Không sao chép hay sử dụng bài làm của bất kỳ ai khác, mọi tài liệu đều được trích dẫn cụ thể
Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình trước quý Thầy Cô, Khoa và Nhà trường
Sinh viên thực hiện Quyền Thu Hương
Trang 4LỜI CẢM ƠN
Đề tài : “Xây dựng phần mềm tạo chữ ký số bằng thuật toán RSA” được hoàn thành tại Trường Đại học Tài Nguyên và Môi Trường Hà Nội Trong quá trình nghiên cứu, ngoài sự nỗ lực phấn đấu của bản thân, em đã nhận được sự chỉ bảo, giúp đỡ tận tình của các thầy giáo, cô giáo và bạn bè
Em xin bày tỏ lòng biết ơn sâu sắc tới TS Phạm Minh Hải – Trưởng phòng nghiên cứu đo vẽ Ảnh và Viễn thám, Viện khoa học Đo đạc và Bản đồ Việt Nam, người trực tiếp hướng dẫn, chỉ bảo, truyền đạt những vốn kiến thức quý báu giúp đỡ
em trong suốt quá trình xây dựng và thực hiện đồ án tốt nghiệp Em xin chân thành cảm ơn Th.S Vũ Văn Huân - Phó Trưởng bộ môn Khoa Công nghệ thông tin, Trường Đại học Tài nguyên và Môi trường Hà Nội đã cho em những ý kiến đóng góp quý báu trong suốt quá trình học tập và thực hiện đề tài
Em xin cảm ơn Ban lãnh đạo khoa, các thầy cô giáo Khoa Công nghệ thông tin, Trường Đại học Tài nguyên và Môi trường Hà Nội đã nhiệt tình giúp đỡ, dạy bảo em trong suốt quá trình học tập và thực hiện đề tài
Cuối cùng, em xin cảm ơn những người thân yêu trong gia đình, bố mẹ và bạn bè đã luôn động viên, cổ vũ và tạo mọi điều kiện tốt nhất cho em trong quá trình học tập và thực hiện đề tài!
Em xin chân thành cảm ơn!
Trang 5MỤC LỤC LỜI CAM ĐOAN
LỜI CẢM ƠN
DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH VẼ
DANH MỤC CÁC CHỮ VIẾT TẮT
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Nội dung đề tài: 1
3 Phương pháp nghiên cứu: 2
4 Cấu trúc đề tài: 2
CHƯƠNG 1: TỔNG QUAN 3
1.1 Giới thiệu về ngôn ngữ lập trình C#: 3
1.2 Giới thiệu về chữ ký số : 9
1.2.1 Lịch sử: 9
1.2.2 Khái niệm: 9
1.2.3 Cơ chế hoạt động của chữ ký số: 10
1.2.4 Ưu, nhược điểm của chữ ký số: 11
1.2.5 Ứng dụng của chữ ký số: 12
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 13
2.1 Hàm băm: 13
2.1.1 Giới thiệu: 13
2.1.2 Tính chất cơ bản của hàm băm: 13
2.1.3 Mục đích của hàm băm: 13
2.1.4 Các giải thuật cơ bản trong hàm băm: 13
2.1.5 Ứng dụng của hàm băm: 19
2.2 Hệ mã hóa khóa công khai: 21
2.2.1 Giới thiệu về mã hóa: 22
2.2.2 Hệ mã hóa khóa công khai 25
Trang 62.2.3 Hệ mã hóa khóa công khai RSA 28
2.2.4 Hệ mã hóa khóa công khai Elgamal: 31
2.2.5 Hệ mã hóa khóa công khai Rabin: 33
2.3 Hạ tầng khóa công khai: 35
2.3.1 Giới thiệu: 35
2.3.2 Các thành phần của PKI 36
2.3.3 Chức năng cơ bản của PKI: 38
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH 40
3.1 Phân tích thiết kế hệ thống: 40
3.1.1 Biểu đồ Usecase: 40
3.1.2 Biểu đồ hoạt động: 42
3.1.3 Biểu đồ tuần tự: 45
3.2 Xây dựng giao diện chương trình: 48
KẾT LUẬN 53
TÀI LIỆU THAM KHẢO 54
Trang 7DANH MỤC BANG BIỂU
Bảng 1.1 Từ khóa của ngôn ngữ C#: 8
Bảng 2.1: Các vòng lặp của giải thuật SHA-1 18
Bảng 2.2: So sánh MD5 với SHA-1 19
Bảng 2.3: So sánh cách mã hóa giữa hệ mã hóa công khai và hệ mã hóa bí mật 27
Bảng 2.4: So sánh cách giải mã giữa hệ mã hóa công khai và hệ mã hóa bí mật 27
Bảng 2.5: So sánh tính bảo mật giữa hệ mã hóa công khai và hệ mã hóa bí mật 28
Trang 8DANH MỤC HÌNH VẼ
Hình 1.1: Cơ chế hoạt động của chữ ký số 10
Hình 2.1: Nhồi thêm bit trong MD5 14
Hình 2.2: Hình gắn thêm độ dài trong MD5 15
Hình 2.3: Xử lý các khối dự liệu 512 bit trong MD5 16
Hinh 2.4: Xử lý khối dữ liệu 512 bit trong SHA-1 18
Hình 2.5: Tạo chữ ký số với hàm băm 20
Hình 2.6: Chứng thực chữ ký số với hàm băm 21
Hình 2.7: Mô hình hoạt động của hệ mã hóa khóa công khai 26
Hình 2.8: Mô tả thuật toán mã hóa RSA 29
Hình 3.1: Biểu đồ Usecase tổng quát của phần mềm tạo chữ ký số 40
Hình 3.2: Sơ đồ phân rã chức năng Tạo khóa 41
Hình 3.3: Sơ đồ phân rã chức năng Tạo chữ ký 41
Hình 3.4: Sơ đồ phân rã chức năng Xác nhận 42
Hình 3.5: Biểu đồ hoạt động cho chức năng Tạo khóa 42
Hình 3.6: Biểu đồ hoạt động cho chức năng Tạo chữ ký 43
Hình 3.7: Biểu đồ hoạt động cho chức năng Xác nhận 44
Hình 3.8: Biểu đồ tuần tự cho chức năng Tạo khóa 45
Hình 3.9: Biểu đồ tuần tự cho chức năng Tạo chữ ký 46
Hình 3.10: Biểu đồ tuần tự cho chức năng Xác nhận 47
Hình 3.11: Giao diện của chương trình chính 48
Hình 3.12: Giao diện khi chọn số nguyên tố 48
Hình 3.13: Giao diện khi tạo khóa 49
Hình 3.14: Giao diện của chức năng chọn thông điệp 49
Hình 3.15: Giao diện của chức năng tạo chữ ký 50
Hình 3.16: Giao diện lưu chữ ký 50
Hình 3.17: Giao diện của chức năng Xác nhận 51
Hình 3.18: Giao diện xác nhận chữ ký đúng của người gửi 52
Hình 3.19: Giao diện xác nhận chữ ký không phải của người gửi 52
Trang 9DANH MỤC CÁC CHỮ VIẾT TẮT
lý
đơn giản
thông điệp từ Internet
Massachusetts
thực số
Union
Hội viễn thông quốc tế
vụ chứng thực