1. Trang chủ
  2. » Thể loại khác

...Phan Thị Quỳnh Mai.pdf

11 150 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 11
Dung lượng 309,53 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

...Phan Thị Quỳnh Mai.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 ki...

Trang 1

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP

NGHIÊN CỨU XÂY DỰNG PHẦN MỀM TẠO CHỮ KÝ SỐ BẰNG

THUẬT TOÁN RSA

Giáo viên hướng dẫn: ThS Nguyễn Văn Hách

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan các kết quả nghiên cứu trong đồ án 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 em 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ể

Em 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

Hà Nội, tháng 6 năm 2015 Sinh viên thực hiện

Phan Thị Quỳnh Mai

Trang 3

LỜI CẢM ƠN

Em xin gửi lời cảm ơn sâu sắc đến thầy ThS Nguyễn Văn Hách đã tận tình dạy

dỗ, chỉ bảo, giúp đỡ, có những lời khuyên bổ ích cho em trong suốt thời gian làm đồ

án tốt nghiệp

Em chân thành cảm ơn các thầy, cô trong khoa Công nghệ thông tin, trường đại học Tài nguyên và Môi trường Hà Nội đã tận tình truyền đạt kiến thức trong suốt bốn năm em học tập tại trường Với vốn kiến thức được tiếp thu trong quá trình học tập không chỉ là nền tảng cho quá trình thực hiện đồ án mà còn là một hành trang quý báu để em bước ra ngoài làm việc một cách vững chắc và tự tin

Em xin chân thành cảm ơn!

Sinh viên

Phan Thị Quỳnh Mai

Trang 4

DANH MỤC CÁC CHỮ VIẾT TẮT

Chữ viết

Algorithm

Chữ ký số trên đường cong Elliptic

Association

Hiệp hội những nhà sản xuất máy tính châu Âu

Technology

Viện công nghệ Massachusetts

Technology

Viện Tiêu chuẩn và Kỹ thuật Quốc gia (Hoa Kỳ)

khai

Trang 5

SHA-1 Secure Hash Algorithm 1 Giải thuật băm an toàn 1

DANH MỤC CÁC BẢNG

Trang 6

DANH MỤC CÁC HÌNH

Hình 1.1: Cấu trúc chương trình C# 4

Hình 1.2: Dạng mã Morse đã dùng 5

Hình 1.3: Chữ ký số 6

Hình 1.4: Mô tả quy trình sử dụng chữ ký số 9

Hình 1.5: Ví dụ về sơ đồ chữ ký RSA 12

Hình 2.1: Minh họa làm việc của một hàm băm 23

Hình 2.2: Thêm vào các bit đệm trong MD5 25

Hình 2.3: Thêm vào độ dài trong MD5 26

Hình 2.4: Quy trình xử lý khối dữ liệu 512 bit trong MD5 27

Hình 2.5: Quy trình xử lý khối dữ liệu 512 bit trong SHA-1 29

Hình 2.6: Sơ đồ tạo chữ ký số với hàm băm 31

Hình 2.7: Quá trình mã hóa khóa công khai 32

Hình 2.8: Thuật toán mã hóa RSA 35

Hình 2.9: Mô hình hệ mật mã khóa công khai RSA 35

Hình 3.1: Biểu đồ use case tổng quát 45

Hình 3.2: Biểu đồ use case phân rã tạo chữ ký 46

Hình 3.3: Biểu đồ use case phân rã tạo khóa 46

Hình 3.4: Biểu đồ tuần tự chọn số nguyên tố 47

Hình 3.5: Biểu đồ tuần tự tạo khóa 48

Hình 3.6: Biểu đồ tuần tự lưu khóa 48

Hình 3.7: Biểu đồ tuần tự chọn khóa bí mật 49

Hình 3.8: Biểu đồ tuần tự ký 50

Hình 3.9: Biểu đồ tuần tự chọn file 51

Hình 3.10: Biểu đồ tuần tự xác thực chữ ký 51

Hình 3.11: Biểu đồ hoạt động tạo khóa 52

Hình 3.12: Biểu đồ hoạt động ký 53

Hình 3.13: Biểu đồ hoạt động xác thực chữ ký 54

Hình 3.14: Quy trình tạo chữ ký của phần mềm tạo chữ ký số 54

Trang 7

Hình 3.15: Quy trình xác thực chữ ký của phần mềm tạo chữ ký số 55

Hình 3.16: Giao diện chính 55

Hình 3.17: Giao diện tạo chữ ký khi chọn số nguyên tố 56

Hình 3.18: Giao diện tạo chữ ký khi tạo khóa 56

Hình 3.19: Lưu khóa công khai 57

Hình 3.20: Lưu khóa bí mật 57

Hình 3.21: Giao diện tạo chữ ký khi tạo hàm băm 58

Hình 3.22: Giao diện tạo chữ ký 58

Hình 3.23: Lưu chữ ký 59

Hình 3.24: Giao diện xác thực chữ ký 59

Trang 8

MỤC LỤC

MỞ ĐẦU 1

I Lí do chọn đề tài 1

II Mục đích nghiên cứu 1

III Nhiệm vụ nghiên cứu 2

IV Phạm vi nghiên cứu 2

V Phương pháp nghiên cứu 2

CHƯƠNG 1: TỔNG QUAN VỀ NỘI DUNG NGHIÊN CỨU 3

1.1.Khái quát về ngôn ngữ lập trình C# 3

1.1.1.Giới thiệu về ngôn ngữ lập trình C# 3

1.1.2.Cấu trúc một chương trình C# 4

1.1.3.Đánh giá ngôn ngữ C# 4

1.2.Tổng quan về chữ ký số 5

1.2.1.Lịch sử 5

1.2.2.Khái niệm 6

1.2.3.Mô tả quy trình sử dụng chữ ký số 8

1.2.4.Một số sơ đồ chữ ký số 10

1.2.5.Ưu điểm và nhược điểm của chữ ký số 15

1.2.6.Một số kiểu tấn công chữ ký số hiện nay 16

1.2.7.Vai trò của chữ ký số trong ứng dụng hiện nay 17

1.2.8.Thực trạng ứng dụng chữ ký số hiện nay 18

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 21

HÌNH THÀNH CHỮ KÝ SỐ 21

2.1.Cơ sở toán học 21

2.1.1.Sinh số nguyên tố và phân tích thừa số nguyên tố 21

2.1.2.Phép mũ hóa và khai căn module 22

2.2.Hàm băm 23

2.2.1.Giới thiệu về hàm băm 23

2.2.2.Một số giải thuật trong hàm băm 25

Trang 9

2.2.3.Tạo chữ ký số với hàm băm 31

2.3.Mã hóa khóa công khai 32

2.3.1.Mã hóa khóa công khai 32

2.3.2.Mã hóa khóa công khai RSA 33

2.3.3.Mã hóa khóa công khai Elgamal 40

2.3.4.Mã hóa khóa công khai Rabin 42

2.4.Cơ sở hạ tầng khóa công khai 43

2.4.1.Mô hình PKI 43

2.4.2.Chứng chỉ số X.509 43

CHƯƠNG 3: XÂY DỰNG PHẦN MỀM TẠO CHỮ KÝ SỐ BẰNG THUẬT TOÁN RSA 45

3.1.Phân tích thiết kế hệ thống 45

3.1.1.Biểu đồ Usecase tổng quát 45

3.1.2.Biểu đồ Usecase phân rã 46

3.1.3.Biểu đồ tuần tự 47

3.1.4.Biểu đồ hoạt động 52

3.2.Xây dựng giao diện phần mềm tạo chữ ký số 54

KẾT LUẬN 60

I Kết quả đạt được 60

1 Ưu điểm 60

2 Nhược điểm 60

Trang 10

1

MỞ ĐẦU

I Lí do chọn đề tài

Từ khi ra đời cho đến nay, công nghệ thông tin đóng vai trò vô cùng quan trọng trong sự phát triển của xã hội Nó đã trở thành nhân tố quan trọng, là cầu nối trao đổi giữa các thành phần của xã hội trên toàn thế giới, giúp giải quyết nhanh chóng mọi vấn đề Công nghệ thông tin có các ứng dụng liên quan đến các thành phần kinh tế, xã hội, chính trị, quân sự, văn hóa, giáo dục,… Trong đó không thể không nhắc đến ứng dụng của nó trong truyền thông Ngày nay, mọi thông tin liên lạc, các văn bản thường được trao đổi qua hệ thống mạng Việc này rất thuận tiện và tiết kiệm được thời gian và chi phí nhưng lại nảy sinh một vấn đề là xác thực nguồn thông tin nhận được Do tính chất phi vật chất của phương tiện truyền thông nên các phương pháp truyền thống như đánh dấu bằng dấu niêm phong hay chữ ký tay đều rất dễ bị giả mạo Vậy làm thế nào để có thể xác thực và bảo vệ được nguồn thông tin nhận được từ một người gửi đi hay một máy chủ và thông tin đó không bị thay đổi cũng như bị tiết lộ cho một bên thứ 3 trong quá trình truyền đi? Giải pháp cho các vấn đề này chính là mã hóa mà cụ thể hơn là sử dụng thuật toán mã hóa khóa công khai Đây là cơ sở cho “chữ ký số”, vì nếu như người dùng sắp xếp lại thông điệp sử dụng khóa công khai của một người nào đó thì người kia sẽ phải dùng khóa riêng của họ để làm xáo trộn thông điệp ngay từ đầu Chỉ chủ sở hữu mới có thể sử dụng khóa riêng của họ và thông điệp bị xáo trộn sẽ trở thành một chữ ký điện tử hay nói cách khác là chữ ký số - một tài liệu mà không ai khác có thể tạo ra Vì vậy,

với đề tài “Nghiên cứu xây dựng phần mềm tạo chữ ký số bằng thuật toán RSA”

sẽ giúp chúng ta hiểu rõ hơn về vấn đề này

II Mục đích nghiên cứu

và nắm vững một số thuật toán tạo chữ ký số

Trang 11

III Nhiệm vụ nghiên cứu

IV Phạm vi nghiên cứu

Nghiên cứu tổng quan về các vấn đề liên quan đến chữ ký số, hàm băm, hệ mã hóa công khai RSA, và xây dựng phần mềm tạo chữ ký số bằng thuật toán RSA

V Phương pháp nghiên cứu

Ngày đăng: 04/11/2017, 16:05

TỪ KHÓA LIÊN QUAN

w