Tải bản đầy đủ (.pdf) (150 trang)

Mật mã dữ liệu ảnh ứng dụng kỹ thuật hỗn loạn (Luận án tiến sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (20.79 MB, 150 trang )

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

HOÀNG XUÂN THÀNH

MẬT MÃ DỮ LIỆU ẢNH ỨNG DỤNG
KỸ THUẬT HỖN LOẠN

LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ

HÀ NỘI - 2019


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

HOÀNG XUÂN THÀNH

MẬT MÃ DỮ LIỆU ẢNH ỨNG DỤNG
KỸ THUẬT HỖN LOẠN

Ngành: Kỹ thuật điện tử
Mã số: 9520203

LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ

NGƯỜI HƯỚNG DẪN KHOA HỌC:
1. PGS.TS. HOÀNG MẠNH THẮNG

HÀ NỘI - 2019



LỜI CAM ĐOAN

Tôi xin cam đoan các kết quả trình bày trong Luận án là công trình nghiên cứu của tôi
dưới sự hướng dẫn của PGS.TS. Hoàng Mạnh Thắng. Các số liệu, kết quả trình bày trong
luận án là hoàn toàn trung thực và chưa được công bố trong bất kỳ công trình nào trước
đây. Các kết quả sử dụng tham khảo đã được trích dẫn đầy đủ và theo đúng quy định.
Hà nội, ngày 06 tháng 11 năm 2019.
Tác giả

Hoàng Xuân Thành


LỜI CÁM ƠN

Để hoàn thành được Luận án này, tôi xin gửi lời biết ơn sâu sắc đến các Thày cô trong
Bộ môn Điện tử và Kỹ thuật máy tính, Viện Điện tử–Viễn thông đã hỗ trợ, giúp đỡ và
động viên tôi trong suốt quá trình làm luận án tiến sĩ tại Trường Đại học Bách khoa Hà
Nội. Tôi gửi lời cám ơn đến người hướng dẫn, PGS. Hoàng Mạnh Thắng, người chỉ bảo
và định hướng cho tôi trong quá trình nghiên cứu.
Xin cám ơn rất nhiều!
Hà nội, ngày 06 tháng 11 năm 2019.


Mục lục
Trang
DANH MỤC CÁC TỪ VIẾT TẮT

iv


DANH SÁCH HÌNH VẼ

vii

DANH SÁCH BẢNG

x

MỞ ĐẦU

1

Chương 1: TỔNG QUAN VỀ HÀM HỖN LOẠN VÀ ẢNH SỐ

7

1.1

Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

1.2

Mật mã hiện đại và phân loại. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
1.2.1 Định nghĩa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
1.2.2 Phân loại mật mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

1.3

Hệ thống hỗn loạn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
1.3.1 Hệ hỗn loạn liên tục theo thời gian . . . . . . . . . . . . . . . . . . . . . . . .11

1.3.2 Hệ hỗn loạn rời rạc theo thời gian . . . . . . . . . . . . . . . . . . . . . . . . .12
1.3.2.1 Hàm Logistic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
1.3.2.2 Hàm Henon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
1.3.2.3 Hàm Cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
1.3.2.4 Hàm hỗn loạn Cat-Hadamard . . . . . . . . . . . . . . . . . . . . . . . .14
1.3.2.5 Hàm Standard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
1.3.2.6 Hàm Skew tent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
1.3.2.7 Hàm Chebyshev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
1.3.2.8 Hàm hỗn loạn không gian-thời gian . . . . . . . . . . . . . . . . . . . .16

1.4

Các thuộc tính của hàm hỗn loạn phù hợp cho ứng dụng trong mật mã . . . . .16
1.4.1 Các thuộc tính cơ bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
1.4.2 Các tham số và tính chất của hàm hỗn loạn dùng trong mật mã . . . . . . .18

1.5

Tạo chuỗi ngẫu nhiên dùng hàm hỗn loạn . . . . . . . . . . . . . . . . . . . . . . .20
1.5.1 Tạo chuỗi bit ngẫu nhiên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
1.5.2 Tạo chuỗi số giả ngẫu nhiên . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

1.6

Ảnh số và các đặc điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
1.6.1 Biểu diễn ảnh số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
1.6.2 Các đặc trưng của dữ liệu ảnh . . . . . . . . . . . . . . . . . . . . . . . . . . .24

1.7


Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

i


Chương 2: MẬT MÃ ẢNH Ở MỨC BIT ỨNG DỤNG
KỸ THUẬT HỖN LOẠN

27

2.1

Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

2.2

Mô hình mật mã cấu trúc SPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
2.2.1 Hoán vị các điểm ảnh sử dụng hỗn loạn . . . . . . . . . . . . . . . . . . . . .30
2.2.1.1 Các cơ chế hoán vị dữ liệu cho ảnh. . . . . . . . . . . . . . . . . . . . .31
2.2.1.2 Luật hoán vị dựa vào biến trạng thái . . . . . . . . . . . . . . . . . . . .31
2.2.1.3 Luật hoán vị dựa vào đặc tính động của hàm hỗn loạn rời rạc . . . .35
2.2.1.4 Đánh giá hiệu năng của phép hoán vị . . . . . . . . . . . . . . . . . . .37
2.2.2 Phép thay thế sử dụng hỗn loạn . . . . . . . . . . . . . . . . . . . . . . . . . .40
2.2.2.1 Phép thay thế không tạo ra lan truyền . . . . . . . . . . . . . . . . . . .40
2.2.2.2 Thay thế có lan truyền . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

2.3

Đề xuất các hệ mật mã hỗn loạn làm việc ở mức bit. . . . . . . . . . . . . . . . .43
2.3.1 Đề xuất 1: Hệ mật mã dựa trên tác động lên đặc tính động của hàm hỗn

loạn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
2.3.1.1 Bộ mật mã. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
2.3.1.2 Bộ giải mật mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
2.3.1.3 Kết quả mô phỏng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
2.3.1.4 Phân tích khả năng bảo mật . . . . . . . . . . . . . . . . . . . . . . . . .49
2.3.1.5 Kết quả thiết kế mạch cứng . . . . . . . . . . . . . . . . . . . . . . . . .53
2.3.2 Đề xuất 2: Hệ mật mã hỗn loạn cho ảnh ở mức bit . . . . . . . . . . . . . . .60
2.3.2.1 Giải thuật mật mã dùng hàm hỗn loạn Cat-Hadamard . . . . . . . . .60
2.3.2.2 Giải thuật giải mật . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
2.3.2.3 Chi phí tính toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
2.3.2.4 Giải thuật phân phối khóa . . . . . . . . . . . . . . . . . . . . . . . . . .63
2.3.2.5 Phân tích khả năng bảo mật . . . . . . . . . . . . . . . . . . . . . . . . .64

2.4

Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67

Chương 3: PHÂN TÍCH MẬT MÃ HỖN LOẠN CÓ CẤU TRÚC SPN

69

3.1

Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69

3.2

Một số qui ước trong phân tích mã . . . . . . . . . . . . . . . . . . . . . . . . . . .71

3.3


Mô tả hệ mật mã hỗn loạn được đề xuất bởi W. Zhang . . . . . . . . . . . . . . .71

3.4

Đề xuất 3: Phân tích hệ mật mã hỗn loạn có cấu trúc SPN với một vòng lặp mã75
3.4.1 Tấn công lựa chọn bản rõ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
3.4.1.1 Tấn công vào quá trình hoán vị . . . . . . . . . . . . . . . . . . . . . . .76
3.4.1.2 Tấn công vào khuếch tán . . . . . . . . . . . . . . . . . . . . . . . . . . .79
ii


3.4.2 Tấn công lựa chọn bản mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
3.4.2.1 Tấn công quá trình hoán vị ngược . . . . . . . . . . . . . . . . . . . . .83
3.4.2.2 Tấn công khuếch tán ngược . . . . . . . . . . . . . . . . . . . . . . . . .87
3.4.3 Ước lượng thời gian tấn công . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
3.4.3.1 Thời gian tấn công hoán vị . . . . . . . . . . . . . . . . . . . . . . . . . .90
3.4.3.2 Thời gian tấn công khuếch tán. . . . . . . . . . . . . . . . . . . . . . . .91
3.4.4 Một số bàn luận về tấn công một vòng lặp mã . . . . . . . . . . . . . . . . .92
3.5

Đề xuất 4: Phân tích mật mã hỗn loạn có cấu trúc SPN với nhiều vòng lặp mã 93
3.5.1 Giải thuật mật mã và giải mật nhiều vòng lặp mã . . . . . . . . . . . . . . .93
3.5.2 Phân tích mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
3.5.2.1 Nhận diện điểm yếu trong hệ mật mã . . . . . . . . . . . . . . . . . . .96
3.5.2.2 Khôi phục luật hoán vị . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
3.5.3 Đề xuất phương pháp nâng cao bảo mật cho hệ mật mã. . . . . . . . . . . .110
3.5.4 Kết luận. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN


121

DANH MỤC CÔNG TRÌNH CÔNG BỐ CỦA LUẬN ÁN

123

TÀI LIỆU THAM KHẢO

124

iii


Danh sách các từ viết tắt

VIẾT TẮT

TIẾNG ANH

TIẾNG VIỆT

1D

One-dimention

Một chiều tự do

2D


Two-dimention

Hai chiều tự do

AES

Advanced Encryption System

Hệ mật mã tiên tiến

BIC

Bit Independence Criteria

Tiêu chí độc lập bit đầu ra

CCA

Chosen-Ciphertext Attack

Tấn công lựa chọn bản mã

CML

Coupled Map Lattice

Ghép các hàm hỗn loạn

COA


Ciphertext-Only Attack

Tấn công chỉ có bản mã

CPA

Chosen-Plaintext Attack

Tấn công lựa chọn bản rõ

Cdr

Ciphertext difference rate

Tỷ lệ sai khác giữa các bản mã

Cdr

Tỷ lệ sai khác giữa hai bản mã thu
được (Cdr)

DBAP

Distance Between Adjacent Pixels Khoảng cách giữa các điểm ảnh
lân cận

FIPS 199

Federal Information Processing Bản công cố tiêu chuẩn xử lý
Standard Publication 199


thông tin liên bang 199

HSV

Hue, Saturation, and Value

ID

Initial for Diffusion

Giá trị khởi đầu cho khuếch tán

IP

Initial Vector/Value

Giá trị/vectơ khởi đầu

KPA

Known-Plaintext Attack

Tấn công biết được bản rõ

LFSR

Linear Feedback Shift Register

Thanh ghi dịch hồi tiếp tuyến tính


NIST

National Institute of Standards Viện quốc gia về chuẩn và công

NPCR

and Technology

nghệ

Number of Pixels Change Rate

Tỷ lệ số điểm ảnh thay đổi giá trị

PRESENT
PWLCM

Mã hạng nhẹ PRESENT
Piece-wise Linear Chaotic Map

Hàm hỗn loạn gồm các đoạn tuyến
tính

PAPC

Percentage of adjacent pixels Phần trăm các điểm ảnh lân cận
count

PKI


Public Key Infrastructure

Nền tảng khóa công khai
iv


PV

Primary vertex

Điểm sơ cấp

RGB

Red, Green, and Blue

UACI

Unified Average Changing Inten- Cường độ thay đổi trung bình
sity

thống nhất

SAC

Strict Avalanche Criterion

Tiêu chí thác chặt


SAFER

Secure And Fast Encryption Rou- Hàm mật mã hóa nhanh và an toàn
tine

SPN
SV

Substitution-Permutation

Net- Mạng hoán vị-thay thế; cấu trúc

work

SPN

Secondary vertex

Điểm thứ cấp

Attractor

Vùng hút

Asymmetric

Bất đối xứng

Avanlanche


Hiệu ứng thác lũ, hiệu ứng tuyết lở

Back neighbor

Lân cận sau

Bifurcation

Phân nhánh

Bitmap

Ảnh biểu diễn dưới dạng ma trận
các điểm ảnh

Back neighbor

Lân cận sau

Confusion

Tính chất lộn xộn

Ciphertext

Văn bản mã hóa, bản mã

Ciphertext word

Từ mã


Cryptanalysis

Thám mã; phân tích mã; phá mã

Cryptology

Mật mã học

Deciphering algorithm

Thuật toán giải mã

Diffusion

Tính chất khuếch tán

Enciphering algorithm

Thuật toán mã hóa

Enciphering key

Khóa mã hóa

Front neighbor

Lân cận trước

Histogram


Biểu đồ phân bố

Inverse permutation

Giải hoán vị; Khôi phục hoán vị;
Hoán vị ngược

Inverse diffusion

Giải khuếch tán; Khôi phục
khuếch tán; Khuếch tán ngược

Main track

Đường chính; nhánh chính
v


Plaintext

Văn bản trơn, bản rõ

Plaintext

Văn bản trơn, bản rõ

Plaintext word

Từ rõ


Private key

Khóa mật

Public key

Khóa công khai

Raster

Ảnh biểu diễn dưới dạng ma trận
các điểm ảnh

Side track

Đường phụ; nhánh phụ

Steganography

Phương pháp giấu tin trong ảnh

Symmetric

Đối xứng

Symmetric-key algorithms

Thuật toán khóa đối xứng


Topologically transitive hay Topo- Cấu trúc đồ hình liên kết
logical mixing
Watermarking

Thủy vân số

vi


Danh sách hình vẽ
1.1

Phân loại nghiên cứu của mật mã học. . . . . . . . . . . . . . . . . . . . 8

1.2

Mật mã khóa đối xứng và bất đối xứng. . . . . . . . . . . . . . . . . . . 9

1.3

Phân loại mật mã theo cấu trúc. . . . . . . . . . . . . . . . . . . . . . . . 10

1.4

Phân loại theo cơ sở nền tảng. . . . . . . . . . . . . . . . . . . . . . . . 11

1.5

Phân loại theo đơn vị dữ liệu được mã hóa. . . . . . . . . . . . . . . . . . 11


1.6

Vùng hút của hàm Henon. . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.7

Phụ thuộc điều kiện đầu của hàm Logistic với r = 4, 0. . . . . . . . . . . 17

1.8

Hệ số Lyapunov của hàm Logistic phụ thuộc vào r. . . . . . . . . . . . . 17

1.9

Đồ hình phân nhánh của hàm Logistic phụ thuộc vào r. . . . . . . . . . . 18

1.10 Phân bố của chuỗi giá trị được tạo từ hàm Logistic. . . . . . . . . . . . . 19
1.11 Phân bố của chuỗi giá trị được tạo từ hàm Henon với a = 10 và b = 50. . 19
1.12 LFSR thực hiện theo hàm P (x) = x8 + x6 + x5 + x4 + 1. . . . . . . . . 21
1.13 Bộ tạo chuỗi số dùng hàm hỗn loạn (nguồn: [1]) . . . . . . . . . . . . . . 23
1.14 Ảnh được biểu diễn dưới dạng véctơ và raster (nguồn: [2]). . . . . . . . . 24
1.15 Mô tả các lớp bit của ảnh mức xám 8 bit. . . . . . . . . . . . . . . . . . . 24
1.16 Hàm tự tương quan của các điểm ảnh trên cùng một dòng điểm ảnh. . . . 25
1.17 Ảnh các lớp bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1

Mật mã có cấu trúc SPN dùng hỗn loạn. . . . . . . . . . . . . . . . . . . 29

2.2


Luật hoán vị và ví dụ hoán vị cho mảng 1D. . . . . . . . . . . . . . . . . 32

2.3

Luật hoán vị ở dạng 2D. . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.4

Ví dụ về ảnh hoán vị dùng ma trận hoán vị tạo ra bởi hàm hỗn loạn. . . . 33

2.5

Ma trận T và sự khác nhau giữa chúng trong các trường hợp số điểm
đầu bỏ đi khác nhau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.6

Luật hoán vị dựa trên đặc tính động của hàm hỗn loạn. . . . . . . . . . . 36

2.7

Ánh xạ một-một của hàm. . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.8

Phương pháp đánh giá hoán vị PAPC (nguồn: [3]). . . . . . . . . . . . . . 38

2.9

Phương pháp đánh giá hoán vị DBAP (nguồn: [3]). . . . . . . . . . . . . 39


2.10 Cấu trúc bộ mật mã đề xuất. . . . . . . . . . . . . . . . . . . . . . . . . 45
2.11 Cấu trúc khối CPP và CD trong hệ mật mã được đề xuất. . . . . . . . . . 47
2.12 Cấu trúc của iCD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.13 Các ảnh bản rõ (cột bên trái) và các ảnh sau khi được mật mã (cột phải). . 50
vii


2.14 Thiết kế phần cứng của hàm Logistic nhiều vòng lặp. . . . . . . . . . . . 55
2.15 Thiết kế phần cứng của khối mở rộng 8 bit thành 32 bit. . . . . . . . . . . 56
2.16 Lưu đồ thực hiện tách 8 bit từ 32 bit đầu vào. . . . . . . . . . . . . . . . 57
2.17 Lưu đồ thuật toán của khối CPP. . . . . . . . . . . . . . . . . . . . . . . 58
2.18 Cấu trúc mạch điện tử tổng thể của khối CPP. . . . . . . . . . . . . . . . 59
2.19 Ảnh bản rõ và ảnh bản mã. . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.20 Phân bố giá trị điểm ảnh bản rõ và bản mã. . . . . . . . . . . . . . . . . . 62
2.21 Tương quan giữa các ảnh bản rõ và bản mã của 2.19(a). . . . . . . . . . . 65
2.22 Cdr của giải thuật đề xuất với ảnh Image1. . . . . . . . . . . . . . . . . 67
3.1

Ảnh RGB được sắp xếp lại thành một ma trận để mật mã. . . . . . . . . . 72

3.2

Các bước mật mã và giải mật. . . . . . . . . . . . . . . . . . . . . . . . . 73

3.3

Khôi phục luật hoán vị trong tấn công lựa chọn bản rõ cho vị trí (x0 , y0 ). . 76

3.4


Ví dụ tấn công vào hoán vị. . . . . . . . . . . . . . . . . . . . . . . . . . 78

3.5

Kết quả cuối cùng của luật hoán vị. . . . . . . . . . . . . . . . . . . . . . 79

3.6

Ví dụ tìm giá trị bit b0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

3.7

Ví dụ tìm giá trị bit b5 của rand2 (temp2 ). . . . . . . . . . . . . . . . . . 82

3.8

Tấn công lựa chọn bản rõ trên ảnh 5 × 5. . . . . . . . . . . . . . . . . . . 84

3.9

Thủ tục khôi phục lại luật hoán vị trong tấn công bản mã cho điểm
ảnh tại vị trí (x0 , y0 ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

3.10 Tấn công hoán vị trong lựa chọn bản mã với kích thước ma trận mở
rộng là 10 × 10.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

3.11 Tấn công lựa chọn bản mã trên ảnh 5 × 5. . . . . . . . . . . . . . . . . . 90

3.12 Mật mã và giải mật. (a) Các bước mật mã, (b) Các bước giải mật. . . . . . 94
3.13 Giải mật để khôi phục ac(i). . . . . . . . . . . . . . . . . . . . . . . . . 97
3.14 Từng bước giải mật mã để chỉ ra điểm yếu với R = 3. . . . . . . . . . . . 99
3.15 Phân tích sự lan truyền ảnh hưởng. . . . . . . . . . . . . . . . . . . . . . 100
3.16 Thủ tục khôi phục bảng tra cứu hoán vị tổng quát dùng trong giải mật. . . 101
3.17 Từng bước giải mật để tìm ra điểm yếu. . . . . . . . . . . . . . . . . . . 104
3.18 Trình bày bảng khôi phục hoán vị. . . . . . . . . . . . . . . . . . . . . . 105
3.19 Các nguồn ảnh hưởng lên vị trí trong giải mật. . . . . . . . . . . . . . . . 107
3.20 Phân tích sự ảnh hưởng lan truyền. . . . . . . . . . . . . . . . . . . . . . 110
3.21 Từng bước giải mật mã cho Trường hợp 1 với R = 3. . . . . . . . . . . . 116
3.22 Từng bước giải mật mã cho Trường hợp 2 với R = 3. . . . . . . . . . . . 116
3.23 Từng bước giải mật mã cho Trường hợp 3 với R = 3. . . . . . . . . . . . 117
3.24 Từng bước giải mật mã cho Trường hợp 4 với R = 3. . . . . . . . . . . . 118
viii


3.25 Giải mật mã các bản mã được lựa chọn cho Trường hợp 4 với giá trị
của ac(r+1) (0) bằng với giá trị của cipher(r) (4N 2 ), với R = 3. . . . . . . 119
3.26 Giải mật mã cho các bản mã được lựa chọn cho Trường hợp 4 với việc
thêm một vòng khuếch tán với R = 3. . . . . . . . . . . . . . . . . . . . 119

ix


Danh sách bảng
1.1

Mức độ quan trọng của bit ở các lớp khác nhau. . . . . . . . . . . . . . . 26

2.1


Số bit biểu diễn dữ liệu. . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2

Giá trị của các tham số và số bit biểu diễn Npara . . . . . . . . . . . . . . 49

2.3

Thứ tự các bit được lựa chọn. . . . . . . . . . . . . . . . . . . . . . . . . 49

2.4

Độ nhạy của khóa mật tính theo Cdr. . . . . . . . . . . . . . . . . . . . 51

2.5

Lượng tin trong ảnh bản mã. . . . . . . . . . . . . . . . . . . . . . . . . 52

2.6

Trung bình của N P CR và U ACI được tính toán với 100 ảnh. . . . . . . 53

2.7

So sánh kết quả mạch điện tạo ra và kết quả từ Matlab. . . . . . . . . . . 54

2.8

Tổng hợp các ký hiệu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60


2.9

Các hệ số tương quan tương ứng với các ảnh bản rõ và bản mã. . . . . . . 65

2.10 Các đại lượng N P CR và U ACI. . . . . . . . . . . . . . . . . . . . . . 66
3.1

Phát hiện giá trị bit trong b. . . . . . . . . . . . . . . . . . . . . . . . . . 81

3.2

Thời gian tấn công. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

3.3

Số vị trí bị thay đổi trong giải mật với R . . . . . . . . . . . . . . . . . . 100

3.4

Các vị trí và số lần xuất hiện. . . . . . . . . . . . . . . . . . . . . . . . . 108

x


MỞ ĐẦU
Sự phát triển của cơ sở lý thuyết động học bắt đầu từ giữa thế kỷ 17 với nghiên cứu về
phương trình vi phân của Newton đưa ra để mô tả cho luật chuyển động và vạn vật hấp
dẫn. Ban đầu, các phương trình đó dùng để giải thích cho chuyển động của hành tinh
xung quanh mặt trời; sau đó nó dùng để mô tả định luật hấp dẫn giữa hai vật được tính

toán giữa trái đất và mặt trời. Các phương trình động học mô tả lực hấp dẫn của Newton
được phát triển cho các hệ nhiều vật bởi các nhà toán học và vật lý sau này. Những khó
khăn trong việc mô tả chính xác hệ ba vật bằng các hệ phương trình vi phân ở thời kỳ
thời đó đã được mở ra dần kể từ cuối thế kỷ 19 bởi nhà khoa học người pháp tên là Henri
Poincaré với các câu hỏi đặt ra và tìm câu trả lời cho mô tả bằng hình học. Poincaré cũng
là người đầu tiên thấy có sự hỗn loạn (chaos) được sinh ra bởi hệ thống xác định, mà ở đó
hệ thống phụ thuộc vào điều kiện đầu và không thể dự đoán dài hạn.
Các nghiên cứu về động học phi tuyến được thực hiện ở mức cơ bản trong phần đầu
của thế kỷ 20. Dao động phi tuyến được nghiên cứu và ứng dụng nhiều hơn trong vật lý
và kỹ thuật. Các ứng dụng của dao động phi tuyến trong laser, thông tin, truyền sóng vô
tuyến... được đưa ra. Từ nửa sau của thế kỷ 20 cho đến nay, hỗn loạn được nghiên cứu
rộng rãi và được đưa vào ứng dụng trong thực tế như phân tích tín hiệu, mật mã....Lý do
khiến các lĩnh vực động học phi tuyến và hỗn loạn được nghiên cứu mạnh mẽ hơn là bởi
sự phát triển của máy tính tốc độ cao. Các máy tính tốc độ cao được dùng để mô hình hóa
cho các hệ phương trình động học một cách dễ dàng hơn, điều mà trước đây không thể
thực hiện được. Cũng từ đó, các ứng dụng của động học phi tuyến vào các vấn đề thực tế
cũng được quan tâm và phát triển. Ở đây, cần chú ý rằng hỗn loạn là một trạng thái làm
việc của hệ thống động.
Trong năm mươi năm trở lại đây, động học phi tuyến và hỗn loạn được các nhà khoa
học về toán lý phát triển và hình thành các công cụ dùng trong ứng dụng thực tiễn. Các
hướng nghiên cứu về động học phi tuyến được thấy gồm: (i) phát triển các giải thuật ứng
dụng xử lý tín hiệu vào các tín hiệu được sinh ra bởi các hệ thống phức tạp nhằm tìm
hiểu và khai thác các đặc trưng của hệ thống động như dự báo (thời tiết, chỉ số chứng
khoán,..), nhận dạng hệ thống (nhận dạng tiếng nói, phát hiện bệnh qua tín hiệu y sinh...),
(ii) tạo ra hệ thống động xác định từ các mạch điện tử, laser, hệ cơ khí...nhằm tạo ra các
ứng dụng từ đó, (iii) sử dụng tín hiệu được sinh ra từ các hệ thống động vào các mục đích
cụ thể như điều chế truyền tin, mật mã... Trong hai thập kỷ trở lại đây, các hướng nghiên
cứu ứng dụng hiện tượng hỗn loạn trong hệ động học phi tuyến vào mật mã được phát
1



triển.
Trong mật mã học, nguyên tắc cơ bản được dùng để xây dựng các hệ mật mã nhằm
để đảm bảo tính mật của nội dung thông tin là dựa trên sự phức tạp của giải thuật mật
mã và giải mật mã, đồng thời dựa trên các tính chất của số học. Các hệ mật mã được đưa
về nguyên tắc này để xem xét. Hơn nữa, trong kỷ nguyên số, hầu hết các ứng dụng mật
mã được thực hiện trên các thiết bị số, do vậy độ dài của khóa mật được tính bằng bit và
thường được xem xét như năng lực chịu đựng tấn công vét cạn của hệ mật mã. Cũng vẫn
theo cách lý giải đó, mật mã ứng dụng hiện tượng hỗn loạn của hệ thống động1 là dựa
trên sự phức tạp của hệ động học và sự phức tạp của giải thuật mật mã và giải mật mã.
Tuy nhiên, sự phức tạp của hệ hỗn loạn được xem xét tương ứng với bên các tính chất của
số học.
Luận án này đề cập đến nghiên cứu ứng dụng hiện tượng hỗn loạn của hệ thống động
cho mật mã ảnh. Cụ thể các vấn đề liên quan đến xây dựng hệ mật mã và phân tích mã
được tập trung nghiên cứu.
1. Mục tiêu, đối tượng và phạm vi nghiên cứu
Mục tiêu nghiên cứu:
• Nghiên cứu các phương pháp hình thành lên hệ mật mã ứng dụng hàm hỗn loạn.
Khả năng chịu được các tấn công và các vấn đề liên quan đến đảm bảo tính mật
được nghiên cứu. Từ đó cho thấy các khả năng phát triển của mật mã hỗn loạn và
khả năng ứng dụng để mật mã cho dữ liệu ảnh.
• Từ các hiểu biết xung quanh các vấn đề của mật mã hỗn loạn, Luận án đề xuất ra hệ
mật mã hỗn loạn mới có khả năng chịu được các phương pháp tấn công và phù hợp
cho thiết kế trên phần cứng.
Đối tượng và phạm vi nghiên cứu: Qua thời gian tham khảo xu hướng phát triển,
Luận án đã đi đến lựa chọn đối tượng và phạm vi nghiên cứu như sau:
- Đối tượng nghiên cứu: Luận án được hạn chế và chỉ tập trung vào các hệ mật mã sử
dụng các hàm hỗn loạn rời rạc theo thời gian. Đề xuất ra hệ mật mã, giải thuật dùng cho
mật mã hỗn loạn và các giải thuật phân tích các hệ mật mã hỗn loạn.
- Phạm vi nghiên cứu: Hệ mật mã được quan tâm trong Luận án này là các hệ mật mã

được xây dựng theo cấu trúc Unified, tức là cấu trúc gồm các lớp S (subsitution) và P
(permutation), hay còn gọi là cấu trúc mạng hoán vị-thay thế (Substitution-Permutation
Network: SPN). Các phương pháp đánh giá truyền thống được dùng để đánh giá hệ mật
1 Hệ

mật mã được xây dựng dưa vào hệ hỗn loạn được gọi tắt là hệ mật mã hỗn loạn

2


mã hỗn loạn có cấu trúc SPN nhằm xác định khả năng chịu đựng được các cơ chế tấn
công cơ bản.
2. Phương pháp nghiên cứu
Luận án này được nghiên cứu dựa vào các phương pháp phân tích, mô phỏng số, và
đánh giá thống kê. Trong đó,
• Phân tích lý thuyết được thực hiện với các hệ mật mã hỗn loạn đã được công bố bởi
các nhà khoa học; từ đó xác định được các nội dung cần tập trung nghiên cứu để đề
xuất được mô hình mới.
• Nội dung nghiên cứu lý thuyết được thực hiện thông qua mô phỏng trên máy tính
bằng phần mềm Matlab phiên bản 2016, phần mềm Altera Quartus II phiên bản 13,
và phần mềm ModelSim phiên bản 6.0 để đưa ra được các kết quả phục vụ cho đánh
giá.
• Phương pháp đánh giá thống kê được áp dụng nhằm chỉ ra hoạt động của các hệ
mật mã hỗn loạn được quan tâm và đưa ra các nhận định về khả năng chịu đựng tấn
công.
3. Tình hình nghiên cứu trong và ngoài nước
Tình hình nghiên cứu trong nước:
Hiện nay trong nước có một số nhóm nghiên cứu về mật mã theo cách tiếp cận truyền
thống, tức là dựa trên sự phức tạp về giải thuật và dựa trên các tính chất về số học. Các
nhóm nghiên cứu chuyên sâu đó thuộc cơ quan chức năng quản lý về mật mã là Ban Cơ

yếu Chính phủ. Ngoài ra, các cơ quan với chức quản lý về an toàn thông tin như Cục An
toàn thông tin - Bộ Thông tin và Truyền thông và Bộ Tư lệnh Tác chiến không gian mạng
- Bộ Quốc phòng. Ngoài ra, có một số nhà khoa học thuộc các trường đại học tham gia
nghiên cứu mang tính học thuật theo hướng tiếp cận truyền thống. Một số kết quả nghiên
cứu mật mã và mật mã ảnh số theo cách tiếp cận truyền thống gồm [4, 5, 6, 7, 8].
Theo như hiểu biết của tác giả Luận án này, chỉ có duy nhất nhóm nghiên cứu của
PGS. Hoàng Mạnh Thắng (người hướng dẫn khoa học của Luận án này) thuộc Trường
Đại học Bách khoa Hà nội tập trung nghiên cứu về hỗn loạn và ứng dụng trong bảo mật
và truyền tin. Nhóm nghiên cứu này còn có các thành viên là PGS. Nguyễn Xuân Quyền
và TS. Tạ Thị Kim Huệ. Các kết quả nghiên cứu về ứng dụng hỗn loạn trong mật mã
được đăng tải trên các tạp chí trong và ngoài nước duy nhất xuất phát từ nhóm nghiên
cứu này [9, 10].
3


Tình hình nghiên cứu ngoài nước:
Nghiên cứu về các hệ động học phi tuyến và ứng dụng để giải quyết các vấn đề thực tế
đã thu hút đông đảo các nhà khoa học trong cộng đồng nghiên cứu. Lĩnh vực mật mã sử
dụng các hệ hỗn loạn được nhiều nhóm nghiên cứu thực hiện. Danh sách các nhóm lớn
nghiên cứu về vấn đề này gồm: Nhóm nghiên cứu được dẫn dắt bởi GS Guanrong Ron
Chen tại Đại học Thành phố Hồng Kông; Nhóm nghiên cứu của TS. Arroyo Guarde˜no
David thuộc đại học Universidad Autónoma de Madrid, và TS. Gonzalo Alvarez thuộc
˘
Hội đồng nghiên cứu quốc gia của Tây Ban Nha; Nhóm nghiên cứu gồm Hidayet OGRAS
¸
¨
và Mustafa TURK
tại Đại học Batman, Thổ Nhĩ Kỳ; Nhóm nghiên cứu của GS Safwan
El Assad tại Đại học Nantes, Pháp; và nhiều nhóm nghiên cứu khác trên thế giới.
Bằng cách dùng chức năng tìm kiếm theo từ khóa “chaotic cryptography” và “chaotic

cryptosystems” trên trang Google Scholar đã cho thấy 27.900 và 16.100 kết quả liên quan,
mà phần lớn là các bài báo và sáng chế liên quan đến các từ khóa này. Cụ thể, các kết
quả nghiên cứu về lĩnh vực ứng dụng hỗn loạn trong mật mã được công bố và cập nhật
thường xuyên trên các tạp chí khoa học chuyên ngành. Các kết quả nghiên cứu chủ yếu
được đăng tải trên các tạp chí thuộc lĩnh vực toán ứng dụng, vật lý, xử lý tín hiệu, và điện
tử - máy tính.
Sự quan tâm của nhiều nhóm nghiên cứu trên thế giới cùng với các kết quả mới được
công bố thường xuyên đã nói lên sự hấp dẫn và phát triển của chủ đề nghiên cứu này.
4. Động lực nghiên cứu:
Sau hơn hai thập kỷ, cộng đồng nghiên cứu về các lĩnh vực động học phi tuyến và
mật mã học đang nỗ lực tạo ra sự kết hợp giữa mật mã và hỗn loạn để tạo ra hướng tiếp
cận mới cho mật mã; đó là dựa vào động học phi tuyến thay vì dựa vào sự phức tạp của
số học. Cho đến nay, những cố gắng đó đã tạo ra nhiều hệ mật mã được công bố. Tuy
nhiên, quá trình phát triển và những tranh luận vẫn đang tiếp diễn chưa có hồi kết về các
vấn đề liên quan như tạo hệ mật mã mới, khả năng chịu đựng tấn công, và tối ưu hóa
các quá trình. Thực tế cho thấy với mật mã theo cách tiếp cận cổ điển, sự đảm bảo mật
mã của ngày hôm nay không chắc chắn còn được đảm bảo ở ngày mai. Chưa kể mật mã
theo hướng ứng dụng hỗn loạn vẫn còn đang trong giai đoạn đầu của quá trình phát triển
với nhiều hấp dẫn. Điều này tạo ra sự hấp dẫn và làm động lực nghiên cứu của Luận án
này. Còn một động lực quan trọng hơn, đó là những thách thức nghiên cứu. Thách thức
nghiên cứu về mặt học thuật được đặt ra ở đây là thách thức về cách tiếp cận phù hợp với
xu hướng phát triển.
Xu hướng phát triển theo quan điểm ứng dụng mật mã thường xuất phát từ những
nghiên cứu tạo ra các hệ mật mã dùng trên máy tính với đơn vị dữ liệu được tính bằng
4


byte. Trong quá trình phát triển, các nghiên cứu mở rộng ra các hệ mật mã phù hợp với
mạch điện tử với đơn vị dữ liệu được tính bằng bit. Mật mã hỗn loạn hiện nay đang phát
triển theo hai hướng này. Hơn nữa, khi các nghiên cứu tạo ra các hệ mật mã hỗn loạn rất

đa dạng. Các nhà khoa học đi phân tích và tối ưu hóa để tạo ra các hệ mật mã phù hợp
với thực tế. Nhằm đưa ứng dụng hệ mật mã hỗn loạn vào thực tế, việc nghiên cứu hệ mật
mã hỗn loạn ở mức bit cần phải được thực hiện làm cơ sở cho triển khai trên các hệ thống
mạch điện tử số. Đây là động lực thứ nhất để phát triển thành Luận án này.
Bên cạnh đó, phân tích mã là việc làm không thể thiếu, song song với tạo ra các hệ mật
mã. Phân tích mật mã có cấu trúc mạng hoán vị-thay thế (SPN: Substitution-Permutation
Network) được xây dựng dựa trên các hàm hỗn loạn với nhiều vòng lặp hầu như chưa
được quan tâm. Cho đến nay, số lượng các tấn công thành công vào hệ mật mã hỗn loạn
có cấu trúc SPN, theo hiểu biết của tác giả Luận án này, là chỉ có hai công trình được
công bố [11, 12]. Điểm đáng chú ý là hai công trình này chỉ thành công với hệ mật mã
hỗn loạn có một vòng lặp. Mặc dù công trình [11] được đăng tải năm 2010 và có đề cập
rằng phương pháp đó có thể được mở rộng để phân tích các hệ mật mã nhiều vòng. Tuy
nhiên, từ đó đến khi kết quả nghiên cứu của Luận án này công bố năm 2018, chưa có bất
kỳ công bố nào thực hiện phân tích hệ mật mã hỗn loạn có cấu trúc SPN nhiều vòng lặp.
Đây cũng chính là những thách thức tạo thành động lực thứ hai cho việc nghiên cứu của
Luận án này.
5. Những đóng góp của Luận án này
Hướng nghiên cứu mà Luận án lựa chọn là đề xuất ra các hệ mật mã làm việc ở mức
bit và đi phân tích mã. Việc tạo ra hệ mật mã làm việc ở mức bit được xem như xu hướng
tất yếu phù hợp với xu thế như đã đề cập trên. Việc phân tích mã để chỉ ra những điểm
yếu và cải tiến sao cho tốt hơn là công việc cần thiết. Luận án dự kiến có các đóng góp
được nhóm thành hai cụm chính như sau:
• Đề xuất hệ mật mã hỗn loạn làm việc ở mức bit với các tác động lên đặc tính động.
Hệ mật mã thứ nhất được hình thành dựa trên nguyên tắc cơ bản về tính chất phức
tạp và không ổn định của hệ hỗn loạn khi có tác động vào tham số điều khiển của
hệ hỗn loạn. Hệ mật mã thứ hai được đề xuất dựa trên ứng dụng hàm hỗn loạn Cat
cho hoán vị và Cat-Hadamard nhiều chiều cho quá trình khuếch tán.
• Đề xuất phương pháp phân tích hệ mật mã hỗn loạn có cấu trúc SPN với một vòng
lặp mã và nhiều vòng lặp mã. Quá trình phân tích sẽ chỉ ra lỗ hổng bảo mật của các
hệ mật mã hỗn loạn có cấu trúc SPN. Từ các nhược điểm của hệ mật mã, các phương

5


pháp đề xuất nhằm nâng cao khả năng bảo mật và chịu được các cơ chế tấn công cơ
bản.
6. Cấu trúc của Luận án
Luận án này gồm hai phần. Phần đầu là Chương 1 có nội dung giới thiệu tổng quan
về hàm hỗn loạn và ảnh số cùng với các thuộc tính và đặc trưng của chúng. Phần thứ
hai được trình bày trong hai chương tiếp theo, Chương 2 và Chương 3, tương ứng với hai
phạm vi chính của mật mã, đó là đề xuất hệ mật mã và phân tích mã. Cụ thể, cấu trúc
Luận án này như sau:
Chương 1. Tổng quan về hàm hỗn loạn và ảnh số: Chương này trình bày tổng quan về
các hàm hỗn loạn cùng với các thuộc tính được ứng dụng để hình thành các hệ mật mã.
Ứng dụng các hàm hỗn loạn để tạo ra các chuỗi ngẫu nhiên cũng được trình bày ở đây.
Hơn nữa, dữ liệu ảnh, cách biểu diễn và các đặc trưng của dữ liệu ảnh được trình bày. Các
đặc trưng về dữ liệu ảnh được khai thác để hình thành các hệ mật mã làm việc hiệu quả.
Từ các vấn đề cơ bản dẫn dắt đến các vấn đề mở cũng như động lực đi đến các đề xuất
được trình bày ở các chương sau của Luận án.
Chương 2. Mật mã ảnh ở mức bit ứng dụng kỹ thuật hỗn loạn: Các mô hình, cấu trúc,
phương pháp chung về ứng dụng hỗn loạn để hình thành hệ mật mã được trình bày. Những
cải tiến mới nhất của hệ mật mã ứng dụng hỗn loạn theo các hướng tiếp cận khác nhau
được đưa ra ở đây. Các độ đo và các phương pháp đánh giá tính chất mật của hệ mật mã
hỗn loạn được trình bày ở đây. Trong đó, hai hệ mật mã hỗn loạn đề xuất được xem như
là đóng góp của Luận án cũng được trình bày trong Chương này.
Chương 3. Phân tích mật mã hỗn loạn có cấu trúc SPN: Chương này trình bày các
hướng tiếp cận và các phương pháp phá vỡ an toàn của hệ mật mã hỗn loạn. Các cách tiếp
cận, phương pháp, và các kết quả mới nhất liên quan đến tính an toàn của mật mã hỗn
loạn cũng được đưa ra. Các vấn đề được nếu ra ở Chương này sẽ gợi ý cho người thiết kế
hệ mật mã hỗn loạn những điểm cần xem xét để khai thác, đồng thời tránh các bất lợi có
thể có trong thiết kế. Các giải thuật, phương pháp phá vỡ an toàn đối với hệ mật mã hỗn

loạn có cấu trúc SPN làm việc với một vòng lặp và nhiều vòng lặp, cùng với các ví dụ
minh họa được trình bày. Chương này trình bày lỗ hổng bảo mật của hệ mật mã hỗn loạn
và được dùng làm cơ sở để đề xuất các phương pháp cải tiến nhằm nâng cao khả năng
chịu đựng tấn công.
Kết luận và hướng phát triển: Cuối cùng, nội dung và các kết quả đạt được, các đóng
góp mới, và hướng phát triển được trình bày ở đây.

6


Chương 1
TỔNG QUAN VỀ HÀM HỖN LOẠN VÀ ẢNH SỐ
1.1 Giới thiệu
Mật mã được xem như một kỹ thuật trong lĩnh vực an toàn thông tin. Nó được dùng cho
mục đích giữ kín thông tin và trong các trường hợp liên quan đến xác thực như chữ ký số.
Những năm gần đây, thực tế ứng dụng trong môi trường mạng nhiều người dùng đòi hỏi
mật mã phải đáp ứng được tính đa dạng của dữ liệu trên quy mô rộng lớn và được truyền
tải trên các thiết bị khác nhau [13, 14]. Chính vì vậy, các hướng nghiên cứu về mật mã
cũng được phát triển nhằm đa dạng hóa mật mã phù hợp cho các nhu cầu thực tế. Với sự
phát triển về công nghệ ảnh và nhu cầu sử dụng hình ảnh ngày càng tăng của con người
dẫn đến lượng dữ liệu ảnh chiếm phần lớn trong các loại dữ liệu do người dùng sinh ra. Từ
đó, mật mã cho ảnh rất được quan tâm trong những năm gần đây. Dữ liệu ảnh là dữ liệu
có đặc trưng khác với dữ liệu thông thường bởi giá trị của các điểm ảnh lân cận nhau là
gần giống nhau. Hay nói cách khác, các điểm ảnh gần nhau có tương quan lớn. Mặt khác,
dữ liệu ảnh là dữ liệu dạng khối. Điều này cần có các nghiên cứu để tìm ra các thuật toán
mật mã sao cho phù hợp với loại dữ liệu ảnh là rất cần thiết. Trong Chương này, phần đầu
nói về tổng quan về mật mã và phân loại; phần sau trình bày ảnh và các đặc trưng dữ liệu
của ảnh, các hệ hỗn loạn và khả năng ứng dụng của chúng vào lĩnh vực mật mã.

1.2 Mật mã hiện đại và phân loại

Mật mã hiện đại làm việc trên các chuỗi bit. Nó dựa vào các thuật toán được biết công
khai để mã hóa thông tin. Tính chất mật đạt được chủ yếu dựa vào khóa mật được dùng
trong thuật toán. Khó khăn trong tính toán các thuật toán, sự thiếu thông tin về khóa
mật,..v..v. làm thất bại trong việc tấn công để thu nhận được thông tin cho dù có biết về
giải thuật mã. Như vậy, mật mã hiện đại chỉ yêu cầu giữ kín khóa mật, còn lại các thông
tin khác là công khai.
1.2.1

Định nghĩa

Mật mã hiện đại được định nghĩa là một hệ gồm 5 tham số (P, C, K, E, D) với ý nghĩa
như sau [15]:
• P (plaintext): Tập bản rõ. Tập hợp các bản rõ là tập hữu hạn các bản tin gốc cần mật
mã. Nó là đầu vào cho quá trình mật mã và là đầu ra ở quá trình giải mật mã thành
7


Mật mã học

Mật mã hóa

Phân tích mã/thám mã

Hình 1.1: Phân loại nghiên cứu của mật mã học.

công.
• C (ciphertext): Tập bản mã. Tập bản mã là tập hợp hữu hạn các bản tin được tạo ra
ở đầu ra của quá trình mật mã.
• K (Key): Tập khóa mật. Tập khóa mật cũng là tập hợp hữu hạn các khóa, mà mỗi
thành phần của nó được dùng như dữ liệu đầu vào của quá trình mật mã và giải mã.

Nó được dùng để mật mã bản rõ thành bản mã và giải bản mã thành bản rõ.
• E (Encryption): Tập qui tắc mật mã. Tập hữu hạn qui tắc thực hiện mật mã nhằm
biến đổi đầu vào thành bản mã.
• D (Decryption): Tập qui tắc giải mật mã. Tập các qui tắc được dùng để thực hiện tái
tạo lại bản rõ từ bản mã với sự góp thông tin từ khóa mật.
Đối với mỗi khóa K ∈ K, ta có qui tắc mã hóa EK ∈ E và tương ứng với nó là một qui
tắc giải mã DK ∈ D để có
EK : P → C,
DK : C → P.

(1.1)

Hay với mọi bản rõ P , ta có
DK (EK (P )) = P.

(1.2)

Điều này cho thấy rằng việc giải mật đúng phải trả về bản rõ được khôi phục.
1.2.2

Phân loại mật mã

Có một số cách phân loại trong mật mã như sau:
• Phân loại nghiên cứu về mật mã học được thấy trong Hình 1.1 gồm mật mã và phân
tích mã hay thám mã. Mật mã là đi làm về đảm bảo an toàn cho dữ liệu. Nói đến
mật mã là nói đến thiết kế các cơ chế mã dựa trên nền tảng là các giải thuật. Ngược
lại với mật mã là thám mã, thám mã đi xem xét cơ chế mật mã với mục đích chỉ ra
những khiếm khuyết liên quan đến an toàn thông tin và đồng thời kiểm tra được khả
năng của hệ mật mã được thiết kế.
8



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

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

Hình 1.2: Mật mã khóa đối xứng và bất đối xứng.

• Phân loại theo cách sử dụng khóa mật ta có mật mã khóa công khai (hay mật mã
bất đối xứng) và mật mã khóa riêng tư (hay mã đối xứng). Hệ mật mã đối xứng là
hệ mật mã có khóa mật được dùng cho phía mật mã giống với khóa mật dùng ở bên
giải mật mã [15]. Khóa mật này được giữ kín nhằm đảm bảo an toàn thông tin. Các
hệ mật mã đối xứng gồm AES, DES, 3DES..v..v. Ngược lại với mật mã đối xứng
là mật mã bất đối xứng. Hệ mật mã bất đối xứng được hiểu là khóa mật của bên
mật mã khác với khóa mật được dùng ở bên giải mật mã. Một tên gọi khác của hệ
mật mã này là mật mã khóa công khai. Hai khóa được dùng cho mật mã và giải mật
mã được gọi là khóa riêng tư (private key) và khóa công khai (public key). Thông
thường, khóa công khai được công bố mở cho bên thực hiện mật mã, và khóa riêng
tư được dùng để giải mật ở bên khôi phục thông tin. Hệ mật mã bất đối xứng nổi
tiếng gồm ElGamal, RSA..v..v. Sự khác nhau giữa hệ mật mã đối xứng và bất đối
xứng được thấy trong Hình 1.2.
Với hệ mật mã đối xứng, khóa mật cần phải được giữ kín. Tuy nhiên, trong điều kiện
khoảng cách, khóa mật cần phải được gửi từ bên mật mã sang bên giải mật qua môi
trường với thuật toán trao đổi khóa như là Diffie-Hellman.
Trong điều kiện thực tế của truyền thông, một hệ thống được sinh ra để quản lý và
9


Dữ liệu bản rõ


Ri-1

Li-1

Cộng khóa
Thay thế

Khóa Ki

Hoán vị

F(.)

Trộn tuyến ơnh

Li

Dữ liệu bản mã
(a) Cấu trúc Unified

Ri

(b) Cấu trúc Feistel

Hình 1.3: Phân loại mật mã theo cấu trúc.

phân phối khóa được hình thành (PKI) cho hệ mật mã khóa công khai. Luận án này
không đề cập đến hệ thống quản lý và phân phối khóa.
• Phân loại dựa vào cách thức tiến hành mã hóa: Ta có mật mã dòng (stream cipher)
và mật mã khối (block cipher). Với mật mã dòng, luồng dữ liệu được di chuyển liên

tục trong quá trình mật mã và giải mã. Luồng dữ liệu được quan tâm là luồng bit kết
hợp với phép toán logic XOR. Hệ mật mã luồng nổi tiếng là RC4, A5/1, A5/2..v..v.
Ngược lại, mật mã khối thực hiện trên một khối dữ liệu và trong quá trình thực hiện
thì khối dữ liệu này được giữ tĩnh.
• Phân loại mật mã khối theo cấu trúc ta có cấu trúc Feistel và cấu trúc Unified như
được thấy ở Hình 1.3. Cấu trúc Fiestel thực hiện chia dữ liệu thành hai nửa rồi mã
hóa, sau đó đảo các nửa này. Cấu trúc Unified hay còn gọi là cấu trúc SPN thực hiện
qua nhiều bước mà ở đó điển hình nhất là có bước hoán vị (permutation) và bước
thay thế (substitution). Quá trình mật mã có thể được lặp lại nhiều lần.
• Phân loại mật mã theo nền tảng tiếp cận ta có một số cách tiếp cận như đưa ra ở
Hình 1.4. Ở đó, cách tiếp cận dựa vào tính chất phức tạp của đặc tính động của hàm
hỗn loạn được xem như là hướng tiếp cận mới trong hai thập kỷ gần đây.
• Phân loại theo đơn vị dữ liệu được thực hiện trong quá trình mã hóa như được thấy
trong Hình 1.5. Dữ liệu được mã hóa có đơn vị là byte thường được thấy trong các
hệ thống máy tính. Dữ liệu dạng bit thường được thấy với các mật mã luồng và trên
các phần cứng số. Mật mã với đơn vị dữ liệu là chữ số được đề xuất gần đây [16].

10


Mật mã học

Mật mã
hỗn loạn

Mật mã truyền thống

Mật mã lượng tử

Mật mã elliptic


Dựa vào các tính chất
động của hàm hỗn loạn

Dựa vào tính chất phức
tạp của số học

Dựa vào phương trình
sóng

Dựa vào tính chất của
đường cong elliptic

Hình 1.4: Phân loại theo cơ sở nền tảng.
Mật mã học

Mức bit

Mức số (digit)

2|1|5
0|3|6

100100110

Mức byte/ký tự

a, b, c

Hình 1.5: Phân loại theo đơn vị dữ liệu được mã hóa.


1.3 Hệ thống hỗn loạn
Trong mật mã hỗn loạn, các hàm hỗn loạn được dùng để mang lại lợi ích bảo mật. Trong
thực tế, các hệ thống hỗn loạn được chia thành hai loại gồm liên tục theo thời gian và rời
rạc theo thời gian. Hệ hỗn loạn liên tục theo thời gian có biến trạng thái hỗn loạn là một
hàm theo thời gian, X(t). Ngược lại, các hàm hỗn loạn rời rạc theo thời gian là các hàm
được lặp để sinh ra các giá trị, Xn . Các hàm hỗn loạn này được ứng dụng vào nhiều lĩnh
vực khác nhau, trong đó có mật mã.
1.3.1

Hệ hỗn loạn liên tục theo thời gian

Với các hệ liên tục theo thời gian được diễn tả bởi hệ phương trình vi phân như sau:
dX
= F (X),
dt

(1.3)

trong đó, X = {xi , xi ∈ R, i = 1..n} là véctơ biểu diễn n biến trạng thái của hệ, t là
thời gian. Hàm F (.) là hàm không chứa thành phần thời gian t thì hệ hỗn loạn được gọi
là hệ hỗn loạn tự trị, ngược lại ta có hệ hỗn loạn không tự trị. Các hàm hỗn loạn liên tục
theo thời gian nổi tiếng như Chua’s, Lorenz, Rossler, ... Các hệ liên tục theo thời gian ít
được dùng trực tiếp cho mật mã khối bởi việc giải các phương trình vi phân cần nhiều tài
nguyên tính toán. Một mặt khác, các hệ hỗn loạn liên tục theo thời gian có thể được mô
tả dễ dàng hoặc có thể được quan sát thấy theo một số cách khác nhau, như trên mạch
11



×