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

Nghiên ứu á phương pháp mật mã và ứng dụng trong á hệ thống thông tin thế hệ tiếp theo

126 1 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

Tiêu đề Nghiên Cứu Các Phương Pháp Mật Mã Và Ứng Dụng Trong Các Hệ Thống Thông Tin Thế Hệ Tiếp Theo
Tác giả Nguyễn Thị Thu Hằng
Người hướng dẫn TS. Nguyễn Thúy Anh
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại Luận Văn Thạc Sỹ
Năm xuất bản 2007
Thành phố Hà Nội
Định dạng
Số trang 126
Dung lượng 3,04 MB

Nội dung

Trang 1 B ỘGIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI --- NGUYỄN THỊ THU HẰNGNGHIÊNCỨUCÁC PHƯƠNG PHÁP MẬT MÃ VÀ ỨNG DỤNG TRONGCÁC HỆ THỐNG THÔNG TIN THẾ HỆ TIẾP THEO Trang 2 1

Trang 1

B Ộ GIÁO DỤC VÀ ĐÀO TẠ O TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

NGUYỄN THỊ THU HẰNG

NGHIÊN CỨU CÁC PHƯƠNG PHÁP MẬT MÃ VÀ ỨNG DỤNG TRONG

CÁC HỆ THỐNG THÔNG TIN THẾ HỆ TIẾP THEO

LUẬN VĂN THẠ C S KHOA H C Ỹ Ọ

Trang 2

1

MỤC LỤC

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

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

PHẦN MỞ ĐẦU 8

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

2 Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu 8

3 Tóm tắt nội dung luận văn: 8

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

NỘI DUNG LUẬN VĂN 9

L ời giới thi u 9ệ CHƯƠNG I: TỔNG QUAN VỀ MẬT MÃ HỌC 10

1.1 Mật mã học: 10

1.2 Một số kiến thức toán học phụ trợ: 11

1.3 Hệ thống mật mã (Cryptosystem) 13

1.4 Hệ thống mã hóa quy ước (Mã hóa đối xứng) 13

1.5 Hệ thống mã hóa khóa công cộng (Mã hóa bất đối xứng) 14

1.6 Kết hợp mã hóa quy ước và mã hóa khóa công cộng 14

CHƯƠNG II: MỘT S ỐPHƯƠNG PHÁP MÃ HÓA QUY ƯỚC 16

2.1 Hệ thống mã hóa quy ước 16

2.2 Mật mã thay thế 16

2.2.1.Phương pháp mã hóa dịch chuyển (Mật mã dịch vòng) 16

2.2.2 Phương pháp mã hóa thay thế 18

2.2.3 Phương pháp mật mã Vigenère 19

2.3 Phương pháp mật mã hoán vị: 21

2.4 Phương pháp mật mã Hill 22

2.5 Phương pháp Affine 25

2.6 Các hệ mật mã tích: 28

2.7 Các hệ mã dòng: 31

2.8 Chuẩn mã dữ liệ Phương pháp DES u- 34

(D Enata cryption St d d) 34an ar 2.8.1 Giới thiệu về DES: 34

2.8.2 Ví dụ về DES: 44

2.8.3 Một số thảo luận về DES: 48

Trang 3

2

2.8.4 DES trong thực tế: 49

2.8.5 Phương pháp chuẩ n mã hóa nâng cao AES 52

CHƯƠNG III: MẬT MÃ KHOÁ CÔNG CỘNG 55

3.1 GIỚI THIỆU: 55

3.2 HỆ MẬT RSA: 57

3.2.1 Thuật toán 1: Tạo khoá 57

3.2.2 Định nghĩa: 57

3.2.3 Thuật toán 2: Mã hoá công khai RSA: 58

3.2.4 Một số phương pháp tấn công giải thuật RSA 59

3.2.5 S ựche giấu thông tin trong h ng RSA 63ệthố 3.2.6 Vấn đề ố s nguyên t 64ố 3.3 HỆ MẬT RABIN 64

3.3.1 Thuật toán 1: Tạo khoá 64

3.3.2 Thuật toán 2: Mã hoá công khai Rabin 65

3.3.3 Chú ý: 65

3.3.4 Ví dụ: 65

3.4 HỆ MẬT Elgamal: 66

3.4.1 Thuật toán tạo khoá: 66

3.4.2 Thuật toán mã hoá công khai ElGamal: 67

3.4.3 Ví dụ: 67

3.5 HỆ MẬT MERKLE – HELLMAN 68

3.5.1 Định nghĩa dãy siêu tăng: 68

3.5.2 Bài toán xếp balô 68

3.5.3 Giải bài toán xếp ba lô trong trường hợp dãy siêu tăng 68

3.5.4 Thuật toán tạo khoá 69

3.5.5 Thuật toán mã công khai Merkle-Hellman 69

3.5.6 Ví dụ: 70

3.6 HỆ MẬT CHOR-RIVEST (CR) 70

3.6.1 Thuật toán tạo khoá: 70

3.6.2 Thuật toán mã hoá 71

3.6.3 Ví dụ: 73

3.6.4 Chú ý: 74

3.7 HỆ MẬT MCELICE 75

3.7.1 Định nghĩa 1: 75

3.7.2 Định lý 2: 76

Trang 4

3

3.8 HỆ MẬT DỰA TRÊN ĐỊNH DANH 79

3.8.1 Ý tưởng cơ bản: 79

3.8.2 Sơ đồ trao đổi khóa Okamoto –Tanaka 80

CHƯƠNG IV: 82

MÃ HÓA KHÓA QUY ƯỚC VÀ MÃ HÓA KHÓA CÔNG CỘNG 82

CHƯƠNG V 85

CÁC HÀM BĂM VÀ TÍNH TOÀN VẸN CỦA DỮ LIỆU 85

5.1 ĐẶT VẤN ĐỀ 85

5.2.HÀM BĂM MẬT MÃ 85

5.3 CÁC ĐỊNH NGHĨA VÀ TÍNH CHẤT CƠ BẢN 87

5.3.1 Định nghĩa hàm băm 87

5.3.2 Một số tính chất của các hàm băm không có khoá 87

5.3.3 Định nghĩa hàm băm một chiều (OWHF- Oneway hash function) 88

5.3.4 Định nghĩa hàm băm khó va chạm (CRHF: Collision Resistant HF) 88

5.3.5 Chú ý về các thuật ngữ: 88

5.3.6 Ví dụ: 88

5.3.7 Định nghĩa thuật toán mã xác thực thông báo (MAC) 88

5.3.8 Phân loại các hàm băm mật mã và ứng dụng 89

5.4 CẤU TRÚC CỦA HÀM BĂM- TÍNH AN TOÀN CỦA HÀM BĂM 89

5.4.1 Cấu trúc của hàm băm 89

5.4.2 Tính an toàn của hàm băm: 89

5.5 TÍNH TOÀN VẸN CỦA DỮ LIỆU VÀ XÁC THỰC THÔNG BÁO 90

5.5.1 Định nghĩa 1: 90

5.5.2 Định nghĩa 2: 90

5.5.3 Các phương pháp đảm bảo xác thực tính nguyên vẹn của dữ liệu: 92

5.6 TRAO ĐỔI VÀ THỎA THUẬN KHÓA 92

5.7 CHỮ KÝ SỐ 92

5.7.1 Phương pháp chữ ký điện tử RSA: 94

5.7.2 Phương pháp chữ ký điện tử ElGamal 96

5.7.3 Phương pháp Digital Signature Standard (DSS) 96

CHƯƠNG VI 98

CHỨNG NH N KHÓA CÔNG C NGẬ Ộ 98

6.1.Giới thiệu: 98 6.2 Các lo i giạ ấy chứng nhận khóa công c ng 100ộ 6.2.1 Ch ng nh n X.509 100ứ ậ

Trang 5

4

6.2.2 Ch ng nhứ ận chất lượng: 102

6.2.3 Ch ng nhứ ận PGP: 103

6.2.4 Ch ng nh n thuứ ậ ộc tính: 103

6.3 S ựchứng nh n và kiậ ểm tra chữ ký 104

6.4 Các thành ph n cầ ủa một cơ sở ạ ầ h t ng khóa công c ng 105ộ 6.4.1 T ổchức chứng nh n – ậ Certificate Authority (CA) 106

6.4.2 T ổchức đăng ký chứng nh n – gistration Authority (RA) 106ậ Re 6.4.3 Kho lưu trữ ch ng nh n – Certificate Repository (CR) 107ứ ậ 6.5 Chu trình qu n lý giả ấy chứng nh n: 107ậ 6.5.1 Khởi tạo: 107

6.5.2 Yêu c u v giầ ề ấy chứng nh n: 107ậ 6.5.3 T o lạ ại chứng nh 109ận: 6.5.4 H y b ủ ỏchứng nh n: 109ậ 6.5.5 Lưu trữ và khôi ph c khóa: 110ụ 6.6 Các mô hình CA 111

6.6.1 Mô hình t p trung 111ậ 6.6.2 Mô hình phân c p 111ấ 6.6.3 Mô hình “Web of Trust” 112

6.7 ng d ng Ứ ụ “Hệ thố ng b o v ả ệ thư điệ ửn t ” 113

6.7.1 Đặ ấn đềt v : 113

6.7.2 Quy trình mã hóa thư điệ ửn t : 114

6.7.3 Quy trình giải mã thư điệ ửn t 114

CHƯƠNG VII 116

MẠNG NGN VÀ VẤN ĐỀ BẢO MẬT TRONG MẠNG NGN 116

7.1 GIỚI THIỆU CHUNG VỀ MẠNG NGN: 116

7.2 VẤN ĐỀ BẢO MẬT TRONG MẠNG NGN: 120

7.2 1 Những vấn đề bảo mật khi triển khai NGN: 120

7.2.2 Nguyên tắc bảo mật: 120

7.2.3 Một số biện pháp hỗ trợ bảo mật: 121

PHẦN KẾT LUẬN VÀ ĐỊNH HƯỚNG NGHIÊN CỨU 123

1 Kết luận: 123

2 Định hướng nghiên cứu 124

TÀI LIỆU THAM KHẢO 125

Trang 6

5

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

AES Advan d Encryp on and d ce ti St ar Chuẩn mã hóa nâng cao

CBC Cipher-Block Chaining Chế độ liên kết khối mã

CFB Cipher Feedback Chế độ phản hồi đầu mã

CRHF Collision Resistant HF Hàm băm khó va chạm

DES D a Encryption Standardat Chu n mã hóa ẩ

DSS Digital Signature Standard Chu n ch ẩ ữký số

ECB Electronic Code-Book Chế độ chuyển mã điện tử LFSR Linear Feedback Shift Register B ghi d ch h i ti p tuy n tính ộ ị ồ ế ếMAC Message Authentication Code Mã xác thực bản tin

MD4 Message Digest 4 Hàm băm MD4

MD5 Message Digest 5 Hàm băm MD5

MDC Manipulation Detection Codes Mã phát hiện sự sửa đổi

NBS National bureau of standards U ban Tiêu chu Qu gia M ỷ ẩn ốc ỹNIST NaTechnology tiona In titl s ute of Standards d an Viện Tiêu chuẩQu c gia a K ố Ho n và Công ngh ỳ ệNSA National Security Agency C An ninh Qu ục ốcgia Mỹ

OFB Output Feedback Chế độ phản hồi đầu ra

OWHF Oneway hash function Hàm băm một chiều

PIN Personal Identification Number S ố định danh cá nhân

SHS Secure Hash Standard Phương pháp SHS

Trang 7

6

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

Hình 2.1: Mô hình hệ thống mã hóa quy ước……….… 16

Hình 2.2: Thanh ghi dịch hồi tiếp tuyến tính (LFSR)……… 33

Hình 2.3: Biểu diễn dãy 64 bit x thành 2 thành phần L và R………35

Hình 2.4: Một vòng của DES………36

Hình 2.5: Hàm f của DES……… 37

Hình 2.6: Tính bảng khóa DES……… 40

Hình 2.7: Chế độ CBC……… 50

Hình 2.8: Chế độ CFB……… 51

Hình 3.1: Hệ mật McElice………77

Hình 3.2: Sơ đồ trao đổi khóa Okamoto – Tanaka……… 80

Hình 4.1: Bảng so sánh độ an toàn giữa khóa bí mật và khóa công cộng…………82

Hình 4.2: Đồ thị so sánh ch phí công phá khóa bí mật và khóa công cộng……….83

Hình 5.1: Bảng phân loại các hàm băm mật mã và ứng dụng……… 89

Hình 5.2: Dùng MAC bảo đảm tính toàn vẹn của dữ liệu………91

Hình 5.3: Dùng MDC và mã hóa bảo đảm tính toàn vẹn của dữ liệu……… 91

Hình 5.4: Dùng MDC và kênh tin cậy bảo đảm tính toàn vẹn của dữ liệu……… 91

Hình 5.5: Tạo một thông báo có ký bằng chữ ký số……….93

Hình 5.6: Các bước kiểm tra một thông báo đã ký……… 93

Hình 5.7: Sơ đồ chữ ký số RSA (không bí mật bản tin)……… 95

Hình 5.8: Sơ đồ chữ ký số RSA (có bí mật bản tin)………95

Hình 6.1: Vấn đềchủ ở ữ s h u khóa công c ng……….98 ộ Hình 6.2: Các thành ph n cầ ủa một ch ng nh n khóa công c ng………99 ứ ậ ộ Hình 6.3: Mô hình Certification Authority đơn giản……… 100

Hình 6.4: Phiên b n 3 cả ủa chuẩn ch ng nhứ ận X.509……… 101

Hình 6.5: Phiên b n 2 cả ủa cấu trúc ch ng nh n thu c tính………103 ứ ậ ộ Hình 6.6 Quá trình ký gi y ch ng nh n……….104 ấ ứ ậ Hình 6.7: Quá trình ki m tra ch ng nh n………105 ể ứ ậ Hình 6.8: Mô hình PKI cơ bản………105 Hình 6.9: M u yêu cẫ ầu chứng nh n theo chu n PKCS#10……….107 ậ ẩ

Trang 8

7

Hình 6.10: Định dạng thông điệp yêu c u ch ng nh n theo RFC 2511……… 108 ầ ứ ậHình 6.11: Phiên b n 2 cả ủa định d ng danh sách ch ng nhạ ứ ận bị ủ h y………… 110 Hình 6.12: Mô hình CA t p trung……… 111ậHình 6.13: Mô hình CA phân c p……… 112 ấHình 6.14: Mô hình “Web of trust”……… 112 Hình 6.15: Quy trình mã hóa thư điệ ửn t ……… 114 Hình 6.16: Quy trình giải mã thư điện tử……… 115

Trang 9

sử dụng trong l v c quân s , chính trĩnh ự ự ị, ngo i giạ ao Ng nay, ày các ứng ụng d

mãhóa và b mảo ật thông tin ang đ được ử ụs d ng ng càng ph bi n trong c ày ổ ế cá

lĩnh v c khác nhau trên th gi , c nh v an ninh, quự ế ới từcá lĩ ực ân s , qu c phòng…, ự ốcho đến c lcá ĩnh ự ân sự n ư ươv c d h th ng m i i n t , ngân hàng… ạ đ ệ ử

Nghiên cứu về các phương pháp mật mã, các phương thức áp dụng mật

mã vào việc bảo mật thông tin, ứng dụng mật mã trong các lĩnh vực của đời sống trở thành một yêu cầu cấp thiết, có ý nghĩa quan trọng

2 M ụ c đích nghiên c ứ u củ a lu ận văn, đối tượ ng, phạ vi nghiên cứ m u

Mục đích của luận văn là nghiên cứu các phương pháp mật mã , các quy trình mã hóa và giải mã thông tin, các ưu điểm và nhược điểm của từng phương pháp Đồng thời tìm hiểu một số ứng dụng của mã hóa trong bảo mật thông tin, chữ ký điện tử, bảo mật thư điện tử,…

3 Tóm t t n i dung lu ắ ộ ận văn:

- Chương I: Tổng quan về mật mã học

- Chương II: Một số phương pháp mã hóa quy ước:

- Chương III: Hệ mật khóa công cộng

- Chương IV: Hệ mật khóa quy ước và hệ mật khóa công cộng

- Chương V: Hàm băm và tính toàn vẹn dữ liệu

- Chương VI: Mạng NGN và vấn đề bảo mật trong mạng NGN

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

Để hiểu về mật mã, trước hết luận văn nghiên cứu về khái niệm mật mã, quá trình

mã hóa và giải mã của các phương pháp mã hóa quy ước, các phương pháp mã hóa khóa công cộng Qua đó thấy được ưu điểm và nhược điểm của từng phương pháp

Áp dụng vào thực tế, căn cứ vào các ưu điểm và nhược điểm của các phương pháp

mã hóa đã phân tích, tìm hiểu một số ứng dụng của một số phương pháp mật mã vào mục đích bảo mật thông tin, đảm bảo toàn vẹn và chính xác của dữ liệu như chữ ký điện tử, hệ thống bảo vệ thư điện tử,…

Trang 10

Đây là ngành khoa h c quan tr ng có nhi u ọ ọ , ề ứng d ng trong ụ đời sống – xã h ội.

Với s phát tri n ng cự ể ày àng n anh chóng c In rnet và c h ủa te ác ứng dụng giao

d ch i n t n m ng, nhu u b o v thông tin ng c h thị đ ệ ử trê ạ cầ ả ệ tro cá ệ ống và ng dứ ụng

đ ệ ửi n t ngày ng cà được qu tâm và có ý han ng ĩa hế ứt s c qu an tr ng Các k t q c a ọ ế uả ủkhoa c m mã ng càng họ ật ày được i n khtr ể ai trong nhiề ĩnh ựu l v c khác nhau c a i ủ đờ

sống – xã hội, trong ó ph i k n t nhi u nhđ ả ể đế rấ ề ững ứng dụng đ a d ng trong lĩnh ạvực ând s , thự ương mại C ác ng dứ ụng mã hóa thông n cá nhân, o ti tra đổi thông n tikinh doanh, thực hi n c giao dệ cá ịch i n qua mđ ệ tử ạng ã đ trở n gên n g i và qu ầ ũ en

th c v i m i nuộ ớ ọ gười

Cùng v phát tri n cới sự ể ủa khoa h c m tính và In rnọ áy te et, các ng ên ứhi c u và ứng dụng ủc a mật mã học ngày càng tr n ở ên đ ạa d ng h n, m ra nhi u ơ ở ề hướng n i gh ên

c chuyên sứu âu vào từng l v ĩnh ực ứng dụng đặc thù v i nhớ ững c trđặ ưng riêng

Mã hóa tuy không phải là một lĩnh vực mới mẻ, song để có thể hiểu thật kỹ, thật sâu về nó cần phải có một quá trình nghiên cứu lâu dài và chi tiết Do vậy, mặc dù đã rất

cố gắng nhưng những nội dung em trình bày trong đồ án này chắc hẳn vẫn không tránh khỏi những thiếu sót Em rất mong sự quan tâm chỉ bảo của thầy cô giáo và sự góp ý của các bạn

Em xin gửi lời cảm ơn chân thành đến các thầy cô giáo trong Khoa Điệ ử n tviễn thông trường Đại học Bách Khoa Hà Nội Đặc biệt, em xin chân thành cảm ơn

TS Nguyễn Thúy Anh, TS Nguyễn Hữ Trung u đã hướng d n, ch b o và t n ẫ ỉ ả ậtình giúp đỡ cho em hoàn thành đồ án này

Trang 11

10

CHƯƠNG I: TỔ NG QUAN VỀ MẬ T MÃ H C Ọ

Nội dung của chương I giới thiệu tổng quan các khái niệm cơ bản về mật mã học, một

số ứng dụng của mật mã trong thực tế, các dịch vụ an toàn cơ bản mà mật mã đảm bảo Trong chương này cũng giới thiệu một số kiến thức toán học phụ trợ cho việc nghiên cứu

về mật mã, đồng thời giới thiệu sơ lược về hệ thống mã hóa, hệ thống mã hóa quy ước, hệ thống mã hóa khóa công cộng và sự kết hợp mã hóa quy ước và mã hóa khóa công cộng.

1.1 M t mã h ậ ọ c:

M t mã h c là ngành khoa h c ng d ng to h c vào vi c bi n i thô ậ ọ ọ ứ ụ án ọ ệ ế đổ ngtin thành m t d ng khác vộ ạ ới m c ích che d u n i dung, ý ngh a thông tin c n mụ đ ấ ộ ĩ ầ ã hóa Đây là m t ngành qu tr ng và có nhi u ng d ng trong i s ng xã h ộ an ọ ề ứ ụ đờ ố ội

Ứng d ng c a k a hụ ủ ho ọc m t mã không ch ậ ỉ đơn thu n là m hó vầ ã a à gi i mả ã thông tin mà còn bao g m nhiồ ều v n kh nh c n ấ đề ác au ầ được nghiên c u và giứ ải quy t ế nhưchứng thực nguồn gố ộc n i dung thô tin (k thung ỹ ật chữ ký i n t ), ch ng đ ệ ử ứ

nh n tính xác th c v ng i s h u mã khóa (ch ng nh n khóa công c ng), cậ ự ề ườ ở ữ ứ ậ ộ ác quy trình giúp t o i thông ra đổ tin và th c hiự ện giao d ch iị đ ện t to trử an àn ên

m ngạ Những kết quả nghiên c u v m t mã c ng ã ứ ề ậ ũ đ đượ đưc a vào trong cá c hệthống ph c t p hơn, k t h p v i nh ng k thuứ ạ ế ợ ớ ữ ỹ ật khác áp để đ ứng yêu ầ đ ạ c u a d ng của các h th ng ng d nệ ố ứ ụ g khác nh trong th c t , ví d nh h th ng b phiau ự ế ụ ư ệ ố ỏ ếu

b u c qua m ng, h thầ ử ạ ệ ống ào t o t xa, h th ng qu n lý ninh cđ ạ ừ ệ ố ả an ủa c cá đơn v ịvới h ng ướ tiếp c n sinh trậ ắc h c, họ ệ thống cung c p dấ ịch v multimedia ụ trên

m ng v i yêu c u cung c p d ch v và b o v b n quy n s h u trí tu i vạ ớ ầ ấ ị ụ ả ệ ả ề ở ữ ệ đố ới thông tin s ố

Các ứng ụng ủa ậ d c m t mã c và khoa c b o v thông tin t a d ng và họ họ ả ệ rấ đ ạphong phú; tùy vào tính c thù c a m h th ng b o thông tin mà ng dđặ ủ ỗi ệ ố ả vệ ứ ụng

s có c tính n ng i c ẽ cá ă vớ đặ trưng ng Nhưng, nói một cách tổng quát, kỹ thuật riêmật mã nhằm đảm bảo ba dịch vụ an toàn cơ bản sau:

 Tính b o m t thông tinả ậ : h thệ ống đảm b o thông tin ả được giữ bí m t ậThông n có th b phát hi n, ví nh ong quá ti ể ị ệ dụ ưtr trình tru n nh n, nhyề ậ ưng người t n ấcông không th hiể ể đượu c n i dung thông tin ộ bị đ ánh c p này ắ

 Tính toàn v n thô ng tin: hệ ố th ng b o m tính to vả đả àn n thông tin trong ẹliên lạc ho c giúp ph hi n r ng thông tin ặ át ệ ằ đã b s a ị ử đổi

Tính xác thực: Xác th c ự các i t đố ác ong li l c và xác th c n i dung tr ên ạ ự ộthông tin trong liên l ạc

Trang 12

11

h ng l i s th i thác

Ngoài ra, kỹ thuật mật mã còn đảm bảo c ố ạ ự oá tráchnhiệm H th ng m b o m i c bệ ố đả ả ột đố tá ấ kỳ t trong h th ng không th t ch i ệ ố ể ừ ốtrách nhi m hành ng mà mình ã th hiệ về độ đ ực ện

Những kết q hi c v m t mã ng ã uả ng ên ứu ề ậ cũ đ đượ đưc a vào ng c h tro cá ệ

th ng ph t p h n, k t h p v i nhố ức ạ ơ ế ợ ớ ững kỹ thu t khác áp ậ để đ ứng yêu c u a dầ đ ạng

c c h th ng ng dủacá ệ ố ứ ụng kh nh trong th t , ví d nh h thác au ực ế ụ ư ệ ống ỏ b phi u ế

b u c qua m ng, h thầ ử ạ ệ ống đ ào t o t xa, th ng qu n lý ninh c a c ạ ừ hệ ố ả an ủ cá đơn ị v

v i hớ ướng tiế ậ p c n sinh t c h c, h th ng ng p ch a ph ng n tr rắ ọ ệ ố cu cấ dị vụ đ ươ tiệ ên

m ng vạ ới yêu c u ng pầ cu cấ d h và o b n quy n hịc vụ bả vệ ả ề sở ữu trí tuệ đố i với thông tin s ố

1.2 M t s ộ ố kiến thứ c toán h ọ c phụ ợ tr :

 Định ngh a 1.1: Zm đượ địĩ c nh ngh a là tậ ĩ p h p{0,1, , ợ m-1}, đượ c ang b tr ị phé p cộ ng (ký hi u và phép nhân (ký hi u l ệ +) ệ à x) Phép c ng và phép nhâ ộ n trong Zm đượ c thực hiện tương tự trong Z , ngoại trừ ết quả tính theo modulo k

Trang 13

• Tính bắc cầu: N u a b (mod m) và b c (mod m) thì a c (mod m) ế ≡ ≡ ≡

• N u a aế ≡ 1 (mod m) và b b≡ 1 (mod m) thì a+b a≡ 1+b1 (mod m) và a.b ≡

Hai tính ch t quan tr ng cấ ọ ủa định th c là: det Iứ m =1 và

det (AB) = detA x detB

N u det A=0 thì A không có ma tr n nghế ậ ịch đảo A-1

Nếu det A ≠ 0 thì A có ma trận nghịch đảo A-1

Trang 14

1 T p ngu n P là t p h u h n t ậ ồ ậ ữ ạ ấ t c ả các m u n ngu n c n mã hóa có th ẩ ti ồ ầ ể có

2 T p ậ đ ích C là t p h u h n t t c c m u n có ậ ữ ạ ấ ả cá ẩ ti thể có sau khi mã hóa

3 T p khóa K là t p h u h n ậ ậ ữ ạ các khóa có thể được sử ụ d ng

1.4 H th ệ ống mã hóa quy ước (Mã hóa đố i xứng)

Trong h th ng mã hóệ ố a quy ướ c, quá trình mã hóa và gi i mã m t thông i p ả ộ đ ệ

s d ng cùng m t mã khóa g i là ử ụ ộ ọ khóa bí m t ậ (secret key) hay khóa i x đố ứ ng

(symme c key) Do , vtri đó ấn b o mđề ả ật thông tin đã mã hóa ho àn toàn ph thu vào ụ ộc việc gi bí m t nữ ậ ội dung c a mã khóa ủ đã được sử d ng ụ

V i t c và kh n ng x ng cớ ố độ ả ă ử lý ày àng được nâng o cca ủa c b vi x lý cá ộ ử

Trang 15

mật thông tin liên c c a chính ph Hoa K lạ ủ ủ ỳ cũng nh ng c ng d ng dân s ư tro cá ứ ụ ự

Thuậ ánt to Rijnd l Vincent Rijmae do en và Joan D m ã ae an đ được chính th c ch n ứ ọ

tr thành chu n mã hóở ẩ a nâng cao (Advan d Encryp on and d - ce ti St ar AES) t 02 ừtháng 10 n m 2000.ă

1.5 H th ng mã hóa khóa công c ng (Mã hóa b ệ ố ộ ất đố ứ i x ng)

N u nh v n khó kh n t rế ư ấ đề ă đặ a đối với các phương pháp mã hó quy a ước chính là bài to trao i mã khóa thì ng c l i, c phán đổ ượ ạ cá ương pháp mã hóa khóa công c ng giúp cho viộ ệc o i mã khóa tr n d dàng h N i dung c a tra đổ ở ên ễ ơn ộ ủ

khóa công c ng ộ (pub klic ey) không c n ph i gi bí m t nhầ ả ữ ậ ư đố ới v i khóa bí m t ậtrong c ph ng pháp mã hóa quy c S d ng óa công c ng, chúng ta có th cá ươ ướ ử ụ kh ộ ểthiế ật l p một quy ình to tr an àn truy i khóa bí m t để đổ ậ được s d ng trong h ử ụ ệ

th ng mã hóa quy ố ước

Trong nh ng n m g n ây, c phữ ă ầ đ ác ương pháp mã hóa khó ông ca c ộng, c đặbiệt phlà ương pháp RSA [45], được s d ng ng càng nhi u trong c ng d ng ử ụ ày ề cá ứ ụ

m hóa trã ên thế giới và có th x nhể em ư đ ây là ph ng pháp u n ươ ch ẩ đượ ử ục s d ng

ph biổ ến nh t n Internấ trê et, ng d ng trong vi c b o m t thông tin ứ ụ ệ ả ậ liên ạ ũng l c c

nh trong l nh v c tư ĩ ự hương m i ạ đ ệi n t ử

1.6 K t h ế ợp mã hóa quy ướ c và mã hóa khóa công c ộ ng.

Các phương pháp mã hóa quy ước có u m x lý r t ư điể ử ấ nhanh và kh nả ăng

b o m t o so v i c ph ng pháp mã hóa khóa công c ng nh ng l i gả ậ ca ớ cá ươ ộ ư ạ ặp ph i ả

v n khó kh n trong viấ đề ă ệc o i mã khóa tra đổ

Ng c l i, c phượ ạ cá ương pháp mã hó hóa công c ng tuy x lý thông tin a k ộ ử

ơch m hn nhậ ưng l i cho phép ngạ ười s dử ụng tra đổo i mã khóa d dà h n ễ ng ơ

Do ó, trong c ng d ng th c tđ cá ứ ụ ự ế, chúng ta c n ầ phố ợ đượ ưu đ ểi h p c i m c a ủ

m i ph ng pháp mã hóa xỗ ươ để ây d ng h th ng mã ự ệ ố hóa và b o m t thông tin hi u ả ậ ệ

qu và ả an toàn

Trang 16

15

Kết luận: Mật mã học là ngành khoa học ứng dụng toán học vào việc biến đổi thông tin thành một dạng khác với mục đích che dấu nội dung thông tin cần mã hoá Kỹ thuật này nhằm đảm bảo 3 dịch vụ an toàn cơ bản là: tính bảo mật thông tin, tính toàn vẹn thông tin và tính xác thực Ngoài ra kỹ thuật mật mã còn đảm bảo chống lại sự thoái thác trách nhiệm Có hai hệ thống mã hoá cơ bản là hệ thống mã hoá quy ước và hệ thống mã hoá khoá công cộng Với phương pháp mã hoá quy ước (mã hoá đối xứng), quá trình mã hoá và giải mã một thông điệp sử dụng cùng một khoá (gọi là khoá bí mật) Hệ thống mã hoá khoá công cộng (mã hoá bất đối xứng) sử dụng khoá công cộng, không cần phải giữ bí mật khoá như đối với khoá bí mật.

Trang 17

16

CHƯƠNG II: MỘ T S PHƯƠNG PHÁP MÃ HÓA QUY Ư C Ố Ớ

Trong chương I, chúng ta đã tìm hiể ổ u t ng quan v m t mã h c và các h th ng mã ề ậ ọ ệ ố hóa N i dung c ộ ủa chương II sẽ gi i thiệ ớ u chi ti ết hơn về ệ h th ống mã hóa quy ướ c (hay còn gọi là hệ ống mã hóa đố th i xứng), các phương pháp mã hóa quy ước như: phương pháp mã hóa d ch chuy ị ển, phương pháp mã hóa thay thế, phương pháp mậ t mã Vigenère, phương pháp mậ t mã hoán v , ị phương pháp mật mã Hill, phương pháp mậ t mã Affine, các

h ệ mã tích, các hệ mã dòng, các phương pháp mã hóa theo khối được sử ụng phổ ến d bi trong nh ng th p niên g ữ ậ ần đây như DES, AES.

2.1 H th ệ ống mã hóa quy ướ c

Trong h th ng mã hóa quy c, thông i p ngu n ệ ố ướ đ ệ ồ được mã hóa với mã

khóa k được th ng nh t tr c giữố ấ ướ a ng i g i A và ng i nh n B Ng i A s s ườ ử ườ ậ ườ ẽ ử

d ng ụ mã óa kh k để mã hóa thông i p thành thông iđ ệ x đ ệp và g i cho ng i y y ườB; người B s s d ng mã khóa k gi i mã thông i p này ẽ ử ụ để ả đ ệ y

V n toàn b o mấ đề an ả ật thông tin được mã hóa ph thu c vào vi c gi ụ ộ ệ ữ bí

m t n i dung mã khóa N u ng i C bi t ậ ộ k ế ườ ế được mã khóa thk ì C có th “m khóa” ể ởthông đ ệi p đ đượã c mã hóa mà người A gửi cho người B

Hình 2.1 Mô hình h th ệ ố ng mã hóa quy ướ c

2.2 M t mã thay th ậ ế

2.2.1.Phương pháp mã hóa dị ch chuy n (M t mã d ch vòng) ể ậ ị

Phương pháp mã hóa d chuy n là m t trong nh ng ph ng pháp l i ịch ể ộ ữ ươ âu đờnhất đượ ử ục s d ng để mã hóa Thông iđ ệp được mã hóa b ng c d chuy n xoằ ách ịch ể ay vòng t ng ký t i ừ ự đ k v trí ị trong b ng ch ả ữcái

Trang 18

và d dàng b gi có thể ễ ị ả i mã b ng ằ các h th ử ầ l n l t 26 giá tr khóa k ượ ị K Tính trung

b h, thông i ìn đ ệ p ã đ đượ c mã hóa có th b gi ể ị ả i mã sau kho ng n /2 l ả ầ n thử khóa k K

Cụ thể, ta s ử ụ d ng mã d ch vòng (v ị ớ i modulo 26) đ ể mã hóa thông đi ệ p trên 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:

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ố: 17.9.9.24.17.9.5.24

Cuối cùng ta biế ổ n đ i dãy số nguyên trên thành các ký tự tương ng, ta có ứ bản mã: RJJYRJFY

Để gi i mã cho bản này, ta lầ ả n lư ợ t th c hi n các thao tác: biến bản mã ự ệ thành dãy số nguyên r i trừ các giá trị ồ cho 5 (rút g n theo modulo 26), cuối cùng là ọ biến đổ ạ i l i dãy số ậ nh n được này thành các ký tự

Trong trường h p c biợ đặ ệt , = 3 , k ph ng pháp mã hóa bươ ằng ịch d chuy n ể

Trang 19

18

được g i là phọ ương pháp mã hóa Caesar

Mã hóa d chuy n l m t ph ng pháp mã hóa n gi n, thao c x lý mã ịch ể à ộ ươ đơ ả tá ửhóa và gi i mã ả được th c hi n nhanh chóng Tuy nhiên, trên th c t , ph ng pháự ệ ự ế ươ p này c h d dàng b phá v b ng cách ó t ể ễ ị ỡ ằ tìm khóa vét cạn ( ử ọth m i kh n ng óa ả ă kh k

K) Đ ềi u nà ho to có thy àn àn ể ự th c hi n ệ được do ông gi óa ch kh an kh K ỉ có n phần

t ch n lử để ọ ựa

Vậy điều kiện cầ ển đ có một hệ ật an toàn là phép tìm khóa vét cạn phải mkhông thể thực hiện được Tuy nhiên, một không gian khóa lớn vẫn chưa đủ để đả m

bả ộo đ mật của thông tin

2.2.2 Phương pháp mã hóa thay thế

Phương pháp mã hóa thay th (Substitu on pher) là m t trong nh ng ế ti Ci ộ ữ

phương pháp mã hóa n i ti ng và ã ổ ế đ đượ ử ục s d ng t hàng trừ ăm n m nay Ph ng ă ươpháp n th c hi n viày ự ệ ệc mã hóa thông i p b ng đ ệ ằ cách án ị c ph ho v cá ần t trong ử

b ng ả chữ cái T ng quát là hoán v ổ ịcác phần tử trong t p nguậ ồn P

Thu t toán 2.2.2 ậ Ph ng pháp mã hóa b ng thay th ươ ằ ế

Cho P C = = Zn

K là tập h p t t c c ho v c a ợ ấ ảcá án ị ủ n ph n t 0,1, , ầ ử n -1

Như ậ v y, mỗi khó a π ∈ K là một ho ván ị ủ c a n ph n t 0,1, , ầ ử n - 1

V i m i khóa ớ ỗ π ∈ K , nh ngh đị ĩa:

eπ (x) (x) và d= π π(y) = π-1(y) v i x,y Zn ớ ∈

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

E = {eπ , π ∈ K} và D ={Dπ , π ∈ K }

Ví d : s d ng phép hoán v ng u nhiên ử ụ ị ẫ π t o nên m t hàm mã hóa, các ký t c a ạ ộ ự ủ

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

Trang 20

19

Như vậ 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 2 (Ký t b ứ ự ản mã) lên trướ c rồ ắ ế i s p x p theo th t ứ ự chữ cái Ta có:

M ỗ i khóa của mã thay thế là một hoán vị ủa 26 ký tự Số các hoán vị này là 26! c

>4.10 26 Đây là mộ ố ấ ớ t s r t l n nên khó có th ể tìm đượ c khóa b ng phép tìm khóa vét ằ

c n ạ

Đây là m t ph ng pháp ơn gi n, thao c mã hóa và giộ ươ đ ả tá ải mã được th c ựhiện nhanh chóng Phương pháp này kh c ph c i m hắ ụ đ ể ạn chế ủ c a phư ng pháp ơ

mã hóa b ng dằ ịch chuy n là có khô gian khóa nh n d dàng b gi i mã ể ng K ỏ ên ễ ị ả

b ng h th nghi m l n l t giá tr khóa ằ các ử ệ ầ ượ n k ∈K

Trong ph ng pháp mã hó hay thươ a t ế có không gi khóa r t l n van K ấ ớ ới ! n

ph n t n ông th b gi i mã b ng ầ ử ên kh ể ị ả ằ cách “vét c n” m i ạ ọ trường h p óa ợ kh k

Tuy nhiên, trên ự ế th c t thông i p đ ệ được mã hóa bằng ph ng pháp này vươ ẫn có

x ạduy nhất vào một phần tử ∈ C Nói cách k ∈ K , một song ánh được thiết lập y

t P vào C Vì vừ ậy các hệ trên còn được gọi là các hệ thay th ế đơn biểu

Khác với hướng ti p cế ận này, phương pháp Vigenere sử ụ d ng m t t khóa có ộ ừ

độ dài m Có th ể xem như phương pháp mã hóa Vigenere Cipher bao gồm m phép

Trang 21

20

n

mã hóa b ng d ch chuyằ ị ển được áp dụng luân phiên nhau theo chu k Hỳ ệ m t ậVigenère là m t h thay th ộ ệ ế đa biểu

Thu t toán 2.2.3 ậ Ph ươ ng pháp mã hóa Vigenere

Ch n s nguy d ng ọ ố ên ươ m Định nghĩa P = C = K = Z ( n)m

Với mối khóa k={k1, k2, km}, ta định nghĩa:

ek (x1, x2, … xm} = (x1+k1) mod n, (x2+k2) mod n, …(xm+km) mod n

dk (y1, y2, … ym} = (y1- k1) mod n, (y2- k2) mod n, …(ym- km) mod n

T ừ khóa tương ứ ng v i dãy số ớ k=(2, 8, 15, 7, 4, 17)

Ta bi ến đổ ả i b n rõ thành các th ặng dư theo mod 26, viế t chúng thành các nhóm 6 r ồ i

c ộ ng với khóa theo modulo 26 như sau:

B ả n rõ 12 4 4 19 12 4 0 19

Khóa 2 8 15 7 4 17 2 8

B ả n mã 14 12 19 0 16 21 2 1

Trang 22

21

Dãy ký t ự tương ng vớ ả ứ i b n mã là OMTAQVCB

Để ả gi i mã, ta có th dùng cùng t khóa nhưng thay vì th c hi n phép c ng, ể ừ ự ệ ộ

ta tr nó theo modulo n.ừ

Không gi óa c a ph ng pháp Vigen e pher có s phan kh K ủ ươ er Ci ố ần t là ử nm ,

l n h h n pớ ơn ẳ hương pháp s l ng ph n t c a không gi khóa ố ượ ầ ử ủ an K trong

phương pháp mã hóa b ng d ch chuy n ằ ị ể 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 Do , đó việc tìm ra mã khóa k

để ả gi i mã thông i p ã đ ệ đ được mã hóa s khó kh n h ẽ ă ơn đố ớ hươi v i p ng pháp mã hóa b ng d ch uy ằ ị ch ển

2.3 Phương pháp ậ m t mã hoán v : ị

Các ph ng pháp m mã ươ ật thay thế nêu tr u d a ên đề ự trên ý t ng chung: ưởthay th mế ỗi ký ự t trong thông i p nguđ ệ ồn b ng mộằ t ký t kh ự ác t o thành để ạthông i p đ ệ đã được mã hóa

Ý t ng chính cưở ủa phương pháp mật mã hoán v (Pị erm tatu ion Cipher) là

v n gi nguyên c ký t trong thông i p nẫ ữ cá ự đ ệ guồ (bản rõ) nhưng sẽ thay i v trn đổ ị í

của chúng bằng cách sắp xếp lạ cái c ký t ự này N cách ácói kh thông iđ ệp ngu n ồđược mã hóa b ng h s p x p l i cáằ các ắ ế ạ c ký ự t trong đó Ở đây không có một phép toán đạ ối s nào c n th c hi n khi mầ ự ệ ã hóa và giải mã

Trang 23

22

n

Thu t ậ toán 2.3 Phương pháp mã hóa b ng hoán v ằ ị

Ch n s nguy d ng ọ ố ên ươ m Định ngh ĩa:

Trong đó, π-1 là phép hoán v ị ngược của π

Ví d : Gi s m=6 và khóa là phép hoán v sau: ả ử ị

Trang 24

23

ph n trong m i ph n t xầ ỗ ầ ử ∈P để phát sinh ra m thành phần tạp thành ph n t y C.ầ ử ∈

Thu t ậ toán 2.4 Ph ươ ng pháp mã hóa Hill

Ch n s nguy d ng ọ ố ên ươ m Định ngh ĩa:

Tóm lại, trong phương pháp này, ta có thể ấ l y m t ma trộ ận k kích thước m x

m làm khóa , v i kớ i,j là ký hiệu của phầ ử ởn t hàng th i và c t th j c a k ứ ộ ứ ủ

Trang 25

Công th c giứ ải mã được xây dựng trên cơ sở: y=x.k

Trang 26

25

Nh n xét:

Ta có thể ự th c hi n phép gi i mã n u k có m t nghệ ả ế ộ ịch đảo Trên thực tế, để phép

gi i mã là có th thả ể ực hiện được, điều ki n c n là k ph i có nghệ ầ ả ịch đảo

Tính khả ngh ch của mộị t ma tr n vuông phậ ụ thuộc vào giá tr nh thị đị ức của nó Một

• Ngượ ạc l i: khi k có nghịch đảo k-1 Theo quy tắc nhân định th c ta có: ứ

1 = det I =det(kk-1) =det k.det k-1

V y det k có nghậ ịch đảo trong Zn

Ph n háp m mã dươ g p ật ịch vòng là m t tộ rường h p c bi t c phợ đặ ệ ủa ương pháp

m mã thay th , tro ó ch s d ng giá khóa trong s ! ph n t , thì ật ế ng đ ỉ ử ụ n trị k n ầ ử

ph ng pháp Affine l i là m t tươ ạ ộ rường ợ đặ h p c bi t khác của mệ ật mã thay th ếTrong mã Affine, ta gi i h n ch xét các hàm mã có d ng: ớ ạ ỉ ạ

e(x) = ax + b mod 26 (a,b Z∈ 26)

Các hàm này được g i là các hàm Affine ( khi a=1 ta có mã d ch vòng) ọ ị

Thu t ậ toán 2.5 Ph ươ ng pháp Affine

Trang 27

26

Để có th gi i mã chính xác thông tin ã ể ả đ được mã hóa b ng hàm ằ ek ∈E , yêu

cầu cần thiết là hàm Affine phải là đơn ánh Như vậy, v i m i giá tr y Zớ ỗ ị ∈ n, ta có: ax + b ≡y (mod n) ả ph i có nghiệm x duy nh t x ∈Zấ n

Tức là: ax ≡ y - b (mod n)

Vì y thay đổi trên Znnên (y b) cũng thay đổi trên Z– n V y ta chậ ỉ ầ c n nghiên cứu phương trình đồng dư ax y ≡ (mod n)

Định lý 2.1: Phương trình ax + b y (mod n) có nghiệm duy nhất x Zn với mỗi giá

tr b ịZ n khi và chỉ khi a và n nguyên t ố cùng nhau, tức là ƯCLN (a,n) =1

Chứng minh:

Gi s ả ử ƯCLN (a,n) = d >1 Khi đó, đồng dư thức ax ≡ 0(mod n) sẽ có ít nhất hai nghiệm phân biệt trong Zn là x=0 và x=n/d Trong trường hợp này, e(x) = ax+b mod n không phải là một hàm đơn ánh và bở ậi v y nó không thể là một hàm mã hóa

Định lý 2.2: G i ọ φ(n) là s ố lượ ng các ph ầ n t ử thu c Zn và nguyên t cùng nhau v ộ ố ớ i n

Gi s ả ử : n là tích củ a các ph n t p ầ ử iei v ớ i i chạy từ 1 tới m, p i là các số nguyên t khác ố nhau và e iZ + ,1≤i≤m, ta có:φ(n) là tích c a các ph ủ ầ n tử (p iei –p ie(i-1) ) với i chạy từ 1

Trang 28

Chứng minh tương t như ởự trên, ta có kết luận: a có nghịch đảo theo modulo n khi

và chỉ khi ƯCLN(a,n) =1, và nế ồ ạu t n t i a-1 thì nó ph i là giá trả ị duy nh t ấ

Xây d ng công thự ức tính d(y):

Xét phương trình đồng dư y≡ ax + b (mod n)

Phương trình này tương đương với phương trình :

a.x=y-b (mod n)

Vì ƯCLN (a,n) =1 nên a có nghịch đảo a-1 theo modulo n

Nhân cả 2 v v i aế ớ -1 ta có: a-1.(ax)=(a-1.a).x=1.x=x

Như vậy : x≡ a-1(y-b) modn

V y hàm i mã là: d(y) = aậ giả -1(y-b) modn

Ta có bản mã là 0,23,6 tương ứ ng v i các ký t AXG ớ ự

Trang 29

28

Gi ả i mã: Từ các xâu ký tự ản mã AXG, ta biến đổ b i thành các th ng dư theo modulo ặ

26, ta đượ c các số tương ng là 0,23,6 ứ

15.0-19 mod26=7 15.23- 19 mod 26 =14 15.6-19 mod 26=19

Ta có bản rõ là 7,14,19 tương ứ ng v i các ký t “h,o,t” ớ ự

2.6 Các h m t mã tích: ệ ậ

Năm 1949, Shannon đưa ra ý tưởng keets hợp các hệ mật bằng cách tạo tích của chúng Ý tưởng này có tầm ảnh hưởng quan trọng trong việc thiết kế các hệ mật hiện nay (ví dụ chuẩn mã dữ liệu - DES)

Phương pháp mã hóa bằng phép nhân (Multiplicative Cipher) là một phươngpháp mã hóa đơn giản Không gian khóa K có tất cả ∅n phần tử Tuy nhiên, việc chọn khóa k=1∈K sẽ không có ý nghĩa trong việc mã hóa thông tin nên số lượng phần tử khóa thật sự được sử dụng trong K là ∅n-1

Vấn đề được đặt ra ở đây là độ an toàn của phương pháp này phụ thuộc vào

số lượng phần tử trong tập khóa K Nếu giá trị ∅n-1 không đủ lớn thì thông tin được mã hóa có thể bị giải mã bằng cách thử toàn bộ các khóa k K Để nâng cao ∈

độ an toàn của phương pháp này, giá trị ∅n phải đủ lớn hay giá trị n phải đủ lớn Khi đó, vấn đề còn lại là làm thế nào thực hiện được một cách nhanh chóng các phép toán trên tập số nguyên lớn

Trang 30

29

cấu có cùng các không gian bản mã và bản rõ Tích của S1 và S2 (kí hiệu là S1 x S2)

là hệ mật (P, P, K1 x K2, E, D)

Khoá của hệ mật tích có dạng: k=(k1, k2) trong kđó 1 ∈K1, k2 K∈ 2

C ác quy tắc mã hoá và giải m ủ ệ ậ ích đượã c a h m t t c tính nhưsau Vớ ỗi m i khoá k=(k1, k2) ta có một quy tắc mã hoá ek xác định bởi: e(k1, k2)(x) = ek2(ek1(x ))

Quy tắc giải mã: d(k1, k2)(y) = dk1(dk2(y))

Nghĩa là, trước tiên ta mã hoá x bằng quy tắc ek1, kết qu thu ả đượcta tiếp t ục

Ví dụ : Cho M là một hệ mã nhân (các khoá được chọn đồng xác suất), S là hệ mã

dịch vòng (với các khoá chọn đồng xác suất) Khi đó, ta thấy rằng MxS chính là hệ

mã Affine (cùng với các khoá được chọn đồng xác suất).

Chứng minh:

Khoá d vòng là ph t kịch ần ử ∈Zn và quy tắc mã hoá t ng ng là eươ ứ k(x)=x+k mod n, x su t c a khoá k là 1/26 ác ấ ủ

Khoá trong hệ mã nhâ à ph n t a Zn l ầ ử ∈ n sao cho CLN(a,n)=1, quy tƯ ắc mã á ho

t ng ng là eươ ứ a(x)=a mod n, x t c a khoá à 1/12 ác suấ ủ a l

Khoá trong mã tích M x S có dạng (a,k) Trong : đó

e(a,k) (x) = + k mod n ax

Đây chính là nh ngh a khoá đị ĩ trong mã Affine, xác suấ ủt c a m t khoá trong ộ

h mã Afệ fine l (1/26) x (1/12)=1/312, cũngà là tích c a x su t t ng ng c a c ủ ác ấ ươ ứ ủ áckhoá à k a v

V y h mã MxS là h mã Affine ậ ệ ệ

Ta xét h mã S x M Khoá trong h mã này có d ng (k,a) ệ ệ ạ

Khi : Eđó (k,a)(x) = a (x+k) = +ak mod n ax

Trang 31

v i cùng x ớ ác suấ 1/312 Như ật v y có th y r ng h mể thấ ằ ệ ã SxM chính là h mã ệAffine

Ta th y r ng h ấ ằ ệmã MxS=SxM Hai h m t là giao ho ệ ậ án

Tuy nhi n, kh ng phê ô ải mọ ặ ệ ậ đềi c p h m t u giao ho Mán ặt khác, ta thấ ằy r ng

ph tính ôn k t h p: (Sép lu ế ợ 1xS2)xS3 = S1x(S2xS3)

N u l y tích c a m t h m t t ng c u v i ính nó ì ế ấ ủ ộ ệ ậ ự đồ ấ ớ ch th ta thu đượ ệ ậc h m t SxS (ký hi u là Sệ 2) Nế ấu l y tích ần l n thì ta thu đượ ệ ậc h m t là Sn Ta gọi Sn là h ệ

Để xây d ng c hự ác m t không lu ng, có m t phương pháp n gi n là ệ ậ ỹ đẳ ộ đơ ả

l y tích c a hai h m t n gi n kh nhau ấ ủ ệ ậ đơ ả ác

Trang 32

31

2.7 Các h mã dòng: ệ

Trong các h m trên, c ph t liên ti c b rõ u ệ ật ở ác ần ử ếp ủa ản đề được mã hoá

bằng cùng m khoá ột k Nói c h kh , xâu bác ác ản mã y nh ận được có dạng:

y = y1y2………….=ek(x1)ek(x2)………

C h m dác ệ ật ạng ày ường được ọi n th g là c mã kh ác ối

Có m dột ạng ật m mã khác được ử ụng s d là m mã dòng Ý tật ưởng ủa ạng c d

m mã n là t ật ày ạora một dòng khoá z=z1z2 và dùng nó mã hoá m xâu b để ột ản

rõ x=x1x2 theo quy t : y = yắc 1y2………….=ez1(x1)ez2(x2)………

Mã dòng hoạt động như sau:

Giả sử k∈K là khoá, xâu b n rõ là ả x=x1x2 Hàm fi dùng t để ạora khoá zi

(zi là ph t th i c dòng khoáần ử ứ ủa ) Phầ ửn t zi c dòng khoá ủa được dùng mã á để ho

xi, t ra yạo i=ezi(xi) Nh v , mã á xâu b rõ x=xư ậy để ho ản 1x2 ta ph ính liên ti ải t ếp

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

4 L là t h hập ữu ạn c b ác ộ chữ ủa c dòng khoá

5 F=(F1f2…) là b t dòng khoá V ộ ạo ới i ≥ 1

Mã dòng được ọi g là đồng ộ ếu b n dòng khoá không ph thu v xâu b ụ ộc ào ản

rõ, t là n dòng khoá ức ếu được ạo t ra chỉ là h c khoá k Khi ta coi k là àm ủa đó

“m ” ầm để ở ộng m r thành dòng khoá z1z2

M h mã dòng ột ệ được ọi g là tu ho v chu k d n zần àn ới ỳ ếu i+d = zi v m s ới ọi ốnguyên i≥1 Mã Vigenère v d t khoá n có th ới độ ài ừ ểcoi là mã dòng tu n ho v ầ àn ới

Trang 33

32

chu k n Trong trỳ ường ợp h này, khoá là k=(k1, …km) Khoá k s t ra n ph t ẽ ạo ần ửđầu tiên c dòng khoá : zủa i=ki, 1≤i≤m Sau đó dòng khoá s t lặp lại ẽ ự

ng ng v m mã Vigen e, c hàm mã

Ta thấy rằng, trong mã dòng tươ đươ ới ật èr ác

và gi mã ải được dùng trong mã d vòng ịch

ez(x) = x+z mod 2 và dz(y) = y-z mod 2

N ta coi “0” bi u th giá tr ếu ể ị ị“sai”, v “1” biểà u th giá tr “ị ị đúng” trong đại ố s Boolean thì ph mã á và gi mã d dép ho ải ễ àng thực ện ằng ạch ứng hi b m c

Ta x m ph ng ph t ra dòng khoá ét ột ươ áp ạo đồng ộ b khác Giả ử ta tạo d s òng khoá theo một quan h quy tuy tính c m ệ đệ ến ấp

Trong đó: c0, , cm-1 ∈ Z2là các hằng s cho tr c Khoá k g m 2m giá tr ố ướ ồ ị

quy c g i là b c m vì m i s h ng ph thu c v h ng

Phép đệ đượ ọ ậ ỗ ố ạ ụ ộ ào m số ạ

đứng tr cướ Phép quy tr là tuyđệ ên ến tính vì zi+m là m t hàm tuy n tính c a c s ộ ế ủ ác ố

h ng ng tr c Ta có th l y cạ đứ ướ ể ấ 0 = 1 mà không l m t tính tàm ấ ổng át qu

Ví d : m =4 và dòng khoá đượ ạ ằ c t o b ng quy t c: z ắ i+4 =zi + zi+1 mod 2

N u dòng khoá b ế ắt đầ u bằ ng m ột vectơ bấ ỳ t k khác v ới véc tơ (0,0,0,0) thì ta thu đượ c dòng khoá có chu k 15 ỳ

Ví d b ụ ắt đầ u b ằng véctơ (1,0,0,0), dòng khoá sẽ là: 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0,

1, 1, 1

Trang 34

33

Hình 2.2: Thanh ghi d ch h i ti ị ồ ế p tuyế n tính (LFSR)

M t v t kh i u kh 0 b t k kh s t o ra m t ho v vòng (cyclic) ộ éc ơ ở đầ ác ấ ỳ ác ẽ ạ ộ án ị

c a cùng dòng khoá ủ

M t phộ ương pháp ạ t o dòng khoá u qu bhiệ ả ằng ầ ứ khác ph n c ng là s d ng ử ụ

b ghi d h i ti p tuy n tính (LFSR) Ta s d ng b ghi d có ộ ịch ồ ế ế ử ụ ộ ịch m tầng V t éc ơ(k1, , km) s ẽ được dùng kh i t o c giá ban u cho thanh ghi d m i để ở ạ ác trị đầ ịch Ở ỗ

đơn v th i gian, c ph to ị ờ ác ép án sau s ẽ đượ ử ục s d ng ng th i đồ ờ

- k1 được tính dùng làm bit ti p theo c a dòng khoá ế ủ

- k2, km s ẽ được d ịch 1 tầng v phía tr ề ái

Ta l y tín u ra t m t s t ng ấ hiệ ừ ộ ố ầ nhấ địt nh c a thanh ghi (ủ được x nh b i ác đị ở

c h ng s các ằ ố j có giá tr “1”) và tính t ng theo modulo 2 (ph ị ổ ép hoặc)

M t ví d v mã dòng không ộ ụ ề đồng ộ b là mã khoá t sinh ự

Trang 35

Mã dùng trong khoá t sinh không an toàn do ch có s ng khoá là 26 (ký t ) ự ỉ ố lượ ự

2.8 Chu ẩ n mã dữ ệ li u-Ph ương pháp DES

(Data En crypt ion St dard) an

2.8.1 Giới thiệu về DES:

Khoảng những năm 1970, tiến sĩ Horst Feistel đã đặt nền móng đầu tiên chuẩn mã hóa dữ liệu DES với phương pháp mã hóa Fiestel Cipher

Chuẩn mã dữ liệu D ES được IBM phát ển, tr thành m h mật được tri đã ở ột ệ

s ử dụng rộng r nh ên th gi ãi ất tr ế ới

DES được công bố ần đầu n trong hồ ơ n bang ng y 17/03/1975 Sau l tiê s liê ànhiều cuộc tranh luận ng khai, D cô ES đượcchấp ận chọn àm nh l chuẩn cho các ứng

dụng không đượccoi là m ng ật ày 05/01/0977 Kể ừ đó, cứ 5 năm một ần, DES ại t l l được U ỷban ti u chuẩn Quốc gia xem xét ại ầnê l L mđổi ới gần đây nh c DES là ất ủa

năm 1988 Năm 2001, chuẩn mã tiên tiến AES đã được chấp nh ận thay thế cho DES

Kích thước khóa của DES ban đầu là 128 bit, nhưng tại bản công bố FIPS, kích thước khóa được rút xuống còn 56 bit

Mô t ả đầy đủ ủa c D ES được u trong c ng bố ố 46 về ác chuẩn xử nê ô s c lý thông tin Li n bang (Mỹ) vào ày 15/01/1977 DESê ng mã hoá m xâột u bit x của ản b

rõ d độ ài 64 bằng ột m khoá 54 bit Bản mã nh ận được ũng c là m xâột u bit c độ àió d

64

Trang 36

35

DES thực hiện mã hóa dữ liệu qua 16 vòng lặp mã hóa, mỗi vòng sử dụng một khóa chu kỳ 48 bit được tạo ra từ khóa ban đầu có độ dài 56 bit DES sử dụng 8 bảng hằng số S box để thao tác.-

Trước ết h ta m ả ở ức cao về ệ ống Thuật án ếnô t m h th to ti hành theo 3 giai

đoạn:

1 Tạo dãy 64 bit x0:

Với ảb n rõ cho trước x, m xâu bit xột 0 s ẽ được xây dựng ằng b c ách hoán ị v

c bit c x theo ph ho v c ác ủa ép án ị ố định ban u IP đầ

x0 = IP(x)=L0R0 Trong Lđó 0 g 32 bit u và Rồm đầ 0 là 32 bit cu ối

Hình 2.3: Biểu diễn dãy 64 bit x thành 2 thành phần L và R.

2 Tính to án 16 lần lặp theo một àm ác định từ 64 bit thu được và 56 bit h x của khóa k (chỉ sử dụng 48 bit của khóa k trong mỗi vòng lặp) 64 bit kết quả thu được qua mỗi vòng lặp sẽ là đầu vào cho vòng lặp sau Ta tính LiRi, 1≤i≤16 theo quy t : ắc

Li=Ri-1

Ri=Li-1f(Ri-1, ki) Trong đó  là ký hiệu phép hoặc loại trừ của hai xâu bit (cộng theo modulo 2)

Trang 37

36

Hình 2.4 : Một vòng của DES

3 Áp dụng ph ho v ngép án ị ược IP-1cho x u bit Râ 16L16, ta thu được b mã y ảngồm 64 bit Nói c h kh : y=IPác ác -1 (R16L16) y, th t LỞ đâ ứ ự 16 và R16 đã được đảo

H ó àm f c hai biến ào: biến A l v à xâu bit độ ài 32 v biến J l d à à xâu bit c độó

d 48 u ra c f là m xâu bit có d 32 Ta th hi c bài Đầ ủa ột độ ài ực ện ác ước sau:

 Bi ếnA (32 bit) được ở ộng m r thành m xâột u bit độ ài 48 theo một àm ở d h m

rộng ố định c E E(A) gồm 48 bit được phát sinh từ A bằng cách hoán ị theo v

cách cố định 32 bit của A, trong đó có 16 bit của A xuất hiện 2 lần trong E(A)

 Tính E(A)  J ta thu được 1 dãy 48 bit B B được biểu diễn thành ột m chu ỗi

8 xâu, m xâu là 6 bit : Bỗi 1B2B3B4B5B6B7B8

 Dùng 8 bảng S1, S2, ….S8 (được ọi g là c h ác ộp S) Với ỗi m Si là m bột ảng4x16 cố định có c hàng là c sác ác nguyên t 1 ố ừ đến 15 Với xâu bit có d độ ài

6 (ký hi Bệu i=b1b2b3b4b5b6) ta tính Sj(Bj) nh sau: ư

- Hai bit b1b6 bi u di phân c hàng r c Sể ễnnhị ủa ủa j (0≤ r ≤3)

- Bốn bit b2b3b4b5 bi di ểu ễn nhị phân c c ủa ộtc của Sj(0≤ c ≤15)

Khi Sđó j(Bj) sẽ x ácđịnh phần t Sử j(r,c), phầ ửn t n viày ết dưới dạng nhị phân

là m xâu bit có d 4 B i vột độ ài ở ậy, mỗi Sj có th ể được coi là m h mã mà ột àm

đầu vào là m xâột u bit có độ d à mài 2 v ột xâu bit có độ dài 4, còn đầu ra là

m xâu bit có d ột độ ài 4

T ng t , ta tính ươ ự được c Các j =Sj(Bj), 1≤j≤8

 Xâu bit C=C1C2… C8 có d 32 độ ài được ho v theo ph ho v c án ị ép án ị ố định

P Xâu k qu là P(C) ết ả được x ác định là f(A,J)

Trang 38

37

Hình 2.5 : Hàm f của DES

Quy trình giải mã thực hiện theo thứ tự đảo ngược các thao tác của quy trình

mã hóa

H f àm được mô t trê ình v ả n h ẽ chủ ếu ồm ột ép ế (sử ụng ộp S), y g m ph th d h

ti sau là ph ho v P, 16 ph l c f s t nên m h m tích ếp đó ép án ị ép ặp ủa ẽ ạo ột ệ ật

Bảng trên có ngh là bít th 58 c à bít u tiên c IP(x), bít th 50 c ĩa ứ ủax l đầ ủa ứ ủa

x là bít th hai c IP(x),… ứ ủa

Phép án ho v ngị ược IP-1 là:

Ngày đăng: 26/01/2024, 15:43

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

TÀI LIỆU LIÊN QUAN

w