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

Ứng dụng MAPLE trong an toàn thông tin với mật mã khóa công khai

11 603 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 290,28 KB

Nội dung

BẢNG TÓM TẮT LUẬN VĂN ỨNG DỤNG MAPLE TRONG AN TOÀN THÔNG TIN VỚI MẬT MÃ KHÓA CÔNG KHAI MỞ ĐẦU Các hệ mã công khai như ELGAMAL, ELIPTIC thực hiện tính toán với các số nguyên lớn hàng t

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

Lê Thị Nguyệt

ỨNG DỤNG MAPLE TRONG AN TOÀN THÔNG TIN VỚI MẬT MÃ KHÓA

CÔNG KHAI

Chuyên ngành: Kỹ thuật điện tử

Mã số: 60.52.70

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI – NĂM 2013

Trang 2

Luận văn được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: GS.TS Nguyễn Bình

Phản biện 1: ……… Phản biện 2: ………

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông

Vào lúc: giờ ngày tháng năm

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

BẢNG TÓM TẮT LUẬN VĂN

ỨNG DỤNG MAPLE TRONG AN TOÀN THÔNG TIN VỚI MẬT MÃ KHÓA

CÔNG KHAI

MỞ ĐẦU

Các hệ mã công khai như ELGAMAL, ELIPTIC 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ệ thuận 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

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 bằng ngôn ngữ lập trình mạnh của các hệ mã còn hạn chế

Để hỗ trợ giải quyết các vấn đề trên, đề tài này tập trung vào việc ứng dụng một số thuật toán tối ưu trên ngôn ngữ lập trình bậc cao 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

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 GS.TS Nguyễn Bình tôi đã chọn đề tài cho luận văn tốt nghiệp Cao

học ngành kỹ thuật điện tử là: “Ứng dụng Maple trong an toàn thông tin với mật mã khóa công khai” Cấu trúc đề tài gồm: Phần mở đầu; phần nội dung; phần kết luận; tài liệu tham

khảo;

Nội dung chính của đề tài:

- Chương 1: Tổng quan về hệ mật khóa công khai

- Chương 2: Ngôn ngữ Maple và định hướng ứng dụng trong an toàn thông tin

- Chương 3: Ứng dụng Maple trong mật mã khóa công khai

Trong suốt quá trình nghiên cứu, mặc dù đã hết sức cố gắng nhưng chắc chắn đề tài không tránh khỏi những thiếu sót, rất mong quý thầy cô góp ý để đề tài được hoàn chỉnh hơn

Trang 4

Chương 1 TỔNG QUAN VỀ HỆ MẬT KHÓA CÔNG KHAI 1.1 Một số khái niệm cơ bản về mã hóa

1.1.1 Khái niệm chung về mật mã

Hệ mật mã hiện đại thường gồm 5 thành phần (P, C, K, E, D) trong đó:

P (Plaintext) tập hợp hữu hạn các bản rõ có thể (không gian các bản rõ)

C (Ciphertext) tập hợp hữu hạn các bản mã có thể (không gian các bản mã)

K (Key) tập hợp các bản khoá có thể

E (Encrytion) tập hợp các qui tắc mã hoá có thể

D (Decrytion) tập hợp các qui tắc giải mã có thể

Nội dung cần mã hóa thể hiện dưới dạng bản rõ (P) Người gửi sử dụng qui tắc (E) và khóa (K) mã hoá bản rõ (P), kết quả thu được gọi là bản mã Ek (P) = C Bản mã này được gửi đi trên một đường truyền tới người nhận, sau khi nhận được bản mã (C) người nhận sử dụng qui tắc (D) và khóa (K) giải mã nó để hiểu được nội dung thông điệp gốc Dk (C) = P

1.1.2 Những yêu cầu đối với hệ mật mã hiện đại

Hệ mật mã hiện đại cần đảm bảo được hai yêu cầu sau:

- Đảm bảo tính bảo mật

- Đảm bảo tính xác thực

1.1.3 Các phương pháp mã hóa

1.1.3.1 Hệ thống mã hóa đối xứng

1.1.3.2 Hệ thống mã hóa bất đối xứng

Hệ thống mã hóa bất đối xứng hay còn gọi là mã hóa với khóa công khai đã được Martin Hellman, Ralph Merkle và Whitfield Diffie thuộc Đại học Stanford giới thiệu vào năm 1976

Trang 5

Hệ mã này được áp dụng các kết quả của toán học đã khắc phục được các hạn chế của các phương pháp mã hóa khóa đối xứng Phương pháp mã hóa bất đối xứng sử dụng hai loại khóa trong cùng một cặp khóa: Khóa công khai (public key) được công bố rộng rãi và

sử dụng để mã hóa các thông điệp, khóa riêng (private key) chỉ do chủ thể nắm giữ và được

sử dụng để giải mã thông điệp đã được mã hóa bằng khóa công khai

B n mã

gi i

Hình 1.2 Sơ đồ hoạt động của mã hóa khóa bất đối xứng

Khi thực hiện mã hóa bất đối xứng, người A sử dụng khóa công khai do người B tạo

để mã hóa thông điệp và gửi cho người B Do biết được khóa riêng nên B mới có thể giải

mã được thông điệp mà A đã mã hóa Trong trường hợp bản mã bị một người thứ ba có được, nếu chỉ kết hợp với thông tin về khóa công khai đã được công bố, cũng rất khó có khả năng giải mã được bản mã này trong khoảng thời gian chấp nhận được do không nắm được khóa riêng của B

Khóa công khai và khóa riêng có quan hệ toán học với nhau theo nghĩa từ khóa riêng

có thể tính toán để suy ra được khóa công khai, nhưng để từ khóa công khai suy ra khóa riêng sẽ rất phức tạp vì số lượng phép tính toán là rất lớn dẫn đến thời gian thực hiện để giải

mã là không khả thi khi chiều dài của khóa đủ lớn

Đây cũng là mấu chốt của vấn đề bảo mật và tấn công trong các hệ mã khóa công khai Đề tài này sẽ đề cập đến vấn đề an toàn của hệ mã công khai Nghiên cứu đưa ra các giải pháp hỗ trợ làm tăng tính an toàn của các hệ mã này bằng cách cố gắng áp dụng các thuật toán xử lý nhanh với số lớn Từ đó có thể tăng chiều dài của khóa mà vẫn đảm bảo yếu

tố thời gian mã hóa và giải mã chấp nhận được

1.2 Cơ sở toán học của mật mã

1.2.1 Hàm phi Euler

1.2.2 Lý thuyết đồng dư thức

1.2.3 Không gian Z n

Trang 6

1.2.4 Nhóm nhân Z n *

1.2.5 Thặng dư

1.2.6 Căn bậc hai Modulo

1.2.7 Các thuật toán trong Z n

1.2.8 Thuật toán kiểm tra tính nguyên tố

1.3 Giới thiệu về hệ mật với khóa công khai

1.3.1 Hệ mật khóa công khai RSA

1.3.2 Hệ mật mã khóa công khai ELGAMAL

1.3.2.1 Thuật toán tạo khoá

Tóm lược: Mỗi đầu liên lạc tạo một khoá công khai và một khoá bí mật tương ứng :

(1) Tạo 1 số nguyên tố p lớn và một phần tử sinh  của nhóm nhân của các số nguyên

* p Z p

mod

(2) Chọn một số nguyên ngẫu nhiên a, 1ap2 và tính a modp

(3) Khoá công khai là bộ 3 số p,,a, khoá bí mật là a

1.3.2.2 Thuật Toán Mã Hoá Khóa Công Khai ElGamal

Tóm lược: B mã hoá một thông tin báo m để gửi cho A bản mã cần gửi

Mã hoá: B phải thực hiện các bước sau:

(1) Nhận khoá công khai p,,a của A

(2) Biểu thị bản tin dưới dạng một số nguyên m trong dải 0,1,,p1

(3) Chọn số nguyên ngẫu nhiên k, 1kp2

(4) Tính k modp và m a k modp

(5) Gửi bản mã c, cho A

Giải mã: Để khôi phục bản rõ m từ c, A phải thực hiện các bước sau:

(1) Sử dụng khoá riêng a để tính p1a modp (Chú ý p  1  a a ak)

(2) Khôi phục bản rõ bằng cách tính  a modp

1.3.3 Hệ mật mã khóa công khai trên đường cong Elliptic

Trang 7

Chương 2 NGÔN NGỮ MAPLE VÀ ĐỊNH HƯỚNG ỨNG DỤNG TRONG AN TOÀN THÔNG

TIN 2.1 Giới thiệu phần mềm Maple

2.1.1 Giới thiệu chung

Maple ra đời vào khoảng năm 1980, đến nay đã phát triển đến phiên bản 15.x và vẫn không ngừng phát triển Maple có cách cài đặt đơn giản, chạy trên hầu hết các hệ điều hành, có cấu trúc linh hoạt để sử dụng tối ưu cấu hình máy và đặc biệt có trình trợ giúp rất dễ sử dụng

Maple có những đặc điểm nổi bật sau:

- Tính toán số, tính toán ký hiệu nhanh và dễ hình dung, người sử dụng có thể vào biểu thức toán học theo ký hiệu truyền thống Có thể tạo ra giao diện người sử dụng;

- Dễ sử dụng, có thể tìm phần trợ giúp Help ngay trong chương trình hoặc trên Internet;

- Có khả năng mở rộng: dễ dàng tích hợp chức năng xác định mới để tính toán những ứng dụng đặc biệt;

- Được hầu hết các hệ điều hành hỗ trợ ( MS Windows, Linux, Unix, Mac OS);

- Ngôn ngữ lập trình mạnh, dễ gỡ rối Maple tích hợp ngôn ngữ lập trình dạng mệnh lệnh tương tự với Pascal, nó cho phép các biến đổi trong phạm vi mềm dẻo Maple cũng có giao diện cho các ngôn ngữ khác như C, C#, Fortran, Java, Matlap, Visual Basic Nó cũng

có giao diện với Excel;

- Có thể mở rộng thư viện các hàm toán học và các gói đặc biệt; Có hai giao diện tương tác là dòng lệnh và môi trường đồ thị

Những phần chính của Maple: Maple gồm có 3 phần, đó là giao diện, nhân (bộ phận

tính toán cơ bản) và thư viện Giao diện và nhân lập nên một phần nhỏ của hệ thống, chúng được viết bằng ngôn ngữ lập trình C và được tải đến khi phiên Maple bắt đầu

Giao diện nhận đầu vào của các biểu thức toán học, hiển thị đầu ra, vẽ đồ thị của các hàm số và hỗ trợ người sử dụng trong những liện lạc khác với hệ thống Môi trường giao diện là các trang làm việc Maple Trang làm việc Maple là một tài liệu mềm dẻo để khai thác các ý tưởng toán học và để tạo ra các báo cáo kỹ thuật phức tạp Có thể tiếp cận đến sức mạnh của bộ máy tính toán Maple thông qua nhiều giao diện người sử dụng như: trang làm việc chuẩn, phiên bản dòng lệnh, trang làm việc cổ điển, và các ứng dụng Maple khách

Trang 8

thể hóa Hệ thống Maple đầy đủ luôn sẵn sàng thông qua tất cả các giao diện này Các giao diện chuẩn và giao diện tính toán được viết bằng Java, còn giao diện cổ điển được viết bằng

C

Nhân giải thích đầu vào của người sử dụng, thực hiện các phép toán đại số và giải quyết vấn đề quản lý lưu trữ

Thư viện gồm hai phần là thư viện cơ bản và tuyển tập các gói Thư viện cơ bản gồm nhiều hàm mà ở đó có hầu hết các kiến thức toán học phổ biến của Maple và chúng được

mã hóa bằng ngôn ngữ Maple Mỗi gói chứa những lệnh đặc biệt để thực hiện những nhiệm

vụ riêng khác nhau, từ những tính toán của sinh viên đến lý thuyết tương đối tổng quát Hầu hết các chức năng của Maple được thực hiện bởi các thư viện số NAG, các thư viện ATLAS hoặc các thư viện GMP Hầu hết các thư viện được viết bằng ngôn ngữ Maple và trong trường hợp này, có thể xem mã nguồn mở của chúng

2.1.2 Những hiểu biết trước khi vận dụng Mapple

2.2 Các ký hiệu và phép toán trên Maple

2.2.1 Các ký hiệu phép toán số học, logic, quan hệ

2.2.2 Các hằng số, hàm số

2.2.3 Các thủ tục và Module

2.3 Các đầu vào và đầu ra

2.3.1 Đọc tệp

2.3.2 Ghi dữ liệu lên tệp

2.3.3 Xuất các Worksheets

2.4 Những nội dung Maple dùng nhiều trong mật mã

2.4.1 Các cấu trúc đại số

2.4.2 Các gói thống kê

Chương 3 ỨNG DỤNG MAPLE TRONG MẬT MÃ KHÓA CÔNG KHAI

Trong chương 1, phần 1.3 ta đã nói một cách xúc tích nhất về mặt lý thuyết của hệ mật Elgamal cũng như hệ mật trên đường cong Elliptic, đã đưa ra các bước của thuật toán tạo khóa, mã hóa và giải mã Sang đến chương 2 với cách trình bày ngắn gọn nhất về phần mềm Maple cũng đã đưa ra những hàm hay sử dụng của ngôn ngữ Maple về mật mã và toán

Trang 9

học Trong chương 3, với cơ sở lý thuyết của chương 1 và chương 2 sẽ thiết lập các thuật toán đó trong ngôn ngữ Maple với hai hệ là hệ ELGAMAL và hệ mật trên đường công

ELLIPTIC

3.1 Sử dụng hệ mật ELGAMAL

3.1.1 Thuật toán tạo khóa

* Chương trình tìm số nguyên tố

* Chương trình tìm phần tử sinh

* Chương trình tìm số mũ bí mật a

* Chương trình tìm khóa công khai

3.1.2 Thuật toán mã hóa

3.1.3 Thuật toán giải mã

3.2 Sử dụng hệ mật trên đường cong Elliptic

Định nghĩa: cho p > 3 là số nguyên tố Đường cong elliptic E (Zp): y2 = x3 + ax +b trên Zp là tập các nghiêm (x,y) ϵ ZpxZp của đồng dư thức y2 ≡ x3+ax+b (mod p) Trong đó: a,b ϵ Zp là các hằng số thỏa mãn 4a3 + 27b mod p cùng với điểm đặc biệt O được gọi là điểm vô hạn

Các điểm trên đường cong elliptic có thể trở thành nhóm Abel với việc xác định phép toán thích hợp trên các điểm của nó

Ta xét trường hợp đường cong elliptic E được xác định trên Zp

Giả sử Px1,y1, Qx2,y2 là các điểm trong nhóm Ep a,b , O là điểm vô cực Các quy tắc đối với phép cộng trên nhóm con Ep a,b như sau:

(1) P + O = O + P = P

(2) Nếu x2 x1 và y2 y1tức là Px1,y1 và Qx2,y2  x1,y1P

thì P + Q = 0

(3) Nếu QP thì tổng PQx3,y3 được cho bởi:

y

p mod x

x x

1 3 1 3

2 1 2 3

Trong đó:

Trang 10



Q P y

a x

x x

y y

khi

Q P khi

1

2 1

1 2

1 2

2 3

* Chương trình thực hiện phép cộng điểm

* Chương trình thực hiện tính 2*P:

* Chương trình thực hiện tính k*P:

* Chương trình liệt kê các điểm của đường cong elliptic

* Chương trình tín bậc của một điểm

* Sơ đồ trao đổi khóa

KẾT LUẬN

Các kết quả đạt được

Đề tài bước đầu đưa ra giải pháp để xử lý các phép toán số học với số lớn trong các

hệ mã công khai dựa trên cơ sở toán học và tính toán độ an toàn của các hệ mã công khai

Các kết quả nghiên cứu và ứng dụng bước đầu đã thực hiện được mục đích của đề tài Bằng việc tối ưu hóa các phép xử lý tính toán phức tạp trong hệ mã công khai và minh chứng trong hệ mã cụ thể như hệ Elgamal và hệ mật trên đường cong Elliptic

Chương trình hoàn thiện cần có sự đầu tư nhiều hơn về mặt thời gian và công sức Đề tài có thể tiếp tục phát triển để đem lại ứng dụng đáp ứng được yêu cầu thực tế

Hướng phát triển đề tài

Các kết quả của đề tài có thể được áp dụng trong nhiều hệ mã công khai khác nhau và tiếp tục được cải tiến để có được tốc độ thực thi tốt hơn

Các kết quả có thể được áp dụng trên nhiều hệ thống bảo mật, thực hiện trong các giao dịch trên mạng, thực hiện tạo và xác thực chữ ký điện tử bằng ngôn ngữ lập trình mạnh Tác giả mong muốn có thể tiếp tục phát triển để đưa các kết quả đã nghiên cứu vào ứng dụng trong thực tế

Ngày đăng: 17/02/2014, 09:46

HÌNH ẢNH LIÊN QUAN

Hình 1.2 Sơ đồ hoạt động của mã hóa khóa bất đối xứng - Ứng dụng MAPLE trong an toàn thông tin với mật mã khóa công khai
Hình 1.2 Sơ đồ hoạt động của mã hóa khóa bất đối xứng (Trang 5)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w