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

Nghiên cứu hệ mật mã khóa bí mật trên vành đa thức chẵn

72 347 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 72
Dung lượng 1,25 MB

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

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ NGHIÊN CỨU HỆ MẬT MÃ KHÓA BÍ MẬT TRÊN VÀNH ĐA THỨC CHẴN NGUYỄN HOÀNG QUÂN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN MÃ SỐ: 604

Trang 1

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

VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

NGHIÊN CỨU HỆ MẬT MÃ KHÓA BÍ MẬT

TRÊN VÀNH ĐA THỨC CHẴN

NGUYỄN HOÀNG QUÂN

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

MÃ SỐ: 60480201

NGƯỜI HƯỚNG DẪN KHOA HỌC GS.TS NGUYỄN BÌNH

HÀ NỘI – 2015

Trang 2

LỜI CAM ĐOAN

Tôi cam đoan đề tài này là công trình nghiên cứu do chính tôi thực hiện Các số liệu và kết quả phân tích trong luận văn là trung thực, đề tài không trùng với bất kỳ đề tài nghiên cứu khoa học nào

Hà Nội, ngày 05 tháng 12 năm 2015

Học viên

Nguyễn Hoàng Quân

Trang 3

LỜI CẢM ƠN

Lời đầu tiên em xin gửi lời cảm ơn chân thành tới tất cả các thầy, cô đang

giảng dạy tại Viện Đại học Mở Hà Nội đã tận tình truyền đạt những kinh nghiệm và kiến thức quý báu giúp em hoàn thành nhiệm vụ học tập trong suốt thời gian là học viên cao học của trường

Em xin gửi lời biết ơn sâu sắc đến thầy giáo – Giáo sư, tiến sỹ Nguyễn Bình,

người đã tận tình hướng dẫn, chỉ bảo cho em trong suốt quá trình học tập và hoàn thành luận văn này

Xin được gửi lời cảm ơn chân thành đến gia đình đã luôn động viên, ủng hộ,

cổ vũ và tạo mọi điều kiện tốt nhất trong thời gian học tập

Xin gửi lời cảm ơn đến những người bạn, những người luôn chia sẻ, động viên, giúp đỡ trong suốt quá trình học tập

Hà Nội, ngày 05 tháng 12 năm 2015

Học viên

Nguyễn Hoàng Quân

Trang 4

MỤC LỤC

MỞ ĐẦU 1

1 Tính cấp thiết của đề tài: 1

2 Mục tiêu của luận văn: 1

2.1 Mục tiêu nghiên cứu: 1

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

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

4 Các đóng góp của luận văn 2

5.Bố cục của luận văn 2

CHƯƠNG 1: 3

TỔNG QUAN VỀ MẬT MÃ KHÓA BÍ MẬT 3

1.1 Giới thiệu: 3

1.2 Sơ đồ hệ mật mã mã khóa bí mật.[6] 4

1.3 Mật mã thay thế [6] 5

1.3.1.Mật mã dịch vòng (MDV) 5

1.3.2 Mã thay thế (MTT) 8

1.3.3 Mã Playfair: [11] 10

1.3.4 Mật mã Hill: [11] 12

1.3.5 Mật mã Vigenere [6] 14

1.3.6 Mã Affine: 17

1.4 Mật mã hoán vị 23

1.5 Các hệ mật mã mã tích 24

Kết luận chương 1 28

CHƯƠNG 2:CẤU TRÚC VÀNH ĐA THỨC CHẴNVÀ HỆ MẬT MÃ 29

2.1 Mã bất đối xứng (mã công khai) và phong bì số (bao bảo mật): 29

2.1.1 Mã RSA: 29

2.1.2 Phong bì số: 34

2.2 Vành đa thức: 35

Trang 5

2.2.1 Phép cộng đa thức: 35

2.2.2 Phép nhân đa thức: 36

2.2.3 Định nghĩa vành đa thức: 37

2.3 Vành đa thức lẻ: 38

2.4 Vành đa thức chẵn: 39

2.4.1.Khái niệm: 39

2.4.2 Biểu diễn toán học của vành đa thức chẵn: 39

2.4.3 Cấu trúc vành đa thức chẵn và các phần tử liên hợp: 39

2.5 Các thặng dư bậc hai và các phần tử liên hợp: 39

2.6 Hệ mật mã khóa bí mật dựa trên các thặng dư bậc 2 và các phần tử liên hợp: 45

Kết luận chương 2 48

CHƯƠNG 3: 49

THỰC NGHIỆM ÁP DỤNG VÀ ĐÁNH GIÁ 49

3.1 Thực nghiệm áp dụng: 49

3.1.1 Thực nghiệm 1: 49

3.1.2 Thực nghiệm 2: 51

3.2 Đánh giá: 53

3.2.1 Ưu điểm của hệ mật mã: 53

3.2.2 Nhược điểm của hệ mật mã: 54

Kết luận chương 3 56

KẾT LUẬN 57

DANH MỤC TÀI LIỆU THAM KHẢO 59

PHỤ LỤC 61

CÁC CƠ SỞ TOÁN HỌC MẬT MÃ 61

1 Số học trên Modulo 61

1.1 Định nghĩa Modulo: 61

1.2 Các phép toán số học trên Modulo 61

1.3 Ước số chung lớn nhất 62

Trang 6

2 Giới thiệu lý thuyết số: 62

2.1 Các số nguyên tố: 62

2.2 Phân tích ra thừa số nguyên tố 63

2.3 Các số nguyên tố cùng nhau và gcd 63

Trang 7

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

Trang 8

DANH MỤC CÁC BẢNG BIỂU

Bảng 1.1 Bảng 26 ký tự và mã tương ứng 6

Bảng 1.2.Bảng ma trận các chữ cái trong tiếng Anh 10

Bảng 1.3.Bảng mã ký tự và số nguyên tương ứng 14

Bảng 4.1 Phép cộng modulo với các phần tử liên hợp trong vành Z6 42

Bảng 5.2: Phép nhân modulo với các phần tử liên hợp trong vành Z6 43

Trang 9

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Sơ đồ hệ mật mã khóa bí mật 5

Hình 1.2 Bảng mã thử 25 trường hợp khóa k 7

Hình 1.3 Bảng mã Vigenere 15

Hình 1.4 Mã Affine 21

Hình 1.5 Hệ mật mã mã tích 25

Hình 1.6: Mô hình thuật toán DES Error! Bookmark not defined Hình 1.7: Hàm Feistel (F) dùng trong DES Error! Bookmark not defined. Hình 1.8: Quá trình tạo khóa con trong DES Error! Bookmark not defined Hình 1.9 : Bước AddRoundKey Error! Bookmark not defined. Hình 1.10 : Bước SubBytes Error! Bookmark not defined Hình 1.11 : Bước ShiftRow Error! Bookmark not defined. Hình 1.12 : Bước MixColumns Error! Bookmark not defined. Hình 2.1.Phân hoạch vành Z6 theo lớp các phần tử liên hợp 42

Hình 2.2: Sơ đồ hệ mật mã 46

Trang 10

MỞ ĐẦU

1 Tính cấp thiết của đề tài:

Trong thời đại của sự phát triển của công nghệ thông tin, truyền thông nói chung và Internet nói riêng đã giúp cho việc trao đổi thông tin nhanh chóng, dễ dàng Do vậy, bảo mật thông tin luôn là vấn đề quan trọng hàng đầu và đây cũng là

một vấn đề đã được nghiên cứu hàng nghìn năm nay

Bảo mật thông tin là duy trì tính bảo mật, tính toàn vẹn và tính sẵn sàng của thông tin Bảo mật nghĩa là đảm bảo thông tin chỉ được tiếp cận bởi những người được cấp quyền tương ứng Tính toàn vẹn là bảo vệ sự chính xác, hoàn chỉnh của thông tin và thông tin chỉ được thay đổi bởi những người được cấp quyền Tính sẵn sàng của thông tin là những người được quyền sử dụng có thể truy xuất thông tin khi họ cần Vấn đề bảo mật đang được nhiều người tập trung nghiên cứu và tìm mọi

giải pháp để đảm bảo an toàn, an ninh cho hệ thống phần mềm, đặc biệt là các hệ thống thông tin trên mạng

Việc lựa chọn một hệ mật mã mã có thuật toán tạo khóa, mã hóa và giải mã đơn giản với số bản rõ có tính hiệu dụng cao nhưng vẫn đảm bảo tính bí mật luôn được quan tâm và xây dựng, phát triển Vành đa thức chẵn có các đặc tính toán học đặc biệt nên có nhiều ứng dụng tiềm năng trong mật mã

Nhằm tìm hiểu một trong những phương pháp bảo mật thông tin là dùng hệ mật mã khóa bí mật dựa trên các đặc điểm của thặng dư bậc hai và các phần tử liên

hợp trên vành đa thức chẵn, vậy nên em đã chọn đề tài: “Nghiên cứu hệ mật mã khóa bí mật trên vành đa thức chẵn" để làm đề tài luận văn thạc sỹ của mình

2 Mục tiêu của luận văn:

2.1 M ục tiêu nghiên cứu:

Nghiên cứu các đặc điểm của các thặng dư bậc hai và các phần tử liên hợp trên vành đa thức chẵn Từ đó xây dựng một hệ mật mã khóa bí mật dựa trên vành

đa thức chẵn

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

+ Đối tượng nghiên cứu:

Trang 11

Nghiên cứu về cáchệ mật mã khóa bí mật, vành đa thức chẵn và các

phần tử liên hợp trên vành đa thức chẵn

+ Phạm vi nghiên cứu:

Sử dụng đặc điểm của lớp các phần tử liên hợp trên vành đa thức chẵn xây dựng hệ mật mã khóa bí mật

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

Sử dụng phương pháp nghiên cứu tổng hợp và phân tích, trong đó tổng hợp các nghiên cứu của các tác giả về vành đa thức chẵn Trên cơ sở đó xây dựng hệ

mật mã khóa bí mật dựa trên các phần tử liên hợp trên vành đa thức chẵn

4 Các đóng góp của luận văn

Những kết quả đạt được của luận văn góp phần làm rõ hơn ứng dụng và tiềm

năng của vành đa thức chẵn trong mật mã Luận văn đã trình bày được việc đề xuất

một hệ mật mã khóa bí mật dựa trên việc phân hoạch vành đa thức chẵn thành các

thặng dư bậc hai và các phần tử liên hợp Các dữ liệu khảo sát thực nghiệm là những ví dụ minh họa chi tiết, dễ hiểu cho việc tạo ra một hệ mật mã khóa bí mật mới trên vành đa thức chẵn

5.Bố cục của luận văn

Chương 1: Tổng quan vềhệ mật mã mã khóa bí mật

Trong chương này sẽ nghiên cứu về hệ mật mã mã khóa bí mật, các

mật mã thường sử dụng và đặc trưng cho hệ mật mã khóa bí mật: mật mã thay thế,

mật mã hoán vị, các hệ mật mã mã tích

Chương 2: Cấu trúc vành đa thức chẵn và hệ mật mã đề xuất

Chương này trình bày về vành đa thức lẻ và vành đa thức chẵn, nghiên cứu

về cấu trúc của vành đa thức chẵn, các phần tử liên hợp trên vành đa thức chẵn Trên cơ sở đó xây dựng hệ mật mã khóa bí mật dựa trên cấu trúc của vành đa thức

chẵn

Chương 3:Thực nghiệm áp dụng và đánh giá

Chương này trình bày về thực nghiệm áp dụnghệ mật mã khóa bí mật trên vành đa thức chẵn

Trang 12

Mật mã học được chia thành 3 nội dung:[6]

- Mật mã khóa bí mật (Khóa đối xứng)

- Mật mã khóa công khai (khóa bất đối xứng)

- Hàm băm, xác thực và chữ ký số

Phân tích mật mã là khoa học nghiên cứu cách phá các hệ mật mã mã nhằm

phục hồi bản rõ ban đầu từ bản mã Việc tìm hiểu các thông tin về khóa và các

phương pháp biến đổi thông tin cũng là một nhiệm vụ quan trọng của phân tích mật

Phân tích mật mã dành riêng cho các nhà nghiên cứu chuyên sâu về mật mã, chuyên nghiên cứu tìm hiểu các phương pháp thám mã:

- Phương pháp tấn công tổng lực (tìm khóa vét cạn)

- Phương phápphân tích thống kê

- Phương pháp phân tích toán học

*Hệ mật mãmã khóa bí mật (Khóa đối xứng):

Mã hóa cổ điển là phương pháp mã hóa đơn giản nhất xuất hiện đầu tiên trong lịch sử ngành khoa học mật mã Thuật toán mã hóa cổ điển đơn giản và dễ hiểu Những phương pháp mã hóa này là cơ sở cho việc nghiên cứu và phát triển thuật toán mã hóa đối xứng được sử dụng ngày nay

Trang 13

Thuật toán ở mã hóa cổ điển đều là mã khóa đối xứng Ở đó thông tin về khóa được chia sẻ giữa người gửi và người nhận

Với hệ mật mã mã này, việc mã hóa và giải mã sử dụng chung một khóa, do

đó hai bên liên lạc phải thống nhất và bảo mật khóa trước khi truyền tin Có thể gọi đây là mã một khóa, mã khóa riêng hay mã thỏa thuận

Hiện nay hệ mật mã mã khóa bí mật và hệ mật mã mã khóa công khai tiếp tục được phát triển và hoàn thiện Hệ mật mã mã khóa công khai ra đời hỗ trợ hệ

mật mã mã khóa bí mật chứ không thay thế nó, do đó đến nay hệ mật mã mã khóa

- Xử lý bit (chủ yếu nằm trong các ngôn ngữ lập trình)

Ngoài ra còn có phương pháp hỗn hợp thực hiện kết hợp các phương pháp trên mà điển hình là chuẩn mã dữ liệu (DES – Data Encryption Standard) của Mỹ

1.2 Sơ đồ hệ mật mã mã khóa bí mật.[6]

Trang 14

Hình 1.1 Sơ đồ hệ mật mã mã khóa bí mật

Một hệ mật mã mã là một bộ gồm 5 tham số (P, C, K, E, D) thỏa mãn các điều kiện sau:

a) P là một tập hữu hạn các bản rõ có thể

b) C là một tập hữu hạn các bản mã có thể

c) K là một tập hữu hạn các khoá có thể (không gian khoá)

d) Đối với mỗi k ∈ K có một quy tắc mã ek∈ E

ek: P → C

và một quy tắc giải mã tương ứng dk∈ D

dk: C → P sao cho: dk(ek(x)) = x với ∀ x ∈P

Trang 15

Sử dụng mã dịch vòng (với modulo 26) để thực hiện mã hoá một văn bản

tiếng Anh thông thường bằng cách thiết lập sự tương ứng giữa các ký tự và các thặng dư theo mod 26 như sau:

(với văn bản tiếng Anh, n = 26, như vậy M, C, K ∈ Z26):

Sau đó ta cộng 5 vào mỗi giá trị ở trên và rút gọn tổng theo mod 26

Ta được dãy số sau:

17.9.9.24.17.9.5.24.23.25.18.23.9.24

Cuối cùng, ta lại biến đổi dãy số nguyên trên thành các ký tự tương ứng, ta

có bản mã sau:

RJJY RJ FY XZSXJY

Để giải mã cho bản mã này, trước tiên ta biến bản mã thành dãy số nguyên

rồi trừ mỗi giá trị cho 5 (rút gọn theo modulo 26), và cuối cùng là lại biến đổi lại dãy số nhận được này thành các ký tự

Ví dụ 1.2:

Giả sử khóa cho MDV: k = 3

Vẫn sử dụng bản rõ M ở trên là: meet me at sunset

Trang 16

Làm như phần trên, biến đổi bản rõ thành chữ in hoa và biến đổi thành dãy các số nguyên theo bảng trên (không biến đổi dấu cách giữa 2 từ)

Ta có:

MEET ME AT SUNSET

124 419124 019 18201318419

Sau đó cộng 3 vào mỗi giá trị ở trên và rút gọn tổng theo mod 26

Ta được dãy số sau:

- Trừ mỗi giá trị cho 3 (rút gọn theo modulo 26)

- Cuối cùng lại biến đổi lại dãy số nhận được này thành các ký tự

Ví dụ 1.3:

Giả sử ta có bản rõ là: meet me after the toga party

Như vậy bản tin mã hóa (bản mã) sẽ là:

Trang 17

Trong 25 trường hợp trên, chỉ có trường hợp k=3 thì bản giải mã tương ứng

1.3.2 Mã thay th ế (MTT)

Mã thay thế là việc thay thế một ký tự bằng một ký tự khác trong bảng ký tự Cho P = C = Z26

Trang 18

K chứa mọi hoán vị có thể có của 26 ký tự từ 0 đến 25

Với mỗi phép hoán vị Π∈ K, ta định nghĩa như sau:

eΠ (x) = Π(x)

và dΠ(y) = Π-1(y)

Trong đó: Π-1 là hoán vị ngược của Π

Ví dụ 1.4:

Phép hoán vị ngẫu nhiênΠ tạo nên một hàm mã hoá (tương tự như trên, các

ký tự của bản rõ được viết bằng chữ thường, còn các ký tự của bản mã được viết

Ta thấy: eΠ(a) = X, eΠ(b) = N

Hàm giải mã là phép hoán vị ngược Điều này được thực hiện bằng cách viết hàng thứ hai lên trước rồi sắp xếp heo thứ tự chữ cái Ta có:

Với phép thay thế trên, từ bản rõ: meet me at sunset

ta thu được bản mã sau: THHM TH XM VUSHM

Sử dụng phép hoán vị ngược, ta dễ dàng tìm lại được bản rõ ban đầu

Mỗi khoá của mã thay thế là một phép hoán vị của 26 ký tự Số các hoán vị này là26! 4.10> 26 Đây là một số rất lớn nên khó có thể tìm được khoá bằng phép

Trang 19

tìm khoá vét cạn Tuy nhiên, bằng phương pháp thống kê, ta có thể dễ dàng thám được các bản mã loại này

1.3.3 Mã Playfair: [11]

Chúng ta thấy rằng không phải số khóa lớn trong mã bảng chữ đơn đảm bảo

an toàn mã Một trong các hướng khắc phục là mã hóa bộ các chữ, tức là mỗi chữ sẽ được mã hóa bằng một số chữ khác nhau tùy thuộc vào các chữ mà nó đứng cạnh

Mã hóa Playfair là một trong các mã như vậy Mã hóa này cho trước một từ làm khóa, với điều kiện trong từ khóa đó không có chữ cái nào bị lặp Playfair dùng

một ma trận 5x5 dựa trên các từ khóa đã cho và gồm các chữ trên bảng chữ cái, được sắp xếp theo thứ tự nhất định

Quy tắc sắp xếp như sau:

- Trước hết viết các chữ của từ khóa vào các hàng của ma trận bắt đầu từ hàng thứ nhất

- Nếu ma trận còn trống, viết các chữ khác trên bảng chữ cái chưa được sử dụng vào các ô còn lại Có thể viết theo một trình tự quy ước trước , chẳng hạn từ đầu bảng cho đến cuối bảng chữ cái

- Ở đây, trong tiếng Anh có 26 chữ cái nên thiếu 1 ô Thông thường ta dồn hai chữ nào đó vào 1 ô chung, chẳng hạn là I và J

Trang 20

Trong bảng trên, khóa là từ MONARCHY được điền vào các dòng đầu của

bảng, các chữ cái còn lại được điền tiếp theo Riêng hai chữ I, J được điền vào cùng một ô vì trong tiếng Anh, ít khi nhầm lẫn giữa chữ I và chữ J

Ví dụ, nếu gặp đoạn ký tự CL_MATE, ta sẽ biết đó là từ CLIMATE chứ không phải là CLJMATE

Trước khi mã hóa, bản rõ được tách ra thành các cặp ký tự Nếu hai ký tự trong một cặp giống nhau thì sẽ được tách bằng chữ X (trong tiếng Anh ít khi có 2

ký tự X sát nhau)

Ví dụ 1.6:

Từ balloon được tách thành ba lx lo on Việc mã hóa từng cặp được thực

hiện theo quy tắc:

- Nếu hai ký tự trong cặp thuộc cùng một hàng, thì được thay bằng hai ký tự

tiếp theo trong hàng Nếu đến cuối hàng thì quay về đầu hàng

Ví dụ 1.7:

Cặp ar được mã hóa thành RM

- Nếu hai ký tự trong cặp thuộc cùng một cột, thì được thay bằng hai ký tự

tiếp theo trong cột Nếu đến cuối cột thì quay về đầu cột

Ví dụ 1.8:

Cặp ov được mã hóa thành HO

Trong các trường hợp còn lại, hai ký tự được mã hóa sẽ tạo thành đường chéo của một hình chữ nhật và được thay bằng 2 ký tự trên đường chéo kia

cặp chữ cái, mỗi chữ được mã hóa bằng 7 chữ khác nhau, do đó các cặp chữ cái này

ít bị chênh lệch về tần suất hơn so với sự chênh lệnh tần suất của từng chữ cái

Trang 21

Muốn sử dụng thống kê tần suất, cần có bảng tần suất của 676 cặp để thám

mã (so với 26 của bảng mã thay thế đơn biểu) Như vậy phải xem xét nhiều trường hợp hơn và tương ứng sẽ có thể có nhiều bản mã hơn cần lựa chọn Dó đó khó thám

mã hơn mã trên bảng chữ đơn

Đây chính là lý do mà người ta tin rằng mã hóa Playfair không thể bị phá và được quân đội Anh sử dụng trong chiến tranh thế giới lần thứ nhất

1.3.4 M ật mã Hill:[11]

Mật mã Hill là một hệ mật mã thay thế đa biểu khác Mật mã này do Lester S.Hill đưa ra năm 1929

Giả sử cho m là một số nguyên dương Đặt P = C = (Z26)m

Ý tưởng là lấy m tổ hợp tuyến tính của m ký tự trong một phần tử của bản rõ

để tạo ra m ký tự ở một phần tử của bản mã

Như vậy, ta có thể thấy mã Hill thực hiện mã hóa một lần m ký tự bản rõ

Ký hiệu là p1, p2, , pm và thay thế thành m ký tự trong bản mã, ký hiệu là c1,

c2, , cm Việc thay thế này được thực hiện bằng m phương trình tuyến tính

Tất cả đều được thực hiện trong Z26 (theo modulo 26)

Trang 22

- "ju" tương ứng với (p1, p2) = (9, 20)

- "ly" tương ứng với (p3, p4) = (11, 24)

+ Ta thực hiện mã hóa như sau:

Trang 23

"july" ban đầu

Trong mã Hill, mỗi chữ cái được gán cho một số nguyên từ 0 đến 25:

Ta có thể thấy rằng mã hóa Hill ẩn giấu các thông tin về tần suất nhiều hơn

mã hóa Playfair do có thể mã hóa 3 hoặc nhiều hơn nữa các ký tự cùng một lúc

1.3.5 M ật mã Vigenere[6]

Một hệ mật mã mã thay thế đa biểu đơn giản hệ mật mã Vigenere

Quá trình mã hóa Vigenere là việc tiến hanh đồng thời dùng nhiều mã Caesar cùng một lúc trên bản rõ với nhiều khóa khác nhau Khóa cho mỗi chữ dùng để mã

phụ thuộc vào vị trí của chữ đó trong bản rõ và được lấy trong từ khóa theo thứ tự đúng

Sử dụng phép tương ứng A ↔0,B ↔1, ,Z ↔ 25mô tả ở trên, ta có thể

gắn cho mỗi khoá k một chuỗi ký tự có độ dài m, được gọi là từ khoá Mật mã Vigenere sẽ mã hoá đồng thời m ký tự: mỗi phần tử của bản rõ tương đương với m

ký tự

Để hỗ trợ mã Vigenere, ta có bảng sau:

Trang 24

Dòng thứ k của b

tương ứng với từ khóa D là mã hóa Ceasar 3 v

Để mã hóa một bả

tin Thườn thì khóa là mộ

dài bằng chiều dài bản rõ

Ví dụ 1.12:

Cho bản rõ:

"We are discovered save your self"

Cho khóa là từ "DECEPTIVE"

Ta thực hiện mã hóa nh

Hình 1.3 Bảng mã Vigenere

a bảng là một mã hóa Ceasar k - 1 vị trí Ví dkhóa D là mã hóa Ceasar 3 vị trí

ản tin thì cần có một khóa có chiều dài bằng chi

ột cụm từ nào đó và được viết lặp lại cho đ

ng chiều dài bản

i cho đến khi có chiều

Trang 25

Trong ví dụ trên, các chữ e trong bản rõ được mã hóa tương ứng thanh I, T,

G, T, H, M trong bản mã Do đó phương pháp phá mã dựa trên thống kê tần suất

chữ cái là không thực hiện được

Ví dụ 1.13:

Giả sử bản tinm = và t6 ừ khoá là k = CIPHER

Từ khoá này tương ứng với dãy số k =(2,8,15,7, 4,17)

Ta có thể mô tả mật mã Vigenère như sau:

Cho m là một số nguyên dương cố định nào đó

Ta định nghĩa:

( 26)

n

P =C =K = Z

Trang 26

Với khoá k =(k k1, 2,K,k m), ta xác định:

và trong đó tất cả các phép toán được thực hiện trong

Chú ý:

Để giải mã, ta có thể dùng cùng từ khoá nhưng thay cho cộng, ta trừ nó theo modulo 26

Ta thấy rằng, số các từ khoá có thể với độ dài m trong mật mã Vigenere là

26m Bởi vậy, thậm chí với m khá nhỏ, phương pháp tìm kiếm vét cạn cũng yêu

cầu thời gian khá lớn Ví dụ, với m = thì không gian khoá c6 ũng có kích thước lớn hơn 3.108 khoá

1.3.6 Mã Affine:

Mã dịch vòng là một trường hợp đặc biệt của mã thay thế chỉ gồm 26 trong

số 26! các hoán vị có thể của 26 phần tử Một trường hợp đặc biệt khác của MTT là

mã Affine được mô tả dưới đây Trong mã Affine, ta giới hạn chỉ xét các hàm mã

Để việc giải mã có thể thực hiện được, yêu cầu cần thiết là hàm Affine phải

là đơn ánh Nói cách khác, với bất kỳy∈ Z , ta muốn có đồng nhất thức sau: 26

y thay đổi trên Z nên y b26 − cũng thay đổi trên Z Bởi vậy, ta chỉ cần 26

nghiên cứu phương trình đồng dư:

Trang 27

mod 26

axy

Ta biết rằng, phương trình này có một nghiệm duy nhất đối với mỗi y khi và

chỉ khi ƯCLN( , 26) 1a = (ở đây hàm ƯCLN là ước chung lớn nhất của các biến của nó)

Trước tiên ta giả sử rằng, ƯCLN( , 26)a =d >1 Khi đó, đồng dư thức 0mod 26

ax ≡ sẽ có ít nhất hai nghiệm phân biệt trong Z là 26 x = và 0 x =26 /d Trong trường hợp này, e x( )=ax +bmod 26 không phải là một hàm đơn ánh

và bởi vậy nó không thể là hàm mã hoá hợp lệ

Ví dụ 1.14:

mã hoá thành cùng một giá trị đối với bất kỳx∈ Z 26

Ta giả thiết ƯCLN( , 26) 1a = Giả sử với x1và x2 nào đó thoả mãn:

26 | (a xx )Bây giờ ta sẽ sử dụng một tính chất của phép chia sau: Nếu ƯCLN( , ) 1a b =

a bc| thì a c| Vì 26 | (a x1−x2)và ƯCLN( , 26) 1a = nên ta có:

26 | (xx )tức là:

Trang 28

Không có gì đặc biệt đối với số 26 trong khẳng định này Bởi vậy, bằng cách

tương tự, ta có thể chứng minh được kết quả sau:

Định lý 1.1:

Đồng dư thức axbmodm chỉ có một nghiệm duy nhất x ∈ Z với mọi m

m

b ∈ Z khi và chỉ khi ƯCLN( , ) 1a m =

Vì 26 2 13= × nên các giá trị a∈ Z thoả mãn ƯCLN26 ( , 26) 1a = là a = 1 3, 5,

7, 9, 11, 13, 15, 17, 19, 21, 23 và 25

Tham số b có thể là một phần tử bất kỳ trongZ Như vậy , mã Affine có 26

12 26 312× = khoá có thể (dĩ nhiên, con số này là quá nhỏ để bảo đảm an toàn)

Bây giờ, ta sẽ xét bài toán chung với modulom Ta cần một định nghĩa khác trong lý thuyết số

Định nghĩa 1.1:

Giả sử a ≥1 và m ≥2 là các số nguyên ƯCLN( , ) 1a m = thì ta nói rằng a

và m là nguyên tố cùng nhau Số các số nguyên trong Z nguyên tố cùng nhau với m

m thường được ký hiệu là ϕ( )m (hàm này được gọi là hàm phi-Euler)

Một kết quả quan trọng trong lý thuyết số cho ta giá trị của ϕ( )m theo các

thừa số trong phép phân tích theo luỹ thừa các số nguyên tố của m (Một số nguyên 1

p > là số nguyên tố nếu nó không có ước dương nào khác ngoài 1 và p) Mọi số nguyên m >1 có thể phân tích được thành tích của các luỹ thừa các số nguyên tố theo cách duy nhất

=

=∏ ; Trong đó các số nguyên tố p khác nhau và i e i >0; 1≤ ≤ Khi đó : i n

Trang 29

Ví dụ 1.16:

Khi m =60, (60) 2 2 4 16ϕ = × × = và số các khoá trong mã Affine là 960

Bây giờ, ta sẽ xét xem các phép toán giải mã trong mật mã Affine:

Cho m =26 Giả sử ƯCLN( , ) 1a m = Để giải mã cần giải phương trình đồng dư y =ax +bmod 26theo x Từ thảo luận trên thấy rằng, phương trình này có một nghiệm duy nhất trong Z 26

Tuy nhiên, ta vẫn chưa biết một phương pháp hữu hiệu để tìm nghiệm Điều

cần thiết ở đây là có một thuật toán hữu hiệu để làm việc đó Rất may là một số kết quả tiếp sau về số học modulo sẽ cung cấp một thuật toán giải mã hữu hiệu cần tìm

Định nghĩa 1.2:

Giả sử a ∈ Z Phần tử nghịch đảo (theo phép nhân) của m a là phầntử

1

m

a∈ Z sao cho aa−1 =a a−1 =1modm

Bằng các lý luận tương tự như trên, có thể chứng tỏ rằng a có nghịch đảo theo modulo m khi và chỉ khi ƯCLN( , ) 1a m = , và nếu nghịch đảo này tồn tại thì

0 đều có nghịch đảo được gọi là một trường

Trong [3] có một thuật toán hữu hiệu để tính các nghịch đảo của Z với m m

tuỳ ý Tuy nhiên, trong Z , chỉ bằng phương pháp thử và sai cũng có thể tìm được 26

các nghịch đảo của các phần tử nguyên tố cùng nhau với 26:

Trang 30

(Có thể dễ dàng kiểm chứng lại điều này, ví dụ: 7 15 105 1mod 26× = ≡ , bởi vậy

của đồng dư thức với 1

Trang 31

Ở đây, tất cả các phép toán đều thực hiện trên Z Ta sẽ kiểm tra liệu 26

Để minh hoạ, ta hãy mã hoá bản rõ "hot"

Trước tiên, biến đổi các chữ h, o, t thành các thặng dư theo modulo 26 Ta được các số tương ứng là 7, 14 và 19 Bây giờ sẽ mã hoá:

Văn bản gốc được chuyển thành dãy số [7, 4, 11, 11, 14, 22, 14, 17, 11, 3]

Với từng số x trong dãy số trên, áp dụng hàm mã hóa:

E(x) = (17x + 6) mod 26, ta được dãy số [21, 22, 11, 11, 10, 16, 10,

Nghịch đảo của 17 theo module 26 là 23, ta có a-1 = 23

Với từng số x trong dãy số C1, áp dụng hàm giải mã:

D(x) = a-1(x - b) mod m = 23(x - 6) mod 26

Ta được dãy số [7, 4, 11, 11, 14, 22, 14, 17, 11, 3]

Chuyển dãy số này về dạng ABC, ta được văn bản gốc:

HELLO WORLD

Trang 32

1.4 Mật mã hoán vị

Khác với mật mã thay thế, mật mã hoán vị giữ các ký tự của bản rõ không thay đổi nhưng thay đổi vị trí của chúng bằng cách sắp xếp lại các ký tự này.Ở đây không có một phép toán đại số nào cần thực hiện khi mã hoá và giải mã [6]

asecon dclass carria geonth etrain

Sau đó, mỗi nhóm 6 chữ cái lại được sắp xếp lại theo phép hoán vị π , ta có:

EOANCS LSDSAC RICARA OT GHNE RIENAT

Cuối cùng, ta có bản mã sau:

EOANCSLSDSACRICARAOTGHNERIENAT Khi sử dụng phép hoán vị ngược 1

π− trên dãy bản mã (sau khi đã nhóm lại theo các nhóm 6 ký tự), ta sẽ nhận lại được bản rõ ban đầu

Từ ví dụ trên, ta có thể định nghĩa MHV như sau:

Cho là một số nguyên dương xác định nào đó

Cho P=C= Z( 26)m và cho K là tất cả các hoán vị có thể có của:

m

{1, 2,K, m }

Trang 33

Đối với một khoá (tức là một phép hoán vị nào đó), ta xác định:

và:

1.5 Các hệ mật mã mã tích

Một phát minh khác do Shannon đưa ra trong bài báo của mình năm 1949 là

ý tưởng kết hợp các hệ mật mã bằng cách tạo tích của chúng Ý tưởng này có tầm quan trọng to lớn trong việc thiết kế các hệ mật mã hiện nay (chẳng hạn, chuẩn mã

dữ liệu - DES ) [6]

Để đơn giản, trong phần này chỉ hạn chế xét các hệ mật mã trong đóC P= : các hệ mật mã loại này được gọi là tự đồng cấu Giả sử S1=( , ,P P K E D1, , )1 1 và

2 ( , ,P P K2,E D2, 2)

S = là hai hệ mật mã tự đồng cấu có cùng các không gian bản mã

và rõ Khi đó, tích của S1 và S2 (kí hiệu làSS2) được xác định là hệ mật mã sau:

( , ,P P K ×K , , )E DKhoá của hệ mật mã tích có dạng k =( , )k k1 2 trong đó k1∈K1 vàk2∈K2 Các quy tắc mã và giải mã của hệ mật mã tích được xác định như sau: Với mỗi

Trang 34

Ta biết rằng, các hệ mật mã đều có các phân bố xác suất ứng với các không gian khoá của chúng Bởi vậy, cần phải xác định phân bố xác suất cho không gian khoá K của hệ mật mã tích Hiển nhiên ta có thể viết:

hệ mã Affine (cùng với các khoá được chọn đồng xác suất) Tuy nhiên, việc chứng

tỏ S ×M cũng là hệ mã Affine khó hơn một chút (cũng với các khóa đồng xác

Trang 35

Đây chính là định nghĩa về khoá trong hệ mã Affine Hơn nữa, xác suất của

một khoá trong hệ mã Affine là: 1 312=(1 12 1 26)( ) Đó là tích của xác suất tương ứng của các khoá ak Bởi vậy M ×S là hệ mã Affine

Bây giờ ta sẽ xétS ×M Một khoá này trong hệ mã này có dạng( , )k a , trong đó:

e x =a x+k =ax +ak

Như vậy, khoá ( , )k a của mã tích S×M đồng nhất với khoá ( ,a ak) của hệ

mã Affine Vấn đề còn lại là phải chứng tỏ rằng mỗi khoá của mã Affine xuất hiện

với cùng xác suất 1/312 như trong mã tích S×M Nhận thấy rằng ak =k1 khi và

(S ×SS =S ×(S ×S )Nếu lấy tích của một hệ mật mã tự đồng cấu với chính nó thì ta thu được hệ

luỹ đẳng thì không nên sử dụng hệ mật mã tích 2

S vì nó yêu cầu lượng khoá cực

lớn mà không có độ bảo mật cao hơn

Nếu một hệ mật mã không phải là luỹ đẳng thì có thể làm tăng độ mật bằng cách lặp nhiều lần Ý tưởng này đã được dùng trong chuẩn mã dữ liệu (DES) Trong

Trang 36

DES dùng 16 phép lặp, tất nhiên hệ mật mã ban đầu phải là hệ mật mã không luỹ đẳng Một phương pháp có thể xây dựng các hệ mật mã không luỹ đẳng đơn giản là lấy tích của hai hệ mật mã đơn giản khác nhau

Nhận xét:

Có thể dễ dàng chứng tỏ rằng, nếu cả hai hệ mật mãS và 1 S là luỹ đẳng và 2

giao hoán thì S1 và S2 cũng là luỹ đẳng Điều này rút ra từ các phép toán đại số sau:

(Chú ý: Dùng tính chất kết hợp trong chứng minh trên)

Bởi vậy, nếu cả S1 và S2đều là luỹ đẳng và ta muốn SS2là không luỹ đẳng thì điều kiện cần là S1 và S2 không giao hoán

Rất may mắn là nhiều hệ mật mã đơn giản thoả mãn điều kiện trên Kỹ thuật

thường được sử dụng trong thực tế là lấy tích các hệ mã kiểu thay thế và các hệ mã kiểu hoán vị

Ngày đăng: 20/06/2016, 20:43

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Cao Xuân Th ắ ng, Nguy ễ n Bình, "Một hệ mật mã mã khóa bí mật dựa trên các thặng dư bậc hai và các phần tử liên hợp trong vành đa thức chẵn", Chuyên đề khoa h ọ c công ngh ệ , H ọ c vi ệ n Công ngh ệ B ư u chính vi ễ n thông, 2014 Sách, tạp chí
Tiêu đề: Một hệ mật mã mã khóa bí mật dựa trên các thặng dư bậc hai và các phần tử liên hợp trong vành đa thức chẵn
[2] Cao Xuân Th ắ ng, "Phân hoạch vành đa thức chẵn thành lớp các phần từ liên hợp và ứng dụng trong lý thuyết mã", Lu ậ n v ă n th ạ c s ỹ k ỹ thu ậ t, H ọ c vi ệ n Công nghệ Bưu chính viễn thông, 2010 Sách, tạp chí
Tiêu đề: Phân hoạch vành đa thức chẵn thành lớp các phần từ liên hợp và ứng dụng trong lý thuyết mã
[3] Đặng Trường Sơn, "Giáo trình bảo mật thông tin", Nhà xuất bản Tổng hợp, 2013 Sách, tạp chí
Tiêu đề: Giáo trình bảo mật thông tin
Nhà XB: Nhà xuất bản Tổng hợp
[4] H ồ Quang B ử u, Ngô Đứ c Thi ệ n, Tr ầ n Đứ c S ự , "Xây dựng hệ mật mã trên các cấp số nhân cyclic của vành đa thức", Tạp chí khoa học và công nghệ, chuyên san n ă m th ứ 3, H ọ c vi ệ n Công ngh ệ B ư u chính vi ễ n thông s ố 50 (2A), 2012, trang 109 - 119 Sách, tạp chí
Tiêu đề: Xây dựng hệ mật mã trên các cấp số nhân cyclic của vành đa thức
[5] Hoàng Thu Phương, "Các hệ mật mã khóa bí mật", KSTP.Ebook Sách, tạp chí
Tiêu đề: Các hệ mật mã khóa bí mật
[6] Nguy ễ n Bình, Ngô Đứ c Thi ệ n, "Giáo trình cơ sở mật mã học", H ọ c vi ệ n B ư u chính vi ễ n thông,2013 Sách, tạp chí
Tiêu đề: Giáo trình cơ sở mật mã học
[7] Nguyễn Bình, "Bài giảng Lý thuyết thông tin", Học viện Công nghệ Bưu chính vi ễ n thông, 2006 Sách, tạp chí
Tiêu đề: Bài giảng Lý thuyết thông tin
[8] Nhóm gi ả ng viên Đạ i h ọ c kinh doanh và Công ngh ệ Hà N ộ i, "Giáo trình Bảo mật thông tin", 2013 Sách, tạp chí
Tiêu đề: Giáo trình Bảo mật thông tin
[9] Phan Đ ình Di ệ u, "Lý thuyết mật mã và an toàn thông tin", Nhà xu ấ t b ả n Đạ i h ọ c Qu ố c gia Hà N ộ i, 2002 Sách, tạp chí
Tiêu đề: Lý thuyết mật mã và an toàn thông tin
Nhà XB: Nhà xuất bản Đại học Quốc gia Hà Nội
[10] Thái Thanh Tùng, "Giáo trình mật mã học và an toàn thông tin", Nhà xu ấ t b ả n thông tin và truy ề n thông, 2011 Sách, tạp chí
Tiêu đề: Giáo trình mật mã học và an toàn thông tin
Nhà XB: Nhà xuất bản thông tin và truyền thông
[11] Tr ầ n Minh V ă n, "Bài giảng An toàn và bảo mật thông tin", Đạ i h ọ c Nha Trang, 2008 Sách, tạp chí
Tiêu đề: Bài giảng An toàn và bảo mật thông tin
[1] Carl D. Meyer, "Matrix Analysis and Applied Algebra", SIAM, 2000 Sách, tạp chí
Tiêu đề: Matrix Analysis and Applied Algebra
[2] Nguyễn Bình, Trần Đức Sự, Phạm Việt Trung, "Decomposition of polynomial ring according to the classes of conjugate elements", AIC-26, Ha Noi, Viet Nam, 2001 Sách, tạp chí
Tiêu đề: Decomposition of polynomial ring according to the classes of conjugate elements
[3] Nguy ễ n Bình, Tr ầ n Đứ c S ự , REV', "Local cyclic codes constructed on conjugate elements of swallowing idempotent", 02.2002 Sách, tạp chí
Tiêu đề: Local cyclic codes constructed on conjugate elements of swallowing idempotent
[4] Nguy ễ n Bình, REV', "Crypto-system based on cyclic geometric progressions over polynomial ring" (Part I),02.2002 Sách, tạp chí
Tiêu đề: Crypto-system based on cyclic geometric progressions over polynomial ring
[5] Todd K. Moon, Error Correction Coding, Wiley-Intersience, a John Wiley & Sons, Inc., Publication, 2005 Sách, tạp chí
Tiêu đề: Error Correction Coding, Wiley-Intersience, a John Wiley & "Sons

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Sơ đồ hệ mật mã mã khóa bí mật - Nghiên cứu hệ mật mã khóa bí mật trên vành đa thức chẵn
Hình 1.1. Sơ đồ hệ mật mã mã khóa bí mật (Trang 14)
Bảng 1.2.Bảng ma trận các chữ cái trong tiếng Anh - Nghiên cứu hệ mật mã khóa bí mật trên vành đa thức chẵn
Bảng 1.2. Bảng ma trận các chữ cái trong tiếng Anh (Trang 19)
Bảng 1.3.Bảng mã ký tự và số nguyên tương ứng - Nghiên cứu hệ mật mã khóa bí mật trên vành đa thức chẵn
Bảng 1.3. Bảng mã ký tự và số nguyên tương ứng (Trang 23)
Hình 1.5.  Hệ mật mã mã tích - Nghiên cứu hệ mật mã khóa bí mật trên vành đa thức chẵn
Hình 1.5. Hệ mật mã mã tích (Trang 34)
Hình 6.1.Phân hoạch vành Z 6  theo lớp các phần tử liên hợp - Nghiên cứu hệ mật mã khóa bí mật trên vành đa thức chẵn
Hình 6.1. Phân hoạch vành Z 6 theo lớp các phần tử liên hợp (Trang 51)
Bảng 4.1. Phép cộng modulo với các phần tử liên hợp trong vành Z 6 - Nghiên cứu hệ mật mã khóa bí mật trên vành đa thức chẵn
Bảng 4.1. Phép cộng modulo với các phần tử liên hợp trong vành Z 6 (Trang 51)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w