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

Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng

141 907 1
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Tác giả Hồ Quang Bửu
Người hướng dẫn GS.TSKH. Nguyễn Xuân Quỳnh, GS.TS. Nguyễn Bình
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Kỹ thuật và mật mã học
Thể loại Luận án
Năm xuất bản 2013
Thành phố Hà Nội
Định dạng
Số trang 141
Dung lượng 3,1 MB

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

Nội dung

Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của tôi, các số liệu và kết quả trình bày trong luận án là trung thực và chưa được công bố ở bất kỳ công trình nào khác

Tác giả

Hồ Quang Bửu

Trang 2

LỜI CẢM ƠN

Luận án Tiến sĩ kỹ thuật này được thực hiện tại Học viện Công nghệ Bưu chính Viễn thông Tác giả xin tỏ lòng biết ơn đến thầy giáo GS.TSKH Nguyễn Xuân Quỳnh đã trực tiếp định hướng, tạo mọi điều kiện trong suốt quá trình nghiên cứu Tác giả cũng xin cảm ơn GS.TS Nguyễn Bình đã trực tiếp hướng dẫn học thuật hóa, kiểm tra những kết quả của các công trình nghiên cứu

Tôi xin chân thành cảm ơn Lãnh đạo Học viện Công nghệ Bưu chính Viễn thông đã tạo những điều kiện thuận lợi để hoàn thành và bảo vệ luận án trong thời gian nghiên cứu của nghiên cứu sinh Tôi xin cảm ơn khoa Quốc tế và Đào tạo sau đại học, Sở Thông tin truyền thông tỉnh Quảng Nam (nơi tôi đang công tác), cũng như các đồng nghiệp đã tạo điều kiện và giúp đỡ tôi hoàn thành được đề tài nghiên cứu của mình

Cuối cùng là sự biết ơn tới gia đình, bạn bè đã thông cảm, động viên giúp đỡ cho tôi có đủ nghị lực để hoàn thành luận án

Hà nội, tháng 12 năm 2013

Trang 3

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT vi

DANH MỤC CÁC BẢNG viii

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

PHẦN MỞ ĐẦU 1

1 MỞ ĐẦU 1

2 TÌNH HÌNH NGHIÊN CỨU 1

3 LÝ DO CHỌN ĐỀ TÀI 4

4 MỤC TIÊU NGHIÊN CỨU 4

5 ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU 5

6 PHƯƠNG PHÁP NGHIÊN CỨU 5

7 Ý NGHĨA KHOA HỌC VÀ THỰC TIÊN CỦA ĐỀ TÀI 5

CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ HỌC 6

1.1 CÁC KHÁI NIỆM CƠ BẢN 6

1.2 CÁC HỆ MẬT KHÓA BÍ MẬT 8

1.2.1 Sơ đồ khối chức năng hệ mật khóa bí mật 8

1.2.2 Các hệ mật thay thế 8

1.2.3 Các hệ mật hoán vị (MHV) 11

1.2.4 Các hệ mật mã tích 12

1.2.5 Các hệ mật mã dòng và việc tạo các dãy giả ngẫu nhiên 15

1.2.6 Chuẩn mã dữ liệu DES 26

1.2.7 Ưu nhược điểm của mật mã khóa bí mật 29

Trang 4

1.3 HỆ MẬT KHÓA CÔNG KHAI 30

1.3.1 Sơ đồ chức năng 30

1.3.2 Một số bài toán xây dựng hệ mật khóa công khai 31

1.4 CƠ BẢN VỀ HÀM BĂM 33

1.4.1 Mở đầu 33

1.4.2 Các định nghĩa và tính chất cơ bản 35

1.4.3 Một số phương pháp xây dựng hàm băm 37

1.4.4 Các loại tấn công hàm băm cơ bản 41

1.4.5 Độ an toàn mục tiêu 43

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

1.5.1 Các phương pháp kiểm tra tính toàn vẹn dữ liệu 44

1.5.2 Chữ ký số 46

1.6 KẾT LUẬN CHƯƠNG 1 49

CHƯƠNG 2 HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC 50

2.1 NHÓM NHÂN CYCLIC TRÊN VÀNH ĐA THỨC 50

2.1.1 Định nghĩa nhóm nhân cyclic trên vành đa thức 50

2.1.2 Các loại nhóm nhân cyclic trên vành đa thức 52

2.2 CẤP SỐ NHÂN CYCLIC TRÊN VÀNH ĐA THỨC 54

2.2.1 Khái niệm về cấp số nhân cyclic trên vành đa thức 54

2.2.2 Phân hoạch vành đa thức 55

2.3 XÂY DỰNG M-DÃY LỒNG GHÉP TRÊN VÀNH ĐA THỨC CÓ HAI LỚP KỀ CYCLIC 61

2.3.1 Vành đa thức có hai lớp kề 61

2.3.2 M-dãy xây dựng trên vành đa thức 63

2.3.3 Xây dựng M-dãy lồng ghép từ các cấp số nhân cyclic trên vành đa thức có hai lớp kề 64

Trang 5

2.4 HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC 71

2.4.1 Vấn đề mã hóa 71

2.4.2 Xây dựng hệ mật dùng cấp số nhân cyclic 76

2.5 KẾT LUẬN CHƯƠNG 2 82

CHƯƠNG 3 HÀM BĂM XÂY DỰNG TRÊN CẤP SỐ NHÂN CYCLIC 83

3.1 CÁC HÀM BĂM HỌ MD4 83

3.1.1 Cấu trúc 83

3.1.2 Mở rộng thông báo 87

3.1.3 Các bước mã hóa 89

3.2 XÂY DỰNG HÀM BĂM MỚI TRÊN CÁC CẤP SỐ NHÂN CYCLIC 94

3.2.1 Sơ đồ khối mật mã trong hàm băm 94

3.2.2 Các đánh giá kết quả mô phỏng hàm băm mới 100

3.3 KẾT LUẬN CHƯƠNG 3 101

KẾT LUẬN VÀ KIẾN NGHỊ 102

DANH MỤC CÁC CÔNG TRÌNH CÓ LIÊN QUAN ĐẾN LUẬN ÁN 104

TÀI LIỆU THAM KHẢO 105

PHỤ LỤC A: THÔNG SỐ CỦA MỘT SỐ HÀM BĂM 109

PHỤ LỤC B: CÁC CHƯƠNG TRÌNH TÍNH TOÁN VÀ MÔ PHỎNG 122

Trang 6

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

AES Advanced Encryption Standard

ANSI American National Standards Institute

CAST Carlisle Adams and Stafford Tavares

CBC Cipher Block Chaining

CFB Cipher Feedback Block

CGP Cấp số nhân cyclic (Cyclic Geometic Progressions)

CMG Nhóm nhân cyclic (Cyclic Multiplicate Group)

CRC Cyclic Redundancy Check

CRF Collision Resistant Function

CRHF Collision Resistant Hash Function

S

0

deg Bậc của đa thức (Degree)

DEA Data Encryption Algorithm

DES Chuẩn mã dữ liệu (Data Encryption Standard)

MAC Message Authentication Code

MDC Manipulation Detection Code

MD-x Message Digest x

NESSIE New European Schemes for Signatures, Integrity

and Encryption

Trang 7

NIST National Institute for Standards and Technology (US)

ord Cấp của đa thức (Order)

OWHF One-Way Hash Function

RIPE Race Integrity Primitives Evaluation

RSA Rivest Shamir Adleman

SHA Secure Hash Algorithm

TDEA Triple Data Encryption Algorithm

UOWHF Universal One-Way Hash Function

VEST Very Efficient Substitution Transposition

2[ ]/x x n1

Z Vành đa thức trên GF 2

Trang 8

DANH MỤC CÁC BẢNG

Bảng 1 Một số hàm băm 3

Bảng 1.1 Trạng thái của các vector đầu ra M-dãy 22

Bảng 1.2 Các đặc tính của dãy tuyến tính có chu kỳ 2m -1 26

Bảng 1.3 Bảng IP và IP-1 28

Bảng 1.4 Độ an toàn mục tiêu của hàm băm 43

Bảng 2.1 Số kiểu phân hoạch không suy biến M của một số vành 57

Bảng 2.2 Tổng số các kiểu phân hoạch của vành Z2[ ]/x x n1 58

Bảng 2.3 M-dãy xây dựng trên vành 15 2 [ ] /x x  1 Z 63

Bảng 2.4 Các tam thức cấp cực đại 4095 (32 5.7.13) trên vành x13 + 1 68

Bảng 2.5 Một số phần tử của M-dãy trên vành x13+1 69

Bảng 2.6 M-dãy với chiều dài 4095 theo phân hoạch cực đại 69

Bảng 2.7 Số lượng M-dãy lồng ghép với một vài giá trị n khác nhau 70

Bảng 2.8 Bảng hoán vị ban đầu (IP) 78

Bảng 2.9 Bảng hoán vị đảo (IP-1) 78

Bảng 2.10 Khoảng cách Hamming d H (C 1 ,C i) giữa các cặp bản mã khi các bản rõ khác nhau 1 bit, d H (M 1 ,M i ) = 1, với cùng một khóa K 80

Bảng 2.11 Khoảng cách Hamming d H (C 1 ,C i) giữa các cặp bản mã khi các khóa khác khóa K 1 2 bit d H (K 1 , K i )=2 với cùng một bản rõ M 81

Bảng 3.1 Thông số của các hàm băm họ MD4 85

Bảng 3.2 Ký hiệu các thông số và các biến 86

Bảng 3.3 Khoảng cách Hamming d H (MD 1 , MD i) khi các khối dữ liệu khác khối ban đầu 1 bit 97

Bảng 3.4 Khoảng cách Hamming d H (MD 1 , MD i) giữa các cặp giá trị băm khi các khóa khác khóa K 1 2 bit 99

Bảng 3.5 Tính khoảng cách Hamming trung bình khi thay đổi khóa K và thay đổi bản tin rõ 100

Trang 9

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

Hình 1.1 Sơ đồ khối chức năng hệ mật khóa bí mật 8

Hình 1.2 M-dãy tạo từ thanh ghi dịch phản hồi tuyến tính LFSR 22

Hình 1.3 Mạch tạo M-dãy từ đa thức g(x) = 1+x+x4 23

Hình 1.4 Bộ tạo dãy Gold đối với g1(d) = d3 + d +1 và g2(d) = d3 + d2 +1 24

Hình 1.5 Sơ đồ mã hóa DES 27

Hình 1.6 Mô tả hàm f trong DES 28

Hình 1.7 Các bước tạo khóa cho các vòng mã hóa của DES 29

Hình 1.8 Sơ đồ khối chức năng hệ mật khóa công khai 30

Hình 1.9 Phân loại hàm băm 36

Hình 1.10 Các sơ đồ hàm băm đơn a) Matyas-Mayer–Oseas; b) Davies-Mayer và c) Miyaguchi – Preneel 37

Hình 1.11 Thuật toán MDC-2 39

Hình 1.12 Thuật toán MDC-4 40

Hình 1.13 Sơ đồ Miyaguchi – Preneel 41

Hình 1.14 Kiểm tra tính toàn vẹn bằng MAC 45

Hình 1.15 Kiểm tra tình toàn vẹn dùng MDC và thuật toán mã hóa 45

Hình 1.16 Kiểm tra tính toàn vẹn dùng MDC và kênh an toàn 46

Hình 1.17 Quá trình tạo chữ ký số và kiểm tra chữ ký số 47

Hình 1.18 Sơ đồ chữ ký số dùng RSA 47

Hình 1.19 Sơ đồ chữ ký số dùng RSA và có bảo mật thông báo 48

Hình 2.1 Mã hóa và giải mã xây dựng trên cấp số nhân cyclic 71

Hình 2.2 Sơ đồ thiết bị mã hoá 75

Hình 2.3 Sơ đồ thiết bị giải mã 75

Hình 2.4 Sơ đồ mạng thay thế Feistel 76

Hình 2.5 Sơ đồ mã hóa khối E 77

Hình 2.6 Sơ đồ khối mã hóa , với khóa 4 5 1 1 K  xx 79

Hình 3.1 Tương tác giữa mở rộng thông báo và các thao tác bước 83

Hình 3.2 Một bước mã hóa của MD5 92

Hình 3.3 Sơ đồ thực hiện hàm băm 95

Hình 3.4 Sơ đồ bộ mã hóa khóa E với khóa K1 95

Trang 10

PHẦN MỞ ĐẦU

1 MỞ ĐẦU

Trong sự phát triển của xã hội loài người, kể từ khi có sự trao đổi thông tin, thì an toàn thông tin trở thành một nhu cầu gắn liền với nó Từ thủa sơ khai, an toàn thông tin được hiểu đơn giản là giữ bí mật và điều này được xem như một nghệ thuật chứ không phải là một ngành khoa học Với sự phát triển của khoa học

kỹ thuật và công nghệ, cùng với các nhu cầu đặc biệt có liên quan tới an toàn thông tin, ngày nay cần có các yêu cầu kỹ thuật đặc biệt trong việc đảm bảo an toàn thông tin, các kỹ thuật đó bao gồm: Kỹ thuật mật mã (Cryptography); kỹ thuật ngụy trang (Steganography); kỹ thuật tạo bóng mờ (Watermarking – hay thủy vân)

Hiện nay việc trao đổi thông tin thương mại trên Internet có nhiều nguy cơ không an toàn do thông tin có thể bị lộ hay bị sửa đổi Nói chung, để bảo vệ các thông tin khỏi sự truy cập trái phép cần phải kiểm soát được những vấn đề như:

thông tin được tạo ra, lưu trữ và truy nhập như thế nào, ở đâu, bởi ai và vào thời điểm nào

Để giải quyết các vấn đề trên, kỹ thuật mật mã hiện đại phải đảm bảo các dịch vụ

an toàn cơ bản: (1) bí mật (Confidential); (2) xác thực (Authentication); (3) đảm bảo tính

toàn vẹn (Integrity), và để thực hiện các nhiệm vụ này người ta sử dụng hàm băm mật mã

(Cryptographic Hash Function)

Trang 11

Hiện nay trên thế giới có khá nhiều hệ mật mã khối khóa bí mật đã được nghiên cứu sử dụng cho các lược đồ xây dựng hàm băm, điển hình là các hệ mật sau: DES, IDEA, TDEA, AES, CAST,… Những nghiên cứu về các hệ mật này đã xuất hiện trong rất nhiều công trình từ rất nhiều năm qua, tuy nhiên chúng đã được tổng kết trong các công trình sau [19], [20], [25], [28], [31], [33] Các sơ đồ mã hóa thường sử dụng một số lưu đồ như: Feistel cân bằng (như trong DES), Feistel không cân bằng 4 nhánh, Lai-Massey, các mạng thay thế hoán vị…

Một hàm băm mật mã học là một hàm h x( )phải có các tính chất sau [24], [25], [26]:

Bảng 1: Một số hàm băm

Trang 12

TT Thuật toán Kích thước đầu ra (bit) Xung đột

2005 người ta lại ghi nhận một tấn công khác đối với SHA-1

Các hàm băm SHA-1, MD5, RIPEMD đều thuộc họ MD4 Cấu trúc và thuật toán mã hóa của họ MD4 khá phức tạp (được trình bày trong chương 3 của luận án) và trải qua nhiều bước như: mở rộng thông báo đầu vào (theo kiểu hoán vị

Trang 13

vòng hoặc đệ quy), các bước mã hóa sử dụng các phép toán Boolean, phép cộng số

tự nhiên theo modulo, phép dịch và quay bit, tổ hợp mã băm đầu ra với vector khởi tạo IV…[23], [24]

Ở Việt Nam việc nghiên cứu các hệ mật cũng đã rất phát triển từ nhiều năm qua, tuy nhiên việc sử dụng các hệ mật này cho các lược đồ xây dựng hàm băm còn khá mới mẻ Cũng có một số công trình nghiên cứu về hệ mật [13], [14] và xây dựng hạ tầng khóa công khai phục vụ thương mại điện tử [3]

3 LÝ DO CHỌN ĐỀ TÀI

Việc sử dụng cấu trúc nhóm nhân cyclic và cấp số nhân cyclic trên vành đa thức trong việc tạo mã sửa sai trong thời gian qua ở Việt nam đã có các kết quả đáng khích lệ [2,] [6], [7], [8], [9], [10], [11], [12], [13], [14],bởi một số lý do: cấu trúc đại số chặt chẽ, số lượng cấp số nhân trên vành đa thức nhiều (thuận lợi cho việc tạo khóa trong các hệ mật), mạch điện phần cứng thực hiện khá dễ dàng (thuận lợi cho việc áp dùng vào thực tế)

Trên cơ sở đó phân tích các hàm băm hiện có tác giả thấy rằng, mặc dù các hàm băm có tính chất tốt nhưng lại có nhược điểm là phức tạp dẫn tới yêu cầu về tài nguyên tính toán và thời gian tính toán Với các ưu điểm của cấu trúc của cấp

số nhân cyclic như đề cập ở trên tác giả nhận thấy việc sử dụng cấu trúc này vào việc xây dựng các hệ mật và các hàm băm là hướng nghiên cứu mở, đây là một vấn đề cần thiết trong quá trình phát triển lý thuyết mật mã nói chung và xây dựng các hàm băm mới nói riêng ở Việt Nam

4 MỤC TIÊU NGHIÊN CỨU

 Khảo sát đánh giá hệ mật khối sử dụng cho lược đồ hàm băm

 Xây dựng hệ mật trên các cấp số nhân cyclic trên vành đa thức

 Xây dựng các hàm băm mới sử dụng hệ mật dựa trên các cấp số nhân cyclic trên vành đa thức

Trang 14

 Viết các chương trình phần mềm mô phỏng, thử nghiệm và đánh giá kết quả

đã nghiên cứu

5 ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU

Luận án thuộc phạm vi lý thuyết cơ sở, tập trung nghiên cứu các thuật toán mật mã hóa và sử dụng chúng trong lược đồ xây dựng các hàm băm Các thuật toán mã hóa và sơ đồ tạo khóa trong các sơ đồ mã hóa được xây dựng trên cấu trúc cấp số nhân cyclic, đây là một cấu trúc đại số chặt chẽ được xây dựng trên cơ sở là nhóm nhân cyclic trên vành đa thức

6 PHƯƠNG PHÁP NGHIÊN CỨU

Phương pháp nghiên cứu của đề tài là phân tích và tổng hợp dựa vào các công cụ toán học, đặc biệt là đại số đa thức, lý thuyết thông tin và mật mã, lý thuyết xác xuất cùng với sự hỗ trợ tính toán của máy tính và các chương trình phần mềm mô phỏng để thử nghiệm đánh giá

7 Ý NGHĨA KHOA HỌC VÀ THỰC TIÊN CỦA ĐỀ TÀI

Những kết quả trong luận án này là một đóng góp nhỏ bé vào việc phát triển

lý thuyết mật mã nói chung và các hàm băm nói riêng Các nghiên cứu trong luận

án đưa ra được một phương pháp xây dựng mật mã khối và một số hàm băm trên

cơ sở là các cấp số nhân cyclic của vành đa thức

Trang 15

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

1.1 CÁC KHÁI NIỆM CƠ BẢN

Mật mã học là một bộ phận của khoa học mật mã (Cryptology), được chia thành 2 bộ phận chính [4]:

+ Mật mã học (Cryptography): chia thành 3 nội dung:

 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ã (Cryptonalys): 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áp thống kê

 Phương pháp phân tích cấu trúc…

Trong lý thuyết mã mã hóa nguồn và mã sửa sai khâu mã hóa (coding) thường chỉ có đầu vào là bản tin và đầu ra là bản mã (và ngược lại với khâu giải

mã (decoding)) Tuy nhiên với mật mã học thì hai khâu này có một sự khác biệt đó

là đầu vào của mã hóa (giải mã) ngoài bản tin ra còn có thêm khóa (K)

Trong đó: M – bản rõ; C – bản mã; K – khóa

* Các phương pháp xử lý thông tin số trong các hệ thống mật mã bao gồm:

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

Trang 16

Với hệ mật 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ác thuật toán

mã hóa trong hệ mật khóa bí mật thường sử dụng các phương pháp sau:

 Hoán vị

 Thay thế

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

 Phương pháp hỗn hợp (điển hình là chuẩn mã hóa dữ liệu – DES)

+ Mật mã khóa công khai (khóa không đối xứng):

Thông thường mỗi bên liên lạc tự tạo cho mình một cặp khóa Công khai và bí mật, khóa công khai dùng để mã hóa bản tin và khóa này được công khai trên mạng, còn khóa bí mật dùng để giải mã (chỉ có bên nhận tin lưu trữ) Các thuật toán mã hóa công khai cho đến nay được xây dựng theo một trong năm bài toán một chiều cơ bản đó là:

 Bài toán logarit rời rạc

 Bài toán phân tích thừa số

 Bài toán xếp ba lô

 Bài toán mã sửa sai

 Bài toán trên đường cong elliptic

+ Mật mã khối:

Trong các hệ mật mã khối quá trình xử lý thông tin được thực hiện theo các khối bit có độ dài xác định

+ Mật mã dòng: Trong các hệ mật mã dòng quá trình xử lý thông tin thực

hiện trên từng bit

Trang 17

1.2 CÁC HỆ MẬT KHÓA BÍ MẬT

1.2.1 Sơ đồ khối chức năng hệ mật khóa bí mật

Hình 1.1 Sơ đồ khối chức năng hệ mật khóa bí mật

Một hệ mật là một bộ gồm 5 tham số P,C,K,E,D thoả mãn các điều kiện sau [4]:

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

CP

ek : 

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

PC

DKE

K

Bản rõ M Bản mã C

Bản mã C Bản rõ M

Kênh an toàn

Thám mã

Nguồn khoá

K Nguồn tin Bộ mã hoá Kênh mở

(không an toàn) Bộ giải mã Nhận tin

Trang 18

Ví dụ 1.1:

Với văn bản tiếng Anh, n26 hoặc 27, như vậy M C K, , Z26 hoặc Z 27

Ta sử dụng MDV (với modulo 26) để 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

- Từ ví dụ trên ta thấy rằng, điều kiện cần để một hệ mật an toàn là phép tìm khoá vét cạn phải không thể thực hiện được Tuy nhiên, một không gian khoá lớn vẫn chưa đủ để đảm bảm độ mật

Trang 19

Nhận xét: Do khoảng trống xuất hiện nhiều trong văn bản, nên khi mã hóa nên mã hóa cả khoảng trống để giảm số lần xuất hiện

Sử dụng phép tương ứng A0,B1,, Z25 mô 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ã

Vigenère 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

OMTA QV CB HBRJGB

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 đó

Trang 20

Chú ý: Để giải mã, ta có thể dùng cùng từ khoá nhưng thay cho cộng, ta trừ

dclassonsecaSau đó, 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ó:

RIENATOTGHNE

RICARALSDSAC

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

EOANCSLSDSACRICARAOTGHNERIENAT

Trang 21

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:

Định nghĩa 1.1 [[4]: Cho m là một số nguyên dương xác định nào đó

Để đơn giản, trong phần này chỉ hạn chế xét các hệ mật trong đó C=P; các hệ mật loại này được gọi là tự đồng cấu Giả sử S1P, P,K1,E1,D1

2 P,P, K , E , D

S  là hai hệ mật 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à S1S2) được xác định là hệ mật sau:

( , ,P P KK E D, , ) (1.1) Khoá của hệ mật tích có dạng kk1,k2 trong đó k1K1 và k2K2 Các quy tắc mã và giải mã của hệ mật tích được xác định như sau: Với mỗi

Trang 22

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 suất)

Ta sẽ chứng minh các khẳng định này Một khoá dịch vòng là phần tử

26

Z

k và quy tắc giải mã tương ứng là ek x xk mod26 Còn khoá trong hệ

mã nhân là phần từ aZ26 sao cho UCLNa, 261 Quy tắc mã tương ứng là

Trang 23

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

đó:

( , )k a ( ) ( ) mod 26

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 akk1 khi và chỉ khi ka k1 1, (hãy nhớ lại rằng UCLNa,261, bởi vậy a có phần tử nghịch đảo) Nói cách khác, khoá a, k1 của hệ mã Affine tương đương với khoá 1

1

(a k a , ) của mã tích SM Bởi vậy, ta có một song ánh giữa hai không gian khoá Vì mỗi khoá là đồng xác suất nên có thể thấy rằng SM thực sự là mã Affine

Ta chứng minh rằng MSSM Bởi vậy, 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án; có thể tìm ta được các cặp phản

ví dụ Mặt khác ta thấy rằng phép tích luôn kết hợp:

S1S2S3 S1S2S3Nếu lấy tích của một hệ mật tự đồng cấu với chính nó thì ta thu được hệ mật S

S (kí hiệu là S ) Nếu lấy tích n lần thì hệ mật kết quả là 2 S Ta gọi n S là hệ nmật lặp

Một hệ mật S được gọi là luỹ đẳng nếu S2 S Có nhiều hệ mật đã nghiên cứu trong chương 1 là hê mật luỹ đẳng Chẳng hạn các hệ MDV, MTT, Affine, Hill, Vigenère và hoán vị đều là luỹ đẳng Hiển nhiên là nếu hệ mật S là luỹ đẳng thì không nên sử dụng hệ mật tích S2 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 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 DES dùng 16 phép lặp, tất nhiên hệ mật ban đầu phải là hệ mật không luỹ đẳng Một phương pháp có thể xây dựng các hệ mật không luỹ đẳng đơn giản là lấy tích của hai hệ mật đơn giản khác nhau

Nhật xét:

Có thể dễ dàng chứng tỏ rằng, nếu cả hai hệ mật S1 và S2 là luỹ đẳng và 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:

Trang 24

     

2 1

2 2 1 1

2 2 1 1

2 1 2 1 2 1 2 1

SS

SSSS

SSSS

SSSSSSSS

(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 S1S2 là 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 đơ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ị

1.2.5 Các hệ mật mã dòng và việc tạo các dãy giả ngẫu nhiên

1.2.5.1 Các hệ mã dòng

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

mã hoá bằng cùng một khoá k Tức xâu bản mã y nhận được có dạng:

1 2 k( ) ( ) 1 k 2

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

sử dụng khác là mật mã dòng Ý tưởng cơ bản ở đây là tạo ra một dòng khoá

Mã dòng hoạt động như sau Giả sử kK là khoá, và xx x1 2 là xâu bản

rõ Hàm f được dùng để tạo i z ( i z là phần tử thứ i của dòng khoá), trong đó i f là i

một hàm của khoá k và i1 là ký tự đầu tiên của bản rõ:

( , , , )

zf k x x

Phần tử z của dòng khoá được dùng để mã i x tạo ra i y ie x iz( )i Bởi vậy, để

mã hoá xâu bản rõ x x1 2 ta phải tính liên tiếp z y z y1, ,1 2, 2

Việc giải mã xâu bản mã y y1 2 có thể được thực hiện bằng cách tính liên tiếp z x z x1, ,1 2, 2

Sau đây là định nghĩa dưới dạng toán học:

Định nghĩa 1.2 [4]

Trang 25

Mật mã dòng là một bộ ( , , P C K L F E D, , , , ) thoả mãn các điều kiện sau:

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

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

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

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

5) F (f f1 2 ) là bộ tạo dòng khoá Với i1

Ta có thể coi mã khối là một trường hợp đặc biệt của mã dòng, trong đó dùng khoá không đổi: Z ik với mọi i1

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

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

"mầm" để mở rộng thành dòng khoá z z1 2

Một hệ mã dòng được gọi là tuần hoàn với chu kỳ d nếu z i d z i với mọi số nguyên i1 Mã Vigenère với độ dài từ khoá m có thể coi là mã dòng tuần hoàn với chu kỳ m Trong trường hợp này, khoá là k ( , ,k1 k m) Bản thân k sẽ tạo m phần tử đầu tiên của dòng khoá: z ik i, 1 i m Sau đó, dòng khoá sẽ tự lặp lại Nhận thấy rằng, trong mã dòng tương ứng với mật mã Vigenère, các hàm mã và giải mã được dùng giống như các hàm mã và giải mã được dùng trong MDV:

Ta xem xét một phương pháp tạo một dòng khoá (đồng bộ) khác Giả sử bắt đầu với ( , ,k1 k m) và z ik i, 1 i m(cũng giống như trước đây), tuy nhiên bây

giờ ta tạo dòng khoá theo một quan hệ đệ quy tuyến tính cấp m:

Trang 26

Ở đây khoá k gồm 2m giá trị k1, ,k c m, , ,0 c m1 Nếu ( , ,k1 k m)(0, ,0) thì dòng khoá sẽ chứa toàn các số 0 Dĩ nhiên phải tránh điều này vì khi đó bản mã sẽ đồng nhất với bản rõ Tuy nhiên, nếu chọn thích hợp các hằng số c0, ,c m1thì một vector khởi đầu bất kì khác ( , ,k1 k m) sẽ tạo nên một dòng khoá có chu kỳ 2m 1

Việc mã hóa và giải mã hệ mật mã dòng mô tả như dưới đây

+ Mã hóa: C im ik imod 2

+ Giải mã: m iC ik imod 2

 Để hệ thống an toàn, dãy bit khóa ngẫu nhiên phải dài hơn bản tin:

km (Dẫy ngẫu nhiên có p 0  p 1 0,5)

Trang 27

Một dãy có chiều dài cực đại (MLS) là một kiểu dãy nhị phân giả ngẫu nhiên Chúng là các bit tuần tự được tạo ra bằng các thanh ghi dịch phản hồi tuyến tính (LFSR) và do vậy chúng có chu kỳ và các chuỗi nhị phân tái tạo được nhờ tính

dịch vòng (ví dụ với thanh ghi m ô nhớ có thể tạo được chuỗi có chiều dài 2m-1) Một dãy có chiều dài cực đại còn được gọi là M-dãy

Các M-dãy có thể được biểu diễn bằng các hệ số của các đa thức bất khả quy của vành đa thức trên trường nhị phân Các ứng dụng cơ bản của M-dãy bao gồm:

đo đáp ứng xung, tạo chuỗi giả ngẫu nhiên trong các hệ thống thông tin số dùng để trải phổ trực tiếp và trải phổ nhảy tần…

Biểu diễn LFSR – dãy M bằng mô hình hệ thống LFSSM

LFSSM là tên viết tắt của Linear Finite State Sequencial Machine – máy trình tự tuyến tính có trạng thái hữu hạn

 Trình tự vì sử dụng các ô nhớ theo trình tự

 Hữu hạn vì số trạng thái 2m là hữu hạn

 Tuyến tính vì sử dụng các thuật toán tuyến tính XOR trên GF(2) Một LFSSM được đặc trưng bởi tập hợp 5 phần tử {S, I, Y, M, }, trong đó:

S là trạng thái hiện tại, I là tập đầu vào, Y là tập đầu ra, M là hàm trạng thái kế tiếp ánh xạ SI lên S và  là hàm truyền đạt ánh xạ từ S lên Y

(a) không gian trạng thái S của M M, không gian đầu vào I , không gian M

đầu ra Y là các không gian vector trên trường hữu hạn K M

(b) với vector trạng thái s , vector vào i u , và vector ra i y tại thời điểm i , i

trạng thái kế tiếp s i thì đầu ra M có dạng sau:

Trong đó: A,B,C là các ma trận trên K, , ,s u y là các vector cột i i i

Hưởng ứng cưỡng bức: tín hiệu ra khi có tín hiệu vào

Trang 28

Hưởng ứng tự do: tín hiệu ra khi không có tín hiệu vào

LFSR như hình dưới là lớp con của LFSSM, được mô tả như sau:

1 1

2 2

3 3

s s

s s

s s

Một số tính chất cơ bản của M-dãy [1]

i) Tính chất dịch: Dịch vòng trái hoặc phải của một M-dãy cũng là M-dãy

ii) Tính chất hồi qui: Một M-dãy bất kỳ trong S m đều thỏa mãn sự hồi qui:

C gc  gc   K g c ci (1.10) Ngược lại, bất cứ nghiệm nào của phương trình hồi qui này cũng là M-dãy

trong tập S m Có m nghiệm độc lập tuyến tính của phương trình hồi qui này, do đó

có M-dãy độc lập tuyến tính trong S m

iii) Tính chất cửa sổ: Nếu trượt một cửa sổ có độ rộng m dọc theo M-dãy

trong S m thì ta nhìn thấy đúng 1 lần mỗi bộ m nhị phân khác 0 trong 2 m -1 bộ

iv) Tính chất số lượng số ‘1’, số ‘0’: số 1 nhiều hơn số số 0 một đơn vị: Bất

0

Trang 29

kì M-dãy nào trong S m cũng chứa 2m-1 số 1 và 2m-1-1 số 0

v) Tính chất cộng: Tổng của hai M-dãy trong S m (mod 2, từng số hạng một) là M-dãy khác trong S m

vi) Tính chất dịch và cộng: Tổng của M-dãy và dịch vòng của chính nó (mod 2, từng số hạng một) là M-dãy khác

vii) Tính chất tự tương quan có dạng nhọn: Hàm tự tương quan tuần hoàn chuẩn hóa của M-dãy được xác định bởi:

1

0

1( ) ( 1) j i j

N

e c j

i N

và bằng 1 khi i=0(modN) và bằng -1/N khi i ≠ 0(mod N)

viii) Tính chất hành trình: Hành trình là một dãy các số 1 liên tiếp hoặc các

số 0 liên tiếp Trong M-dãy bất kì, một nửa các hành trình có độ dài 1, một phần tư

có độ dài 2, 1/8 có độ dài 3 v.v… đến khi nào các phân số này còn cho số nguyên các hành trình Cụ thể, có 1/ 2m

của g(d)

b) Tạo M-dãy bằng đa thức nguyên thủy

* Đa thức nguyên thủy: Đa thức bất khả quy bậc m được gọi là đa thức

nguyên thủy nếu nó là ước của x n1 với n2m1 nhưng không là ước của 1

p

x  (với pn) [4]

Trang 30

Trạng thái các vec tơ mã đầu ra của M-dãy cho trong bảng 1.1 Nếu ta lấy bất

kỳ cột nào ta cũng được một M-dãy

Trang 31

Bảng 1.1 Trạng thái của các vector đầu ra M-dãy

Dạng tổng quát phần cứng như trong hình 1.2

Hình 1.2 M-dãy tạo từ thanh ghi dịch phản hồi tuyến tính LFSR

Hình 1.3 là mạch điện tạo M-dãy với đa thức nguyên thủy là:

Trang 32

Hình 1.3 Mạch tạo M-dãy từ đa thức g(x) = 1+x+x4

c) Một số M-dãy tuyến tính khác

+ Các dãy Gold

Để tạo dãy tuyến tính có khoảng tuyến tính và kích thước tập hợp lớn, thông thường sử dụng giải pháp ghép tuyến tính các M-dãy Trong một hệ thống truy nhập ngẫu nhiên hoặc các hệ thống hỗn hợp, kích thước yêu cầu của tập hợp có thể đến vài trăm Tập hợp Gold chứa đựng một số lớn các dãy thoả mãn hai tính chất

ACF và CCF đến một mức độ chấp nhận được Tập gồm N+2 các dãy Gold với độ dài N bằng 2 m -1 có thể được xây dựng từ cặp ưa thích các M-dãy có chu kì N

giống nhau Cặp M-dãy ưa thích, chẳng hạn x và y, có hàm tương quan chéo 3 trị:

θ x, y (n) = -1; - t(m) ; t(m) - 2

Khi tính các trị tương quan chéo, đầu tiên các số 0 và 1 được biến đổi thành

các số +1 và -1 Tập các M-dãy bao gồm cặp ưa thích các dãy x và y , các tổng mod 2 của x và các dịch vòng của y Cụ thể, tập các dãy Gold là:

SGold = {x, y, x y, xT-1y, xT-2 y, , xT-(N-1) y} (1.12)

Với Ty = (y1, y2, y3, , yN -1, y0) là dịch vòng trái của y Biên độ tương quan

cực đại đối với hai M-dãy bất kì trong cùng tập là bằng hằng số t(m) Người ta biết rằng các cặp ưa thích của các M-dãy không tồn tại đối với m = 4, 8, 12, 16 và tiên đoán rằng không tồn tại nghiệm đối với tất cả m = 0 (mod 4)

Trang 33

Hình 1.4 Bộ tạo dãy Gold đối với g 1 (d) = d 3 + d +1 và g 2 (d) = d 3 + d 2 +1

Mỗi dãy trong tập Gold có thể được tạo nên bởi đa thức f(d) cho bởi:

( ) ( ) ( )

Vì hai đa thức h(d) và h’(d) đều là nguyên tố, ta có:

deg[ ( )]f d deg[ ( ) deg[ ( )]h dh d 2m (1.14)

Điều đó có nghĩa là Gold thoả mãn quan hệ hồi quy tuyến tính bậc 2m, hay nói cách khác ELS của dãy Gold là 2m Mặc dù giá trị này cao hơn giá trị ELS của

tập hợp liên thông, nó vẫn còn thấp hơn so với yêu cầu của các hệ thống cần bảo mật Dãy Gold tạo nên một tập hợp lớn có các tính chất tương quan ACF và CCF tốt nhưng giá trị ELS thấp

+ Các dãy Kasami

Lớp quan trọng khác các dãy nhị phân SSMA là các dãy Kasami Giả sử m là

số nguyên chẵn và x là M-dãy có chu kì N = 2 m -1, được tạo từ đa thức nguyên

thủy h(d) Các dãy Kasami nhận được bằng cách chia dãy x và thực hiện phép cộng

mod 2 trên các dãy dịch vòng Decimating dãy tức là lấy mẫu nó một cách tuần

hoàn Để xây dựng các dãy Kasami đầu tiên ta nhận được dãy y = x[s(m)],

s(m)=2 m/2 +1 Dãy lấy mẫu y cũng là M-dãy tuần hoàn, nhưng với chu kì nhỏ hơn

và bằng (2m -1) / s(m) = 2 m/2 -1 Tập nhỏ các dãy Kasami được cho bởi:

Trang 34

 1 2 (2 /2 2) 

k

Sx xy xT y x T yxT  y (1.15) Tổng số dãy trong tập là 2m/2 Hàm tương quan chéo đối với 2 dãy bấy kỳ trong tập Sk asami nhận các giá trị trong tập {-1, -s(m), s(m) - 2}

Tập bé Kasami được thiết kế để cải thiện các tính chất liên quan của dãy Gold và các dãy liên thông cực đại Với M-dãy, khi thực hiện lấy mẫu với khoảng các lấy mẫu 2m/2 +1, ta sẽ thu được một M-dãy có chu kỳ N=2 m/2-1 và tạo nên bởi

đa thức nguyên thủy h’(d) có bậc m/2 Như vậy, mỗi thành viên của tập bé Kasami

có thể được tạo nên bởi đa thức f(d) =h(d+h’(d) bậc 3m/2

Tập lớn Kasami: Được tổ hợp từ tập Gold với tập bé theo cách sau:

Cho m là một số chẵn và h(d) là một đa thức nguyên thủy sinh ra M-dãy {u} Cho w = u[s(m)] là một M-dãy có chu kỳ 2 m/2-1 tạo nên bởi đa thức nguyên

thủy h’(d) bậc m/2 và h”(d) là một đa thức bậc m sinh ra dãy u[t(m)]

Tập Kasami lớn, ký hiệu K L (n), được tạo bởi f(d) = h(d)h’(d)h”(d)

Người ta đã chứng minh được rằng các hàm tương quan cho dãy K L (n) lấy

giá trị trong tập:

{-1, -t(m), t(m) -2, -S(m), S(m) -2} (1.16)

Do đó ta có: c max = t(m)

Tương tự như dãy Gold tập K l (n) chứa 2 m/2(2m +1) dãy khi m=2mod 4 và

2m/2(2m +1)-1 dãy khi m= 0mod 4

Các tập Gold và các tập bé Kasami là những tập con của tập Kasami lớn Đồng thời trong khi kích thước của tập tăng lên đáng kể, giới hạn trên c max

vẫn

như của tập Gold ELS của các phần tử trong tập là 5m/2, tức là bằng deg[f(d)]

Các dãy được đề cập trong Bảng 1.2 là những dãy nổi tiếng nhất được tạo nên từ M-dãy Đó là những dãy tuyến tính và chúng được tạo ra bằng thuật toán

cộng modulo 2, là thuật toán tuyến tính trong trường nhị phân GF(2) Các dãy này

có các đặc tính tương quan tốt, trong đó dãy bé Kasami là tốt nhất Các dãy khác như dãy Gold, dãy Kasami lớn đều có kích thước lớn Tuy nhiên, giá trị ELS của

Trang 35

chúng thấp, khoảng cùng bậc với ELS của M-dãy trong khi các giá trị ACF và CCF kém hơn M-dãy nhiều lần Nguyên nhân chính dẫn tới ELS thấp rõ ràng là do phương pháp tuyến tính để cấu tạo dãy

Bảng 1.2 Các đặc tính của dãy tuyến tính có chu kỳ 2m

-1

Gold (good-like) 2(mod 4) 2m +1 1+2(m+2) /2

Kasami (large set) Chẵn 2m/2(2m+1) 1+2(m+2) /2

1.2.6 Chuẩn mã dữ liệu DES

Mô tả đầy đủ của DES được nêu trong Công bố số 46 về các chuẩn xử lý thông tin Liên bang (Mỹ) vào 15.1.1977 [4], [25], [28], [31], [32] DES mã hoá một xâu bit x của bản rõ độ dài 64 bằng một khoá 54 bit Bản mã nhận được cũng

là một xâu bit có độ dài 64 Trước hết ta mô tả ở mức cao về hệ thống

Thuật toán tiến hành theo 3 giai đoạn:

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

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

xIP xL R , trong đó L gồm 32 bit đầu và 0 R là 32 bit cuối 0

2) Sau đó tính toán 16 lần lặp theo một hàm xác định Ta sẽ tính L R , i i

1 i 16 theo quy tắc sau:

trong đó  kí hiệu phép cộng theo modulo 2 f là một hàm mà ta sẽ mô tả ở

sau, còn k k1, 2, ,k là các xâu bit độ dài 48 được tính như hàm của khoá k (trên 16

Trang 36

thực tế mỗi k là một phép chọn hoán vị bit trong k) Các khóa con i k k1, 2, ,k sẽ 16

tạo thành bảng khoá

3) Áp dụng phép hoán vị ngược IP1 cho xâu bit R L , ta thu được bản mã 16 16

y, tức là yIP1(R L16 16)

Sơ đồ mã hóa DES được xây dựng trên lược đồ Feistel như trong hình 1.5

Hình 1.5 Sơ đồ mã hóa DES

Có 64! cách chọn các bảng hoán vị, DES chọn các bảng hoán vị IP và hoán vị đảo IP-1 như trong bảng 1.3

Trang 38

Hình 1.7 Các bước tạo khóa cho các vòng mã hóa của DES

1.2.7 Ưu nhược điểm của mật mã khóa bí mật

1.2.7.1 Ưu điểm:

 Đơn giản (thời gian nhanh, yêu cầu phần cứng không phức tạp)

 Hiệu quả: (Tỷ lệ mã bằng 1) dễ sử dụng cho các ứng dụng nhạy cảm với độ trễ và các ứng dụng di động

1.2.7.2 Nhược điểm:

Phải dùng kênh an toàn để truyền khóa (Khó thiết lập và chi phí tốn kém)

 Việc tạo và giữ khóa bí mật phức tạp, khó làm việc trên mạng do phải tạo khóa nhiều

 Các thuật toán là song ánh, vì vậy nếu biết M và K thì chắc chắn biết C Thám mã có thể suy luận ra K, kết hợp với C tại kênh mở có thể suy ra M

 Khó xây dựng các dịch vụ an toàn khác như: đảm bảo tính toàn vẹn, xác thực, chữ ký số…

Vì các nhược điểm này nên phải sử dụng cả các hệ mật khóa công khai

Trang 39

1.3 HỆ MẬT KHÓA CÔNG KHAI

Ưu điểm của hệ mật khóa công khai:

+ Không sử dụng kênh an toàn (đây là nhược điểm của hệ mật khóa bí mật) + Dễ bảo vệ, lưu trữ và sinh khóa

Nhược điểm của hệ mật khóa công khai:

Trang 40

1.3.2 Một số bài toán xây dựng hệ mật khóa công khai

Với yêu cầu với hệ mật khóa công khai: Dễ mã hóa, khó giải mã (Hàm một chiều), các hướng nghiên cứu từ năm 1976 cho đến nay đã tìm được 5 hàm một chiều, tương ứng với 5 bài toán [4]

1.3.2.1 Bài toán logarit rời rạc:

Bài toán này xây trên các hàm mũ của các phần tử trong trường hữu hạn

p

Z với p là số nguyên tố lớn Bài toán ngược là phép logarit nhưng trên trường hữu

hạn và đây là bài toán khó giải khi p lớn

Các hệ mật liên quan bao gồm:

 Thủ tục trao đổi và thỏa thuận khóa Diffie-Hellman

+ Hệ mật RSA (Rivest – Shamir – Adleman)

- Tạo khóa: Mỗi bên liên lạc (A,B) tạo cho mình một cặp khóa công khai –

bí mật theo các bước sau:

Bước 1: Chọn hai số nguyên tố lớn p và q có độ lớn tương đương

Bước 2: Tính npq   ( ) n  ( p  1)( q  1)

Bước 3: Chọn e ngẫu nhiên thỏa mãn: ( , ( )) 1 en

Bước 4: Tính d với ed  1mod ( )  n

Bước 5: + Khóa công khai: (n,e)

+ Khóa bí mật: d

Ngày đăng: 02/04/2014, 15:22

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Bùi Lai An, (2012), “Về một cấu trúc tổng quát của mã PN phi tuyến đa chiều đa cấp theo kiểu lồng ghép”, Luận án tiến sĩ kỹ thuật, 2012 Sách, tạp chí
Tiêu đề: Về một cấu trúc tổng quát của mã PN phi tuyến đa chiều đa cấp theo kiểu lồng ghép
Tác giả: Bùi Lai An
Năm: 2012
[2]. Đặng Hoài Bắc, (2010) “Các mã cyclic và cyclic cục bộ trên vành đa thức có hai lớp kề cyclic”, Luận án TS kỹ thuật Sách, tạp chí
Tiêu đề: Các mã cyclic và cyclic cục bộ trên vành đa thức có hai lớp kề cyclic
[3]. Nguyễn Bình (2004), "Nghiên cứu xây dựng hạ tầng khóa công khai phục vụ thư tín điện tử và thương mại điện tử”, Báo các kết quả nghiên cứu đề tài Bộ Bưu chính - Viễn thông, 6/2004 Sách, tạp chí
Tiêu đề: Nghiên cứu xây dựng hạ tầng khóa công khai phục vụ thư tín điện tử và thương mại điện tử
Tác giả: Nguyễn Bình
Năm: 2004
[4]. Nguyễn Bình (2004), Giáo trình Mật mã học, Học viện Công nghệ Bưu chính Viễn thông, Nxb Bưu điện, 2004 Sách, tạp chí
Tiêu đề: Giáo trình Mật mã học
Tác giả: Nguyễn Bình
Nhà XB: Nxb Bưu điện
Năm: 2004
[5]. Nguyễn Bình (2008), Giáo trình Lý thuyết thông tin, Học viện Công nghệ Bưu chính Viễn thông, Nxb Bưu điện, 2008 Sách, tạp chí
Tiêu đề: Giáo trình Lý thuyết thông tin
Tác giả: Nguyễn Bình
Nhà XB: Nxb Bưu điện
Năm: 2008
[6]. Lê Đình Thích (2002), Nghiên cứu các mã xyclic cục bộ trên vành đa thức, Luận án Tiến sĩ kỹ thuật.Tiếng Anh Sách, tạp chí
Tiêu đề: Nghiên cứu các mã xyclic cục bộ trên vành đa thức", Luận án Tiến sĩ kỹ thuật
Tác giả: Lê Đình Thích
Năm: 2002
[7]. Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh, Young Hoon Kim (2007), “Polynomial rings with two cyclotomic cosets and their applications in Communication”, MMU International Symposium on Information and Communications Technologies 2007, Malaysia, ISBN: 983-43160-0-3 Sách, tạp chí
Tiêu đề: Polynomial rings with two cyclotomic cosets and their applications in Communication”, "MMU International Symposium on Information and Communications Technologies 2007
Tác giả: Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh, Young Hoon Kim
Năm: 2007
[8]. Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh (2007), “Decomposition in polynomial ring with with two cyclotomic cosets”, 36th AIC, November 18-23 2007, Manila Sách, tạp chí
Tiêu đề: Decomposition in polynomial ring with with two cyclotomic cosets”
Tác giả: Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh
Năm: 2007
[9]. Nguyen Binh, Dang Hoai Bac (2004), “Cyclic Codes over Extended Rings of Polynomial Rings with Two Cyclotomic Cosets”, REV’04, Vietnam Sách, tạp chí
Tiêu đề: Cyclic Codes over Extended Rings of Polynomial Rings with Two Cyclotomic Cosets”," REV’04
Tác giả: Nguyen Binh, Dang Hoai Bac
Năm: 2004
[10]. Nguyen Binh, Le Dinh Thich (2002), “The Oders of Polynomials and Algorithms for Defining Oder of Polynomial over Polynomial Ring”, VICA- 5, Hanoi, Vietnam Sách, tạp chí
Tiêu đề: The Oders of Polynomials and Algorithms for Defining Oder of Polynomial over Polynomial Ring
Tác giả: Nguyen Binh, Le Dinh Thich
Nhà XB: VICA- 5
Năm: 2002
[11]. Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh (2007), "Novel Algebraic Structure for Cyclic Codes", Applied Algebra, Algebraic Algorithms, and Error Correcting Codes –Conf., AAECC 17, LNCS 4851, pp 301-310, Springer-Verlag Berlin Heidelberg Sách, tạp chí
Tiêu đề: Novel Algebraic Structure for Cyclic Codes
Tác giả: Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh
Năm: 2007
[12]. Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh (2007), "New Algebraic Structure Based on Cyclic Geometric Progressions over Polynomial Ring Applied for Cryptography" IEEE, International Conference on Computational Intelligence and Security (CIS) CIS'07, December 15-19, 2007, Harbin, China Sách, tạp chí
Tiêu đề: New Algebraic Structure Based on Cyclic Geometric Progressions over Polynomial Ring Applied for Cryptography
Tác giả: Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh
Năm: 2007
[13]. Nguyen Binh (2002), “Crypto-System Based on Cyclic Geometric Progressions over Polynomial Ring (Part I)”, REV’02, Vietnam Sách, tạp chí
Tiêu đề: Crypto-System Based on Cyclic Geometric Progressions over Polynomial Ring (Part I)”," REV’02
Tác giả: Nguyen Binh
Năm: 2002
[14]. Nguyen Binh (2002), “Circulant Crypto System over Polynomial Ring (Part II)”, REV’02, Vietnam Sách, tạp chí
Tiêu đề: Circulant Crypto System over Polynomial Ring (Part II)”, "REV’02
Tác giả: Nguyen Binh
Năm: 2002
[15]. Bart PRENEEL (2003), “Analysis and Design of Cryptographic Hash Functions”, Ph.D project, February 2003 Sách, tạp chí
Tiêu đề: Analysis and Design of Cryptographic Hash Functions
Tác giả: Bart PRENEEL
Năm: 2003
[16]. Bellovir S., Merritt M. (1992), “Encrypted Key Exchange”, Proc. IEEE Symp. Security and Privacy IEEE Comp Soc Press 1992 Sách, tạp chí
Tiêu đề: Encrypted Key Exchange
Tác giả: Bellovir S., Merritt M
Năm: 1992
[17]. Denning D., Branstad D. (1996), “A Taxonomy of Key Escrow Ecryption Systems”, Comm ACM, v39 n3, Mar 1996 Sách, tạp chí
Tiêu đề: A Taxonomy of Key Escrow Ecryption Systems”, "Comm ACM
Tác giả: Denning D., Branstad D
Năm: 1996
[18]. Hamming R. W. (1980), Coding and Information Theory, Englwood Cliffs, N.J Prentice Hall Sách, tạp chí
Tiêu đề: Coding and Information Theory
Tác giả: Hamming R. W
Năm: 1980
[19]. Huth M. R. A. (2001), Secure Communication Systems, Cambridge University Press, 2001 Sách, tạp chí
Tiêu đề: Secure Communication Systems
Tác giả: Huth M. R. A
Năm: 2001
[20]. Jean-Yves Chouinard (2002), ELG 5373 Secure Communications and Data Encryption, School of Information Technology and Engineering, University of Ottawa, April 2002 Sách, tạp chí
Tiêu đề: ELG 5373 Secure Communications and Data Encryption
Tác giả: Jean-Yves Chouinard
Năm: 2002

HÌNH ẢNH LIÊN QUAN

Bảng 1.1. Trạng thái của các vector đầu ra M-dãy - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Bảng 1.1. Trạng thái của các vector đầu ra M-dãy (Trang 31)
Hình 1.4. Bộ tạo dãy Gold đối với g 1 (d) = d 3  + d +1 và g 2 (d) = d 3  + d 2  +1 - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Hình 1.4. Bộ tạo dãy Gold đối với g 1 (d) = d 3 + d +1 và g 2 (d) = d 3 + d 2 +1 (Trang 33)
Sơ đồ mã hóa DES được xây dựng trên lược đồ Feistel như trong hình 1.5. - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Sơ đồ m ã hóa DES được xây dựng trên lược đồ Feistel như trong hình 1.5 (Trang 36)
Hình 1.6. Mô tả hàm f trong DES - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Hình 1.6. Mô tả hàm f trong DES (Trang 37)
Hình 1.7. Các bước tạo khóa cho các vòng mã hóa của DES - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Hình 1.7. Các bước tạo khóa cho các vòng mã hóa của DES (Trang 38)
Hình 1.16. Kiểm tra tính toàn vẹn dùng MDC và kênh an toàn - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Hình 1.16. Kiểm tra tính toàn vẹn dùng MDC và kênh an toàn (Trang 55)
Hình 1.19. Sơ đồ chữ ký số dùng RSA và có bảo mật thông báo - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Hình 1.19. Sơ đồ chữ ký số dùng RSA và có bảo mật thông báo (Trang 57)
Bảng 2.2. Tổng số các kiểu phân hoạch của vành  Z 2 [ ]/ x x n  1 - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Bảng 2.2. Tổng số các kiểu phân hoạch của vành Z 2 [ ]/ x x n  1 (Trang 67)
Bảng 2.7. Số lượng M-dãy lồng ghép với một vài giá trị n khác nhau - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Bảng 2.7. Số lượng M-dãy lồng ghép với một vài giá trị n khác nhau (Trang 79)
Hình 2.4. Sơ đồ mạng thay thế Feistel - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Hình 2.4. Sơ đồ mạng thay thế Feistel (Trang 85)
Bảng 2.10.  Khoảng cách Hamming d H (C 1 ,C i ) giữa các cặp bản mã khi các bản rõ khác nhau 1 bit, - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Bảng 2.10. Khoảng cách Hamming d H (C 1 ,C i ) giữa các cặp bản mã khi các bản rõ khác nhau 1 bit, (Trang 89)
Bảng 2.11. Khoảng cách Hamming d H (C 1 ,C i ) giữa các cặp bản mã   khi các khóa khác khóa K 1  2 bit d H (K 1 , K i )=2 với cùng một bản rõ M - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Bảng 2.11. Khoảng cách Hamming d H (C 1 ,C i ) giữa các cặp bản mã khi các khóa khác khóa K 1 2 bit d H (K 1 , K i )=2 với cùng một bản rõ M (Trang 90)
Hình 3.1. Tương tác giữa mở rộng thông báo và các thao tác bước - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Hình 3.1. Tương tác giữa mở rộng thông báo và các thao tác bước (Trang 92)
Bảng 3.2. Ký hiệu các thông số và các biến - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Bảng 3.2. Ký hiệu các thông số và các biến (Trang 95)
Bảng 3.3. Khoảng cách Hamming d H (MD 1 , MD i ) khi các khối dữ liệu - Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
Bảng 3.3. Khoảng cách Hamming d H (MD 1 , MD i ) khi các khối dữ liệu (Trang 106)

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