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

Một vài ứng dụng của số học trong mã hóa và giải mã thông tin

48 1,1K 7

Đ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 48
Dung lượng 2,09 MB

Nội dung

MỤC LỤCTRANG CHƯƠNG 1 MỘT SỐ KIẾN THỨC CƠ SỞ 4 1.3 Những khái niệm và kết quả Số học có nhiều ứng dụng trong mã hoá và giải mã thông tin 16 CHƯƠNG 2 ỨNG DỤNG CỦA SỐ HỌC TRONG MỘT SỐ HỆ T

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC VINH

NGUYỄN VĂN THÀ

MỘT VÀI ỨNG DỤNG CỦA SỐ HỌC TRONG MÃ HÓA VÀ GIẢI MÃ THÔNG TIN

LUẬN VĂN THẠC SĨ TOÁN HỌC

NGHỆ AN - 2013

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC VINH

NGUYỄN VĂN THÀ

MỘT VÀI ỨNG DỤNG CỦA SỐ HỌC TRONG MÃ HÓA VÀ GIẢI MÃ THÔNG TIN

CHUYÊN NGÀNH: ĐẠI SỐ VÀ LÝ THUYẾT SỐ

Mã số: 60 46 05

LUẬN VĂN THẠC SĨ TOÁN HỌC

Người hướng dẫn khoa học PGS.TS NGUYỄN THÀNH QUANG

NGHỆ AN - 2013

Trang 3

MỤC LỤC

TRANG

CHƯƠNG 1 MỘT SỐ KIẾN THỨC CƠ SỞ

4

1.3 Những khái niệm và kết quả Số học có nhiều ứng dụng trong mã

hoá và giải mã thông tin

16

CHƯƠNG 2 ỨNG DỤNG CỦA SỐ HỌC TRONG MỘT SỐ HỆ THỐNG MẬT MÃ

vi phân, tích phân và những bài toán khác Cho đến những năm 70 của thế kỷ

XX, Số học vẫn được xem là một trong những ngành lý thuyết thuần túy nhấtcủa toán học Thậm chí, có nhà toán học cho rằng vẻ đẹp của Số học có được là

Trang 4

nhờ sự xa rời thực tiễn của nó [6] Nhưng cũng chính nhờ máy tính, một tinhhoa của văn minh nhân loại vào thế kỷ XX, đã làm tái sinh môn học cổ xưa này.Máy tính không những phát huy mọi vẻ đẹp truyền thống của Số học mà còntriển khai ra những ứng dụng đang và sẽ có cho chúng ta trong thế kỷ XXI

Hiện nay, công nghệ thông tin, công nghệ Internet, công nghệ E-mail,E- business phát triển như vũ bão.Việt Nam đã, đang từng bước áp dụng côngnghệ mới để “tin học hóa xã hội” tức là đưa tin học vào các lĩnh vực của xã hội

để cải thiện hoạt động thủ công trước đây Tin học hóa đã giải phóng sức laođộng của con người bằng cách sáng chế Như vậy chúng ta có thể trao đổi mọithông tin qua mạng Thông tin gửi đi có thể là thông tin quân sự, tài chính, kinhdoanh hoặc đơn giản là một thông tin nào đó mang tính riêng tư… Điều này dẫntới một vấn đề xảy ra là Internet là môi trường không an toàn, đầy rủi ro và nguyhiểm, không có gì đảm bảo rằng thông tin truyền đi không bị lộ trên đườngtruyền Vì vậy, vấn đề an toàn cơ sở dữ liệu, thông tin cá nhân là vấn đề sốngcòn của bất kỳ tổ chức nào và bảo mật thông tin là nền móng cơ bản để pháttriển Do đó, một biện pháp được đưa ra nhằm giúp chúng ta tự bảo vệ chínhmình cũng như những thông tin gửi đi là cần phải mã hóa thông tin Ngành khoahọc mật mã không chỉ nghiên cứu sự bảo mật của các sơ đồ mã hóa, mà còn mởrộng đến những ứng dụng thực tiễn như chữ ký điện tử, sơ đồ định danh rồi đưađến những khái niệm quan trọng của ngành khoa học máy tính và rộng hơn làcủa Toán học như khái niệm về các chứng minh tương tác (interactives proofs),chứng minh không để lộ tri thức (zero-knowledge proofs) và gần đây là cácchứng minh kiểm tra được một cách xác suất bằng cách chỉ kiểm thử một hằng

số các bít thông tin trên bản chứng minh (probabilistic checkable proofs)

Những công cụ ngày càng mạnh, Số học đã dần thâm nhập vào mật mã vàgóp phần đưa mật mã trở thành một ngành khoa học Năm 1978, ba nhà khoahọc của MIT (Massachusetts Institute of Technology) là Rivest, Shamir và

Trang 5

Adleman đề xuất một hệ mã, mà nay được gọi là RSA Tính bảo mật và độ antoàn của hệ mã này được dựa trên độ phức tạp của bài toán số học phân tích một

số nguyên đủ lớn ra thừa số nguyên tố Liên tiếp sau đó, các bài toán của lýthuyết số như bài toán lôgarit rời rạc và tìm thặng dư cấp 2 cũng đã được sửdụng để xây dựng các hệ mã Elgamal và Rabin Ngoài ra, Định lý Euler, Định lýFermat bé, Định lý số dư Trung Quốc và Định lý Carmichael có rất nhiều ứngdụng trong các bài toán về số nguyên lớn áp dụng vào Lý thuyết mật mã Nhờ

đó, các lý thuyết mới của Số học, đặc biệt là Số học thuật toán, tìm thấy nhữngứng dụng trực tiếp vào thực tiễn Ngược lại, với sự sử dụng rộng rãi hệ mã RSA,Elgamal trong thực tế, việc nghiên cứu các lời giải hiệu quả cho các bài toánphân tích thành thừa số nguyên tố và lôgarit rời rạc trên các trường hữu hạn trởnên rất được quan tâm trong Lý thuyết số

Như vậy, Số học đã hiện hữu trong các hoạt động thực tiễn: Kỹ thuật máytính, mật mã, trao đổi trực tuyến giữa các ngân hàng, thẻ ATM, truyền phát tínhiệu vệ tinh, chứng khoán

Mục đích của bản luận văn này là tìm hiểu những ứng dụng của Số họcvào một số lĩnh vực mã hóa và giải mã thông tin, nhằm khẳng định tính đúngđắn của các thuật toán mật mã và đảm bảo toán học của chúng

Trang 6

Ngoài phần mở đầu, kết luận và tài liệu tham khảo, luận văn này gồm có 2chương Chương 1 trình bày các kiến thức cơ sở tổng quan về Mật mã học và Sốhọc (Phân tích nguyên tố, Phép tính đồng dư, Định lý số dư Trung Quốc, Định lýEuler, Định lý Fermat bé, Số giả nguyên tố, Định lý Carmichael, Hàm số Euler,Hàm số Carmichael, Phân tích Fermat) Chương 2 trình bày một số hệ mật mã (mãCesaz, mã RSA) có liên quan trực tiếp đến ứng dụng công cụ phép tính đồng dư vàcác kết quả số học khác trong mã hoá và giải mã thông tin

Luận văn này được hoàn thành dưới sự hướng dẫn tận tình và chu đáo củaPGS.TS Nguyễn Thành Quang Tác giả xin bày tỏ lòng kính trọng và biết ơn sâusắc tới thầy giáo hướng dẫn khoa học, người đã dành nhiều thời gian và công sứcgiúp đỡ cho tôi để hoàn thành luận văn này

Tác giả xin bày tỏ lòng biết ơn và gửi lời cảm ơn đến các thầy cô giáo thuộcchuyên ngành Đại số và Lý thuyết số, Khoa Toán, Phòng Đào tạo Sau Đại học –Trường Đại học Vinh, những người đã tận tình giảng dạy và tạo mọi điều kiệnthuận lợi thành công của khóa học

Xin trân trọng cảm ơn Trường Đại học Sài Gòn đã tạo mọi điều kiện tổ chứcthuận lợi cho chúng tôi hoàn thành nhiệm vụ học tập

Xin chân thành cảm ơn bạn bè, đồng nghiệp, gia đình đã động viên và giúp

đỡ tôi trong học tập và nghiên cứu

Xin gửi lời cảm ơn đến Ban giám hiệu Trường Trung học Phổ thông PhùngHưng - Sở Giáo dục và Đào tạo TP Hồ Chí Minh, các thầy cô giáo đồng nghiệp đãđộng viên và tạo điều kiện thuận lợi để tôi hoàn thành nhiệm vụ học tập

Mặc dù đã có nhiều cố gắng, song luận văn vẫn còn nhiều thiếu sót, tác giảmong nhận được sự đóng góp của thầy cô giáo và các đồng nghiệp

TÁC GIẢ

Trang 7

CHƯƠNG 1 MỘT SỐ KIẾN THỨC CƠ SỞ1.1 TỔNG QUAN VỀ MẬT MÃ HỌC 1.1.1 Mật mã học Mật mã học (cryptography) là một lĩnh vực liên quan vớicác kỹ thuật ngôn ngữ và toán học để đảm bảo an toàn thông tin, cụ thể làtrong thông tin liên lạc Về phương diện lịch sử, mật mã học gắn liền với quá

trình mã hóa; điều này có nghĩa là nó gắn với các cách thức để chuyển đổi thông

tin từ dạng này sang dạng khác nhưng ở đây là từ dạng thông thường có thểnhận thức được thành dạng không thể nhận thức được, làm cho thông tin trởthành dạng không thể đọc được nếu như không có các kiến thức bí mật Quátrình mã hóa được sử dụng chủ yếu để đảm bảo tính bí mật của các thông tinquan trọng, chẳng hạn trong công tác tình báo, quân sự hay ngoại giao cũng nhưcác bí mật về kinh tế, thương mại Trong những năm gần đây, lĩnh vực hoạtđộng của mật mã hóa đã được mở rộng: mật mã hóa hiện đại cung cấp cơ chếcho nhiều hoạt động hơn là chỉ duy nhất việc giữ bí mật và có một loạt các ứngdụng như: chứng thực khóa công khai, chữ ký số, bầu cử điện tử hay thanh toánđiện tử Ngoài ra, những người không có nhu cầu thiết yếu đặc biệt về tính bímật cũng sử dụng các công nghệ mật mã hóa, thông thường được thiết kế và tạolập sẵn trong các cơ sở hạ tầng của công nghệ tính toán và liên lạc viễn thông.Mật mã học là một lĩnh vực liên ngành, được tạo ra từ một số lĩnh vực khác.Các dạng cổ nhất của mật mã hóa chủ yếu liên quan với các kiểu mẫutrong ngôn ngữ Gần đây thì tầm quan trọng đã thay đổi và mật mã hóa sử dụng

và gắn liền nhiều hơn với toán học, cụ thể là toán học rời rạc, bao gồm các vấn

đề liên quan đến lý thuyết số, lý thuyết thông tin, độ phức tạp tính toán, thống

kê và tổ hợp Mật mã hóa là công cụ được sử dụng trong an ninh máy tính

và mạng

Trang 8

Việc nghiên cứu tìm các phương thức để phá vỡ việc sử dụng mật mã được

gọi là phân tích mật mã, hay phá mã Mật mã hóa và phân tích mật mã đôi khi được nhóm lại cùng nhau dưới tên gọi chung mật mã học, nó bao gồm toàn bộ các chủ đề liên quan đến mật mã Trong thực tế, thuật ngữ mật mã hóa thông

thường được sử dụng để nói đến ngành này một cách tổng thể

Mật mã hóa là quá trình chuyển đổi các thông tin thông thường (văn bản thường hay văn bản rõ hay văn bản trơn) thành dạng không đọc trực tiếp được,

là văn bản mã hóa Giải mật mã hay giải mã là quá trình ngược lại, phục hồi lại văn bản thường từ văn bản mã Mật mã là thuật toán để mật mã hóa và giải mật

mã Hoạt động chính xác của mật mã thông thường được kiểm soát bởicác khóa — một đoạn thông tin bí mật nào đó cho phép tùy biến cách thức tạo ra

văn bản mã Các giao thức mật mã chỉ rõ các chi tiết về việc mật mã (và các nền

tảng mật mã hóa khác) được sử dụng như thế nào để thu được các nhiệm vụ cụthể Một bộ các giao thức, thuật toán, cách thức quản lý khóa và các hành động

quy định trước bởi người sử dụng cùng phối hợp chặt chẽ tạo thành hệ thống

mật mã.

Trong cách nói thông thường, "mã" bí mật thông thường được sử dụng đồngnghĩa với "mật mã" Trong mật mã học, thuật ngữ này có ý nghĩa kỹ thuật đặcbiệt: Các mã là các phương pháp tham gia vào việc thay thế các đơn vị văn bảnlớn hơn, thông thường là các từ hay câu văn (ví dụ, "qua tao" thay thế cho "tancong luc rang dong") Ngược lại, mật mã hóa cổ điển thông thường thay thếhoặc sắp xếp lại các chữ cái riêng biệt (hoặc một nhóm nhỏ các chữ cái) Ví dụ,

"tan cong luc rang dong" trở thành "ubo dpoh mvd sboh epoh" bằng cách thaythế

Trang 9

Hình 1: Sơ đồ khái quát về một hệ thống mật mã

Trang 10

1.1.3 Mật mã học cổ điển

Những bằng chứng sớm nhất về sử dụng mật mã học là các chữ tượnghình không tiêu chuẩn tìm thấy trên các bức tượng Ai Cập cổ đại (cách đâykhoảng 4500 năm) Những ký hiệu tỏ ra không phải để phục vụ mục đích truyềnthông tin bí mật mà có vẻ như là nhằm mục đích gợi nên những điều thần bí, trí

tò mò hoặc thậm chí để tạo sự thích thú cho người xem Ngoài ra, còn rất nhiều

ví dụ khác về những ứng dụng của mật mã học cổ điển

Trong mật mã học, mật mã học cổ điển là một dạng của mật mã học đãđược sử dụng trong lịch sử phát triển của loài người nhưng ngày nay đã trở nênlạc hậu do các phương thức mã hóa này quá đơn giản và những kẻ tấn công cóthể dễ dàng bẻ khóa thông qua nhiều phương thức như tấn công vét cạn (ví dụnhư dùng máy tính thử hết mọi trường hợp) hay dựa trên tấn công thống kê (dựatrên tần suất xuất hiện của các chữ cái)

Nói chung, mật mã học cổ điển hoạt động trên cơ sở bảng chữ cái (chẳnghạn các ký tự từ "A" tới "Z" trong tiếng Anh), và chúng được thực hiện bằng tayhay một số máy móc cơ khí đơn giản Ngược lại, các mô hình mã hóa hiện đại

sử dụng các máy tính hay các công nghệ số hóa khác, và hoạt động mã hóa dựatrên việc thay thế các bit hay byte Các phương thức mã hóa cổ điển thôngthường dễ bị tổn thương (phá mã) bởi các tấn công văn bản mã hóa, đôi khithậm chí kẻ tấn công không cần biết các chi tiết cụ thể của hệ thống mã hóa,bằng cách sử dụng các công cụ như phân tích tần suất Đôi khi người ta cũngcho rằng các phương thức mã hóa như cách thức mã hóa của cỗ máyEnigma thuộc về các phương thức mã hóa cổ điển mặc dù cách thức mã hóa này

đã sử dụng các thiết bị và công nghệ hiện đại nhất vào thời điểm đó (trong thời

kỳ của Thế chiến II)

Các phương thức mã hóa cổ điển chủ yếu dựa trên mật mã hóa hoán

vị và mật mã hóa thay thế Trong mật mã hóa thay thế, các ký tự (hoặc nhóm ký

Trang 11

tự) được thay thế một cách có quy luật trong toàn bộ thông điệp bằng các ký tự

khác (hoặc nhóm ký tự), chẳng hạn câu I am Mr Enigma from được thay bằng câu This is morning star, sau đó các ký tự còn lại trong bảng chữ cái được thay

thế theo một quy luật nào đó xác định trước Trong phương thức mật mã hóahoán vị thì các ký tự được giữ không đổi, nhưng trật tự của chúng trong bản tinlại thay đổi theo một quy luật nào đó Có các thuật toán phức tạp để thực hiệnviệc mật mã hóa bằng cách tổ hợp hai phương thức trên để tạo ra sản phẩm mãhóa; các phương thức mã hóa khối hiện đại như DES hay AES thực hiện việclặp đi lặp lại một số bước thay thế và hoán vị

1.1.4 Mật mã học hiện đại

Nhiều người cho rằng kỷ nguyên của mật mã học hiện đại được bắt đầuvới Claude Shannon, người được coi là cha đẻ của mật mã toán học Năm 1949ông đã công bố bài lý thuyết về truyền thông trong các hệ thống bảo mật(Communication Theory of Secrecy Systems) trên tập san Bell SystemTechnical Journal - Tập san kỹ thuật của hệ thống Bell - và một thời gian ngắnsau đó, trong cuốn Mathematical Theory of Communication - Lý thuyết toánhọc trong truyền thông - cùng với tác giả Warren Weaver Những công trìnhnày, cùng với những công trình nghiên cứu khác của ông về lý thuyết về tin học

và truyền thông (information and communication theory), đã thiết lập một nềntảng lý thuyết cơ bản cho mật mã học và thám mã học

Với sự ra đời của máy tính kỹ thuật số và điện tử học thì các mật mã cực

kỳ phức tạp đã có thể được thực hiện Đặc trưng của mật mã máy tính là chúngthực hiện trên các chuỗi nhị phân, không giống như trong các mô hình mật mãhóa cổ điển và cơ học (chỉ sử dụng bảng chữ cái với khoảng 26 ký tự - phụthuộc vào từng ngôn ngữ) Mật mã máy tính cũng có khả năng chịu đựng việcphân tích mật mã tốt hơn; rất ít các mật mã như thế dễ bị tổn thương chỉ bởi kiểutấn công biết bản mã

Trang 12

Các nghiên cứu rộng rãi có tính học thuật về mật mã hóa hiện đại là tươngđối gần đây - nó chỉ được bắt đầu trong cộng đồng mở kể từ những năm thậpniên 1970 với các chi tiết kỹ thuật củaDES(viết tắt trong tiếng Anh của DataEncryption Standard tức Tiêu chuẩn Mật mã hóa Dữ liệu) và sự phát minh ra mã

RSA Kể từ đó, mật mã hóa đã trở thành công cụ được sử dụng rộng rãi trongliên lạc và bảo mật máy tính

1.2 MÃ HOÁ 1.2.1 Khái niệm mã hoá và giải mã

Trong mật mã học, một ngành toán học ứng dụng cho công nghệ thông

tin, mã hóa là phương pháp để biến thông tin (phim ảnh, văn bản, hình ảnh ) từ

định dạng bình thường sang dạng thông tin không thể hiểu được nếu không có

phương tiện giải mã.

Giải mã là phương pháp để đưa từ dạng thông tin đã được mã hóa về dạngthông tin ban đầu, quá trình ngược của mã hóa

Mục đích của mã hóa là che dấu thông tin trước khi truyền trên kênh

1.2.2 Khái niệm hệ thống mã hoá Một hệ thống mã hóa (hệ mật mã) bao

gồm 5 thành phần (P, C, K, D, E):

1 Các thông tin trước khi mã hóa, kí hiệu là P (Plaintext),

2 Các thông tin sau khi mã hóa, kí hiệu là C (Ciphertext),

3 Các chìa khóa, kí hiệu là K (Key);

4 Các quy tắc mã hóa, ký hiệu là E (Encrytion),

5 Các quy tắc giải mã, kí hiệu là D (Decrytion),

thoả mãn điều kiện sau: Với mỗi k K có một quy tắc mã e P k: C và một quytắc giải mã tương ứng d C k:  Psao cho d e x kk( )   x x P,

Trang 13

Như vậy, quá trình mã hóa được tiến hành bằng cách áp dụng hàm toán

học từ E lên P, vốn được biểu diễn dưới dạng số, để trở thành thông tin đã mã hóa C.

Hình 2: Các thành phần của mật mã

Quá trình giải mã được tiến hành ngược lại: Áp dụng hàm D lên thông tin C để được thông tin đã giải mã P.

Một thông báo thường được tổ chức dưới dạng bản rõ (văn bản trơn).

Người gửi bản thông báo sẽ làm nhiệm vụ mã hoá bản rõ, kết quả thu được

sau mã hoá được gọi là bản mã (văn bản mã hoá) Bản mã được gửi đi trên một

đường truyền tới người nhận Sau khi nhận bản mã, người nhận giải mã nó đểtìm hiểu nội dung

Sử dụng các ký hiệu của hệ mật mã, các công việc trên được toán học hoábởi các công thức sau:

( ) ; ( )

Như vậy trong một hệ thống mật mã khái quát sẽ có các thành phần sau:

- Văn bản trơn(plaintext), tức là thông điệp nguyên gốc chưa được mãhóa

- Văn bản mã hóa(ciphertext), tức là thông điệp đã được mã hóa

Trang 14

- Thuật toán mã hóa(enciphering algorithm) là các giao thức hoặc hướngdẫn có tác dụng chuyển đổi văn bản trơn thành văn bản mã hóa Đối với các hệthống mật mã truyền thống, chỉ có người gửi thông điệp biết được thuật toán mãhóa, tuy nhiên đối với các hệ thống dùng mật mã hóa khóa công khai (Publickey code - PKC), tất cả mọi người đều có thể biết thuật toán mã hóa mà khôngảnh hưởng tiêu cực đến an ninh của hệ thống.

- Khóa mã hóa(enciphering key) là một hoặc nhiều đối tượng (thường làcác con số hay là các hướng dẫn quan trọng nào đó) được dùng trong việc mãhóa văn bản trơn Ngoại trừ trong hệ thống PKC, để đảm bảo bí mật an toàn thìkhóa mã hóa thường chỉ được người gửi biết

- Thuật toán giải mã(deciphering algorithm) là các giao thức hoặc hướngdẫn có tác dụng chuyển đổi văn bản mã hóa trở về văn bản trơn Để đảm bảo bímật, chỉ có người nhận thông điệp biết được thuật toán giải mã

- Khóa giải mã (deciphering key) là một hoặc nhiều đối tượng (thường là các

con số hay là các hướng dẫn quan trọng nào đó) được dùng trong việc giải mãvăn bản bị mã hóa Để đảm bảo bí mật, chỉ có người nhận thông điệp biết đượckhóa giải mã

1.2.3 Một số thuật ngữ sử dụng trong hệ mật mã

Người gửi (Sender): Người gửi thông báo.

Người nhận (Receiver): Người nhận thông báo.

Văn bản rõ (Plaintext – Cleartext): Thông tin trước khi được mã hoá Đây là

dữ liệu ban đâu ở dạng rõ Thông tin gốc được ghi bằng hình ảnh âm thanh, chữ

số, chữ viết, Mọi tín hiệu đều có thể được số hoá thành các xâu ký tự

Như vậy, quá trình mã hóa được tiến hành bằng cách áp dụng hàm toán

học từ E lên P, vốn được biểu diễn dưới dạng số, để trở thành thông tin đã mã hóa C.

Bản mã hoá (Ciphertext): Thông tin, dữ liệu đã được mã hoá dưới dạng mờ

Trang 15

Khóa (key): Thành phần quan trọng trong việc mã hoá và giải mã Khóa là

đại lượng bí mật, biến thiên trong một hệ mật

Thuật toán mã hoá (CryptoGraphic Algorithm): Các thuật toán được sử dụng

trong việc mã hoá hoặc giải mã thông tin

Hệ thống mã (CryptoSystem): Hệ thống mã hoá bao gồm thuật toán mã

hoá, khoá, Plaintext, Ciphertext

Kỹ thuật mật mã (Cryptology) là môn khoa học bao gồm hai lĩnh vực: mật

mã (Cytography) và mã thám (Cryptoanalysis)

Mật mã: là lĩnh vực khoa học về các phương pháp biến đổi thông tin nhằm

mcụ đích bảo vệ thông tin khỏi sự truy cập của những người không có thẩmquyền

Mã thám: là lĩnh vực khoa học chuyên nghiên cứu, tìm kiếm yếu điểm của

các hệ mật để từ đó đưa ra phương pháp tấn công các hệ mật đó

Sơ đồ mật mã là tập hợp các thuật toán mã hóa, giả mã, kiểm tra sự toàn vẹn

vàcác chức năng khác của một hệ mật

Giao thức mật mã là tập hợp các quy tắc, thủ tục quy định cách thức sử dụng

sơ đồ mật mã trong một hệ mật mã

Lập mã (Encrypt) là việc biến văn bản nguồn thành văn bản mã

Giải mã (Decrypt) là việc đưa văn bản đã mã hóa trở thành dạng văn

bản nguồn

Định mã (encode/decode) là việc xác định ra phép tương ứng giữa các chữ

và số - Tốc độ mã được đặc trưng bởi số lượng phép tính (N) cần thực hiện để

mã hóa (giải mã) một đơn vị thông tin

Khả năng chống nhiễu của mã là khả năng chống lại sự phát tán lỗi trongbản tin sau khi giải mã, nếu trước đó xảy ra lỗi với bản mã trong quá trình bản

mã được truyền từ người gửi đến người nhận

Trang 16

Mã dòng (Stream cipher) là việc tiến hành mã hóa liên tục trên từng ký tự

hay từng bit

Mã khối (Block cipher) là việc tiến hành mã hoá trên từng khối văn bản

1.2.3 Những yêu cầu đối với hệ mật mã hoá

Mật mã hóa được sử dụng phổ biến để đảm bảo an toàn cho thông tin liênlạc Các thuộc tính được yêu cầu là:

1 Bí mật: Chỉ có người nhận đã xác thực có thể lấy ra được nội dung của thông

tin chứa đựng trong dạng đã mật mã hóa của nó Nói khác đi, nó không thể chophép thu lượm được bất kỳ thông tin đáng kể nào về nội dung của thông điệp

2 Nguyên vẹn: Người nhận cần có khả năng xác định được thông tin có bị thay

đổi trong quá trình truyền thông hay không

3 Xác thực: Người nhận cần có khả năng xác định người gửi và kiểm tra xem

người gửi đó có thực sự gửi thông tin đi hay không

4 Không từ chối: Người gửi không thể từ chối việc mình đã gửi thông tin đi.

5 Chống lặp lại: Không cho phép bên thứ ba copy lại văn bản và gửi nhiều lần

đến người nhận mà người gửi không hề hay biết

Mật mã học có thể cung cấp cơ chế để giúp đỡ thực hiện điều này Tuynhiên, một số mục tiêu không phải bao giờ cũng là cần thiết, trong nghĩa cảnhcủa thực tế hay mong muốn của người sử dụng Ví dụ, người gửi thông tin cóthể mong muốn giữ mình là nặc danh; trong trường hợp này tính không từ chối

rõ ràng là không thích hợp

1.2.4 Các hệ thống mã hóa

Có hệ thống mã hóa đối xứng (Hình 3) và hệ thống mã hóa bất đối xứng(Hình 4) Hai loại mã hóa này khác nhau ở số lượng khóa Mã hóa đối xứng sửdụng cùng một khóa để mã hóa / giải mã Trong khi đó, mã hóa bất đối xứng sửdụng hai khóa khác nhau để mã hóa và giải mã thông tin Mỗi hệ thống mã hóa

có ưu nhược điểm riêng Mã hóa đối xứng xử lí nhanh nhưng độ an toàn không

Trang 17

cao Mã hóa bất đối xứng xử lí chậm hơn, nhưng độ an toàn và tính thuân tiện trong quản lí khóa cao Trong các ứng dụng mã hóa hiện tại, người ta thường kết hợp các ưu điểm của cả hai loại mã hóa này

-Quá trình truyền

dữ liệu

Khóa bí mật(chỉ

Có người mã hóa và người giải mã biết)

Quá trình

mã hóa

Quá trình giải mã

Bản tin gốc

Bản tin gốc

Bản tin mã

Bản tin mã

```

```

```

```

```

```

Hình 3: Sơ đồ mã hoá và giải mã đối xứng (mật mã khoá bí mật)

Trang 18

-Quá trình truyền

dữ liệu

Khóa công khai, chỉ dùng để mã hóa (có thể cho mọi người biết) Khóa mật, chỉ dùng để giải mã (cần

được giữ bí mật)

Quá trình

mã hóa

Quá trình giải mã

Bản tin gốc

Bản tin gốc

Bản tin mã

Bản tin mã

```

```

```

```

```

```

Hình 4: Mã hoá bất đối xứng (Mật mã khoá công khai)

Một thông điệp sau khi được mã hóa bởi chìa công khai sẽ chỉ có thể được giải mã với chìa bí mật tương ứng Do các thuật toán loại này sử dụng một chìa khóa công khai (không bí mật) nên còn có tên gọi khác là public-key cryptography (thuật toán mã hóa dùng chìa khóa công khai)

1.2.5 Ứng dụng của mã hóa

Mã hóa có vai trò rất quan trọng, đặc biệt là trong giao dịch điện tử Nó giúp đảm bảo bí mật, toàn vẹn của thông tin, khi thông tin đó được truyền trên mạng Mã hóa cũng là nền tảng của kĩ thuật chữ ký điện tử

Mã hoá có thể sử dụng để thi hành các giao thức khác nhau: không kỹ năng kiểm chứng, an toàn tính toán nhiều bên và chia sẻ bí mật

Mã hoá có thể sử dụng để thi hành việc quản lý bản quyền số hóa

Mật mã hóa khóa công khai là một dạng mật mã hóa cho phép người sử

dụng trao đổi các thông tin mật mà không cần phải trao đổi các khóa chung bí

Trang 19

mật trước đó Điều này được thực hiện bằng cách sử dụng một cặp khóa có quan

hệ toán học với nhau là khóa công khai và khóa cá nhân (hay khóa bí mật)

Thuật ngữ mật mã hóa khóa bất đối xứng thường được dùng đồng nghĩa với mật mã hóa khóa công khai mặc dù hai khái niệm không hoàn toàn tương

đương Có những thuật toán mật mã khóa bất đối xứng không có tính chất khóacông khai và bí mật như đề cập ở trên mà cả hai khóa (cho mã hóa và giải mã)đều cần phải giữ bí mật

Trong mật mã hóa khóa công khai, khóa cá nhân phải được giữ bí mật trongkhi khóa công khai được phổ biến công khai Trong 2 khóa, một dùng để mã hóa

và khóa còn lại dùng để giải mã Điều quan trọng đối với hệ thống là không thểtìm ra khóa bí mật nếu chỉ biết khóa công khai

Hệ thống mật mã hóa khóa công khai có thể sử dụng với các mục đích sau:

- Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã

được

- Tạo chữ ký số: cho phép kiểm tra một văn bản có phải đã được tạo với một

khóa bí mật nào đó hay không

- Thỏa thuận khóa: cho phép thiết lập khóa dùng để trao đổi thông tin mật

giữa 2 bên

Thông thường, các kỹ thuật mật mã hóa khóa công khai đòi hỏi khối lượngtính toán nhiều hơn các kỹ thuật mã hóa khóa đối xứng nhưng những lợi điểm

mà chúng mang lại khiến cho chúng được áp dụng trong nhiều ứng dụng

1.3 NHỮNG KHÁI NIỆM VÀ KẾT QUẢ SỐ HỌC

CÓ NHIỀU ỨNG DỤNG TRONG MÃ HÓA VÀ GIẢI MÃ THÔNG TIN

1.3.1 Số nguyên tố Số nguyên tố là số nguyên lớn hơn 1, không chia hết cho số

nguyên dương nào ngoài 1 và chính nó Số nguyên lớn hơn 1 không phải là số

nguyên tố được gọi là hợp số.

Trang 20

Định lý sau đây của Số học là một cơ sở quan trọng của thuật toán tìm các

số nguyên tố không vượt quá một số tự nhiên cho trước

1.3.2 Định lí Mọi hợp số n đều có ước nguyên tố nhỏ hơn hoặc bằng n

Chứng minh Thật vậy, vì n là hợp số nên ta gọi a và b là các ước thật sự của n.

Khi đó n ab , trong đó 1a b n  . Rõ ràng ta phải có a hoặc b không vượt

quá n , giả sử đó là a Khi đó, ước nguyên tố của a cũng đồng thời là ước nguyên tố của n.

1.3.3 Hệ quả Mọi số tự nhiên n lớn 1 không có ước nguyên tố nhỏ hơn hoặc

bằng n đều là số nguyên tố.

Chẳng hạn, số 31 không có có ước nguyên tố là 2, 3, 5 (các số nguyên tốkhông vượt quá 31 ) nên 31 là số nguyên tố Như vậy, để kiểm tra tính nguyên

tố của số 31 thay vì cần phải kiểm tra cả thảy là 30 phép chia, ta chỉ cần kiểm tra

3 phép chia, tức số phép chia giảm đi 10 lần

Từ hệ quả trên, ta có thuật toán viết tất cả các số nguyên tố nhỏ hơn hoặc

bằng một số nguyên dương n cho trước.

1.3.4 Thuật toán sàng các số nguyên tố của Eratosthenes Trước tiên, ta viết

dãy các số tự nhiên từ 1 đến n Trong dãy đó, ta gạch bỏ số 1 vì nó không phải là

số nguyên tố Số nguyên tố đầu tiên của dãy là số 2 Tiếp theo đó ta gạch khỏidãy số tất cả những số chia hết cho 2 Số đầu tiên không chia hết cho 2 là 3 và

đó chính là số nguyên tố Ta lại gạch khỏi dãy số còn lại những số nào khôngchia hết cho 3 Ta thu được số nguyên tố tiếp theo là 5 Tiếp tục như thế, ta gạch

khỏi dãy những số chia hết cho mọi số nguyên tố bé hơn hoặc bằng n

Sàng Eratosthenes mặc dù cho ta thuật toán xác định mọi số nguyên tốkhông vượt quá một số cho trước nhưng lại rất ít được sử dụng để xác định xemmột số đã cho có phải là số nguyên tố hay không Nguyên nhân là vì thuật toán

Trang 21

có độ phức tạp khá lớn: để kiểm tra n, ta phải thực hiện phép chia cho tất cả các

số nguyên tố không vượt quá n

1.3.5 Định lí cơ bản của Số học Mọi số nguyên lớn hơn 1 đều phân tích được

một cách duy nhất thành tích các số nguyên tố, trong đó các thừa số được viết với thứ tự không giảm.

Chứng minh Ta chứng minh mọi số nguyên lớn hơn 1có thể viết dưới dạng tích

của một hoặc nhiều số nguyên tố Trước hết, mỗi số nguyên tố là tích của một

thừa số là chính nó Giả sử rằng có các số nguyên dương lớn hơn 1 không biểu

diễn được thành tích các số nguyên tố Khi đó gọi n là số nhỏ nhất trong các số

đó Số n ≠ 1 và là hợp số Do đó n = ab, trong đó cả a và b là các số nguyên dương nhỏ hơn n Vì n là số nhỏ nhất không thể phân tích thành tích các số

nguyên tố nên cả a và b phân tích được thành tích các số nguyên tố Nhưng khi

đó n = ab lại phân tích được Điều này mâu thuẫn với giả thiết

Ta giả sử rằng tồn tại số nguyên lớn hơn 1 mà có hai cách biểu diễn dưới

dạng tích các thừa số nguyên tố Khi đó, giả sử s là số nhỏ nhất trong các số như vậy, tức là s = p1p2 p m = q1q2 q n với p i ,q j là các số nguyên tố Do p1 chia hết

q1q2 q n suy ra tồn tại q j mà p1 chia hết q j Từ đó ta có p i = q j, bỏ hai số nguyên tố

ra khỏi đẳng thức ta được hai vế là hai khai triển khác nhau của số s chia cho p1,

mà theo giả thiết s là số nhỏ nhất như vậy, mâu thuẫn này chứng tỏ giả thiết làsai Vậy mỗi số nguyên lớn hơn 1 chỉ có một biểu diễn duy nhất dưới dạng tíchthừa số nguyên tố (không kể đến thứ tự các thừa số) ▄

1.3.6 Thuật toán Euclid Thuật toán cho phép xác định ước chung lớn nhất

(gcd) của hai số nguyên nguyên dương Với a, b là các số nguyên dương (giả thiết a > b) Ta xét 3 trường hợp sau:

a) Nếu b là ước của a thì (a, b) = b.

b) Nếu a = bq + r thì (a, b) = (b, r).

Trang 22

Vì bất đẳng thức sau đây là xảy ra, nên quá trình chia nói trên là dừng lại

sau không quá a bước, hay quá trình này là một thuật toán:

1.3.7 Thuật toán Euclide mở rộng Thuật toán này sử dụng để giải phương

trình Diophant ax + by = c, trong đó a,b,c là các số nguyên; x, y là các ẩn nhận

giá trị nguyên Điều kiện cần và đủ để phương trình này có nghiệm nguyên là

ước chung lớn nhất của a và b là ước của c Khẳng định này dựa trên một mệnh

đề sau: Nếu d là ước chung lớn nhất của a,b thì tồn tại các số nguyên x, y sao

cho ax + by = d

Thuật toán Euclid mở rộng kết hợp quá trình tìm ước chung lớn nhất của

a,b trong thuật toán Euclid với việc tìm một cặp số nguyên x, y thoả mãn

phương trình Diophantine nói trên bằng phương pháp truy hồi

Trang 23

1.3.8 Định nghĩa Hàm số Euler ( )m là hàm số học có giá trị tại mỗi số tựnhiên m 0 bằng số các số nguyên dương không vượt quá m và nguyên tố cùng nhau với m:

1 ( , ) 1

Hàm ( )m có nhiều ứng dụng vì nó là kích thước (xem 1.3.12) của nhóm

nhân các số nguyên modulo m Hơn nữa, đối với hàm Euler ( )m ta có công

thức Gaus là công thức tổng trải trên các ước dương d của m:

Định lí Euler có thể dùng để tìm nghịch đảo modm Chẳng hạn, nếu a và

m là các số nguyên nguyên tố cùng nhau, ta có aa( ) 1m  1(mod )m tức là a ( ) 1m

là nghịch đảo của a theo modm Từ đó cũng suy ra nghiệm của phương trình

đồng dư tuyến tính ax b (mod )m với ( , ) 1a m  là x a  ( ) 1mb(mod )m

Các tính chất của hàm Euler được sử dụng để tính đồng dư của những lũythừa rất lớn Chẳng hạn, ta cần tính n

a mod k , trong đó n là một số nguyên lớn

Ta xét một ví dụ bằng số Tìm số dư trong phép chia 21000000 cho 77

Trang 24

1.3.10 Định lí Fermat bé Nếu p là số nguyên tố và a là số nguyên không chia

hết cho p thì a p 1 1(mod )p

nguyên bất kỳ thì a pa(mod )p .

Một cách độc lập các nhà toán học Trung quốc đã đưa ra một giả thuyết

(thường gọi là Giả thuyết Trung Quốc) nói rằng: p là một số nguyên tố khi và

chỉ khi 2p º 2(mod )p Đúng là, nếu p là số nguyên tố, thì 2 p º 2(mod )p Đây

là trường hợp đặc biệt của Định lý bé Fermat Tuy thế, điều ngược lại(nếu 2pº 2(mod )p thì p là số nguyên tố) là sai Chẳng hạn, 2341º 2(mod341),nhưng 341 = 11.31 là hợp số Như vậy, mệnh đề ngược lại của Định lí Fermat

bé không đúng Tuy nhiên, qua nhiều thống kê cho thấy rằng nếu một số nguyênthỏa mãn kết luận của Định lí Fermat bé thì "có nhiều khả năng" nó là số nguyên

tố Do đó, dẫn xuất đến khái niệm sau

1.3.11 Số giả nguyên tố Nếu ta muốn kiểm tra số n có là số nguyên tố không,

ta lấy ngẫu nhiên các số a và kiểm tra xem đồng dư thức a na(mod )n có đúng

không Nếu nó không đúng với một giá trị a nào đó thì n là hợp số Nếu đồng dư thức đúng với một hoặc nhiều giá trị của a, thì ta nói rằng n là số nguyên tố với

xác suất nào đó, hay n là một số giả nguyên tố (pseudoprime).

Nếu n là một hợp số và tồn tại một số nguyên asao cho a nº a(mod )n ,

thì p được gọi là số giả nguyên tố cơ sở a

F Sarrus vào năm 1820 đã tìm thấy 341 = 11×31 là số giả nguyên tố cơ

sở 2 đầu tiên

Một số nguyên n là số giả nguyên tố cơ sở a với mọi số nguyên a được

gọi là số Carmichael (chẳng hạn số 561)

Ngày đăng: 31/10/2015, 09:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phạm Huy Điển (2002), Tính toán, lập trình và giảng dạy toán học trên Maple, Nhà xuất bản Khoa học và Kỹ thuật, Hà Nội Sách, tạp chí
Tiêu đề: Tính toán, lập trình và giảng dạy toán học trên Maple
Tác giả: Phạm Huy Điển
Nhà XB: Nhà xuất bản Khoa học và Kỹ thuật
Năm: 2002
[2] Phạm Huy Điển, Hà Huy Khoái (2004), Mã hóa thông tin - Cơ sở toán học và ứng dụng, Nhà xuất bản Đại học Quốc gia Hà Nội Sách, tạp chí
Tiêu đề: Mã hóa thông tin - Cơ sở toán học và ứng dụng
Tác giả: Phạm Huy Điển, Hà Huy Khoái
Nhà XB: Nhà xuất bản Đại học Quốc gia Hà Nội
Năm: 2004
[3] Doãn Tam Hòe (2008), Toán học tính toán, Nhà xuất bản Giáo dục, Hà Nội Sách, tạp chí
Tiêu đề: Toán học tính toán
Tác giả: Doãn Tam Hòe
Nhà XB: Nhà xuất bản Giáo dục
Năm: 2008
[4] Hà Huy Khoái, Phạm Huy Điển (2003), Số học thuật toán, Nhà xuất bản Đại học Quốc gia Hà Nội.TIẾNG ANH Sách, tạp chí
Tiêu đề: Số học thuật toán
Tác giả: Hà Huy Khoái, Phạm Huy Điển
Nhà XB: Nhà xuất bản Đại học Quốc gia Hà Nội.TIẾNG ANH
Năm: 2003
[5] Brassard (1988), Modern Cryptology. Lecture Notes in Computer Science, Springer Verlag Sách, tạp chí
Tiêu đề: Modern Cryptology. Lecture Notes in Computer Science
Tác giả: Brassard
Năm: 1988
[6] D. M. Burton (2002), Elementary Number Theory, Tata McGraw - Hill Company, New Delhi Sách, tạp chí
Tiêu đề: Elementary Number Theory
Tác giả: D. M. Burton
Năm: 2002
[7] L. Y. Kiang, Living with Mathematics (2011), McGraw - Hill Education (Asia), Singapore Sách, tạp chí
Tiêu đề: Living with Mathematics
Tác giả: L. Y. Kiang, Living with Mathematics
Năm: 2011
[8] B. Scheier (1996), Applied Cryptography, Wiley Sách, tạp chí
Tiêu đề: Applied Cryptography
Tác giả: B. Scheier
Năm: 1996
[9] D. Stinson (1995), Cryptography: Theory and Pratice, CRS Press LLC Sách, tạp chí
Tiêu đề: Cryptography: Theory and Pratice
Tác giả: D. Stinson
Năm: 1995
[10] R. Rivest, A. Shamir, L. Adleman (1978), A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, Communications of the ACM, Vol. 21 (2), pp. 120–126 Sách, tạp chí
Tiêu đề: Communications of the ACM
Tác giả: R. Rivest, A. Shamir, L. Adleman
Năm: 1978
[11] S. G. Telang (2001), Number Theory, Tata McGraw-Hill Company, New Delhi Sách, tạp chí
Tiêu đề: Number Theory
Tác giả: S. G. Telang
Năm: 2001

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w