1. Trang chủ
  2. » Luận Văn - Báo Cáo

Số học số lớn cho mật mã

11 178 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 229,87 KB

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

Nội dung

Tuy nhiên, việc nghiên cứu và triển khai các nâng cấp trong việc tối ưu hóa về mặt thuật toán trong các phép xử lý số học của các hệ mã còn hạn chế trong phạm vi các chương trình độc quy

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN TAM CƯỜNG

SỐ HỌC SỐ LỚN CHO MẬT MÃ

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên - 2013

Trang 2

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN TAM CƯỜNG

SỐ HỌC SỐ LỚN CHO MẬT MÃ

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: PGS TSKH NGUYỄN XUÂN HUY

Thái Nguyên - 2013

Trang 3

LỜI CAM ĐOAN

Học viên xin cam đoan, toàn bộ nội dung liên quan tới đề tài được trình bày trong luận văn là bản thân học viên tự tìm hiểu và nghiên cứu, dưới sự hướng dẫn khoa học của Thầy giáo PGS TSKH Nguyễn Xuân Huy

Các tài liệu, số liệu tham khảo được trích dẫn đầy đủ nguồn gốc Học viên xin chịu trách nhiệm trước pháp luật lời cam đoan của mình

Thái Nguyên, ngày 10 tháng 10 năm 2013

Nguyễn Tam Cường

Trang 4

ii

LỜI CẢM ƠN

Học viên xin gửi lời cảm ơn tới các Thầy, cô đã tận tình truyền đạt các kiến thức quý báu cho học viên trong suốt quá trình học tập

Đặc biệt, học viên xin gửi lời cảm ơn và biết ơn sâu sắc nhất tới Thầy giáo PGS TSKH Nguyễn Xuân Huy, thầy đã tận tình chỉ bảo học viên trong suốt quá trình thực hiện đề tài Bên cạnh những kiến thức khoa học, thầy đã giúp học viên nhận ra những bài học về phong cách học tập, làm việc và những kinh nghiệm sống quý báu

Học viên xin bày tỏ lòng biết ơn tới gia đình, bạn bè, đồng nghiệp và những người thân đã động viên khích lệ tinh thần và giúp đỡ để học viên hoàn thành luận văn này

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Đối tượng và phạm vi nghiên cứu 2

3 Hướng nghiên cứu 2

4 Những nội dung nghiên cứu chính 3

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

6 Ý nghĩa khoa học và thực tiễn cửa đề tài 3

Chương 1: CÁC KHÁI NIỆM CƠ BẢN 5

1.1 Một số khái niệm toán học [1], [2], [3], [6], [7], [12] [13] 5

1.1.1 Ước chung lớn nhất [1], [2], [7], [13] 5

1.1.2 Số nguyên tố và nguyên tố cùng nhau 7

1.1.3 Đồng dư thức [1][2][7] 9

1.1.4 Không gian Zn và Zn * [1], [2], [7] 10

1.1.5 Phần tử nghịch đảo [1], [2], [7] 10

1.1.6 Hàm Euler [1], [2], [7] 11

1.1.7 Các phép toán trong không gian modulo [7] 11

1.1.8 Độ phức tạp tính toán [1], [2] 12

1.1.9 Hàm một phía và hàm cửa sập một phía [1], [3], [6] 16

1.2 Vấn đề mã hóa [3], [6], [7], [8] 17

1.2.1 Một số khái niệm cơ bản về mã hoá 17

1.2.2 Hệ mật mã 19

1.2.3 Những tính năng của hệ mật mã 19

Trang 6

iv

1.3 Giới thiệu về hệ mã khoá công khai 20

1.3.1 Hệ mật mã công khai RSA (Rivest-Shamir-Adleman) 22

1.3.2 Cơ chế hoạt động của RSA [1], [3], [6], [7], [8] 23

1.3.3 Khả năng bị tấn công của hệ mật mã công khai RSA [1], [2], [6], [7] 26

Chương 2: THƯ VIỆN TÍNH TOÁN SỐ LỚN 29

2.1 Biểu diễn số lớn [2], [4] 29

2.2 Các phép toán trên số lớn 33

2.2.1 So sánh hai số [2], [4] 33

2.2.2 Cộng hai số lớn không âm [2], [4], [5] 36

2.2.3 Trừ hai số lớn không âm [2], [4], [5], [9] 40

2.2.4 Phép nhân hai số lớn không âm [2], [4], [5], [9] 43

2.2.5 Phép chia hai số lớn không âm [2], [4], [5], [9] 45

2.2.6 Lũy thừa [2], [4], [5], [11] 47

2.2.7 Ước chung lớn nhất [1], [2], [6], [7] 49

2.2.8 Phép cộng theo modulo p [1], [2], [6], [7] 49

2.2.9 Phép nhân theo modulo p [1], [2], [6], [7] 50

2.2.10 Phép cộng có dấu [1], [2], [4], [6] 51

2.2.11 Phép trừ có dấu [1], [2], [4], [6] 52

2.3.12 Phép nhân có dấu [1], [2], [4], [6] 52

2.3.13 Phép chia có dấu [1], [2], [4], [6] 52

Chương 3: ỨNG DỤNG THƯ VIỆN SỐ LỚN CHO HỆ MẬT MÃ RSA 53

3.1 Phân tích các phép xử lý toán học trong hệ mật mã RSA 53

3.2 Xây dựng hệ mật mã RSA thử nghiệm [1], [2], [4], [6], [7], [8] 53

3.3 Đánh giá kết quả thực nghiệm và kết luận 63

3.3.1 Đánh giá và kết quả thực nghiệm 63

3.3.2 Kết luận 64

TÀI LIỆU THAM KHẢO 65

Trang 7

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Hàm Euler

gcd(a,b) Ƣớc chung lớn nhất của hai số a và b

Phép tính nhân

Trang 8

1

MỞ ĐẦU

1 Lý do chọn đề tài

Mật mã học là một trong những vấn đề quan trọng trong lĩnh vực bảo mật và

an toàn thông tin Trên thế giới, mật mã học đã được ra đời từ thời La Mã cổ đại và ngày càng được nghiên cứu, phát triển đạt được những thành tựu to lớn Trong mật

mã học, vấn đề bảo mật luôn đi đôi với vấn đề xác thực thông tin, đặc biệt trong hệ thống mã hóa khóa công khai vấn đề xác thực là vô cùng quan trọng

Các hệ mã công khai như RSA thực hiện tính toán với các số nguyên lớn hàng trăm chữ số Độ phức tạp trong việc giải mã các hệ mã này tỉ lệ hàm mũ với độ lớn của các số nguyên tham gia vào việc tạo khóa mã hóa và khóa công khai Do đó để hệ mã an toàn, cần tăng kích thước của các số nguyên

Độ an toàn của hệ thống RSA dựa trên 2 vấn đề của toán học: bài toán phân tích ra thừa số nguyên tố các số nguyên lớn và bài toán RSA Nếu 2 bài toán trên là khó (không tìm được thuật toán hiệu quả để giải chúng) thì không thể thực hiện được việc phá mã toàn bộ đối với RSA

Mặt khác, khi kích thước của các số nguyên cần xử lý lớn thì thời gian xử

lý của chương trình mã hóa cũng tăng lên

Thông tin cần mã hóa ngày càng đa dạng và có khối lượng lớn, đòi hỏi hệ

mã giảm thiểu thời gian xử lý

Các công cụ và giải thuật nhằm bẻ khóa các hệ mật mã được cải tiến đòi hỏi hệ mã cần được nâng cấp tính bảo mật

Tuy nhiên, việc nghiên cứu và triển khai các nâng cấp trong việc tối ưu hóa về mặt thuật toán trong các phép xử lý số học của các hệ mã còn hạn chế trong phạm vi các chương trình độc quyền

Để hỗ trợ giải quyết các vấn đề trên, đề tài này tập trung vào việc xây dựng một số thuật toán tối ưu hóa nhằm tăng hiệu quả các phép tính toán thực hiện với số nguyên lớn

Trang 9

Các kết quả của đề tài sẽ được ứng dụng trong việc hỗ trợ cho các phép

xử lý số học của các hệ mã Từ đó làm tăng tốc độ xử lý và tính bảo mật của các

hệ mã

Từ tính cấp thiết của vấn đề tối ưu hóa các hệ mã công khai, đồng thời được sự hướng dẫn và gợi ý của Thầy giáo PGS.TSKH Nguyễn Xuân Huy, học viên đã chọn đề tài cho luận văn tốt nghiệp Cao học ngành khoa học máy tính là:

“SỐ HỌC SỐ LỚN CHO MẬT MÔ

2 Đối tượng và phạm vi nghiên cứu

a Đối tượng của đề tài

- Độ phức tạp tính toán

- Cơ sở lý thuyết của số học: các phép toán trên số nguyên kích thước lớn: Cộng, trừ, nhân, chia, số dư, số nguyên tố, ước chung lớn nhất,

- Tổ chức dữ liệu cho các số nguyên kích thước lớn

- Các thuật toán của số học số nguyên: sơ đồ hoạt động, độ phức tạp

b Phạm vi nghiên cứu

Đề tài thực hiện việc tối ưu hóa các phép toán với số nguyên lớn theo tiếp cận hướng đối tượng

Ứng dụng thử nghiệm trong một hệ mã nhằm so sánh hiệu năng xử lý của

hệ mã trước và sau khi tối ưu

Đề tài giới hạn trong phạm vi nghiên cứu để đưa ra giải pháp, việc triển khai ứng dụng thực tiễn cần có thêm các điều kiện về thời gian và quy mô

3 Hướng nghiên cứu

Đề tài tập trung vào việc xây dựng một số thuật toán tối ưu hóa nhằm tăng hiệu quả các phép tính toán thực hiện với số nguyên lớn

- Nghiên cứu các quá trình thực hiện mã hóa và giải mã của các hệ mã công khai

- Tìm hiểu các thuật toán xử lý số học được dùng trong các hệ mã

Trang 10

3

- Phát hiện các giải thuật tính toán cần tối ưu hóa

- Đưa ra giải pháp tối ưu hóa các giải thuật này

- Ứng dụng trong một hệ mã RSA

- Đối sánh với kết quả thực thi của hệ mã khi chưa thực hiện tối ưu hóa

4 Những nội dung nghiên cứu chính

- Đề tài luận văn thuộc lĩnh vực lý thuyết thuật toán xử lí các số nguyên lớn dài hàng trăm chữ số và ứng dụng trong mật mã, cụ thể là khảo sát cách tổ chức dữ liệu và các thuật toán số học số lớn

- Học viên tìm hiểu tổng quan về lớp các số Big Numbers, các thuật toán mật mã RSA, khảo sát tính nguyên tố theo Miller-Rabin

- Lập trình và kiểm thử, đối sánh với các sơ đồ hiện có

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

- Thu thập và phân tích các tài liệu và thông tin liên quan đến đề tài

- Nghiên cứu dựa trên việc tìm hiểu các giải thuật xử lý với số nguyên lớn của các hệ mã Cụ thể là hệ mã hóa RSA, từ kết quả nghiên cứu có được sẽ định hướng lựa chọn thuật toán nào cần tối ưu hóa

- Thực hiện việc tối ưu hóa các giải thuật bằng cách tối ưu các phép xử lý với số học lớn Thao tác này sử dụng kết hợp các phương pháp tính toán với số học với phương pháp chia để trị nhằm tăng hiệu năng của từng bước xử lý

- Kết hợp các nghiên cứu trước đây của các tác giả trong và ngoài nước cùng với sự chỉ bảo, góp ý của giáo viên hướng dẫn để hoàn thành nội dung nghiên cứu

- Thực nghiệm cài đặt ứng dụng để minh họa các vấn đề trình bày trong

đề tài

6 Ý nghĩa khoa học và thực tiễn cửa đề tài

* Ý nghĩa khoa học:

- Trình bày các kiến thức toán học cơ bản, lý thuyết độ phức tạp của

thuật toán, các thuật toán thường dùng trong các hệ mật mã khoá công khai

Trang 11

- Trình bày các phương pháp mật mã gồm: phương pháp mã hoá khóa bí mật và phương pháp mã hoá khóa công khai Với phương pháp mã hóa khóa công khai thì tập trung vào các thuật toán mã hóa RSA Với phương pháp mã hóa khóa bí mật chỉ giới thiệu sơ lược để so sánh với phương pháp mã hóa khóa

công khai

- Tối ưu các phép xử lý số học với số nguyên lớn là một yêu cầu cần thiết trong việc xây dựng các hệ mã hóa có tốc độ xử lý và độ an toàn cao

* Ý nghĩa thực tiễn:

- Cài đặt hoàn chỉnh các giải thuật xử lý số học với số nguyên lớn cỡ hàng

trăm chữ số

- Xây dựng chương trình thử nghiệm các giải thuật xây dựng được trong một hệ mã

- Đánh giá kết quả so sánh hiệu năng xử lý của hệ mã trước và sau khi tối ưu

Ngày đăng: 30/09/2016, 16:41

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w