Tải bản đầy đủ (.doc) (67 trang)

Nghiên cứu một số chế độ sử dụng mã khối an toà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 (532 KB, 67 trang )

Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

MỤC LỤC

MỤC LỤC.............................................................................................................i
DANH MỤC HÌNH VẼ.....................................................................................iii
LỜI NÓI ĐẦU......................................................................................................iv
Chương 1............................................................................................................vii
TỔNG QUAN VỀ MÃ KHỐI.............................................................................vii
1.1 Giới thiệu về mã khối............................................................................vii
1.2 Các định nghĩa về mã khối và một số thuật ngữ ................................ix
1.3 Các tham số của mã khối.......................................................................xii
1.4 Nguyên lý thiết kế mã khối..................................................................xiii
1.4.1. Nguyên lý thiết kế chung về độ an toàn...................................xiii
1.4.2 Nguyên lý thiết kế cho ứng dụng.................................................xiv
1.5 Các thành phần của mã khối................................................................xvi
1.6 Một số chế độ hoạt động của mã khối.............................................xvii
1.6.1 Chế độ từ điển mã điện tử (ECB-Electronic Codebook).........xvii
1.6.3 Chế độ phản hồi mã (CFB- Cipher feedback)..............................xx
1.6.4 Chế độ hoạt động Counter (CTR)..............................................xxii
1.6.5 Chế độ phản hồi đầu ra (OFB-Output feedback).....................xxiv
1.6.6 Chế độ kết hợp bảo mật và xác thực CCM.............................xxiv
Chương 2.........................................................................................................xxvi
NGHIÊN CỨU CHẾ ĐỘ PHẢN HỒI ĐẦU RA (OFB)..................................xxvi
2.1 Mô tả chế độ phản hồi đầu ra OFB..................................................xxvi
2.3 Nghiên cứu các đánh giá đảm bảo độ an toàn của OFB...............xxix
2.3.1 Phân tích chế độ OFB không khởi tạo lại mầm.....................xxix
2.3.2 Phân tích OFB khởi tạo lại mầm ngẫu nhiên........................xxxiii
2.3.3 Phân tích OFB trong trường hợp chung....................................xxxv


2.3 Nhận xét cuối chương..........................................................................xlii
Chương 3.........................................................................................................xliv
NGHIÊN CỨU CHẾ ĐỘ BẢO MẬT KẾT HỢP XÁC THỰC CCM...............xliv
3.1 Giới thiệu..............................................................................................xliv
3.2 Mô tả chế độ CCM..............................................................................xlvi
3.3. Phân tích tính an toàn của CCM...........................................................li
3.3.1 Các khái niệm an toàn.....................................................................li
3.3.2 Các kết quả an toàn.......................................................................liv
3.3.2.1 Giới hạn an toàn đối với tính xác thực.................................liv
3.3.2.2 Giới hạn an toàn đối với tính bí mật...................................lxi
3.4 Nhận xét cuối chương..........................................................................lxii
KẾT LUẬN.......................................................................................................lxiii
TÀI LIỆU THAM KHẢO.................................................................................lxiv
PHỤ LỤC..........................................................................................................lxv

i


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

DANH MỤC CÁC CHỮ VIẾT TẮT
Chữ viết tắt

Tiếng Anh

Tiếng Việt

NSA


National Security Agency

Cơ quan an ninh quốc gia
hoa kỳ

NBS

National Bureau of Standard

Cục tiêu chuẩn liên bang hoa
kỳ

NIST

National
Institute
of Viện Tiêu chuẩn và Công
Standards and Technology
nghệ Quốc gia Hoa Kỳ

FIPS

Faderal
Infomation Tiêu chuẩn Xử lý Thông tin
Processing Standard
Liên bang Hoa Kỳ

RFC


Request for Comments

Đề nghị duyệt thảo và bình
luận

DES

Data Encryption Standard

Tiêu chuẩn mã hóa dữ liệu

AES

Advanced
Standard

Encryption Tiêu chuẩn mã hóa mở rộng

ii


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

DANH MỤC HÌNH VẼ
Hình 1.1 Mô hình mã Feistel
Hình 1.2 Mô hình mã SPN
Hình 1.3 Một mã lặp r-vòng với hàm vòng f
Hình 1.4 Chế độ mã hóa ECB

Hình 1.5 Chế độ mã hóa CBC
Hình 1.6 Chế độ mã hóa CFB
Hình 1.7 Mã hóa trong chế độ CTR
Hình 1.8 Giải mã trong chế độ CTR
Hình 1.9 Ví dụ so sánh chế độ mã ECB với các chế độ khác
Hình 2.1 Chế độ OFB trong trường hợp chung
Hình 2.2 Mã hóa và giải mã trong chế độ OFB
Hình 3.1 Sơ đồ tạo thẻ CBC-MAC trong chế độ CCM
Hình 3.2 Sơ đồ mã hóa CTR trong chế độ CCM

iii


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

LỜI NÓI ĐẦU
Ngay từ thời cổ đại Tôn Tẫn, một danh tướng nổi tiếng của Trung Hoa
đã viết trong cuốn Binh Pháp: “Biết người, biết ta – trăm trận, trăm thắng”.
Điều này đã nói lên tầm quan trọng cũng như giá trị của thông tin. Giá trị của
thông tin đã được xác định từ lâu trong các lĩnh vực chính trị, quân sự. Ngày
nay với cuộc cạnh tranh kinh tế gay gắt thì các bí mật về kỹ thuật, công nghệ;
các thông tin về nguồn tài nguyên của một đất nước; các số liệu về tình hình
tài chính của một công ty, thậm chí những thông tin mang tính riêng tư của
một cá nhân hay của một nhóm người nào đó cũng trở thành những tài sản
quý giá mà không phải ai cũng chia sẻ được. Những vấn đề về bảo mật thông
tin đang ngày càng trở nên nổi cộm khi việc triển khai trên các mạng diện
rộng các cơ sở dữ liệu lớn, liên quan đến nhiều nguồn tài nguyên quý giá khác
nhau của các quốc gia trong nhiều lĩnh vực: kinh tế, chính trị và đặc biệt là

quốc phòng; và việc thực hiện nhiều dịch vụ và ứng dụng quan trọng khác
trên mạng. Có thể nói rằng, khả năng kết nối trên toàn thế giới mang lại cho
chúng ta rất nhiều điều quý giá nhưng đồng thời nó cũng có thể tước đoạt đi
tất cả một khi sự an toàn của thông tin là không được bảo đảm.
Bảo mật thông tin là một khái niệm khá rộng liên quan đến nhiều cơ
chế và các tầng lớp bảo vệ khác nhau. Từ trước đến nay đã có rất nhiều giải
pháp bảo mật được đưa ra, trong đó, kiểm soát truy nhập thông tin bằng cách
mã hóa dữ liệu nhờ sử dụng mật mã là một giải pháp quan trọng mang lại hiệu
quả vô cùng to lớn.
Tuy nhiên, vì mật mã là công cụ rất mạnh mẽ nên đã khiến nhiều người
lầm tưởng rằng cứ sử dụng mật mã là an toàn, mà không biết rằng mật mã là
con dao hai lưỡi. Chúng ta có thể xây dựng một hệ thống với đầy đủ các ý
iv


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

tưởng hay ho nhất của mật mã, nhưng nếu chúng ta không dùng mật mã đúng
cách, hệ thống của chúng ta sẽ hoàn toàn thiếu an toàn.
Đã có rất nhiều ví dụ, mà tiêu biểu là gần đây, hệ thống bảo vệ máy
PS3 của Sony bị phá vỡ hoàn toàn chỉ vì sử dụng sai mật mã. Không riêng gì
Sony, mà rất nhiều hãng lớn trên thế giới, từ Oracle, Yahoo!, đến Microsoft,
đã sử dụng sai mật mã và làm cho sản phẩm của họ thiếu an toàn.
Điều này cho thấy, chỉ biết mật mã giúp gì cho chúng ta là chưa đủ, mà
chúng ta cần phải biết làm thế nào để sử dụng chúng đúng cách. Khi biết cách
sử dụng đúng mật mã rồi, chúng ta sẽ có thể dùng mật mã để xây dựng các hệ
thống an toàn hơn, và đồng thời có thể đánh giá được sản phẩm sử dụng mật
mã của bên thứ ba.

Đó là lí do tại sao em lựa chọn đề tài: “Nghiên cứu tìm hiểu một số chế
độ sử dụng mã khối an toàn”, với mục đích hiểu được cơ chế hoạt động của
một số chế độ hoạt động của mã khối, chứng minh một số đặc tính an toàn để
từ đó đưa ra các khuyến cáo sử dụng an toàn nhất có thể đối với mỗi cơ chế
đó.
Bố cục của đồ án gồm 3 phần:
- Phần 1. Tổng quan về mã khối
Phần này giới thiệu sơ lược về mật mã khối, đưa ra các khái niệm, các
thuật ngữ và các tham số của mã khối; chỉ ra các nguyên lý thiết kế mã khối
và các thành phần của mã khối. Ngoài ra, phần này cũng giới thiệu, mô tả một
số chế độ hoạt động quen thuộc của mã khối được dùng phổ biến ở nước ta.
- Phần 2. Nghiên cứu chế độ phản hồi đầu ra (OFB)
Phần này giới thiệu, mô tả cụ thể chế độ OFB, nghiên cứu các đánh giá về
độ an toàn để từ đó đưa ra các khuyến cáo sử dụng chế độ này một cách an
toàn nhất.
- Phần 3. Nghiên cứu chế độ bảo mật kết hợp xác thực (CCM)
Phần này giới thiệu, mô tả chế độ CCM, phân tích tính an toàn của nó và
đưa ra các giới hạn an toàn khi sử dụng chế độ này.

v


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

Em xin gửi lời cảm ơn chân thành đến Học viện Kỹ Thuật Mật Mã, các
thầy cô trong khoa An Toàn Thông Tin đã tạo điều kiện giúp đỡ em trong quá
trình học tập và nghiên cứu. Và đặc biệt em xin tỏ lòng kính trọng và biết ơn
sâu sắc đến TS. Trần Văn Trường – phó giám đốc Học viện Kỹ Thuật Mật

Mã, thầy đã tận tình hướng dẫn và chỉ bảo em trong quá trình nghiên cứu, tìm
hiểu và hoàn thành đồ án.
Mặc dù nhận được rất nhiều sự giúp đỡ của thầy hướng dẫn, các thầy cô
giáo, bạn bè và sự cố gắng của bản thân nhưng đồ án không tránh khỏi sai sót,
vì vậy em rất mong nhận được sự đóng góp ý kiến từ phía các thầy cô và bạn
bè cũng như những người quan tâm đến lĩnh vực này.
Em xin chân thành cảm ơn!
Sinh viên thực hiện

vi


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

Chương 1
TỔNG QUAN VỀ MÃ KHỐI
1.1 Giới thiệu về mã khối
Trong mật mã học, mã khối là những thuật toán mã hóa đối xứng hoạt
động trên những khối thông điệp có độ dài xác định (block) với những phép
biến đổi xác định. Chẳng hạn một thuật toán mã khối có thể xử lý khối 128bit đầu vào và biến nó thành khối 128-bit ở đầu ra. Quá trình biến đổi còn sử
dụng thêm một tham số nữa: khóa bí mật để cá biệt hóa quá trình. Việc giải
mã cũng diễn ra tương tự: xử lý khối mã hóa 128-bit cùng với khóa để trả về
khối 128-bit bản rõ ban đầu.
Để mã hóa những văn bản có độ dài vượt quá độ dài của khối, người ta
sử dụng thuật toán theo một chế độ mã khối nào đó. Một kiểu mã hóa khác
với mã khối là mã dòng. Mã dòng làm việc trên từng bít của dòng dữ liệu và
quá trình biến đổi thay đổi theo quá trình mã hóa, mật mã dòng sinh ra chuỗi
khóa liên tục dựa trên giá trị của khóa. Tuy nhiên, sự khác biệt giữa 2 hệ mã

này nhiều khi không rõ ràng vì mã khối khi hoạt động theo một chế độ nào đó
thì có tác dụng như một phương pháp mã dòng.
Thuật toán mã khối ra đời sớm và có nhiều ảnh hưởng là thuật toán
DES do công ty IBM (International Business Machines) phát triển và được
ban hành làm thuật toán mã hóa dữ liệu chuẩn năm 1977. Thuật toán mã hóa
dữ liệu chuẩn thay thế DES có tên là AES được ban hành năm 2001.
Quá trình mã khối bao gồm 2 thuật toán: mã hóa - ký hiệu E và giải mã
- ký hiệu E-1 hay D. Cả 2 thuật toán đều tác động lên một khối đầu vào m-bit
vii


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

và sử dụng một khóa k-bit để cho ra một khối đầu ra m-bit. Đối với bất kỳ
khóa nào, giải mã là hàm ngược của mã hóa, nghĩa là:
DK = EK−1 ( EK ( M )) = M

trong đó M là khối thông điệp và K là khóa bất kỳ.
Với mỗi khóa K, EK là một hoán vị (song ánh) của khối đầu vào. Mỗi
khóa sẽ xác định một hoán vị trong tổng số 2m! khả năng.
Hầu hết các mã khối hiện nay có độ dài khối là 64 hoặc 128-bit. Tuy
vậy, vẫn có một số thuật toán có độ dài khối thay đổi nhưng không phổ biến.
Tính đến trước những năm đầu của thập kỷ 1990 thì người ta sử dụng độ dài
khối 64-bit. Cho tới nay thì kích cỡ khối 128-bit được sử dụng rộng rãi hơn.
Trong một số chế độ của mã khối thì người ta thường phải bổ sung thêm
(padding) một số bit vào văn bản để văn bản cần mã hóa chứa số nguyên lần
độ dài khối. Mỗi chế độ mã hóa có đặc tính khác nhau về lan truyền lỗi (lỗi
mã hóa trong khối này ảnh hưởng tới khối khác), khả năng truy xuất ngẫu

nhiên và khả năng chống lại các kiểu tấn công khác nhau. Độ dài thông
thường của khóa, k, là 40, 56, 64, 80, 128, 192 và 256 bit. Từ năm 2006 đến
nay thì 80 bit là độ dài tối thiểu của khóa để có thể chống lại tấn công kiểu vét
cạn. Tuy nhiên, theo dự kiến của NIST, khóa 80-bit sẽ bị loại bỏ vào năm
2015.
Các hệ mã khối có ưu điểm là chúng có thể được chuẩn hóa một cách
dễ dàng, bởi vì các đơn vị xử lý thông tin hiện nay thường có dạng khối
(block) như byte hoặc word. Ngoài ra trong kỹ thuật đồng bộ, một số chế độ
mã cho phép việc mất một khối mã cũng không ảnh hưởng tới độ chính xác
của việc giải mã của các khối tiếp sau, đó cũng là một ưu điểm khác của mã
khối.
Nhược điểm lớn nhất của mã khối là phép mã hóa không che dấu được
các mẫu dữ liệu: các khối mã giống nhau với cùng một khóa sẽ suy ra các
khối rõ cũng giống nhau (chẳng hạn như chế độ ECB). Tuy nhiên nhược điểm
này có thể được khắc phục bằng cách đưa vào một lượng nhỏ có nhớ trong
quá trình mã hóa, tức là bằng cách sử dụng cách thức móc xích khối mã
(CBC-Cipher Block Channing mode) trong đó hàm mã hóa không nhớ được
viii


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

áp vào tổng XOR của khối rõ và khối mã trước đó. Phép mã lúc này có kiểu
cách kỹ thuật như mã dòng áp dụng đối với các khối "lớn" (ví dụ, chế độ CFB
và OFB).
Mã khối đóng vai trò hết sức quan trọng trong hầu hết các ứng dụng
mật mã, ngoài việc sử dụng trực tiếp để mã hóa dữ liệu, nó còn được dùng để
xây dựng các cấu trúc thuật toán mật mã quan trọng khác như các bộ tạo số

giả ngẫu nhiên, mã dòng, hàm tóm lược bản tin (MAC), hàm băm mật mã
(Hash). Ngoài các thuật toán mã khối đã nêu trên, các quốc gia khác nhau đều
phát triển các thuật toán mã khối riêng để phục vụ bảo mật cho các thông tin
bí mật cấp quốc gia của mình.
1.2 Các định nghĩa về mã khối và một số thuật ngữ
Giả sử F2 là trường Galois hai phần tử. Ký hiệu là không gian vectơ
các bộ m-tuples các phần tử của F2. Trong phần này chúng ta giả thiết không
mất tổng quát rằng, bản rõ X, bản mã Y lấy các giá trị trong không gian véc
tơ, còn khóa Z lấy giá trị trong không gian véc tơ. Như vậy m-là độ dài bit của
các khối rõ và mã, còn k-là độ dài bit của khóa bí mật.
Định nghĩa. Hệ mã khối khóa bí mật là một ánh xạ

E : F2m × S Z → F2m
m
sao cho với mỗi z ∈ Sz, E (g, z ) là một ánh xạ có ngược từ vào F2 .

Hàm có ngược E (g, z ) được gọi là hàm mã hóa tương ứng với khóa z.
Ánh xạ nghịch đảo của E (g, z ) được gọi là hàm giải mã tương ứng với khóa z
và sẽ được ký hiệu là D(g, z ) .Chúng ta viết Y = E(X, Z) đối với một mã khối
có nghĩa là bản mã Y được xác định bởi bản rõ X và khóa bí mật Z theo ánh
xạ E. Tham số m được gọi là độ dài khối còn tham số k được gọi là độ dài
khóa của hệ mã khối đó. Cỡ khóa đúng của hệ mã khối được xác định bởi số
kt = log2 (#(Sz)) bit. Như vậy độ dài khóa sẽ bằng cỡ khóa thực tế nếu và chỉ
nếu S z = F2k , tức là mọi bộ k-bit nhị phân đều là một khóa có hiệu lực. Chẳng
hạn đối với chuẩn mã dữ liệu DES, độ dài khóa là k = 64 bit, trong khi cỡ
khóa thực tế của nó là kt = 56 bit. Chú ý rằng ở đây ta xem xét các mã khối có
độ dài khối mã bằng độ dài khối rõ.
ix



Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

Độ an toàn của các hệ mã khối
Như đã nói ở trên, một mã khối được sử dụng nhằm bảo vệ chống sự rò
rỉ không mong muốn của bản rõ. Nhiệm vụ của thám mã đối phương là phá hệ
mã này theo nghĩa anh ta có thể mở ra được các bản rõ từ các bản mã chặn bắt
được. Một hệ mã là bị phá hoàn toàn nếu như thám mã có thể xác định được
khóa bí mật đang sử dụng và từ đó anh ta có thể đọc được tất cả các thông báo
một cách dễ dàng như là một người dùng hợp pháp. Một hệ mã là bị phá thực
tế nếu thám mã có thể thường xuyên mở ra được các bản rõ từ các bản mã
nhận được, nhưng vẫn chưa tìm ra được khóa.
Độ an toàn luôn gắn với các đe dọa tấn công. Chúng ta giả sử rằng kẻ
tấn công luôn có thể truy nhập tới mọi thứ được truyền thông qua kênh không
an toàn. Khả năng tính toán của thám mã phải luôn được xem xét trước khi
xem xét độ an toàn của một mã có thể bị truy nhập.
Các kiểu tấn công
Một giả thiết được chấp nhận phổ biến nhất trong mật mã đó là thám
mã đối phương luôn có thể truy nhập hoàn toàn tới các bản mã được truyền
trên kênh không an toàn. Một giả thiết đã được chấp nhận khác nữa là:
Giả thiết Kerckhoff: Thám mã đối phương là được biết toàn bộ chi tiết của
quá trình mã hóa và giải mã chỉ trừ giá trị khóa bí mật.
Giả thiết Kerckhoff suy ra rằng độ an toàn của một hệ mật khóa bí mật chỉ
còn phụ thuộc vào chính khóa mật mà thôi. Dưới giả thiết Kerckhoff, các tấn
công có thể được phân loại theo các tri thức của thám mã như sau:
- Tấn công vét cạn khóa (brute force).
- Tấn công chỉ biết bản mã: thám mã đối phương không biết thêm tí
thông tin gì ngoài bản mã nhận được.
- Tấn công bản rõ đã biết: Thám mã đối phươnng biết thêm một vài cặp

Rõ/Mã đối với khóa đang dùng.
- Tấn công bản rõ lựa chọn: Thám mã đối phươnng có thể đạt được các
bản mã tương ứng với các bản rõ ấn định đặc biệt bất kỳ đối với khóa
đang dùng.
x


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

Tấn công bản rõ lựa chọn là tấn công mạnh nhất trong các tấn công
trên. Nếu một hệ mã là an toàn chống lại tấn công bản rõ lựa chọn thì nó
cũng an toàn trước các tấn công khác. Trong thực tế, ta nên dùng hệ mã có
độ an toàn chống lại tấn công bản rõ lựa chọn, ngay cả khi thám mã đối
phương hiếm có cơ hội thu lượm được thông tin gì đó hơn so với tấn công
chỉ biết bản mã.
Độ an toàn vô điều kiện và độ an toàn tính toán
Một hệ mật được gọi là an toàn vô điều kiện nếu nó an toàn chống lại
thám mã đối phương có khả năng tính toán vô hạn. Độ an toàn vô điều kiện
cũng được gọi là an toàn lý thuyết liên quan đến tính không thể phá được của
một hệ mật. Một hệ mật là an toàn chống lại đối phương có khả năng tính
toán bị hạn chế nào đó được gọi là an toàn tính toán. Độ an toàn tính toán
cũng được gọi là độ an toàn thực tế, liên quan đến tính khó phá của một hệ
mật. Tất cả các hệ mật an toàn vô điều kiện đều là không có tính thực tế. Tuy
nhiên cũng không có một hệ mật thực tế nào đã được chứng minh là an toàn
theo nghĩa tính toán.
Độ phức tạp dữ liệu và độ phức tạp tính toán
Độ phức tạp dữ liệu là lượng dữ liệu đầu vào cần cho tấn công đó trong
khi độ phức tạp tính toán là lượng các tính toán cần để xử lý dữ liệu như thế.

Độ phức tạp nào lớn hơn - trội hơn thường được xem là độ phức tạp của tấn
công. Chẳng hạn, trong tấn công vét cạn khóa, lượng dữ liệu đầu vào cần cho
tấn công này là số các khối mã chặn bắt được (hoặc số các cặp rõ/mã trong
tấn công bản rõ đã biết), nói chung đó là một số lượng rất nhỏ so với số các
phép toán (trung bình cần 2 kt − 1 phép giải mã với các khóa khác nhau trong
việc tìm ra khóa đúng) cần thiết của tấn công này. Do vậy độ phức tạp của tấn
công duyệt khóa thường chính là độ phức tạp tính toán.
Ví dụ khác là tấn công vi sai của Biham và Shamir, đó là kiểu tấn công
bản rõ lựa chọn. Đối với tấn công vi sai độ phức tạp vượt trội lên bởi số các
cặp rõ/mã cần trong tấn công đó, trong khi số các tính toán sử dụng trong tấn
công này lại tương đối nhỏ. Do đó độ phức tạp của tấn công vi sai thực chất là
độ phức tạp dữ liệu.
xi


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

Nói chung đối với một mã khối độ dài khối m-bit và cỡ khóa thực sự là
kt-bit, độ phức tạp dữ liệu của tấn công bản rõ đã biết (hoặc bản rõ lựa chọn)
có thể được đo bởi số các cặp rõ/mã đã biết (hay lựa chọn) cần cho tấn công
này, nhiều nhất là 2m tức là toàn bộ số các cặp rõ/mã đối với một khóa cố
định. Độ phức tạp tính toán có thể bị chặn trên bởi 2 kt phép mã hóa theo tấn
công vét cạn khóa và nói chung một phép mã hóa được xem là tính toán
không đáng kể. Như vậy chúng ta có thể nói rằng một hệ mật là an toàn tính
toán nếu như không có tấn công nào trên hệ mật đó có độ phức tạp dữ liệu
nhỏ hơn đáng kể 2m phép mã và độ phức tạp tính toán nhỏ hơn đáng kể 2 kt
phép mã hóa. Một hệ mật được gọi là an toàn thực tế chống lại một tấn công
cụ thể nếu với tấn công này, độ phức tạp dữ liệu vào khoảng 2m cặp rõ/mã

hoặc độ phức tạp tính toán là vào khoảng 2 kt phép mã hóa. Đối với thám mã,
độ phức tạp dữ liệu là loại độ phức tạp bị động, anh ta phải chờ người sử dụng
tạo ra các cặp rõ /mã cho anh ta. Tuy nhiên, độ phức tạp tính toán lại là kiểu
độ phức tạp chủ động và có thể khắc phục nói chung bằng cách sử dụng nhiều
máy tính mạnh.
Thám mã khối là nghiên cứu các yếu điểm trong cài đặt thuật toán, hoặc bản
thân thuật toán để thu được các thông tin không biết về khóa mã và bản rõ.
1.3 Các tham số của mã khối
Độ dài khối m
Để một hệ mã khối là an toàn, độ dài khối m của nó phải đủ lớn ngăn
cản các tấn công phân tích thống kê, tức là để không cho đối phương thu được
thông tin có ích nào về khối rõ nào đó thường xuất hiện nhiều hơn các khối rõ
khác. Ngoài ra độ dài khối m cũng phải được chọn sao cho số các cặp rõ/mã
mà đối phương có thể thu nhận được trong thực tế phải nhỏ hơn rất nhiều so
với 2m .
Khi độ dài khối của hệ mã trở nên lớn thì độ phức tạp của ứng dụng
cũng tăng theo. Dù rằng độ phức tạp trong ứng dụng chọn ngẫu nhiên hàm có
ngược là tăng theo cỡ mũ so với độ dài khối, nhưng chỉ có hàm đơn giản mới
xuất hiện ngẫu nhiên, điều này tạo cơ hội phục vụ hàm mã hóa thực tế khi độ
dài khối m là lớn. Tuy nhiên, Shannon đã chỉ ra rằng sự dễ dàng trong tính
xii


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

toán các hàm mã hóa E (g, z ) và hàm giải mã D(g, z ) với mọi z không suy ra
được việc giải tìm khóa z từ các phương trình y = E(x, z) và x = D(y, z) sẽ là
dễ dàng khi biết x và y.

Độ dài khóa k và cỡ khóa thực sự kt
Để hệ mã khối an toàn chống lại tấn công vét cạn khóa, cỡ khóa đúng
cần phải đủ lớn sao cho 2 kt − 1 phép mã hóa cần cho tấn công này là vượt xa
khả năng của thám mã. Mặt khác, độ dài khóa k cũng cần nhỏ ở mức nào đó
sao cho việc tạo, phân phối và lưu trữ khóa có thể thực hiện được hiệu quả và
an toàn. Chẳng hạn, DES có độ dài khóa là 64 bit, còn cỡ khóa thực sự là 56
bit. Tấn công vét cạn khóa là không thể nhưng cũng không là quá xa vời.
Nhiều gợi ý muốn tăng cỡ khóa thực sự của DES. Chẳng hạn, mở rộng cỡ
khóa thực sự của DES tới 128 bit bằng phép mã bội ba dùng hai khóa xem là
một cách thức chuẩn để sử dụng DES.
1.4 Nguyên lý thiết kế mã khối
Một hệ mã khối tốt là phải "khó phá và dễ sử dụng". Cả hai hàm mã
hóa E (g, z ) và hàm giải mã D(g, z ) nên dễ dàng tính toán. Còn việc giải khóa z
từ y = E(x, z) và x = D(y, z) nên là bài toán khó. Nguyên lý thiết kế cho một
hệ mã khối có thể chia thành nguyên lý thiết kế chung về độ an toàn và
nguyên lý thiết kế cho ứng dụng
1.4.1. Nguyên lý thiết kế chung về độ an toàn
Chỉ có hai nguyên lý thiết kế được chấp nhận chung đối với các mã an
toàn thực tế là các nguyên lý về độ hỗn độn (confusion) và độ khuyếch tán
(diffusion) đã được gợi ý bởi Shannon.
Nguyên lý về độ hỗn độn (confusion):
Sự phụ thuộc của khóa trên bản rõ và bản mã nên phải phức tạp sao cho
nó không có ích gì đối với kẻ thù có ý định tìm qui luật để phá mã. Chẳng
hạn, phương trình nhị phân mô tả mã khối nên là phi tuyến và phức tạp sao
cho việc giải khóa z từ x và y = E(x, z) là không thể.
Nguyên lý về độ khuyếch tán (diffusion):
Với mỗi khóa cụ thể hàm mã hóa không nên có sự phụ thuộc thống kê
nào giữa các cấu trúc đơn giản trong bản rõ và các cấu trúc đơn giản trong
xiii



Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

bản mã và rằng không có quan hệ đơn giản nào giữa các hàm mã hóa khác
nhau. Nguyên lý khuyếch tán đòi hỏi, chẳng hạn một hệ mã khối cần được
thiết kế có tính đầy đủ hoặc gần đầy đủ, tức là mỗi bit rõ và mỗi bit khóa đều
ảnh hưởng tới mỗi bit mã.
1.4.2 Nguyên lý thiết kế cho ứng dụng
Một hệ mã khối có thể ứng dụng cả phần cứng và phần mềm. Trong
ứng dụng cứng thường được thực hiện bởi các chíp VLSI có tốc độ cao.
Trong ứng dụng mềm phải có tính mềm dẻo và giá thành thấp. Trên cơ sở đặc
tính khác nhau của phần cứng và phần mềm, các nguyên lý thiết kế cho mã
khối cũng chia thành hai phần.
Nguyên lý thiết kế cho ứng dụng mềm
- Sử dụng khối con: Các thao tác mã khối nên thực hiện trên các khối
con có độ dài tự nhiên cho phần mềm là 8, 16, 32 bit. Hoán vị bit là khó
thực hiện trong phần mềm nên tránh.
- Sử dụng các phép toán đơn giản: Các thao tác mã trên các khối con
nên chọn dễ dàng cho ứng dụng với các tập lệnh cơ sở của các bộ xử lý
chuẩn chẳng hạn như phép cộng, phép nhân, phép dịch ...
Nguyên lý thiết kế cho ứng dụng phần cứng
Sự tương tự trong phép mã hóa và phép giải mã: Quá trình mã hóa và giải mã
nên chỉ khác nhau ở cách sử dụng khóa mật sao cho cùng một thiết bị có thể
sử dụng được cho cả phép mã hóa và phép giải mã.
Rất nhiều thuật toán mã hóa khối có tính chất của mạng Feistel (như
hình 1.2), hay tổng quát hơn là hệ thống mạng thay thế - hoán vị (SPN). Các
thành phần sử dụng trong thuật toán là các hàm toán học, các hàm lô gíc (đặc
biệt là hàm XOR), hộp thế (S-box) và các phương pháp hoán vị.


xiv


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

Hình 1.1 Mô hình mã Feistel

Hình 1.2 Mô hình mã SPN
xv


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

1.5 Các thành phần của mã khối
Hàm vòng
Hầu hết các thuật toán mã hóa khối sử dụng lặp đi lặp lại các hàm đơn
giản f. Phương pháp này còn được gọi là mã khối lặp. Mỗi chu kỳ lặp được
gọi là một vòng. Đầu ra của mỗi vòng là hàm đầu ra của vòng trước đó và của
một khóa con được thiết kế từ khóa bí mật đầy đủ bởi một lược đồ tạo khóa.
Một mã khối khóa bí mật như thế với r-phép lặp được gọi là một mã lặp rvòng. Hàm f được gọi là hàm vòng. Thông thường các thuật toán có từ 4 tới
32 vòng. Ví dụ, DES là một mã lặp 16-vòng.

Y(0)=X

Y(1)


Y(2)

Y(r-1)

Y(r)

f

f

f

Z(1)

Z(2)

Z(r)

Lược đồ tạo khóa

Z
Hình 1.3. Một mã lặp r-vòng với hàm vòng f
Tầng biến đổi tuyến tính: Là các phép biến đổi tuyến tính, thường là phép
nhân ma trận, hoán vị,… Thực hiện nguyên lý “khuyếch tán”.
Tầng biến đổi phi tuyến (tầng thay thế): Là các phép biến đổi phi tuyến, là
“cốt lõi” an toàn của 1 hệ mật. Nhằm mục đích tạo tính “xáo trộn”, thường
được thực hiện bằng các hộp thế.
Lược đồ tạo khóa: Được dùng để tạo ra các khóa con (khóa vòng) từ khóa
chính (như hình trên) nhằm mục đích tạo quan hệ phức tạp giữa các khóa con

(không quá phức tạp), để có thể chống lại các tấn công khóa quan hệ (relatedkey attacks).

xvi


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

1.6 Một số chế độ hoạt động của mã khối
Như chúng ta đã biết, thuật toán mã khối được sử dụng để mã hóa các
khối thông điệp có độ dài xác định. Nhưng trong thực tế, thông điệp có thể có
độ dài bất kỳ. Chính vì thế, mã khối được xây dựng ở nhiều chế độ mã hóa
khác nhau để phù hợp với từng loại dữ liệu được bảo vệ, tức là phụ thuộc vào
từng ứng dụng cụ thể. Mỗi chế độ mã hóa có đặc tính khác nhau về lan truyền
lỗi (lỗi mã hóa trong khối này ảnh hưởng tới khối khác), khả năng truy xuất
ngẫu nhiên và khả năng chống lại các kiểu tấn công khác nhau. Hiện nay có
rất nhiều chế độ được đệ trình và đang tiếp tục được xem xét, đánh giá. Trong
phạm vi của đồ án này, chúng ta sẽ chỉ giới thiệu một số chế độ quen thuộc
được sử dụng phổ biến nhất.
1.6.1 Chế độ từ điển mã điện tử (ECB-Electronic Codebook)
ECB là chế độ mã hóa đơn giản nhất. Thông điệp cần mã hóa được chia
thành các khối và mỗi khối được mã hóa riêng biệt. Chế độ ECB được minh
hoạ trong Hình 1.4 và có dạng thuật toán sau:

xi
n
key

E-1


E

key

n
ci
(a) Mã hoá

x'i = xi
(b) Giải mã

Hình 1.4 Chế độ mã hóa ECB
*Thuật toán ECB
Đầu vào: k-bit khoá K, các khối rõ n-bit x1, x2, ..., xt.
Kết quả: tạo ra các khối mã c1, c2, ..., ct ; giải mã để tìm ra bản rõ.
+Mã hoá: với 1≤j≤t, cj ← EK(xj).
xvii


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

+Giải mã: với 1≤j≤t, xj ← EK-1 (cj).
*Tính chất của chế độ hoạt động ECB
- Các khối rõ như nhau (dưới cùng một khoá) sẽ cho các khối mã giống
nhau. Điều này đặc biệt thể hiện rõ với các dữ liệu lặp lại nhiều lần
chẳng hạn như các dữ liệu hình ảnh. Việc để lộ tính lặp lại của bản rõ
có thể dẫn tới các tấn công theo phương pháp phân tích thống kê.

- Sự phụ thuộc móc xích : Các khối được mã hoá một cách độc lập với
các khối khác. Việc sắp xếp lại thứ tự các khối mã cũng sẽ tương ứng
với việc phải xắp xếp lại các khối rõ.
- Tính lan sai: một hoặc nhiều bít bị sai trong một khối đơn lẻ chỉ ảnh
hưởng tới chính việc giải mã của khối đó.
- Tính xử lí dữ liệu song song: mã hóa tuần tự nhưng giải mã có thể song
song.
Chế độ ECB được sử dụng khi một khối đơn thông tin cần gửi đi
(chẳng hạn như một khóa phiên được mã hóa bằng cách dùng một khóa
chính), tức là nó chỉ có ích khi gửi một khối dữ liệu nhỏ.
1.6.2 Chế độ móc xích khối mã (CBC- Cipher-block Chaining)
Chế độ hoạt động CBC được phát minh bởi IBM vào năm 1976. Trong
chế độ CBC, bản rõ sẽ được chia thành các khối như trong chế độ ECB, tuy
nhiên, mỗi khối bản rõ sẽ được XOR với khối bản mã trước đó trước khi được
mã hóa. Bằng cách này, mỗi khối bản mã phụ thuộc vào mọi khối bản rõ xử
lý trước đó. Ngoài ra, để làm cho mỗi thông điệp là duy nhất, phải sử dụng
một véc tơ khởi tạo IV trong khối đầu tiên.

xviii


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn
ci

C0 = IV
ci-1

E-1


key

n

xi

ci-1
key

E
x’i = xi

n
ci
(a) Mã hoá

(b) Giải mã

Hình 1.5 Chế độ mã hóa CBC
Chế độ CBC được minh hoạ trong hình 1.5, trong đó bao gồm cả việc
sử dụng một véc tơ ban đầu n-bit (ký hiệu là IV) và có dạng thuật toán sau.
*Thuật toán CBC
Đầu vào: k-bit khoá K, véc tơ ban đầu n-bit IV, các khối rõ n-bit x1, x2, ..., xt.
Kết quả: tạo ra các khối mã c1, c2, ..., ct ; giải mã để tìm ra bản rõ.
+Mã hoá: c0 ← IV. Với 1≤j≤t, cj ← EK(cj-1 ⊕ xj).
+Giải mã: c0 ← IV. Với 1≤j≤t, xj ← cj-1 ⊕ EK-1 (cj).
*Tính chất của chế độ hoạt động CBC
- Các bản rõ giống nhau: kết quả các khối mã sẽ như nhau khi cùng bản
rõ được mã hoá dưới cùng một khoá và IV. Thay đổi IV, khoá hoặc

khối rõ đầu tiên thì bản mã kết quả sẽ khác nhau.
- Sự phụ thuộc móc xích: cơ chế móc xích làm cho bản mã c j phụ thuộc
vào xj và toàn bộ các khối rõ trước đó. Hệ quả là việc sắp xếp lại các
khối mã sẽ là ảnh hưởng đến việc giải mã. Việc giải mã đúng một khối
mã đòi hỏi phải giải mã đúng khối trước đó.
xix


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

- Tính lan truyền lỗi: sai một bít trong khối mã c j sẽ ảnh hưởng việc giải
mã các khối cj và cj+1 (từ chỗ xj phụ thuộc vào cj và cj-1). Khối xj’ được
giải từ cj sẽ sai ngẫu nhiên khoảng 50%, trong khi bản rõ x’ j +1 có các
bít sai như chỗ cj sai. Do đó thám mã đối phương có thể dự đoán sự
thay đổi bit trong xj+1 bằng cách thay đổi các bit tương ứng của cj.
- Khắc phục sai: chế độ CBC là kiểu tự đồng bộ theo nghĩa nếu một sai
số (bao gồm cả việc mất một hoặc nhiều hơn các khối đầu vào) xuất
hiện trong khối cj nhưng không có ở trong cj+1, cj+ 2 thì sẽ được giải mã
chính xác tới khối xj+2.
Chế độ CBC phù hợp với các yêu cầu cần gửi các lượng lớn dữ liệu một
cách an toàn (chẳng hạn như FTP, WEB, EMAIL). Trong chế độ này, IV phải
được sinh ngẫu nhiên tại thời điểm thực hiện phép mã. Khó khăn nhất trong
sử dụng CBC chính là quản lý các giá trị IV, thường thì cả bên gửi và bên
nhận đều biết, hoặc sẽ được thay đổi bằng các giá trị mới ở bên gửi và gửi cho
bên nhận trước khi mã hóa dữ liệu. IV nên được gửi đi sau khi đã mã hóa
bằng ECB.
1.6.3 Chế độ phản hồi mã (CFB- Cipher feedback)
Trong khi chế độ CBC xử lý cả n-bit rõ một lúc (sử dụng một mã khối

n-bit), thì một vài ứng dụng đòi hỏi các đơn vị r-bit rõ là được mã và truyền đi
không được trễ, với r cố định thoả mãn r < n (thường r =1, hoặc r = 8). Trong
trường hợp đó, chế độ phản hồi mã CFB có thể được sử dụng, nó được minh
hoạ trong Hình 1.6 và có dạng thuật toán sau.
*Thuật toán CFB-r
Đầu vào: k-bit khoá K, véc tơ ban đầu n-bit IV, các khối rõ n-bit x 1, x2, ..., xu
(1≤r≤n).
Kết quả: tạo ra các khối mã r-bit c1, c2, ..., cu ; giải mã để tìm ra bản rõ.
+Mã hoá: I1 ← IV. (Ij là giá trị đầu vào của một thanh ghi dịch). Với 1≤j≤u:
(a) Oj ← EK(Ij) (tính toán đầu ra của mã khối)
(b) tj ← r –bit bên trái nhất của Oj
(c) cj ← xj ⊕ tj. (truyền khối mã r-bit cj)
xx


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

(d) Ij+1 ← 2r.Ij + cj mod 2n. (Dịch cj sang phía cuối bên phải của thanh
ghi dịch)
+Giải mã: I1 ← IV. Với 1≤j≤u, sử dụng cj nhận được:
xj ← cj ⊕ tj, ở đây tj, Oj và Ij được tính ở trên.
dịch r-bit

dịch r-bit
I1 = IV

cj-1


Ij

Ij

n
Key

E

Key

E

r
n

r-bit bên
trái nhất

Oj

Oj

j

j

r
xj


r

cj

x’j=xj
(b) Giải mã

(a) Mã hoá

Hình 1.6 Chế độ mã hóa CFB
*Tính chất của chế độ hoạt động CFB
- Các bản rõ giống nhau: cũng giống như chế độ CBC, sự thay đổi IV
làm cho cùng một bản rõ đầu vào như nhau sẽ được mã hoá thành các
bản mã khác nhau. Véc tơ IV không cần phải giữ bí mật (mặc dù trong
ứng dụng thì cũng nên dùng IV khó đoán được để an toàn).
- Sự phụ thuộc móc xích: tương tự như chế độ CBC, cơ chế móc xích
làm cho khối mã cj phụ thuộc vào cả xj và các khối rõ trước đó, hệ quả
là việc thay đổi thứ tự của các khối mã sẽ ảnh hưởng tới việc giải mã.

xxi


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

Việc giải mã chính xác một khối mã đòi hỏi n/k khối mã trước đó
phải chính xác (để cho thanh ghi dịch chứa đủ các giá trị đúng).
- Tính lan sai: một hoặc nhiều hơn bít sai trong một khối mã đơn lẻ r-bit
cj sẽ ảnh hưởng việc giải mã ngay tại đó và ảnh hưởng tới việc giải mã

n/k khối tiếp theo. Thám mã đối phương cũng có thể dự đoán sự thay
đổi bit trong xj bằng cách thay đổi các bit tương ứng của cj.
- Khắc phục sai: chế độ CFB là tự đồng bộ tương tự như CBC, nhưng đòi
hỏi n/k khối mã để khắc phục.
- Tốc độ mã hoá: với rCBC) theo nghĩa mỗi một lần thực hiện E chỉ cho ra r-bit bản mã.
- Tính xử lí dữ liệu song song: mã hóa tuần tự, nhưng giải mã có thể
song song.
Lưu ý: trong chế độ CFB cả phép mã hoá và giải mã đều cùng sử dụng hàm
E. Do đó, chế độ CFB không nên dùng nếu như thuật toán là dùng công khai.
1.6.4 Chế độ hoạt động Counter (CTR)
Chế độ Counter chuyển một thuật toán mã khối thành một mã dòng. Nó
tạo ra khối dòng khóa kế tiếp bằng cách mã hóa các giá trị kế tiếp của bộ đếm
Counter. Bộ đếm counter có thể có chức năng tạo ra dãy tuần tự để đảm bảo
không có sự lặp lại trong khoảng thời gian dài, thực tế nó là một một bộ đếm
đơn giản và phổ biến nhất. Việc sử dụng chức năng đầu vào định trước đơn
giản như vậy đã gây nhiều tranh cãi, người ta cho rằng việc cố ý bộc lộ một
hệ mã có đầu vào hệ thống biết trước sẽ mang lại sự rủi ro không mong muốn.
Nhưng hiện nay, chế độ CTR được chấp nhận rộng rãi, và các vấn đề về chức
năng đầu vào được chấp nhận như là một điểm yếu của thuật toán mã khối
chứ không phải ở chế độ CTR. Tuy nhiên, vẫn có những tấn công đặc biệt
như tấn công lỗi phần cứng (Hardware Fault Attack) khi sử dụng các hàm
đếm counter đơn giản cho đầu vào.
Lưu ý rằng giá trị Nonce trong hình dưới đây là tương tự như véc tơ
khởi tạo (IV). Nonce và bộ đếm counter có thể được ghép, cộng, hoặc XOR
với lại với nhau để tạo ra khối counter duy nhất cho phép mã.
xxii


Đồ án tốt nghiệp


Nghiên cứu một số chế độ sử dụng mã khối an toàn

Hình 1.7 Mã hóa trong chế độ CTR

Hình 1.8 Giải mã trong chế độ CTR
∗ Thuật toán
- Mã hóa CTR: Đầu vào: Ctr1, các khối rõ x1, x2,…, xu
Đầu ra: Ctr1, C1, C2,…, Cu

Ci = xi ⊕ EK (Ctri )

i =1,2,...,u

- Giải mã CTR: Đầu vào: Ctr1, C1, C2,…, Cu
Đầu ra: x1, x2,…, xu

xi = Ci ⊕ EK (Ctri )

i =1,2,...,u
xxiii


Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

Vì không có phản hồi nên các chế độ mã hóa và giải mã CTR có thể
được thực hiện song song, nó cũng cho phép tính truy nhập ngẫu nhiên trong
khi giải mã. Như vậy, chế độ CTR là rất thích hợp để hoạt động trên một máy

nhiều vi xử lý, khi đó các khối có thể được mã hoá song song.
1.6.5 Chế độ phản hồi đầu ra (OFB-Output feedback)
Chế độ OFB có thể sử dụng trong các ứng dụng khi tất cả các lan sai
phải được loại bỏ. Tương tự như với CFB có thể cho phép mã hoá với các
kích cỡ khối thay đổi, nhưng khác ở chỗ đầu ra của hàm mã hoá E phục vụ
như là một bộ phận phản hồi. Chế độ OFB biến một thuật toán mật mã khối
thành một thuật toán mật mã dòng đồng bộ: nó tạo ra các khối dòng khóa, mà
sau đó được XOR với các khối bản rõ để có được bản mã.
Ưu điểm lớn nhất của OFB là tránh được các lỗi truyền dẫn. Tuy nhiên,
nó cũng có nhược điểm là dễ bị trượt bit và yêu cầu một thủ tục đồng bộ hóa
phức tạp hơn. Chế độ này sẽ được nghiên cứu sâu hơn trong phần 2 của đồ án
này.
1.6.6 Chế độ kết hợp bảo mật và xác thực CCM
Chế độ CCM là kết quả của một nghiên cứu trong những năm gần đây
về sự phát triển của các chế độ mã khối mà cung cấp đồng thời cả tính bảo
mật và xác thực. Trong chuẩn SP800-38C, NIST khuyến nghị chế độ này sử
dụng cho các thuật toán mã khối mà tạo ra các phân bố ngẫu nhiên đều hoặc
gần ngẫu nhiên đều với mỗi khóa khác nhau. Hơn nữa vấn đề thiết lập khóa
cho các bên cũng phải được chứng nhận là an toàn, bí mật. Số các lần gọi mã
khối trong một chu kỳ của khóa là không quá 261. Chế độ này được thiết kế
ngầm định cho các mã khối 128-bit. Một mô tả cụ thể về chế độ CCM sẽ
được đưa ra trong phần 3.
Dưới đây là một ví dụ nổi bật về mức độ mã hóa che giấu dữ liệu được
so sánh giữa chế độ ECB với các chế độ hoạt động khác của mã khối . Hình
ảnh ngoài cùng bên trái là hình ảnh cần được mã hóa, hình ở giữa là kết quả
thu được khi thực hiện mã hóa sử dụng chế độ ECB. Hình ảnh bên phải là
hình bản mã thu được khi thực hiện mã hóa sử dụng một trong các chế độ còn
lại (chế độ CBC, CTR, OFB…).
xxiv



Đồ án tốt nghiệp

Nghiên cứu một số chế độ sử dụng mã khối an toàn

Hình 1.9 Ví dụ so sánh chế độ mã ECB với các chế độ khác

xxv


×