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

Một số phương pháp thám mã hệ mật mã đối xứng và ứng dụng trong phát triển hệ mật mã

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 (965.67 KB, 74 trang )

i

LỜI CẢM ƠN
Em xin chân thành cảm ơn trường Đại học Công nghệ thông tin và truyền
thông Thái Nguyên đã tạo điều kiện thuận lợi cho em trong quá trình học tập, công
tác và thực hiện đề tài luận văn.
Em xin nói lên lòng biết ơn sâu sắc và lời cảm ơn chân thành đến thầy giáo
TS. Nguyễn Duy Minh, người Thầy mà đã luôn tận tình hướng dẫn, truyền thụ cho
em những kiến thức, kinh nghiệm quý báu và giúp em trong suốt quá trình học tập,
nghiên cứu cũng như quá trình thực hiện luận văn.
Cuối cùng em xin được gửi lời cảm ơn sâu sắc tới gia đình, bạn bè, đồng nghiệp
đã luôn ủng hộ, động viên em trong quá trình học tập và thực hiện luận văn này.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong nhận được sự tận
tình chỉ bảo của quý thầy cô và các bạn.

Thái nguyên, Tháng 9 năm 2014

Lê Hữu Thọ

i


ii

MỤC LỤC
LỜI CẢM ƠN ................................................................................................................... i
MỤC LỤC ....................................................................................................................... ii
DANH MỤC HÌNH........................................................................................................ iv
LỜI MỞ ĐẦU.................................................................................................................. 1
CHƯƠNG 1: TỔNG QUAN VỀ CHUẨN MÃ HÓA DỮ LIỆU DES.......................... 3


1.1. Các hệ mã khóa ............................................................................................ 3
1.1.1. Hệ mật mã đối xứng .............................................................................. 3
1.1.2. Hệ mật mã bất đối xứng......................................................................... 4
1.2. Chuẩn mã hóa dữ liệu DES ........................................................................... 6
1.3. Quy trình mã hóa DES.................................................................................. 7
1.4. Lập mã và giải mã DES ................................................................................ 9
1.5. Các chế độ mã hóa theo DES ...................................................................... 10
1.6. Độ an toàn của DES ................................................................................... 13
1.7. Kết luận ...................................................................................................... 14
CHƯƠNG 2: CÁC PHƯƠNG PHÁP THÁM MÃ HỆ MẬT MÃ ĐỐI XỨNG ......... 15
2.1. Các thuật ngữ cơ bản .................................................................................. 15
2.1.1. Mật mã (Cryptography) ....................................................................... 15
2.1.2. Bản rõ (Plain text) ............................................................................... 15
2.1.3. Bản mã (Cipher text) ........................................................................... 15
2.1.4. Phép biến đổi mã/dịch (Encrytion/decryption transformations)............ 15
2.2. Thám mã .................................................................................................... 16
2.2.1. Khái niệm ............................................................................................ 16
2.2.2. Các bước cơ bản để thám mã ............................................................... 21
2.2.3. Các kiểu tấn công thám mã cơ bản ...................................................... 26
2.3. Các phương pháp thám mã hệ mã đối xứng ................................................ 30
2.3.1. Phương pháp tấn công vét cạn ............................................................. 30
2.3.2. Phương pháp thám mã tuyến tính ........................................................ 30
2.3.3. Phương pháp thám mã vi sai ................................................................ 40

ii


iii
2.4. Đánh giá độ an toàn của DES trước một vài phương pháp tấn công phá mã 45
2.5. Kết luận ...................................................................................................... 46

CHƯƠNG 3: CÀI ĐẶT MỘT SỐ PHƯƠNG PHÁP THÁM MÃ HỆ MÃ DES........ 47
TRONG PHÁT TRIỂN HỆ MẬT MÃ ......................................................................... 47
3.1. Đặt vấn đề .................................................................................................. 47
3.2. Mô tả về DES ............................................................................................. 48
3.3. Lập mã DES ............................................................................................... 59
3.4. Xây dựng chương trình thám mã DES ........................................................ 63
3.5. Kết luận ...................................................................................................... 68
KẾT LUẬN.................................................................................................................... 69
TÀI LIỆU THAM KHẢO ............................................................................................. 70

iii


iv

DANH MỤC HÌNH
Hình 1.1. Sơ đồ mã hóa DES ........................................................................................... 7
Hình 1.2. Một vòng lặp DES ........................................................................................... 8
Hình 1.3. Mô phỏng mã hóa (a) và giải mã (b) theo DES ............................................... 9
Hình 1.4. Chế độ CBC ................................................................................................... 10
Hình 1.5. Chế độ CFB ................................................................................................... 11
Hình 2.1. Mô hình DES với quy ước mới ..................................................................... 31
Hình 2.2. Sơ đồ xấp xỉ tuyến tính hệ mã DES 3 vòng ................................................... 35
Hình 2.3. Sơ đồ xấp xỉ tuyến tính hệ mã DES 5 vòng ................................................... 38
Hình 2.4. Các xâu vào có thể với XOR vào là 110100.................................................. 43
Hình 3.1. Một vòng của DES........................................................................................ 48
Hình 3.2. Hàm f của DES ............................................................................................. 50
Hình 3.3. Tính bảng khóa DES ...................................................................................... 55
Hình 3.4. Giao diện chính của chương trình thám mã DES .......................................... 64
Hình 3.5. Quá trình tạo khóa .......................................................................................... 65

Hình 3.6. Quá trình mã hóa bản rõ................................................................................. 66
Hình 3.7. Quá trình giải mã nội dung bản mã................................................................ 67
Hình 3.8. Quá trình thám mã thành công ....................................................................... 68

iv


1

LỜI MỞ ĐẦU
Mật mã học là một ngành khoa học về mã hóa dữ liệu nhằm bảo mật thông
tin. Mã hóa dữ liệu là một quá trình mà các dữ liệu dạng văn bản gốc được chuyển
thành văn bản mật mã để làm nó không thể đọc được. Ngày nay, để đảm bảo sự an
toàn và bí mật của các thông tin quan trọng, nhạy cảm, vấn đề mã hóa dữ liệu ngày
càng trở nên cấp thiết và được nhiều người quan tâm.
Có nhiều phương pháp mã hóa dữ liệu được đưa ra. Vậy làm thế nào để đánh
giá được một phương pháp mã hóa nào là tốt? Hiện nay, có nhiều phương pháp
đánh giá nhưng phương pháp tốt nhất và trực quan nhất là phương pháp phân tích
trực tiếp bản mã khi không có khóa mã trong tay mà người ta gọi là thám mã.
Ngày nay, nhu cầu trao đổi thông tin mật giữa các thành viên trong một nhóm,
một tổ chức ngày càng lớn thì việc đảm bảo an toàn thông tin là rất cần thiết. Cùng
với sự phát triển của mật mã nói chung và của các hệ mã đối xứng nói riêng thì thám
mã là một lĩnh vực cũng thường được quan tâm nghiên cứu, nhưng ít khi được công
khai, hoặc công khai không đầy đủ. Mặc dù, trong thời gian qua đã có nhiều kết quả
nghiên cứu về DES được công bố, DES có thể bị phá khóa bởi các hệ thống chuyên
dụng trong vòng chưa đầy 24 giờ, nhưng việc nghiên cứu thám mã DES vẫn rất cần
thiết để hướng tới thám mã các hệ mật mã hiện đại có độ dài khóa lớn hơn, đã và
đang dần thay thế DES. Phân tích mật mã hay thám mã còn đưa ra những khuyến
cáo, phản hồi cho các chuyên gia trong thiết kế lại các hệ mật mã để chống lại các tấn
công mới. Đồng thời nó có ý nghĩa hỗ trợ công tác tình báo, phản gián.

Chính vì những lý do trình bày ở trên, em đã chọn đề tài: “Một số phương
pháp thám mã hệ mật mã đối xứng và ứng dụng trong phát triển hệ mật mã”,
nhằm tìm hiểu các phương pháp thám mã và xây dựng qui trình thám mã cho hệ mật
mã đối xứng DES.
Trong khuôn khổ đề tài được giao, luận văn được trình bày trong 3 chương có phần
mở đầu, phần kết luận, phần mục lục, tài liệu tham khảo. Các nội dung cơ bản của
luận văn được trình bày như sau:

1


2
Chương 1: “Tổng quan về chuẩn mã hóa dữ liệu DES”, trong chương này tập
chung trình bày về các khái niệm mã hóa, các hệ mật mã, các chế độ mã hóa và quá
trình mã hóa, giải mã DES.
Chương 2: “Các phương pháp thám mã hệ mật mã đối xứng”, trong chương này
trình bày các thuật ngữ cơ bản về mật mã và thám mã, khái niệm về thám mã, các
bước để tiến hành thám mã, đặc biệt trong chương này tập trung trình bày về 3
phương pháp thám mã là phương pháp tấn công vét cạn, phương pháp thám mã
tuyến tính, phương pháp thám mã vi sai.
Chương 3: “Đề xuất phương pháp thám mã DES và ứng dụng trong phát triển hệ
mật mã”, trên cơ sở lý thuyết đã được trình bày ở chương 1 và chương 2, đặc biệt ở
chương 2 đã đưa ra một số phương pháp thám mã đối với hệ mã DES. Từ đó đã đề
xuất phương pháp thám mã DES bằng phương pháp mã vi sai trên hệ mã DES-6
vòng. Kết quả của phương pháp sẽ được trình bày rõ ở chương 3.
Do mức độ phức tạp của công việc thám mã là rất lớn nên bài toán đặt ra với
giả thiết người thám mã biết được các thông tin về bản mã đã được mã hóa bởi DES
(chế độ CBC) từ bản rõ tương ứng là một thông điệp dạng Text. Từ giả thiết này
xây dựng thuật toán để xác định khóa mật K đã sử dụng để mã hóa cũng như tìm ra
bản rõ tương ứng.


2


3

CHƯƠNG 1
TỔNG QUAN VỀ CHUẨN MÃ HÓA DỮ LIỆU DES
1.1. Các hệ mã khóa
1.1.1. Hệ mật mã đối xứng
Thuật toán đối xứng hay còn gọi là thuật toán mã hóa cổ điển. Thuật toán
này còn có nhiều tên gọi khác như thuật toán khóa bí mật, thuật toán đơn giản, thuật
toán một khóa.
Là thuật toán mà tại đó khóa mã hóa có thể tính toán ra được từ khóa giải mã.
Trong rất nhiều trường hợp, khóa mã hóa và khóa giải mã là giống nhau.
Thuật toán này yêu cầu người gửi và người nhận phải thỏa thuận một khóa
trước khi thông báo được gửi, và khóa này phải được cất giữ bí mật. Độ an toàn của
thuật toán này vẫn phụ thuộc vào khóa, nếu để lộ ra khóa này nghĩa là bất kì người
nào cũng có thể mã hóa và giải mã hệ thống mật mã.
Sự mã hóa và giải mã của thuật toán đối xứng được biểu thị bởi:
EK(P) = C
DK(C) = P
K1
Bản rõ

Mã hóa

K2
Bản mã


Mã hóa

Bản rõ gốc

K1 có thể trùng K2
hoặc K1 có thể tính toán từ K2
hoặc K2 có thể tính toán từ K1
Ưu điểm:
- Xử lý nhanh
Nhược điểm:
- Các phương pháp mã hóa cổ điển đòi hỏi người mã hóa và người giải mã
phải cùng chung một khóa. Khi đó khóa phải giữ bí mật tuyệt đối, do vậy ta dễ dàng
xác định được một khóa nếu biết khóa kia.

3


4
- Hệ mã hóa đối xứng không bảo vệ được sự an toàn nếu có xác suất cao
khóa người gửi bị lộ. Trong hệ khóa phải được gửi đi trên kênh an toàn nếu kẻ địch
tấn công trên kênh này có thể phát hiện ra khóa.
- Vấn đề quản lý và phân phối khóa là khó khăn và phức tạp khi sử dụng hệ
mã hóa cổ điển. Người gửi và người nhận luôn luôn thống nhất với nhau về vấn đề
khóa. Việc thay đổi khóa là rất khó và rất dễ bị lộ.
- Khuynh hướng cung cấp khóa dài mà nó phải được thay đổi thường xuyên
cho mọi người trong khi vẫn duy trì cả tính an toàn lẫn hiệu quả chi phí sẽ cản trở
rất nhiều tới sự phát triển của hệ mật mã cổ điển.
Thuật toán đối xứng có thể được chia làm hai loại, mật mã luồng (stream
ciphers) và mật mã khối (block ciphers). Mật mã luồng mã hóa từng bit của thông
điệp trong khi mật mã khối gộp một số bit lại và mật mã hóa chúng như một đơn vị.

Cỡ khối được dùng thường là các khối 64 bit. Thuật toán tiêu chuẩn mã hóa tân tiến
(Advanced Encryption Standard), được NIST công nhận tháng 12 năm 2001, sử
dụng các khối gồm 128 bit.
1.1.2. Hệ mật mã bất đối xứng
Vào những năm 1970 Diffie và Hellman đã phát minh ra một hệ mã hóa mới
được gọi là hệ mã hóa bất đối xứng hay hệ mã hóa công khai.
Thuật toán mã hóa bất đối xứng khác hoàn toàn so với thuật toán mã hóa đối
xứng. Khóa của hệ mã bất đối xứng phải được gửi trên những kênh thông tin không
an toàn.
Chúng được thiết kế sao cho khóa sử dụng vào việc mã hóa là khác so với
khóa giải mã. Hơn nữa khóa giải mã không thể tính toán được từ khóa mã hóa.
Chúng được gọi với tên hệ thống mã hóa công khai bởi vì khóa để mã hóa có thể
công khai, một người bất kì có thể sử dụng khóa công khai để mã hóa thông báo,
nhưng chỉ một vài người có đúng khóa giải mã thì mới có thể giải mã. Trong nhiều
hệ thống, khóa mã hóa được gọi là khóa công khai (public key), khóa giải mã
thường được gọi là khóa riêng (private key).

4


5
K1
Bản rõ

K2
Bản mã

Mã hóa

Bản rõ gốc


Mã hóa

K1 không trùng K2
hoặc K2 không thể tính toán từ K1
Diffie và Hellman đã xác định rõ các điều kiện của một hệ mã hóa công khai
như sau:
Việc tính toán ra một cặp khóa công khai KB và bí mật kB dựa trên cơ sở các
điều kiện ban đầu phải được thực hiện một cách dễ dàng nghĩa là thực hiện trong
thời gian đa thức.
1. Người gửi A có được khóa công khai của người nhận B và có bản tin P cần gửi đi
thì có thể dễ dàng tạo ra bản mã C.
C = EKB(P) = EBP
Trong đó:
E: Thuật toán mã hóa
KB: khóa công khai
P: Bản tin cần gửi đi
C: Bản tin mã hóa
Công việc này cũng trong thời gian đa thức.
2. Người nhận B khi nhận được bản tin mã hóa C với khóa bí mật kB thì có thể giải
mã bản tin trong thời gian đa thức
P = DkB(C) = DB[EB(M)]
Trong đó:
D: Thuật toán giải mã
kB: Khóa bí mật
C: Bản tin mã hóa
3. Nếu kẻ địch biết khóa công khai KB cố gắng tính toán khóa bí mật thì khi đó
chúng ta phải đương đầu với trường hợp nan giải, trường hợp này đòi hỏi nhiều yêu
cầu không khả thi về thời gian.


5


6
4. Nếu kẻ địch biết được cặp (KB, C) và cố gắng tính toán ra bản rõ P thì giải quyết
bài toán khó với số phép thử là vô cùng lớn, do đó không khả thi.
Ưu điểm:
- Tính an toàn cao.
- Có thể gửi khóa trên các kênh không an toàn mà không sợ bị lộ khóa giải mã.
Nhược điểm:
- Tốc độ chậm.
- Dung lượng dùng cho việc lưu trữ khóa lớn.
Mỗi hệ thống mã hóa có ưu nhược điểm riêng. Mã hoá đối xứng xử lý nhanh
nhưng độ an toàn không cao. Mã hóa bất đối xứng xử lý chậm hơn, nhưng độ an toàn
và tính thuận tiện trong quản lý khóa cao. Trong các ứng dụng mã hóa hiện tại, người
ta thường kết hợp các ưu điểm của cả hai loại mã này.
1.2. Chuẩn mã hóa dữ liệu DES
Chuẩn mã hóa dữ liệu DES được văn phòng tiêu chuẩn của Mỹ(U.S National
Bureau for Standards) công bố năm 1971 để sử dụng trong các cơ quan chính phủ
liên bang. Giải thuật được phát triển tại Công ty IBM dựa trên hệ mã hóa LUCIFER
của Feistel.
DES là thuật toán mã hóa khối (block algrithm), với cỡ của một khối là 64
bit. Một khối 64 bit bản rõ được đưa vào, sau khi mã hóa dữ liệu đưa ra là một khối
bản mã 64 bit. Cả mã hóa và giải mã đều sử dụng chung cùng một thuật toán và
khóa.
Khóa mã có độ dài 64 bit, trong đó có 8 bit chẵn lẻ được sử dụng để kiểm
soát lỗi. Các bit chẵn lẻ nằm ở các vị trí 8, 16, 24,..,64. Tức là cứ 8 bit khóa thì
trong đó có 1 bit kiểm soát lỗi, bit này quy định số bit có giá trị “1” của khối 8 bit
đó theo tính bù sẵn.
Nền tảng để xây dựng khối của DES là sự kết hợp đơn giản của các kỹ thuật

thay thế và hoán vị bản rõ dựa trên khóa. Đó là các vòng lặp. DES sử dụng 16 vòng
lặp, nó áp dụng cùng một kiểu kết hợp của các kỹ thuật trên khối bản vẽ 16 lần.
Thuật toán chỉ sử dụng các phép toán số học và logic trên các số 64 bit, vì
vậy nó dễ dàng thực hiện vào những năm 1970 trong điều kiện công nghệ về phần
cứng lúc bấy giờ. Ban đầu, sự thực hiện các phần mềm kiểu này rất thô sơ, nhưng

6


7
hiện tại thì việc đó đã tốt hơn, và với đặc tính lặp đi lặp lại của thuật toán đã tạo nên
ý tưởng sử dụng chip với mục đích đặc biệt này.

Hình 1.1. Sơ đồ mã hóa DES
Tóm lại DES có một số đặc điểm sau:
 Sử dụng khóa 56 bit
 Xử lý khối vào 64 bit, biến đổi khối vào thành khối ra 64 bit.
 Mã hóa và giải mã được sử dụng cùng một khóa.
 DES được thiết kế để chạy trên phần cứng.
DES thường được sử dụng để mã hóa các dòng dữ liệu mạng và mã hóa
dữ liệu được lưu trữ trên đĩa.
1.3. Quy trình mã hóa DES
DES thực hiện trên từng khối 64 bit bản rõ. Sau khi thực hiện hoán vị khởi
đầu, khối dữ liệu được chia làm hai nửa trái và phải, mỗi nữa 32 bit.Tiếp đó, có 16

7


8
vòng lặp giống hệt nhau được thực hiện được gọi là các hàm f, trong đó dữ liệu

được kết hợp với khóa. Sau 16 vòng lặp, hai nửa trái và phải được kết hợp lại và
hoán vị cuối cùng(hoán vị ngược) sẽ kết thúc thuật toán.
Trong mỗi vòng lặp các bit của khóa được dịch đi và có 48 bit được chọn ra
từ 56 bit của khóa. Nửa phải của dữ liệu được mở rộng thành 48 bit bằng một phép
hoán vị mở rộng, tiếp đó khối 48 bit này được kết hợp với khối 48 bit đã được thay
đổi và hoán vị của khóa bằng toán tử XOR được lựa chọn ra 32 bit bằng cách sử
dụng thuật toán thay thế và hoán vị lần nữa. Đó là bốn thao tác tạo nên hàm f. Tiếp
đó đầu ra của hàm f được kết hợp với nửa trái bằng toán tử XOR. Kết quả của các
bước thực hiện này trở thành nửa phải mới, nửa phải cũ trở thành nửa trái mới; Sự
thực hiện này được lặp lại 16 lần, tạo thành 16 vòng của DES.
Nếu Bi là kết quả của vòng thứ i, Li và Ri là hai nửa trái và phải của Bi, Ki là
khóa 48 bit của vòng thứ i và f là hàm thực hiện thay thế, hoán vị và XOR với khóa,
ta có biểu diễn của một vòng sẽ như nhau:
Li=Ri-1
Ri=Li-1 XOR f(Ri-1,Ki)

Hình 1.2. Một vòng lặp DES

8


9
Quy trình mã hóa của mật mã khối nói chung và theo mã hóa DES nói riêng
được thực hiện qua 5 giai đoạn sau:
Giai đoạn 1:

Bản rõ chữ




Bản rõ số

Giai đoạn 2:

Bản rõ số



Giai đoạn 3:

64 bit Rõ số



64 bit Mã số

Giai đoạn 4:

Các đoạn 64 bit Mã số



64 bit Mã số

Giai đoạn 5:

Bản Mã số




Bản Mã chữ

(Dạng nhị phân)

Các đoạn 64
bit rõ số

(Dạng nhị phân)

Bảng 1.1. Quy trình mã hóa của mật mã khối và hệ mã DES
1.4. Lập mã và giải mã DES
Thuật toán DES tập trung thực hiện giai đoạn 3 của quy trình mã hóa. Đó là
chuyển đổi bản rõ số với 64 bit thành bản Mã số với 64 bit. Còn đối với quy trình
giải mã thì ngược lại, đổi bản mã số với 64 bit thành bản rõ số với 64 bit.
Quy trình mã hóa, giải mã khối gồm 2 thuật toán là mã hóa(ký hiệu là E) và
giải mã (ký hiệu là D). Cả hai thuật toán đều tác động lên một khối đầu vào 64 bit
sử dụng khóa 56 bit để cho ra khối 64 bit. Đối với bất kỳ khóa k nào, giải mã là hàm
ngược của mã hóa, nghĩa là:
- Mã hóa khối: Ek(M)
- Giải mã khối: M = Dk(Ek(M))
Trong đó M là khối thông tin 64 bit và K là khóa 56 bit.

a.Quy trình mã hóa

b.Quy trình giải mã

Hình 1.3: Mô phỏng mã hóa (a) và giải mã (b) theo DES

9



10
Quy trình giải mã của DES là quy trình ngược lại với quy trình mã hóa DES,
xuất phát từ bản mã Y ( Đầu vào), kết quả là bản rõ X( đầu ra).
Do xác định mục tiêu, phương pháp thám mã khối DES là thám mã “Hộp
đen”, thám mã “vét cạn có định hướng” dựa trên các yếu tố độ dài khóa(số lượng bit
của khóa), bản mã, và độ dài khối mã nên khi xây dựng thuật toán thám mã không
cần phân tích chi tiết thuật toán DES.
1.5. Các chế độ mã hóa theo DES
Có 4 chế độ làm việc đã được phát triển cho DES: Chế độ chuyển mã điện tử
(ECB), chế độ phản hồi mã (CFB), chế độ liên kết khối mã (CBC) và chế độ phản
hồi đầu ra (OFB). Chế độ ECB tương ứng với cách dùng thông thường của mã khối:
với một dãy các khối bản rõ cho trước x1, x2…(mỗi khối có 64 bit), mỗi xi sẽ được
mã hóa bằng cùng một khóa K để tạo thành một chuỗi các khối bản mã y1y2… theo
quy tắc yi = ek(yi-1  xi)i≥1.

Hình 1.4. Chế độ CBC
Trong các chế độ OFB và CFB dòng khóa được tạo ra sẽ được cộng MOD 2
với bản rõ. OFB thực sự là một hệ mã dòng đồng bộ: dòng khóa được tạo bởi việc
mã lặp véc tơ khởi tạo 64 bit (véc tơ IV). Ta xác định z0= IV và rồi tính dòng khóa

10


11
z1z2…theo quy tắc z1=ek(zi-1), i≥1. Dãy bản rõ x1x2…sau đó sẽ được mã hóa bằng
cách tính yi = xi zi, i≥1.
Trong chế độ CFB, ta bắt đầu với y0= IV( là một véc tơ khởi tạo 64 bit) và
tạo phần tử zi của dòng khóa bằng cách mã hóa khối bản mã trước đó. Tức zi = ek(yi1),


i≥1. Cũng như trong chế độ OFB: yi= xi  zi, i≥1. Việc sử dụng CFB được mô tả

trên hình 4( chú ý rằng hàm mã DES ek được dùng cho cả phép mã và phép giải mã
ở các chế độ CFB và OFB).

Hình 1.5. Chế độ CFB
Cũng còn một số biến tấu của OFB và CFB được gọi là các chế độ phản hồi
k bit (1bit và 8 bit thường được dùng trong thực tế cho phép mã hóa đồng thời 1 bit ( hoặc
byte) số liệu.
Bốn chế độ công tác có chế độ ưu nhược điểm khác nhau. Ở chế độ ECB và
OFB, sự thay đổi của một khối bản rõ xi 64 bit sẽ làm thay đổi khối bản mã yi tương
ứng, nhưng các khối bản mã khác không bị ảnh hưởng.

11


12
Trong một số tình huống đây là một tính chất đáng mong muốn. Ví dụ chế
độ OFB thường được dùng để mã khi truyền vệ tinh.
Mặt khác ở các chế độ CBC và CFB, nếu một khối bản rõ xi bị thay đổi thì
yi và tất cả các khối bản mã tiếp theo sẽ bị ảnh hưởng. Như vậy các chế độ CBC và
CFB có thể được sử dụng rất hiệu quả cho mục đích xác thực. Đặc biệt hơn, các chế
độ này có thể được dùng để tạo mã xác thực bản tin (MAC- Message Authentication
Code). MAC được gắn thêm vào các khối bản rõ để thuyết phục Bob tin rằng, dãy
bản rõ đó thực sự là của Alice mà không bị Oscar giả mạo. Như vậy MAC đảm bảo
tính toàn vẹn (hay tính xác thực) của một bản tin ( nhưng tất nhiên là MAC không
đảm bảo độ mật).
Ta sẽ mô tả cách sử dụng chế độ BCB để tạo ra một MAC. Ta bắt đầu bằng
véc tơ khởi tạo IV chứa toàn số 0. Sau đó dùng chế độ CBC để tạo các khối bản mã

y1,...,yn theo khóa K. Cuối cùng ta xác định MAC là yn, Alice sẽ phát đi dãy các
khối bản rõ x1,x2,…,xn cùng với MAC. Khi Bob thu được x1…xn a ta sẽ khôi phục
lại y1…yn bằng khóa K bí mật và xác minh xem liệu yn có giống với MAC mà mình
đã thu được hay không.
Nhận thấy Oscar không thể tạo ra một MAC hợp lệ do không biết khóa K mà
Alice và Bob đang dùng. Hơn nữa Oscar thu chặn được dãy khối bản rõ x1…xn và
thay đổi ít nhiều nội dung thì chắc chắn là Oscar không thể thay đổi MAC để được
Bob chấp nhận.
Thông thường ta muốn kết hợp cả tính xác thực lẫn độ bảo mật. Điều đó có
thể thực hiện như sau: Trước tiên Alice dùng khóa K1 để tạo MAC cho x1…xn. Sau
đó Alice xác định Xn+1 là MAC rồi mã hóa dãy x1…xn+1 bằng khóa thứ hai K2 để
tạo ra bản mã y1…yn+1. Khi đó Bob thu được y1…yn+1, trước tiên Bob sẽ giải mã
(bằng K2) và kiểm tra xem xn+1 có phải là MAC đối với dãy x1…xn dùng K1 hay
không.
Ngược lại, Alice có thể dùng K1 để mã hóa x1…xn và tạo ra được y1…yn, sau
đó dùng K2 để tạo MAC yn+1 đối với dãy y1…yn. Bob sẽ dùng K2 để xác minh MAC
và dùng K1 để giải mã y1…yn.

12


13
1.6. Độ an toàn của DES
Đã có rất nhiều sự nghiên cứu về độ dài của khoá, số vòng lặp, và thiết kế
của hộp S (S-boxes). Hộp S có đặc điểm là khó hiểu, không có bất cứ sự rõ ràng
nào như tại sao chúng phải như vậy. Mọi tính toán trong DES ngoại trừ các hộp S
đều tuyến tính, tức việc tính XOR của hai đầu ra cũng giống như phép XOR hai đầu
vào rồi tính toán đầu ra. Các hộp S chứa đựng thành phần phi tuyến của hệ là yếu tố
quan trọng nhất đối với sự an toàn của hệ thống. Tính bảo mật của một hệ mã hoá
đối xứng là một hàm hai tham số: độ phức tạp của thuật toán và độ dài của khoá.

Giả sử rằng tính bảo mật chỉ phụ thuộc vào độ phức tạp của thuật toán.Có
nghĩa rằng sẽ không có phương pháp nào để phá vỡ hệ thống mật mã hơn là cố gắng
thử mọi khoá có thể, phương pháp đó được gọi là brute-forceattack. Nếu khoá có độ
dài 8 bít, suy ra sẽ có 28=256 khoá. Vì vậy, sẽ mất nhiều nhất 256 lần thử để tìm ra
khoá đúng. Nếu khoá có độ dài 56 bít, thì sẽ có 256 khoá có thể sử dụng. Giả sử một
Suppercomputer có thể thử một triệu khoá trong một giây, thì nó sẽ cần 2000 năm
để tìm ra khoá đúng. Nếu khoá có độ dài 64 bít, thì với chiếc máy trên sẽ cần
600,000 năm để tìm ra khoá đúng trong số 264 khoá. Nếu khoá có độ dài 128 bít, thì
sẽ mất 1025 năm để tìm ra khoá đúng. Vũ trụ chỉ mới tồn tại 1010 năm, vì vậy 1025
thì một thời gian quá dài. Với một khoá 2048 bít, một máy tính song song thực hiện
hàng tỉ tỉ phép thử trong một giây sẽ tiêu tốn một khoảng thời gian là 10597 năm để
tìm ra khoá. Lúc đó vũ trụ có lẽ không còn tồn tại nữa.
Khi IBM đưa ra thiết kế đầu tiên của hệ mã hoá LUCIFER, nó có khoá dài
128 bít. Ngày nay, DES đã trở thành một chuẩn về mã hoá dữ liệu sử dụng khoá 56
bít, tức kích thước không gian khoá là 256. Rất nhiều nhà mã hoá hiện đang tranh
luận về một khoá dài hơn của DES. Nhiều thiết bị chuyên dụng đã được đề xuất
nhằm phục vụ cho việc tấn công DES với bản rõ đã biết. Sự tấn công này chủ yếu
thực hiện tìm khoá theo phương pháp vét cạn.Tức với bản rõ X 64 bít và bản mã Y
tương ứng, mỗi khoá có thể đều được kiểm tra cho tới khi tìm được một khoá k thoả
mãn Ek(X)=Y (có thể có nhiều hơn một khoá k như vậy).
Vào năm 1979, Diffie và Hellman tuyên bố rằng với một máy tính chuyên dụng
bản mã hoá DES có thể được phá bằng cách thử mọi trường hợp của khoá trong vòng

13


14
một ngày – giá của máy tính đó là 20 triệu đôla. Vào năm 1981, Diffie đã tăng lên là
cần hai ngày để tìm kiếm và giá của chiếc máy tính đó là 50 triệu đôla.
1.7. Kết luận

Ở chương này trình bày những khái niệm cơ bản về hai hệ mật mã đối xứng
và mật mã công khai, đặc biệt trình bày về quá trình lập mã và giải mã trên DES,
các chế độ mã hóa theo DES, độ an toàn của DES. Nội dung trình bày ở chương 1 là
cơ sở lý thuyết cơ bản để vận dụng vào chương 2 và chương 3 trong luận văn.

14


15

CHƯƠNG 2
CÁC PHƯƠNG PHÁP THÁM MÃ HỆ MẬT MÃ ĐỐI XỨNG
2.1. Các thuật ngữ cơ bản
2.1.1. Mật mã (Cryptography)
Mật mã là tập hợp mọi phương pháp (hoặc quy tắc) biến đổi nào đó nhằm
chuyển các thông báo (messges) dưới dạng nhận thức được nội dung (như chữ viết,
tiếng nói, hình vẽ, hình ảnh,…) thành dạng bí mật mà người ngoài cuộc không hiểu
được nội dung nếu họ không biết được phương pháp (hoặc quy tắc) biến đổi đó.
Còn mật mã học (Crytology) là một bộ môn khoa học chuyên nghiên cứu về
mật mã và thám mã.
2.1.2. Bản rõ (Plain text)
Ta hiểu rõ tức là một bản thông báo có mang nội dung thông tin mà người
đọc có thể tìm hiểu được nó nói cái gì hoặc là nó có ý nghĩa rõ ràng. Bản rõ (bản
thông báo) có thể tồn tại dưới dạng chữ viết, tiếng nói, hình vẽ, biểu bảng… tương
ứng ta sẽ có khái niệm mã ký tự, mã thoại, mã fax, mã dữ liệu…
Bản rõ thường được biểu diễn (viết) dưới dạng một dãy các chữ cái theo quy
tắc cú pháp nào đó hoặc ký hiệu thuộc bảng chữ cái A hữu hạn được xác định trước.
Để trình bày, ta ký hiệu M là không gian các bản rõ (message space).
Ví dụ: M có thể là gồm các dãy nhị phân, các văn bản tiếng Việt hoặc mã
chương trình máy tính…

2.1.3. Bản mã (Cipher text)
Bản mã thường cũng được biểu diễn dưới dạng một dãy các ký hiệu có thể
cũng thuộc A nhưng không theo quy tắc cú pháp nào cả. Người ta nói rằng đó là
ngẫu nhiên. Ta ký hiệu tập tất cả các bản mã ứng với các bản rõ m là C. Chú ý rằng
các ký hiệu của c

C có thể không thuộc A.

2.1.4. Phép biến đổi mã/dịch (Encrytion/decryption transformations)
Trong việc tạo ra bản mã từ bản rõ, người ta cần đến hai yếu tố: các tham số
và một quy tắc mã/dịch. Tham số đó người ta gọi là khóa mã/dịch(key seed). Tập tất
cả các khóa (mầm khóa) đó tạo thành một không gian khóa và được ký hiệu là K.

15


16
Còn một quy tắc mã là một ánh xạ từ không gian M vào không gian C phụ thuộc
vào một khóa K cho trước. Ta ký hiệu nó là Ee: M

C với e

K. Ánh xạ này phải

là song ánh (ánh xạ lên và 1 – 1) và ánh xạ ngược của ánh xạ Ee được gọi là quy tắc
dịch (Translation) tức là quy tắc biến đổi bản mã c
M được ký hiệu là Dd, ở đây d

C thành bản rõ tương ứng m


K. Các khóa mã e và khóa dịch d tạo thành một

cặp khóa mã/dịch và được viết là (e, d), e và d có thể trùng nhau.
- Quá trình áp dụng phép biến đổi bản rõ m

M thành bản mã tương ứng c

C được gọi là mã hóa.
- Quá trình áp dụng phép biến đổi Dd vào bản mã C để tạo ra bản rõ m tương
ứng được gọi là giải mã (decryption hoặc deciphering).
- Lược đồ mã hóa (enryption scheme) là gồm tập hợp tất cả các hàm mã hóa
Ee ứng với mỗi e

K và tất cả các hàm gải mã Dd ứng với d

K. Hàm Dd và Ee

phải thỏa mãn hệ thức:
Dd = Ee-1 với

(e,d)

KxK

Tức là m = Dd (c) = Ee-1(Ee(m))

m

M


Như vậy để người nhận đích thực dịch được bản mã từ người gửi tới thì
đương nhiên người nhận phải có khóa dịch d và quy tắc dịch Dd. Việc này có thể
thực hiện được bằng sự trao đổi khóa giữa hai bên, ta ký hiệu hai bên đó là A và B.
Trong mật mã cổ điển truyền thống, việc trao đổi này phải được đảm bảo bí mật
không để cho bất kỳ một đối tác C ( đối tác thứ 3) nào biết. Vì khóa mã quyết định
đến độ an toàn mật mã. Trong lúc thuật toán mã/dịch thường đơn giản và được quy
ước giữa 2 bên A và B.
2.2. Thám mã
2.2.1. Khái niệm
Thám mã là quá trình khôi phục lại bản rõ hoặc khóa khi chỉ có bản mã
tương ứng cho trước (không biết khóa và quy tắc mã/dịch) gọi là thám mã. Người
làm công tác thám mã được gọi là người mã thám (Cryptanalysist) hay gọi là mã
thám viên.

16


17
Tổ chức làm công tác thám mã được gọi là đơn vị mã thám. Mã thám là một
bộ phận không thể thiếu của ngành tình báo điện tử. Hầu hết các quốc gia đều có bộ
phận tình báo điện tử này, nhưng sự phát triển và hiệu quả của nó lại phụ thuộc vào
trình độ khoa học - công nghệ của từng nước. Nước nào có trình độ khoa học - công
nghệ càng cao thì khả năng của công tác thám mã nói riêng, tình báo điện tử nói
chung càng mạnh.
Mục tiêu của thám mã (phá mã) là tìm những điểm yếu hoặc không an toàn
tổng phương pháp mật mã hóa.Thám mã có thể được thực hiện bởi những kẻ tấn công
ác ý, nhằm làm hỏng hệ thống; hoặc bởi những người thiết kế ra hệ thống với ý định
đánh giá độ an toàn của hệ thống.
Để nghiên cứu thám mã được các bản mã truyền thống, người mã thám phải
nghiên cứu các đặc trưng cơ bản của bản rõ. Nói một cách khác, trong mọi ngôn

ngữ tự nhiên đều có những đặc trưng bất biến mà mã thám viên cần nắm vững để
phục vụ việc phân tích các bản mã. Đó là quy luật tần số, quy luật trùng lặp, quy
luật văn phong, v.v...
a. Tần số (Frequency)
Người ta định nghĩa tần số xuất hiện một ký tự, một nhóm ký tự, một từ hay
một vần v.v... trong một văn bản là số lần xuất hiện của ký tự, nhóm ký tự, từ, vần
đó trong văn bản đã cho.
Người ta có thể tính tần số từ một hoặc nhiều văn bản (thông báo) của một
loại ngôn ngữ nào đó để rút ra những quy luật riêng của ngôn ngữ đó. Có nhiều loại
tần số như: Tần số từng ký tự (tần số đơn), tần số từng cặp 2 ký tự (tần số bộ đôi).
Ngay tần số bộ đôi cũng có nhiều cách tính khác nhau như: Tần số bộ đôi thông
thường; Tần số bộ đôi móc xích (concatenate); Tần số bộ k ký tự (k=1, 2, 3, 4...).
Ngoài ra còn có: tần số từ, tần số vần chữ cái (ví dụ – tion, trong tiếng Anh), tần số
các nhóm nguyên âm, tần số các ký tự đứng đầu từ, tần số ký tự đứng cuối từ. Một
điểm cần lưu ý là mỗi loại ngôn ngữ tự nhiên khác nhau có các tần số không giống
nhau. Ngay trong một ngôn ngữ, các loại văn bản có tính chất văn học sẽ có các tần
số không hoàn toàn giống nhau. Những tính chất đó người ta gọi là các đặc trưng
ngôn ngữ.

17


18
Ta lưu ý rằng, các văn bản khác nhau thường có độ dài (số lượng các ký tự
trong văn bản đó) khác nhau. Do đó khái niệm tần số như định nghĩa trên có nhiều
trường hợp rất khó trong thực hành. Vì vậy người ta đưa ra khái niệm tần số tương
đối (tần suất - relative frequency). Tần suất của một ký tự x nào đó trong văn bản là
số lần xuất hiện ký tự đó chia cho độ dài của văn bản đó. Còn tần suất bộ đôi móc
xích xy nào đó trong một văn bản là số lần xuất hiện bộ đôi đó có trong văn bản
chia cho độ dài của văn bản trừ đi một. Ví dụ, giả sử văn bản có độ dài n, khi đó số

lượng bộ đôi móc xích là n-1 , nếu số lần xuất hiện cặp “nh” là m lần thì tần suất
của cặp “nh” sẽ là mnh / (n-1).
b. Sự trùng lặp
Là một quy luật của bất cứ ngôn ngữ tự nhiên nào. Đó là đặc trưng thứ 2 của
ngôn ngữ được thể hiện trên các văn bản thông báo (sau đây gọi là bản rõ). Ngoài
quy luật tần số thì quy luật trùng lặp rất cần thiết và có thể nói chúng không thể
thiếu đối với công tác thám mã truyền thống.
c. Văn phong (Quy luật hành văn trong văn bản).
Trong thực tế, các loại văn bản khác nhau sẽ có văn phong không giống nhau
do phụ thuộc vào thói quen của từng người soạn thảo ra văn bản đó. Đây cũng là
quy luật đáng lưu ý trong việc thám mã. Văn phong được chia thành các dạng:
- Dạng đầu văn bản (gọi là quy luật đầu điện);
- Dạng thân văn bản (quy luật thân điện): Văn bản thường có chia theo từng
mục hoặc khôngchia theo mục; Nội dung văn bản có khác nhau tuỳ theo từng loại
nội dung như ngoại giao, tình báo, quân sự, kinh tế, chính trị v.v...;
- Dạng cuối văn bản (quy luật cuối điện): Đoạn kết thúc một văn bản thường
cũng có những quy luật: Mỗi người soạn thảo văn bản khác nhau sẽ có quy luật
khác nhau.
Ví dụ, thường chấm hết thì có chữ stop, stopend; câu chào Salam và sau cùng
là tên, chức vụ, cấp bậc của người gửi thông báo, v.v... Những thông tin này đôi khi
rất quan trọng, giúp nhà mã thám thành công trong nhiệm vụ của mình.

18


19
d. Quy luật tình huống
Như đã được trình bày ở phần trước, thám mã là tìm mọi biện pháp có thể để
khôi phục lại bản rõ và/hoặc khoá mã từ một số bản mã cho trước. Điều này cho
thấy thám mã là một loại công việc khó khăn và phức tạp, nó vừa mang tính khoa

học lại vừa mang tính nghệ thuật. Rõ ràng, khoa học về mật mã càng phát triển thì
kỹ thuật thám mã càng gặp nhiều khó khăn.
Để chống lại việc thám mã của đối phương, các nhà sản xuất mật mã phải
thiết kế các thuật toán mã hoá và các loại khoá mã sao cho các thông tin về khoá mã
và bản rõ không lộ rõ trên bản mã. Tuy nhiên, do đặc điểm của bản thân mật mã và
việc phân cấp sử dụng, nên trên thực tế, mật mã luôn chứa đựng những mâu thuẫn
nội tại mà các nhà mã thám vẫn có thể dựa vào đó khai thác, khám phá, đó là:
- Trình độ về mật mã ở các nước khác nhau sẽ khác nhau. Hiện nay, bên
cạnh những nước có công nghệ bảo mật (mật mã) rất hiện đại, vẫn còn không ít
nước vẫn đang sử dụng mật mã ở mức độ trung bình, thậm chí có nước dùng mật
mã truyền thống tương đối đơn giản. Và ngay trong cùng một nước, các lực lượng,
ngành khác nhau lại dùng các hệ mã khác nhau. Ví dụ, mật mã dùng trong quân sự
khác mật mã dùng trong ngoại giao, mật mã dùng trong tình báo khác với mật mã
dùng trong ngân hàng, tài chính v.v...
- Thông thường, những nhà lập mã không phải là người sử dụng mật mã. Các
nhà lập mã có trình độ cao trong lĩnh vực mật mã nhưng những người sử dụng mật mã
lại không cần như vậy. Người sử dụng thường có xu hướng muốn đơn giản hoá công
việc của mình, chính vì vậy họ dễ vi phạm các qui tắc đảm bảo an toàn mật mã.
- Khoá mã không được bảo vệ cẩn thận theo quy định, và một sơ hở nhỏ
cũng đủ tạo khe hở cho các nhà mã thám lấy cắp được khóa mà mật mã viên không
hề biết. Vì vậy, khoá đó vẫn được sử dụng và các nhà mã thám khi nhận được các
bản mã chỉ việc dùng khoá đó mà dịch bình thường.
- Độ dư ngôn ngữ cũng là một quy luật rất quan trọng của ngôn ngữ tự
nhiên. Độ dư ngôn ngữ tồn tại trong chính bản mã của nhiều luật mã khác nhau, đặc
biệt là trong hệ mã truyền thống.

19


20

- Tiêu chuẩn bản rõ: chính là quy luật bản rõ được thể hiện qua quy luật tần
số, quy luật trùng lặp.... Đây là một yếu tố trọng yếu giúp cho nhà mã thám thành
công không những đối với mật mã truyền thống mà cả đối với mật mã khoá đối
xứng nói chung (như mã DES, IDEA, AES v.v...)
Tiêu chuẩn bản rõ là một thành phần không thể thiếu đối với công tác thám
mã, đặc biệt là thám mã hiện đại. Vậy tiêu chuẩn bản rõ là gì? Ta biết rằng, các
ngôn ngữ tự nhiên đều có quy luật chung nhất đó là quy luật tần số và quy luật trùng
lặp. Hai quy luật này đã bị biến mất đối với bản mã. Với phương pháp mã hoá phức
tạp thì hai quy luật này hoàn toàn bị biến mất. Một trong những điều khác nhau cơ
bản của bản rõ và bản mã là ở chỗ đó. Giả sử nhà mã thám nhận được một (hoặc
một số) bản mã và bằng cách nào đó, họ đã biết được một vài thông tin về thuật
toán mã hoá (và dịch). Tuy không biết được cách mã/dịch cụ thể nhưng nhà mã
thám có thể biết được tất cả khả năng có thể của khoá. Từ đó, người ta thử cho đầu
vào (Input) là bản mã và “khoá” (dự đoán) lấy trong không gian khoá rồi dịch thử.
Kết quả đầu ra (output) sẽ là một dãy nào đó (có thể đọc được có nghĩa hoặc cũng
có thể không có nghĩa) mà ta vẫn gọi là “bản rõ”. Nhưng bản rõ này chưa thể hiện
được quy luật tần số và trùng lặp. Nó chỉ thể hiện được quy luật tần số và trùng lặp
nếu khoá mà ta đưa vào là đúng hoặc có sai cũng chỉ sai một vài ký tự. Nhưng làm
cách nào để biết được quy luật tần số và trùng lặp được thể hiện trên “bản rõ” mà ta
vừa tạo ra từ khoá và bản mã ban đầu (gọi là bản mã gốc). Do số liệu khoá đưa vào
là rất lớn nên dùng mắt thường để quan sát xem “bản rõ” nào thể hiện được quy luật
tần số và trùng lặp là không khả thi về khía cạnh thời gian tìm kiếm.
Tiêu chuẩn bản rõ giúp ta tự động xác định “bản rõ” nào thể hiện quy luật tần
số và trùng lặp, “bản rõ” nào không. Nhờ tiêu chuẩn bản rõ, nhà mã thám có thể
chia không gian khoá thành hai nhóm, một nhóm cho phép tạo ra được “bản rõ” có
quy luật tần số và trùng lặp, một nhóm gồm các khoá còn lại. Trong thực tế, nhóm
gồm các khoá cho phép tạo ra “bản rõ” có quy luật (ta gọi là bản rõ có nghĩa) là rất
ít so với nhóm còn lại. Từ đó chúng ta tiến hành kiểm tra tiếp và kết hợp với mắt
thường, chúng ta có thể giải ra được bản rõ ban đầu (bản rõ gốc) cần tìm và khoá
mà ta mong muốn.


20


21
Có nhiều phương pháp khác nhau để tạo ra các Tiêu chuẩn bản rõ. Do không
gian khoá thường rất lớn, nên cần có một tiêu chuẩn bản rõ có tốc độ tính toán càng
nhanh và càng chính xác càng tốt, trong đó tốc độ tính toán được ưu tiên số một
2.2.2. Các bước cơ bản để thám mã
Khi nhận được một số bản mã, các nhà thám mã cần thực hiện một loạt các
bước nghiên cứu nhằm khôi phục được bản rõ (hoặc khóa) từ các bản mã nhận
được. Ta tìm hiểu các bước cơ bản nhất đó là:
Bước 1: Phân loại bản mã
Sau khi nhận được một số bức điện mã, các nhà phân tích mật mã có thể
phân loại xem những bức điện mã có cùng một loại mã pháp, có cùng một loại khoá
mã. Mặc dù chúng ta chưa biết được mã pháp (phương pháp mã hoá) của các bức
điện đó, nhưng chúng vẫn phân loại (phân lớp) được. Đây là một bước quan trọng
quyết định sự thành công hay thất bại của mã thám nên rất mất nhiều thời gian. Nếu
việc phân loại chính xác thì sẽ thuận lợi cho các bước tiến hành tiếp theo. Ngược
lại, nếu phân loại thiếu chính xác thì sẽ gây khó khăn cho các bước sau đó, thậm chí
thất bại.
Người ta có nhiều phương pháp thực thi giai đoạn này, một trong số đó là áp
dụng kỹ thuật phân lớp các đối tượng. Ý tưởng của bài toán phân lớp như sau:
Giả sử ta nhận được m bản mã M1, M2,..., Mm với m $ 2. Mỗi bản mã ta gọi
là một đối tượng. Tập hợp m bản mã (các đối tượng) ta ký hiệu là G.
Vậy G = {M1, M2,..., Mm}. Ứng với mỗi đối tượng ta cần tìm ra các đặc
trưng tham số. Giả sử đối tượng Mi có pi đặc trưng. Ở đây, để cho đơn giản, ta giả
thiết p1 = p2 = ...= pm= p. Vấn đề đặt ra là hãy phân tập hợp G thành k lớp không
giao nhau mà ta ký hiệu là G1, G2, ..., Gk, k > 1 sao cho:
(i) Gi khác 0 i = 1,k

(ii) Gi 1 Gj

i khác j

(iii) G1c G2c...c YGk = G
và sao cho sai sót trong phân lớp là bé nhất có thể được. Để thực hiện việc phân lớp
các đối tượng ta cần đưa ra một độ đo “khoảng cách” giữa các đối tượng. Các đối
tượng “gần gũi” nhau sẽ được gán cho cùng một lớp.

21


×