Tải bản đầy đủ (.docx) (84 trang)

Nghiên cứu phương pháp tấn công chuẩn mật mã khối (DES) nhờ hệ thống tính toán hiệu năng cao

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 (801.4 KB, 84 trang )

MỤC LỤC
Trang phụ bìa .....................................................................................................................
Lời cam đoan................................................................................................................................................. i
Lời cảm ơn.................................................................................................................................................... ii
Mục lục......................................................................................................................................................... iii
Danh mục các từ viết tắt tiếng Anh.................................................................................................... vi
Danh mục các bảng................................................................................................................................. vii
Danh mục các hình vẽ, đồ thị............................................................................................................ viii
MỞ ĐẦU....................................................................................................................................................... 1
Chƣơng I. GIỚI THIỆU VỀ CHUẨN MÃ HÓA DỮ LIỆU DES (DATA
ENCRYPTION STANDARD).............................................................................................................. 3
1.1. Giới thiệu về Thuật toán mã hoá DES.................................................................................. 3
1.2. Quy trình mã hóa theo DES....................................................................................................... 4
1.3. Lập mã và giải mã DES................................................................................................................ 4
1.3.1. Quy trình lập mã DES............................................................................................................ 4
1.3.2. Thực hiện mã hóa DES theo sơ đồ.................................................................................... 6
1.3.3. Tính các khóa con k1, k2,..., k16 từ khóa gốc K............................................................ 7
1.3.4. Tính hàm f(Ri-1, ki).................................................................................................................. 9
1.3.5. Quy trình giải mã DES......................................................................................................... 12
1.3.6. Độ an toàn của Chuẩn mã hóa dữ liệu DES................................................................. 12
1.4. Các chế độ mã hóa của DES.................................................................................................... 13
1.4.1. Chế độ bản mã cơ bản (EBC)............................................................................................ 13
1.4.2. Chế độ liên kết khối mã (CBC)........................................................................................ 14
Chƣơng II. CÁC PHƢƠNG PHÁP THÁM MÃ CHUẨN MÃ HÓA DỮ LIỆU DES,
CÁC HỆ THỐNG CHUYÊN DỤNG PHỤC VỤ THÁM MÃ DES................................... 15
2.1. Một số khái niệm cơ bản........................................................................................................... 15
2.2. Các phƣơng pháp thám mã..................................................................................................... 16
2.2.1. Thám mã đƣờng tắt............................................................................................................... 16
2.2.1.1. Thám mã vi sai............................................................................................................... 16

iii




2.2.1.2. Thám mã tuyến tính..................................................................................................... 19
2.2.1.3. Thám mã phi tuyến....................................................................................................... 19
2.2.1.4. Thám mã vi sai tuyến tính......................................................................................... 20
2.2.1.5. Một số phƣơng pháp thám mã đƣờng tắt khác................................................. 20
2.2.2. Thám mã hộp đen (vét cạn để tìm khóa)....................................................................... 20
2.3. Các hệ thống chuyên dụng phục vụ thám mã................................................................. 21
2.3.1. Các phần cứng chuyên dụng.............................................................................................. 21
2.3.2. Các hệ thống tính toán hiệu năng cao............................................................................. 22
Chƣơng III. NGHIÊN CỨU, ĐỀ XUẤT PHƢƠNG PHÁP THÁM MÃ DES...............24
3.1. Mô tả bài toán thám mã DES................................................................................................. 24
3.1.1. Các giả thiết của bài toán.................................................................................................... 24
3.1.2. Chi tiết hóa bài toán và các yếu tố đầu vào.................................................................. 24
3.2. Xây dựng thuật toán nhận dạng bản rõ tiếng Anh....................................................... 25
3.2.1. Vai trò của nhận dạng bản rõ tự động trong thám mã “vét cạn”.......................... 26
3.2.2. Một số phƣơng pháp nhận dạng bản rõ tự động........................................................ 26
3.2.2.1. Nhận dạng dựa vào từ điển........................................................................................ 26
3.2.2.2. Nhận dạng dựa trên tập hợp từ, cụm từ giả định............................................... 27
3.2.2.3. Nhận dạng dựa vào phƣơng pháp thống kê đặc trƣng ngôn ngữ...............27
3.2.3. Xây dựng thuật toán nhận dạng bản rõ dựa vào phƣơng pháp thống kê đặc
trƣng ngôn ngữ.................................................................................................................................... 28
3.2.3.1. Một số khái niệm cơ sở về “bản rõ”...................................................................... 28
3.2.3.2. Thuật toán nhận dạng bản rõ.................................................................................... 29
3.3. Tìm hiểu thuật toán di truyền (GAs)................................................................................... 36
3.3.1. Giới thiệu................................................................................................................................... 36
3.3.2. Thuật toán di truyền nhị phân............................................................................................ 36
3.3.2.1. Thuật toán di truyền nhị phân - sự chọn lọc tự nhiên trên máy tính..........36
3.3.2.2. Các thành phần của thuật toán di truyền nhị phân............................................ 37
3.4. Đề xuất phƣơng pháp thám mã DES................................................................................. 46

3.4.1. Xây dựng thuật toán di truyền dò tìm khóa.................................................................. 46
3.4.1.1. Xác định hàm phù hợp (hàm chi phí).................................................................... 47

iv


3.4.1.2. Tạo lập họ khóa khởi tạo............................................................................................ 48
3.4.1.3. Giải mã bản mã cho trƣớc với các khóa trong họ............................................ 49
3.4.1.4. Tính mức độ phù hợp của các khóa....................................................................... 50
3.4.1.5. Chọn lọc............................................................................................................................ 50
3.4.1.6. Ghép cặp........................................................................................................................... 50
3.4.1.7. Kết hợp.............................................................................................................................. 51
3.4.1.8. Đột biến............................................................................................................................ 51
3.4.1.9. Thế hệ tiếp theo............................................................................................................. 52
3.4.1.10. Kiểm tra hội tụ............................................................................................................. 53
3.4.2. Vai trò của hệ thống tính toán song song...................................................................... 53
3.4.3. Ƣớc lƣợng thời gian, độ phức tạp của tính toán........................................................ 56
KẾT LUẬN................................................................................................................................................ 58
TÀI LIỆU THAM KHẢO.................................................................................................................... 59
PHỤ LỤC 1. Bảng trọng số tần suất bộ đôi chữ cái tiếng Anh.............................................. 60
PHỤ LỤC 2. Mã nguồn chƣơng trình thám mã DES áp dụng thuật toán di truyền chạy
trên máy tính đơn..................................................................................................................................... 61

v


DANH MỤC CÁC TỪ VIẾT TẮT TIẾNG ANH

Viết tắt
DES


Data

FEAL

Fast D

AES

Adva

IDEA

Intern
Algo

3 DES

Tripl

GA

Gene

ECB

Elect

CBC


Ciphe

vi


DANH MỤC CÁC BẢNG

Số hiệu
Bảng 2.1
Bảng 3.1
Bảng 3.2
Bảng 3.3

vii


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Số hiệu
Hình 1.1
Hình 1.2
Hình 1.3
Hình 1.4
Hình 1.5
Hình 1.6
Hình 2.1
Hình 3.1
Hình 3.2

Hình 3.3


Hình 3.4
Hình 3.5
Hình 3.6
Hình 3.7
Hình 3.8
Hình 3.9
Hình 3.10
Hình 3.11


viii


MỞ ĐẦU
DES (viết tắt của Data Encryption Standard, hay Chuẩn mã hóa dữ liệu) là một hệ
mật mã khóa đối xứng do Công ty IBM thiết kế dựa trên hệ mật mã do chính họ đã nghiên
cứu trƣớc đó - hệ mật mã Lucifer và đƣợc FIPS (Tiêu chuẩn xử lý thông tin Liên bang
Hoa Kỳ) chọn làm chuẩn chính thức vào năm 1976. Sau đó, Chuẩn này đƣợc sử dụng
rộng rãi trên phạm vi thế giới.
Ngay từ đầu, thuật toán của nó đã gây ra rất nhiều tranh luận liên quan đến các
thành phần thiết kế mật, độ dài khóa tƣơng đối ngắn. Do đó, DES đã đƣợc giới nghiên
cứu xem xét rất kỹ lƣỡng, việc này đã thúc đẩy hiểu biết hiện đại về mật mã khối (block
cipher) và các phƣơng pháp tấn công (hay thám mã) tƣơng ứng. Có thể nói, sự xuất hiện
của DES đã tạo nên một làn sóng, một nguồn cảm hứng nghiên cứu trong giới khoa học
về lĩnh vực mật mã học, đặc biệt là các phƣơng pháp thám mã mã khối. Với DES, giới
khoa học đã có một thuật toán mật mã để nghiên cứu.
Mặc dù trong thời gian qua đã có rất nhiều kết quả nghiên cứu về thám mã DES đã
đƣợc công bố, DES có thể bị phá khoá 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 có ý nghĩa để hƣớng tới thám mã các hệ
mật mã khối có độ dài khóa mật lớn hơn, đã và đang dần thay thế DES nhƣ AES, IDEA, 3

DES, RC4, RC5,... 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 dạng tấn công mới.
Đồng thời, nó cũng có ý nghĩa trong hỗ trợ công tác tình báo, phản gián v.v..

Với lý do trên, tác giả chọn đề tài: “Nghiên cứu phƣơng pháp thám mã Chuẩn
mật mã DES nhờ hệ thống tính toán hiệu năng cao”. Trong phạm vi nghiên cứu của đề
tài này, bài toán đặt ra là với một bản mã đƣợc mã hoá từ một thông điệp tiếng Anh bởi
Thuật toán mã hoá DES, với giả thiết ngƣời thám mã có thể truy cập đến chức năng mã
hóa/giải mã của DES. Từ giả thiết này, yêu cầu ứng dụng hệ thống tính toán hiệu năng
cao, thuật toán di truyền (Genetic Algorithm) để xây dựng thuật toán dạng thám mã “hộp
đen” để tìm ra khoá mật đã sử dụng để mã hoá thông điệp đó trong thời gian ngắn (dự
kiến khoảng 8 đến 15 phút).
Tác giả đã nghiên cứu, trình bày Luận văn thành ba chƣơng. Nội dung chính, kết
quả nghiên cứu của các chƣơng nhƣ sau:
Chƣơng I: Giới thiệu về chuẩn mã hoá dữ liệu - DES (Data Encryption Standard).
Chƣơng II: Các phƣơng pháp thám mã Chuẩn mã hoá dữ liệu DES, các hệ thống
chuyên dụng phục vụ thám mã DES.

1


Chƣơng III: Nghiên cứu, đề xuất phƣơng pháp thám mã DES
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ế độ
ECB) từ “bản rõ” tƣơng ứng là một thông điệp tiếng Anh. Từ giả thiết này, xây dựng
thuật toán di truyề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.
Để giải quyết yêu cầu đặt ra và các bài toán nói trên, bài toán đƣợc chia thành các
bài toán con để gải quyết vấn đề:
- Xây dựng thuật toán nhận dạng “bản rõ” và “tiêu chuẩn bản rõ” là cơ sở xác định


hàm “phù hợp”, một thành phần quan trọng của thuật toán di truyền nói chung và của
thuật toán di truyền thám mã nói riêng.
- Tìm hiểu về thuật toán di truyền, xây dựng thuật toán di truyền để thực hiện tìm

kiếm khoá mật với phƣơng pháp “vét cạn có định hƣớng” trong không gian khoá (K 2)
xác định khoảng 209 tỷ khóa.
Độ phức tạp của phƣơng pháp này chủ yếu phụ thuộc sự phán đoán, nhận dạng
ngôn ngữ của “bản rõ” tƣơng ứng với bản mã và phụ thuộc độ dài của khóa (số lƣợng bit
khóa), hoàn toàn không phụ thuộc vào thuật toán mã hóa khối mã của DES. Vì vậy, để đạt
đƣợc kết quả, mục tiêu nghiên cứu, tác giả đã sử dụng phƣơng pháp thống kê đặc trƣng
ngôn ngữ và áp dụng thuật toán di truyền.
Đề tài tập trung nghiên cứu, xây dựng thuật toán nhận dạng bản rõ và thuật toán di
truyền. Đồng thời, tác giả đã đề xuất ứng dụng mô hình hệ thống tính toán song song, mô
hình GA master - slave giúp rút ngắn thời gian thám mã khoảng 100 lần. Để đạt đƣợc kết
quả thám mã một cách tốt nhất, đòi hỏi phải có đƣợc một hệ thống tính toán song song và
kỹ năng lập trình song song. Tuy nhiên, với điều kiện và khả năng thực tế, tác giả đã xây
dựng dựng chƣơng trình thám mã thử nghiệm bằng ngôn ngữ Visual Basic .NET 2008
chạy trên một máy tính đơn, và giả định thuật toán di truyền hội tụ sau hai triệu thế hệ thì
tổng thời gian thám mã ƣớc lƣợng khoảng 19,4 giờ.

2


Chƣơng I. GIỚI THIỆU VỀ CHUẨN MÃ HÓA DỮ LIỆU - DES (DATA
ENCRYPTION STANDARD) [4]

1.1. GIỚI THIỆU VỀ THUẬT TOÁN MÃ HOÁ DES
DES đƣợc phân biệt giữa hai khái niệm là Chuẩn mã hoá dữ liệu (DES - Data
Encryption Standard) và Thuật toán mã hoá dữ liệu (DEA - Data Encryption Algorithm).

Thuật toán mã hoá là thành phần cơ bản của Chuẩn mã hoá. Việc nghiên cứu, phân tích về
DES chính là nghiên cứu, phân tích về thuật toán của nó.
Trong lĩnh vực mật mã học, có hai loại hệ mật mã thƣờng đƣợc đề cập đến, đó là
mật mã khoá công khai (khoá bất đối xứng) và mật mã khoá bí mật (khoá đối xứng).
Riêng đối với hệ mật mã đối xứng lại chia ra làm hai loại là mã hoá, giải mã theo khối và
mã hoá, giải mã theo dòng. DES (Data Encryption Standard) hay Chuẩn mã hóa dữ liệu
thuộc hệ mật mã khoá đối xứng và thực hiện mã hoá, giải mã theo khối. Độ dài của khối
thông tin mã hoá, giải mã là 64 bit.
Quy trình mã hoá, giải mã khối gồm hai thuật toán là mã hoá (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
khoá 56 bit để cho ra khối 64 bit. Đối với bất kỳ khoá nào, giải mã là hàm ngƣợc của mã
hoá, nghĩa là:
- Mã hoá 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à khoá 56 bit.
Bản rõ 64 bit

Bản mã 64 bit

Khoá K
56 bit

Bản rõ 64 bit


Bản mã 64 bit

b. Quy trình giải mã

a. Quy trình mã hoá

Hình 1.1. Mô phỏng sự mã hoá (a) và giải mã (b) theo DES

3


1.2. QUY TRÌNH MÃ HÓA THEO DES
Quy trình mã hoá của mật mã khối nói chung và mã hoá theo DES nói riêng đƣợc
thực hiện qua năm giai đoạn sau:
Giai đoạn 1:
Giai đoạn 2:
Giai đoạn 3:
Giai đoạn 4:
Giai đoạn 5:
1.3. LẬP MÃ VÀ GIẢI MÃ DES
1.3.1. Quy trình lập 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.

4


“bản rõ”: 64
IP


L0

f

k1

L1=R0

f
L1=R0

L15 = R14

f
k16
R16 = L15 ⊕ f (R15, k16)

IP
Bản mã: 64 bit
Hình 1.2. Sơ đồ quy trình lập mã DES

5

k2


1.3.2. Thực hiện mã hóa DES theo sơ đồ
* “bản rõ” là xâu X, bản mã là xâu Y, khóa là xâu k, đều có độ dài 64 bit
* Thuật toán mã hóa DES thực hiện qua 3 bƣớc chính sau:


Bƣớc 1: “bản rõ” x đƣợc hoán vị theo hoán vị IP, thành IP (x).
IP (x) = L0R0, trong đó L0 là 32 bit đầu (left), R0 là 32 bit cuối (right). (IP (x) tách
thành L0R0).
Bƣớc 2: Thực hiện 16 vòng mã hóa với những phép toán giống nhau.
Dữ liệu đƣợc kết hợp với khóa thông qua hàm f:
⊕ là phép toán hoặc loại trừ của hai dãy bit (cộng theo modulo 2).

k1, k2, ..., k16 là các khóa con (48 bit) đƣợc tính từ khóa gốc K.
-1

Bƣớc 3: Thực hiện phép hoán vị ngƣợc IP cho xâu R16L16, thu đƣợc bản mã y.
-1

Y = IP (R16L16).
* Hoán vị ban đầu IP
+ bit 1 của IP(x) là bit 58 của x
+ bit 2 của IP(x) là bit 50 của x

6


* Hoán vị cuối cùng IP

-1

1.3.3. Tính các khóa con k1, k2, ..., k16 từ khóa gốc
K Sơ đồ
K
PC-1
C0


D0

LS1

LS1

C1
LS2

LS2

C2

LS16

C16

LS16


Hình 1.3. Sơ đồ quy trình tính các khóa con k1, k2, ..., k16

7


* Tính khóa ki (48 bit):
- Khóa K là xâu 64 bit, trong đó 56 bit là khóa và 8 bit để kiểm tra chẵn lẻ nhằm

phát hiện sai, các bit này không tham gia vào quá trình tính toán.

Các bit kiểm tra tính chẵn lẻ nằm ở vị trị 8, 16, 24, 32, 40, 48, 56, 64, sao cho mỗi
byte chứa một số lẻ các bit 1. Bởi vậy mỗi sai sót đơn lẻ đƣợc xác định trong mỗi nhóm 8
bit.
- Tính khóa ki nhƣ sau:
+ Với khóa K có độ dài 64 bit, ta loại bỏ các bit kiểm tra tính chẵn lẻ, hoán vị 56

bit còn lại theo phép hoán vị PC-1:
PC-1(K) = C0D0
Trong đó C0 là 28 bit đầu, D0 là 28 bit cuối cùng của PC-1(K)
+ Với i = 1, 2, ..., 16, ta tính Ci = LSi(Ci-1), Di = LSi(Di-1)
Trong đó, LSi là phép chuyển dịch vòng trái:
→ Dịch 1 vị trí nếu i = 1, 2, 9, 16. Dịch 2 vị trí với những giá trị i khác.

+ Với i = 1, 2, ..., 16, khóa ki đƣợc tính theo phép hoán vị PC-2 từ CiDi:
ki = PC-2(CiDi)

(48 bit)
* Phép hoán vị PC-2

* Phép hoán vị PC-1

8


1.3.4. Tính hàm f(Ri-1, ki)
Ri-1
32 bit

E
48 bit


E(Ri-1)
48 bit

+
B1

B2

B3

B4

B5

B6

B7

B8

S1

S2

C1

C

P

f (Ri-1, ki)
Hình 1.4. Sơ đồ quy trình tính hàm f (Ri-1, ki)
Để cho đơn giản, ta không ghi chỉ số i-1, i, và mô tả cách tính f(R, k):
a) Mở rộng xâu R (32 bit) thành xâu 48 bit, theo hàm mở rộng E

E: R (32 bit) → E(R) (48 bit)
E(R) gồm 32 bit cũ của R và 16 bit của R xuất hiện lần thứ 2.
b)

Tính E(R) ⊕ k, trong đó E(R) (48 bit) và k (48 bit)

B =B1B2B3B4B5B6B7B8

9


c) Tính Cj = Sj (Bj), j = 1, ..., 8. Dùng 8 bảng S1, S2, ..., S8.
Sj là bảng cố định với r * c số nguyên từ 0 --> 15, (0 ≤ r ≤ 3), (0 ≤ c ≤ 15).
Sj thể hiện việc thay thế mỗi Bj thành Cj (Cj là xâu 4 bit) theo quy tắc sau:
* Giả sử Bj = b1 b2 b3 b4 b5 b6
+ b1 b6 xác định biểu diễn nhị phân của hàng r trong S j (0 ≤ r ≤ 3)
+ b2 b3 b4 b5 xác định biểu diễn nhị phân của cột c trong Sj
Xâu Cj (4 bit) đƣợc định nghĩa là biểu diễn nhị phân của phần tử Sj(r, c)
d) Thực hiện 8 lần c), ta nhận đƣợc xâu C = C1 C2 ... C8
Sau hoán vị P, cho kết quả P(C), đó chính là f(R, k).
* Phép hoán vị mở rộng E

*

32

4

1
5

8
12
16
20

9
13
17
21

24
28

25
29

Các bảng S1, S2, ..., S8:

S1
1
0
0
1
1


6
0
1
0
1

0
14
0
4
15

S2
7
0
0
1
1

12
0
1
0
1

0
15
3
0
13



10


S3
1
0
0
1
1

6
0
1
0
1

0
10
13
13
1

1
0
0
1
1


6
0
1
0
1

0
7
13
10
3

1
0
0
1
1

6
0
1
0
1

0
2
14
4
11


1
0
0
1
1

6
0
1
0
1

0
12
10
9
4

1
0
0
1
1

6
0
1
0
1


0
4
13
1
6

1
0
0
1
1

6
0
1
0
1

0
13
1
7
2

S4

S5

S6


S7

S8

11


* Quy định lập bảng Sj:
- Mỗi hàng của bảng S phải là một hoán vị của 0, 1, ..., 15.
- Không có bảng S nào là hàm tuyến tính hay Apphin của các đầu vào của nó.
- Thay đổi 1 bit vào ở một bảng S, sẽ gây ra sự thay đổi ít nhất 2 bit ra của nó.
- Nếu 2 xâu vào của một bảng S giống nhau ở 2 bit đầu và 2 bit cuối, thì 2 xâu ra

phải khác nhau.
- Với mỗi bảng S, nếu cố định 1 bit vào xét giá trị của 1 bit ra nào đó, thì số các

xâu vào tạo ra giá trị 0 ở bit ra đó cũng phải xấp xỉ bằng số các xâu vào tạo ra giá trị 1 ở
bit ra đó.
1.3.5. Quy trình giải mã DES
Quy trình giải mã của DES tƣơng tự nhƣ quy trình lập mã, nhƣng sử dụng các
khóa theo thứ tự ngƣợc lại: k16, k15, ..., k1.
Xuất phát từ bản mã Y (đầu vào), kết quả là “bản rõ” X (đầu ra).
1.3.6. Độ an toàn của Chuẩn mã hóa DES
a) Độ an toàn của Chuẩn mã hóa DES có liên quan đến các bảng Sj:

Ngoại trừ các bảng S, mọi tính toán trong DES đều tuyến tính, tức là việc tính phép
hoặc loại trừ của hai đầu ra cũng giống nhƣ phép hoặc loại trừ của hai đầu vào, rồi tính
toán đầu ra.
Các bảng S chứa đựng nhiều thành phần phi tuyến của hệ mật, là yếu tố quan trọng
nhất đối với độ an toàn của hệ thống.

Khi mới xây dựng hệ mật DES, thì tiêu chuẩn xây dựng các hộp S không đƣợc biết
đầy đủ. Và có thể các hộp S này có thể chứa các “cửa sập” đƣợc giấu kín. Và đó cũng là
một điểm đảm bảo tính an toàn của hệ mật DES.
b) Hạn chế của DES chính là kích thƣớc không gian khóa:
56

Số khóa có thể là 2 , không gian này là nhỏ để đảm bảo an toàn thực sự. Nhiều
thiết bị chuyên dụng đã đƣợc đề xuất nhằm phục vụ tấn công với một cặp “bản rõ” - bản
mã đã biết. Phép tấn công này chủ yếu thực hiện theo phƣơng pháp “vét cạn”. Tức là với

12


“bản rõ” X và bản mã Y tƣơng ứng (64 bit), mỗi khóa có thể đƣợc kiểm tra cho tới khi
tìm đƣợc một khóa K thỏa mãn ek(X) = Y.
1.4. CÁC CHẾ ĐỘ MÃ HÓA DES [15]
Các hệ mật mã khối nói chung và chuẩn mã hóa khối DES có 6 (sáu) chế độ mã
hóa chính, gồm chế độ mã hoá cơ bản (ECB - electronic codebook mode), chế độ liên kết
khối mã (CBC - cipher block chaining mode), chế độ phản hồi mã (CFB - cipher feedback
mode), PCBC (propagating cipher-block chaining), OFB (output feedback), CTR
(counter). Trong đó, chế độ mã hóa cơ bản ECB là đơn giản nhất.
Dƣới đây là sơ đồ mô tả chế độ mã hoá cơ bản và chế độ mã hoá liên kết khối mã.
1.4.1. Chế độ mã cơ bản (ECB - electronic codebook)
Bản rõ

Bản rõ

Bản rõ

Mã hoá

Khoá

mã khối

Bản mã

Bản mã

Bản mã

a. Mã hoá
Bản mã

Bản mã

Bản mã

Giải mã
Khoá

mã khối

Bản rõ

Bản rõ

Bản rõ

b. Giải mã
Hình 1.5. Mã hóa (a) và giải mã (b) theo chế độ mã cơ bản (ECB)



13


1.4.2. Chế độ liên kết khối mã (CBC - cipher block chaining)
Bản rõ

Bản rõ

Bản rõ

Vector khởi tạo
(Initialization Vector – IV)

Khoá

Bản mã

Bản mã

Bản mã

Bản mã

Bản mã

a. Mã hoá
Bản mã
Vector khởi tạo

(Initialization Vector – IV)

K

Bản rõ

b. Giải mã
Hình 1.6. Mã hóa (a) và giải mã (b) theo chế độ liên kết khối mã (CBC)
DES có thể áp dụng một trong các chế độ mã hoá nhƣ đã nói trên. Nhƣng để giới
hạn phạm vi nghiên cứu của đề tài, khi thực hiện hiện công việc thám mã đƣơng nhiên
chúng ta giả định bản mã cho trƣớc đƣợc mã hóa bởi chuẩn mã hóa DES, đồng thời cũng
giả định rằng bản mã đƣợc mã hóa theo chế độ mã cơ bản (ECB). Tức là “bản rõ” đƣợc
chia nhỏ thành các khối độc lập, mỗi khối 64 bit. Mỗi khối này đƣợc mã hóa bởi cùng
một khóa k nào đó để tạo ra các khối mã 64 bit độc lập.
Ngày nay, Thuật toán mã hóa dữ liệu (DEA - Data Encryption Algorithm) của
Chuẩn mã hóa dữ liệu DES đã đƣợc công bố chi tiết, cho nên các chƣơng trình mã hóa


DES, các thƣ viện mã nguồn mở vể DES đƣợc công bố rộng rãi. Phụ lục 1 của Luận văn
là một ví dụ về sử dụng Thƣ viện mã nguồn mở Chilkat.Crypt2 về DES để thực hiện mã
hóa, giải mã một thông điệp, với các chế độ mã hóa cơ bản (ECB), chế độ mã hóa liên kết
khối mã (CBC).

14


×