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

Mật mã dữ liệu ảnh ứng dụng kỹ thuật hỗn loạn

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 (7.16 MB, 154 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 - 2020


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 - 2020



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à hồn tồ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 22 tháng 1 năm 2020.
Người hướng dẫn khoa học

PGS.TS. Hoàng Mạnh Thắng

Tác giả

Hoàng Xuân Thành


LỜI CÁM ƠN

Để hồ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 q 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 22 tháng 1 năm 2020.


Mục lục

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

iv

DANH MỤC CÁC KÝ HIỆU TỐN HỌC

vi

DANH SÁCH CÁC HÌNH VẼ, ĐỒ THỊ

vii

DANH SÁCH CÁC BẢNG

x

MỞ ĐẦU

1

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

8

1.1

Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

1.2


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

1.3

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

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ã . . .17
1.4.1 Các thuộc tính cơ bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
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ã . . . . .19

1.5

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

1.5.3 Một số chú ý khi thiết kế phần cứng cho các hàm hỗn loạn. . . . . . . .24

1.6

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


1.7

Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

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

30

2.1

Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30

2.2

Mô hình mật mã cấu trúc SPN. . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
2.2.1 Hoán vị các điểm ảnh sử dụng hỗn loạn . . . . . . . . . . . . . . . . . . . .33
2.2.1.1 Các cơ chế hoán vị dữ liệu cho ảnh . . . . . . . . . . . . . . . . . . .34
2.2.1.2 Luật hoán vị dựa vào biến trạng thái . . . . . . . . . . . . . . . . . .34
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 . .38

2.2.1.4 Đánh giá hiệu năng của phép hoán vị . . . . . . . . . . . . . . . . . .40
2.2.2 Phép thay thế sử dụng hỗn loạn . . . . . . . . . . . . . . . . . . . . . . . . .43
2.2.2.1 Phép thay thế không tạo ra lan truyền . . . . . . . . . . . . . . . . . .43
2.2.2.2 Thay thế có lan truyền . . . . . . . . . . . . . . . . . . . . . . . . . . .45

2.3

Đề xuất các hệ mật mã hỗn loạn làm việc ở mức bit . . . . . . . . . . . . . . .46
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
2.3.1.1 Bộ mật mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
2.3.1.2 Bộ giải mật mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
2.3.1.3 Kết quả mô phỏng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
2.3.1.4 Phân tích khả năng bảo mật . . . . . . . . . . . . . . . . . . . . . . . .52
2.3.1.5 Kết quả thiết kế mạch cứng . . . . . . . . . . . . . . . . . . . . . . . .57
2.3.2 Đề xuất 2: Hệ mật mã hỗn loạn cho ảnh ở mức bit . . . . . . . . . . . . .64
2.3.2.1 Giải thuật mật mã dùng hàm hỗn loạn Cat-Hadamard . . . . . . .65
2.3.2.2 Giải thuật giải mật . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
2.3.2.3 Chi phí tính tốn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
2.3.2.4 Giải thuật phân phối khóa . . . . . . . . . . . . . . . . . . . . . . . . .67
2.3.2.5 Phân tích khả năng bảo mật . . . . . . . . . . . . . . . . . . . . . . . .68

2.4

Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72

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

74


3.1

Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74

3.2

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

3.3

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

ii


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ã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
3.4.1 Tấn công lựa chọn văn bản trơn . . . . . . . . . . . . . . . . . . . . . . . . .81
3.4.1.1 Tấn công vào quá trình hốn vị . . . . . . . . . . . . . . . . . . . . . .81
3.4.1.2 Tấn công vào khuếch tán . . . . . . . . . . . . . . . . . . . . . . . . . .85
3.4.2 Tấn công lựa chọn văn bản mã hóa . . . . . . . . . . . . . . . . . . . . . . .88
3.4.2.1 Tấn công quá trình hốn vị ngược . . . . . . . . . . . . . . . . . . . .88
3.4.2.2 Tấn công khuếch tán ngược . . . . . . . . . . . . . . . . . . . . . . . .92
3.4.3 Ước lượng thời gian tấn công. . . . . . . . . . . . . . . . . . . . . . . . . . .95
3.4.3.1 Thời gian tấn cơng hốn vị . . . . . . . . . . . . . . . . . . . . . . . .95
3.4.3.2 Thời gian tấn công khuếch tán . . . . . . . . . . . . . . . . . . . . . .96
3.4.4 Một số bàn luận về tấn công một vòng lặp mã . . . . . . . . . . . . . . . .97


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ã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
3.5.1 Giải thuật mật mã và giải mật nhiều vòng lặp mã . . . . . . . . . . . . . .98
3.5.2 Phân tích mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
3.5.2.1 Nhận diện điểm yếu trong hệ mật mã . . . . . . . . . . . . . . . . . .101
3.5.2.2 Khơi phục luật hốn vị . . . . . . . . . . . . . . . . . . . . . . . . . . .105
3.5.3 Đề xuất phương pháp nâng cao bảo mật cho hệ mật mã . . . . . . . . . .115

3.6

Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122

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

124

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

126

TÀI LIỆU THAM KHẢO

127

iii


Danh mục các ký hiệu và chữ 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

Chuẩn mã hóa tiên tiến

BDB

Bit Distribution Balancing

Cân bằng phân bố bit


BIC

Bit Independence Criteria

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

CCA

Chosen-ciphertext Attack

Tấn cơng mà người phân tích lựa
chọn một tập các văn bản mã hóa

CD

Chaotic Diffusion

Khuếch tán hỗn loạn

Cdr

Ciphertext difference rate

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

CML

Coupled Map Lattice


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

COA

Ciphertext-only Attack

Tấn cơng chỉ có văn văn bản mã
hóa

COL

Column

Ma trận cột

CPA

Chosen-plaintext Attack

Tấn cơng lựa chọn văn bản rõ

CPP

Chaotic Pixel Permutation

Hoán vị điểm ảnh hỗn loạn

DBAP


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

DES

Data Encryption Standard

Chuẩn mã dữ liệu

3DES

Triple Data Encryption Standard

Chuẩn mã dữ liệu gấp ba

FIPS 199

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

thông tin liên bang 199

FPGA

Field Programmable Gate Array

Mảng cổng có thế lập trình

HSV


Hue, Saturation, and Value

iBDB

Inverse Bit Distribution Balancing Giải ngược cân bằng phân bố bit

iCD

Inverse Chaotic Diffusion

iCPP

Inverse Chaotic Pixel Permutation Giải ngược hoán vị điểm ảnh hỗn

Giải ngược khuếch tán hỗn loạn
loạn

ID

Initial for Diffusion

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


IP

Initial for Permutation

Giá trị khởi đầu cho hoán vị


IV

Initial Vector/values

Giá trị 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 phản hồi tuyến
tính

NIST

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

nghệ

NPCR

Number of Pixels Change Rate


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

PAPC

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

PRESENT

Mã hạng nhẹ PRESENT

PKI

Public Key Infrastructure

Nền tảng khóa cơng khai

PV

Primary vertex

Điểm sơ cấp

PWLCM

Piece-wise Linear Chaotic Map

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


RGB

Red, Green, and Blue

Kênh màu đỏ, xanh lá và xanh
dương

ROW

Row

Ma trận hàng

RSA

Rivest–Shamir–Adleman

Thuật tốn mật mã RSA

SAC

Strict Avalanche Criterion

Tiêu chí thác chặt

SAFER

Secure And Fast Encryption Rou- Thủ tục mật mã hóa nhanh và an
tine


SPN

tồn

Substitution-Permutation

Net- Mạng thay thế-hốn vị

work
SV

Secondary vertex

Điểm thứ cấp

UACI

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

VHDL

thống nhất

VHSIC Hardware Description Ngôn ngữ mô tả phần cứng VHLanguage

SIC

v



Danh mục các ký hiệu toán học

Ký hiệu

Ý nghĩa

λ

Lũy thừa Lyapunov



Tích Kronecker



bit-wise XOR of two binary vectors or matrices

det

Định thức của ma trận

randi

Dãy số ngẫu nhiên, hay rand viết ngắn gọn của random

rcv _rd


Giá trị khôi phục của rd, viết tắt của recovered random sequence

Xn

Véctơ biến trạng thái

(x, y ), (xi, y i)

Tọa độ điểm ảnh

p(x, y )

Điểm ảnh tại tọa độ (x, y )

pR(x, y ),

pG (x, y ), Điểm ảnh của các màu tương ứng R, G, và B tại tọa độ (x, y )

và pB(x, y )
(a mod n)

hoặc Hàm modulo a cho n

mod(a, n)
div (x, y )
X (i)(t),

(i)
Xn


F (.),

G(.),

Hàm thực hiện phép chia x cho y
Biến trạng thái
T (.), Hàm liên tục

f (.), fi (.)
U NIQU E (.)

Hàm tìm và trả về tập các số duy nhất

P, C, K, E, D

Biểu diễn tập hợp các văn bản trơn, văn bản mã hóa, khóa mật,
thuật tốn mã hóa, và thuật tốn giải mã

P, C, K, E, D

Biểu diễn thành phần của tập hợp văn bản trơn, văn bản mã hóa,
khóa mật, thuật tốn mã hóa, và thuật tốn giải mã

P KA

Khóa cơng khai của bên gửi A

P KB

Khóa cơng khai của bên nhận B


vi


Danh sách hình vẽ
1.1

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

1.2

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

1.3

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

1.4

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

1.5

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

1.6

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

1.7


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

1.8

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

1.9

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

1.10 Phân bố của chuỗi giá trị được tạo từ hàm Logistic. . . . . . . . . . . . . 20
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. . 21
1.12 LFSR thực hiện theo hàm P (x) = x8 + x6 + x5 + x4 + 1. . . . . . . . . 22
1.13 Bộ tạo chuỗi số dùng hàm hỗn loạn (nguồn: [1]) . . . . . . . . . . . . . . 24
1.14 Ảnh được biểu diễn dưới dạng véctơ và raster (nguồn: [2]). . . . . . . . . 26
1.15 Mô tả các lớp bit của ảnh mức xám 8 bit. . . . . . . . . . . . . . . . . . . 27
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. . . . 27
1.17 Ảnh các lớp bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1

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

2.2

Luật hốn vị và ví dụ hốn vị cho mảng 1D. . . . . . . . . . . . . . . . . 35

2.3

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


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. . . . 37

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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.6

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

2.7

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

2.8

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

2.9

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

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

vii


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

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

3.2

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

3.3

Khơi phục luật hốn vị trong tấn cơng lựa chọn văn bản trơn cho vị
trí (x0 , y0 ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

3.4

Ví dụ tấn cơng vào hốn vị. . . . . . . . . . . . . . . . . . . . . . . . . . 84

3.5


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

3.6

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

3.7

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

3.8

Tấn công lựa chọn văn bản trơn trên ảnh 5 × 5. . . . . . . . . . . . . . . 89

3.9

Thủ tục khơi phục lại luật hốn vị trong tấn cơng bản mã hóa cho
điểm ảnh tại vị trí (x0 , y 0). . . . . . . . . . . . . . . . . . . . . . . . . . 90

3.10 Tấn cơng hốn vị trong lựa chọn văn bản mã hóa với kích thước ma
trận mở rộng là 10 × 10. . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.11 Tấn công lựa chọn văn bản mã hóa trên ảnh 5 × 5. . . . . . . . . . . . . . 95
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. . . . . . 99
3.13 Giải mật để khôi phục ac(i). . . . . . . . . . . . . . . . . . . . . . . . . 102
3.14 Từng bước giải mật mã để chỉ ra điểm yếu với R = 3. . . . . . . . . . . . 104
3.15 Phân tích sự lan truyền ảnh hưởng. . . . . . . . . . . . . . . . . . . . . . 105
3.16 Thủ tục khơi phục bảng tra cứu hốn vị tổng qt dùng trong giải mật. . . 106
3.17 Từng bước giải mật để tìm ra điểm yếu. . . . . . . . . . . . . . . . . . . 109
3.18 Trình bày bảng khơi phục hoán vị. . . . . . . . . . . . . . . . . . . . . . 110

3.19 Các nguồn ảnh hưởng lên vị trí trong giải mật. . . . . . . . . . . . . . . . 112
3.20 Phân tích sự ảnh hưởng lan truyền. . . . . . . . . . . . . . . . . . . . . . 115
3.21 Từng bước giải mật mã cho Trường hợp 1 với R = 3. . . . . . . . . . . . 117
3.22 Từng bước giải mật mã cho Trường hợp 2 với R = 3. . . . . . . . . . . . 118
3.23 Từng bước giải mật mã cho Trường hợp 3 với R = 3. . . . . . . . . . . . 119
viii


3.24 Từng bước giải mật mã cho Trường hợp 4 với R = 3. . . . . . . . . . . . 120
3.25 Giải mật mã các bản mã hóa đượ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 _d (r )(4N 2 ), với R = 3. . . . 121
3.26 Giải mật mã cho các bản mã hóa đượ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.

ix

. . . . . . . . . . . . . . . . 122


Danh sách bảng
1.1

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

2.1

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

2.2


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

2.3

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

2.4

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

2.5

Lượng tin trong ảnh bản mã hóa. . . . . . . . . . . . . . . . . . . . . . . 55

2.6

Trung bình của N P CR và UACI được tính tốn với 100 ảnh. . . . . . . 56

2.7

So sánh kết quả mạch điện tạo ra và kết quả từ Matlab của hàm Logistic. . 58

2.8

Tài nguyên phần cứng trên FPGA cần thiết cho các khối chính. . . . . . . 64

2.9

Các hệ số tương quan tương ứng với các ảnh bản trơn và ảnh bản mã hóa. 69


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

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

3.2

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

3.3

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

3.4

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

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 tố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 tất đị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 tất đị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
1


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 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)
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


và P (permutation), hay còn gọi là cấu trúc mạng thay thế-hoán vị (SubstitutionPermutation Network: SPN). Các phương pháp đánh giá truyền thống được dùng để
đánh giá hệ mật 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à ngồ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ủ. Ngồi ra, các cơ quan với chức quản lý về an toàn thơng tin
như Cục An tồ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. Ngồ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 Xn
3


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à ngồi nước duy nhất xuất phát từ nhóm
nghiên cứu này [9, 10].
Tình hình nghiên cứu ngồ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 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 cu quc gia ca Tõy Ban Nha; Nhúm nghiờn

ă
cu gồm Hidayet OGRAS
¸ và Mustafa T URK
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 tố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 xun đã 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 q 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
q 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
4


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
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 SPN đượ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à thực hiện 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
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
5


hỗn loạn Cat cho hoán vị và Cat-Hadamard nhiều chiều cho q 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ã. Q 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 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
6


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.

7


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 tồ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 tố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 tốn. Khó khăn trong tính tốn các thuật tố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ông khai giải thuật mã. Như vậy, mật mã hiện đại chỉ 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 văn bản trơn. Tập hợp các văn bản trơn là tập hữu hạn các bản
8


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.

tin gốc cần mật mã. Nó là đầu vào cho q trình mật mã và là đầu ra ở quá trình
giải mật mã thành cơng.
• C (ciphertext): Tập văn bản mã hóa. Tập văn bản mã hóa 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 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ã văn bản trơn thành văn bản mã hóa và giải văn bản mã hóa
thành văn bản trơn.
• 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 văn bản mã hóa.
• 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 văn bản trơn từ văn bản mã hóa 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 E K ∈ 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 văn bản trơn P , ta có
D K (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ề văn bản trơn đượ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à đưa ra phương pháp, cách thức đả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

9


(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.

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 tồ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ế.
• 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ật 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 tồ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
10


Dữ liệu bản rõ


Li-1

Ri-1

Cộng khóa
Thay thế

Khóa Ki

Hố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.

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 tố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à 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ữ ngun kích thước.
• 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 hốn vị (permutation) và
bước thay thế (substitution). Q 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 q 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
11


×