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

NGHIÊN CỨU MỘT VÀI KHÍA CẠNH VỀ ĐỘ AN TOÀN CỦA AES

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 (1.58 MB, 24 trang )


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG




LƯU THỊ THÚY LINH




NGHIÊN CỨU MỘT VÀI KHÍA CẠNH VỀ ĐỘ AN TOÀN
CỦA AES



CHUYÊN NGÀNH: KỸ THUẬT VIỄN THÔNG
Mã số: 60.52.02.08



TÓM TẮT LUẬN VĂN THẠC SĨ



HÀ NỘI - NĂM 2013


Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


Người hướng dẫn khoa học: GS-TS. NGUYỄN BÌNH

Phản biện 1:…………………………………………….

Phản biện 2:…………………………………………….


Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn thạc sĩ tại
Học viện Công nghệ Bưu chính Viễn thông
Vào lúc:….giờ… ngày….tháng….năm…


Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

1

LỜI MỞ ĐẦU
1. Lý do chọn đề tài
Vào năm 1997, Viện tiêu chuẩn và công nghệ quốc gia (NIST) của Mỹ đã phát
động cuộc thi nhằm xây dựng một chuẩn mã dữ liệu mới thay thế cho chuẩn mã dữ
liệu cũ DES được đưa ra từ năm 1997. Qua quá trình tuyển chọn vào tháng 10 năm
2000, NIST đã công bố chuẩn mã dữ liệu mới được lựa chọn là thuật toán "Rijndael",
được thiết kế bởi 2 nhà mật mã học người Bỉ là Joan Daemen và Vincent Rijmen.
Thuật toán được đặt tên là "Rijndael" khi tham gia cuộc thi thiết kế AES.
Khác với với DES sử dụng mạng Feistel, Rijndael sử dụng mạng thay thế-hoán
vị. AES có thể dễ dàng thực hiện với tốc độ cao bằng phần mềm hoặc phần cứng và
không đòi hỏi nhiều bộ nhớ. Việc chấp nhận Rijndael như là AES là một cột mốc lớn
trong lịch sử mật mã. Rijndael đã nhanh chóng trở thành hệ mật được sử dụng rộng rãi
nhất trên thế giới.

Với tầm quan trọng của AES, việc tìm hiểu và đánh giá độ an toàn của AES
trước các tấn công mật mã là rất cần thiết. Hiện nay, vẫn còn ít nghiên cứu về vấn đề
này. Chính vì vậy em chọn đề tài “Nghiên cứu một vài khía cạnh về độ an toàn của
AES” để nghiên cứu làm luận văn tốt nghiệp của mình.
2. Mục đích nghiên cứu
 Tìm hiểu chung về thuật toán, cấu trúc AES
 Tìm hiểu về thám mã, một số loại thám mã
 Xem xét độ an toàn của an toàn của AES với thám mã lượng sai - một trong
hai tấn công mật mã mạnh nhất cho đến nay đối với mã khối nói chung
3. Đối tƣợng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Mã khối AES.
Phạm vi nghiên cứu: Độ an toàn của AES với thám mã lượng sai.
4. Phƣơng pháp nghiên cứu
 Khảo sát các nghiên cứu, tài liệu liên quan để thu thập thông tin về cơ sở lý
thuyết từ nhiều nguồn (tài liệu, sách giáo trình, Internet…)
2

 Tổng hợp các kết quả nghiên cứu để lựa chọn cách tiếp cận phù hợp với nội
dung nghiên cứu
5. Kết cấu của luận văn
Ngoài phần mở đầu, kết luận và danh mục tài liệu tham khảo, luận văn được
kết cấu gồm 3 chương:
Chƣơng I: Trong chương này em giới thiệu chung về mật mã, một số loại mã ,
độ an toàn của mã
Chƣơng II: Chương này em nghiên cứu về chuẩn mã AES. Giới thiệu về
chuẩn mã AES, cơ sở toán học, quy trình mã hóa và giải mã AES.
Chƣơng III: Trong chương này em đã nghiên cứu độ an toàn của AES chống
lại thám mã lượng sai – một trong những tấn công mật mã mạnh nhất cho tới nay đối
với mã khối nói chung. Tập hợp kết quả nghiên cứu về phương pháp để xác định chặt
các xác suất lượng sai cực đại MEDP của các cấu trúc SPN nói chung và AES nói

riêng nhằm mục tiêu xem xét độ an toàn của chúng trước thám mã lượng sai. Gồm
các kết quả nghiên cứu của các tác giả: J.Daemen và V.Rijment; nhóm S.Park,
S.H.Sung, S.Lee và J.Lim; Keliher














3

CHƢƠNG I:
TỔNG QUÁT CÁC LOẠI MÃ VÀ ĐỘ AN TOÀN CỦA MÃ
1.1 Tổng quát về mật mã
Khái niệm Mật mã (Cryptology): là ngành khoa học của các phương pháp
truyền tin bảo mật. Việc dùng mật mã sẽ bảo đảm tính bảo mật của thông tin truyền
trên mạng, cũng như bảo vệ tính toàn vẹn, tính xác thực của thông tin lưu trữ. Mật
mã bao gồm: mã hóa và giải mã
Sơ đồ khối một hệ truyền tin mật:










Hệ mật mã gồm
 Hệ mật mã đối xứng (Mật mã cổ điển: hệ sử dụng chung một khóa bí mật
K cho cả quá trình mã hóa (Encryption) và giải mã (Decryption). Một số
đại diện: hệ mật thay thê, hệ mật hoán vị, DES, AES…
 Hệ mật mã bất đối xứng (Hệ mật mã công khai): Mật mã bất đối xứng sử
dụng khóa để mã hóa là K
E
và khóa để giải mã K
D
là khác nhau. Các khóa
này tạo thành một cặp chuyển đổi ngược nhau và không có khóa nào có
thể suy ra từ khóa kia. Một số đại diện: RSA, DSA…

1.2 Một số loại mật mã
Đề tài luận văn : “Nghiên cứu một vài khía cạnh về độ an toàn của AES” nên ta
sẽ tìm hiểu một số loại mật mã trong hệ mật cổ điển


Nguồn khóa
Bản mã
Kênh an toàn
Bộ giải

Nhận tin

Bản rõ
Bản mã
Nguồn
tin
Bộ mã
hóa
Kênh mở
(Không an toàn)
Thám mã
Bản rõ
4

1.2.1 Mật mã thay thế
1.2.2 Mật mã hoán vị
1.2.3 Chuẩn mã dữ liệu (DES – Data Encryption Standard)
1.3 Độ an toàn của mã – Các loại thám mã
1.3.1 Độ an toàn của mã
Trong hệ mật cổ điển hệ mật hoán vị, thay thế không đảm bảo độ an toàn cần
thiết. Chính vì vậy ta phải xây dựng hệ mật tích là phương pháp kết hợp các phương
pháp hoán vị, thay thế mà điển hình là chuẩn mã dữ liệu DES (DES – Data
Encryption Standard) của Mỹ.
Hiện nay DES được xem là không đủ an toàn cho nhiều ứng dụng. Nguyên
nhân chủ yếu là độ dài 56 bit của khóa là quá nhỏ. Gần đây DES đã được thay thế
bằng hệ mật sáng giá là AES (Advanced Encryption Standard, hay Tiêu chuẩn Mã
hóa Tiên tiến.
Nhìn chung một hệ mật an toàn phải thỏa mãn hai điều kiện. Thứ nhất: Độ dài
khóa đủ lớn (tối thiểu 128 bit) để chí ít có thể chống lại kiểu tấn công cơ bản và đơn
giản nhất là tấn công tổng lực – tìm khóa vét cạn. Thứ hai: Phải đảm bảo an toàn
trước mọi tấn công. Với 2 tiêu chí đó, AES được chọn để thay thế cho DES.
Các tấn công có rất nhiều loại như: tấn công tổng lực - tìm khóa vét cạn, tấn

công dựa trên thông tin bản rõ, bản mã… Với từng hệ mật tấn công này có ưu thế còn
với những hệ mật khác có thể các tấn công khác có ưu thế (phụ thuộc vào đặc điểm
của từng hệ mật). Trong luận văn này, ta xem xét độ an toàn của AES chống lại các
tấn công lượng sai.
1.3.2 Thám mã và thám mã lượng sai
Khái niệm: Thám mã là công việc phân tích bản tin mã hóa để nhận được bản
tin rõ trong điều kiện không biết trước khóa mã.
Có 3 phương pháp tấn công cơ bản của thám mã: Tìm khóa vét cạn; Phân tích
thống kê; Phân tích toán học
Việc tấn công của thám mã có thể được thực hiện với các giả định: Tấn công
chỉ vớibản mã; Tấn công với bản rõ đã biết; Tấn công với các bản rõ được chọn; Tấn
công với các bản mã được chọn
5

Tìm hiểu thám mã lượng sai differential cryptanalysis – DC đối với mật mã
khối (chẳng hạn DES). Ví dụ với thám mã vi sai 1 vòng DES.

1.4 Kết luận chƣơng I
Trong chương này ta đã giới thiệu chung về mật mã, một số loại mã như hệ mã
hoán vị, thay thế ; độ an toàn của mã và thám mã.
Nhìn chung một hệ mật an toàn phải thỏa mãn hai điều kiện. Thứ nhất: Độ dài
khóa đủ lớn (tối thiểu 128 bit) để chí ít có thể chống lại kiểu tấn công cơ bản và đơn
giản nhất là tấn công tổng lực – tìm khóa vét cạn. Thứ hai: Phải đảm bảo an toàn
trước mọi tấn công. Với 2 tiêu chí đó, AES được chọn để thay thế cho DES.
Các tấn công có rất nhiều loạinhư: tấn công tổng lực - tìm khóa vét cạn, tấn
công dựa trên thông tin bản rõ, bản mã… Với từng hệ mật tấn công này có ưu thế còn
với những hệ mật khác có thể các tấn công khác có ưu thế (phụ thuộc vào đặc điểm
của từng hệ mật).
6


CHƢƠNG II: CHUẨN MÃ DỮ LIỆU TIÊN TIẾN AES
2.1 Giới thiệu về chuẩn mã dữ liệu tiên tiến AES
Chuẩn mã hóa dữ liệu tiên tiến AES (Advanced Encryption Standard) là một
hệ mã khóa bí mật có tên là Rijdael (do hai nhà mật mã học người Bỉ là Joan Daemen
và Vincent Rijmen đưa ra và trở thành chuẩn từ năm 2002) cho phép xử lý các khối
dữ liệu input có kích thước 128 bit sử dụng các khóa có độ dài 128, 192 hoặc 256 bit.
Hệ mã Rijdael được thiết kế để có thể làm việc với các khóa và các khối dữ liệu có độ
dài lớn hơn tuy nhiên khi được chọn là một chuẩn do Ủy ban tiêu chuẩn của Hoa Kỳ
đưa ra năm 2001, nó được qui định chỉ làm việc với các khối dữ liệu 128 bit và các
khóa có độ dài 128, 192 hoặc 256 bit (do đó còn đặt cho các tên AES-128, AES-192,
AES-256 tương ứng với độ dài khóa sử dụng).
Cơ sở toán học của AES
Trong AES các phép toán cộng và nhân được thực hiện trên các byte trong
trường hữu hạn
 
8
GF 2
.
Phép cộng
Phép nhân
2.2 Quy trình mã hóa AES
Quy trình mã hóa sử dụng bốn phép biến đổi chính:
1. AddRoundKey: cộng

mã khóa của chu kỳ vào trạng thái hiện hành.
Độ dài của mã khóa của chu kỳ bằng với kích thước của trạng thái.
2. SubBytes: thay thế phi tuyến mỗi byte trong trạng thái hiện hành thông
qua bảng thay thế (S-box).
3. MixColumns: trộn thông tin của từng cột trong trạng thái hiện hành.
Mỗi cột được xử lý độc lập.

4. ShiftRows : dịch chuyển xoay vòng từng dòng của trạng thái hiện hành
với di số khác nhau.
Quy trình mã hóa được tóm tắt lại như sau:
1. Thực hiện thao tác AddRoundKey đầu tiên trước khi thực hiện các chu
kỳ mã hóa.
7

2. N
r
– 1 chu kỳ mã hóa bình thường, mỗi chu kỳ bao gồm bốn bước biến
đổi liên tiếp nhau: SubBytes, ShiftRows, MixColumns, và AddRoundKey.
3. Thực hiện chu kỳ mã hóa cuối cùng: trong chu kỳ này thao tác
MixColumns được bỏ qua.

Quy trình mã hóa và giải mã AES
2.2.1 Phép biến đổi SubBytes
Các byte được thế thông qua bảng tra S-box. Đây chính là quá trình phi tuyến của
thuật toán. Hộp S-box này được tạo ra từ một phép biến đổi khả nghịch trong trường
hữu hạn GF (28) có tính chất phi tuyến. Để chống lại các tấn công dựa trên các đặc
tính đại số, hộp S-box này được tạo nên bằng cách kết hợp phép nghịch đảo với một
phép biến đổi affine khả nghịch. Hộp S-box này cũng được chọn để tránh các điểm
bất động (fixed point).
8


Thao tác SubBytes tác động trên từng byte của trạng thái
2.1.2 Phép biến đổi ShiftRows
Các hàng được dịch vòng một số bước nhất định. Đối với AES, hàng đầu được giữ
nguyên. Mỗi byte của hàng thứ 2 được dịch vòng trái một vị trí. Tương tự, các hàng
thứ 3 và 4 được dịch vòng 2 và 3 vị trí. Do vậy, mỗi cột khối đầu ra của bước này sẽ

bao gồm các byte ở đủ 4 cột khối đầu vào. Đối với Rijndael với độ dài khối khác
nhau thì số vị trí dịch chuyển cũng khác nhau

Thao tác ShiftRows tác động trên từng dòng của trạng thái
2.2.3 Phép biến đổi MixColumns
Bốn byte trong từng cột được kết hợp lại theo một phép biến đổi tuyến tính khả
nghịch. Mỗi khối 4 byte đầu vào sẽ cho một khối 4 byte ở đầu ra với tính chất là
mỗi byte ở đầu vào đều ảnh hưởng tới cả 4 byte đầu ra. Cùng với bước
ShiftRows, MixColumns đã tạo ra tính chất khuyếch tán cho thuật toán. Mỗi cột
được xem như một đa thức trong trường hữu hạn và được nhân với đa thức
(modulo ). Vì thế, bước này có thể được xem là
phép nhân ma trận trong trường hữu hạn.
9


Thao tác MixColumns tác động lên mỗi cột của trạng thái

2.4.4 Thao tác AddRoundKey
Tại bước này, khóa con được kết hợp với các khối. Khóa con trong mỗi chu trình
được tạo ra từ khóa chính với quá trình tạo khóa con Rijndael; mỗi khóa con có độ
dài giống như các khối. Quá trình kết hợp được thực hiện bằng cách XOR từng bít
của khóa con với khối dữ liệu.

Thao tác AddRoundKey tác động lên mỗi cột của trạng thái
2.4.5 Thuật toán sinh khóa (KeyExpansion)
Là quá trình tạo các vòng khóa từ khóa chính, mỗi khóa con chứa 4 byte.
2.3 Quy trình giải mã
Quy trình giải mã được thực hiện qua các giai đoạn sau:
1. Thực hiện thao tác AddRoundKey đầu tiên trước khi thực hiện các chu kỳ giải mã
2. N

r
− 1 chu kỳ giải mã bình thường: mỗi chu kỳ bao gồm bốn biến đổi liên tiếp
nhau: InvShiftRows, InvSubBtes, AddRoundKey, InvMixColumns.
10

3. Thực hiện chu kỳ giải mã cuối cùng. Trong chu kỳ này, thao tác
InvMixColumns được bỏ qua.
Đoạn mã cho thuật toán giải mã như sau:
InvCipher(byte in[4*N
b
], byte out[4*N
b
], word w[N
b
*(N
r
+1)])
begin
byte state[4,N
b
]
state = in
AddRoundKey(state, w[N
r
*N
b
, (N
r
+1)*N
b

-1])
for round = N
r
-1 step -1 down to 1
InvShiftRows(state)
InvSubBytes(state)
AddRoundKey(state, w[round*N
b
, (round+1)*N
b
-1])
InvMixColumns(state)
end for
InvShiftRows(state)
InvSubBytes(state)
AddRoundKey(state, w[0, N
b
-1])
out = state
end
2.3.1 Phép biến đổi InvShifRows
InvShiftRows chính là phép biến đổi ngược của phép biến đổi ShiftRows
2.3.2. Phép biến đổi InvSuBytes
Phép biến đổi ngược của thao tác SubBytes, ký hiệu là InvSubBytes
2.3.3. Phép biến đổi InvMixColumns
InvMixColumns là biến đổi ngược của phép biến đổi MixColumns\
2.3.4. Thuật toán giải mã tương đương
Trong thuật toán giải mã được trình bày ở trên chúng ta thấy thự tự của các
hàm biến đổi được áp dụng khác so với thuật toán mã hóa trong khi dạng của danh
sách khóa cho cả 2 thuật toán vẫn giữ nguyên. Tuy vậy một số đặc điểm của AES cho

phép chúng ta có một thuật toán giải mã tương đương có thự tự áp dụng các hàm biến
11

đổi giống với thuật toán mã hóa (tất nhiên là thay thế các biến đổi bằng các hàm
ngược của chúng). Điều này đạt được bằng cách thay đổi danh sách khóa. Hai thuộc
tính sau cho chúng ta một thuật toán giải mã tương đương:
1 Các hàm SuBytes() và ShitRows() hoán đổi cho nhau: có nghĩa là một phép
biến đổi SubByte theo sau bởi điến đổi ShiftRows() tương đương với một biến đổi
ShiftRows() theo sau bởi một biến đổi SubByte(). Điều này cũng đúng với các hàm
ngược của chúng.
2 Các hàm trộn cột InvMixColumns và MixColumns() là các hàm tuyến tính
đối với các cột input có nghĩa là: InvMixcolumns (state XOR Round Key) =
InvMixColumns (state) XOR InvMixColumns (Round Key).
2.4 Phạm vi, ý nghĩa và ứng dụng của AES
2.4.1 Phạm vi và ý nghĩa của AES
Phạm vi chính thức của một chuẩn FIPS là tương đối hạn chế: FIPS chỉ áp dụng
cho hành chính liên bang. Hơn thế nữa, AES mới chỉ được sử dụng cho các tài liệu chứa
thông tin nhạy cảm nhưng không mật. AES từ khi được chấp nhận đã được sử dụng như
một chuẩn mật mã ngầm định trên toàn thếgiới. Việc chấp nhận Rijndael như một chuẩn
chính phủ đã đem đến cho nó một bố sự chứng thực về chất lượng
Các nhân tố chính làm cho sự chấp nhận nhanh chóng đối với Rijndael là sự
kiện nó không có bản quyền, nó có thể được cài đặt một cách dễ dàng
2.4.2 Ưu, nhược điểm của AES
Ưu điểm
 AES đã được chính phủ Hoa kỳ tuyến bố là có độ an toàn cao, và đã được sử
dụng thông tin mật;
 AES có mô tả toán học đơn giản
 Cấu trúc rõ ràng đơn giản.
Nhược điểm
 AES không đủ an toàn đối vớidạng tấn (side channel attack]).

 Cấu trúc toán họccủa AES có mô tả toán học khá đơn giản. Tuy điều này
chưa dẫn đến mối nguy hiểm nào nhưng một số nhà nghiên cứu sợ rằng sẽ có người
lợi dụng được cấu trúc này trong tương lai.
12

2.4.3 Ứng dụng của AES
 Hiện nay, AES được sử dụng phổ biến trên toàn thế giới để bảo vệ dữ liệu ở
các tổ chức ngân hàng, tài chính, chính phủ, thương mại điện tử, chữ ký điện tử;…
 Mã hóa AES được ứng dụng nhanh đối với cả phần cứng và phần mềm, và
chỉ yêu cầu một không gian lưu trữ nhỏ, lý tưởng để sử dụng cho việc mã hóa những
thiết bị cầm tay nhỏ như ổ USB flash, ổ đĩa CD;…
 Sử dụng như một hàm băm
 Xây dựng các hàm băm. Hàm băm Whilrpool là một ví dụ điển hình.
2.5 Kết luận chƣơng II
AES (viết tắt của từ tiếng Anh: Advanced Encryption Standard, hay Tiêu
chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối được chính phủ Hoa kỳ áp
dụng làm tiêu chuẩn mã hóa thay thế tiêu chuẩn tiền nhiệm DES.
AES là mã khối dạng SPN với mỗi hàm vòng gồm các phép biến đổi: SubByte,
ShiftRows, MixColumn, AddRoundKey
13

CHƢƠNG III: ĐỘ AN TOÀN CỦA AES VỚI THÁM MÃ
LƢỢNG SAI
3.1 Giới thiệu
Thám mã lượng sai là một trong những tấn công mật mã mạnh nhất cho đến
nay đối với mã khối nói chung. Ở dạng cơ bản, tấn công này lấy thông tin khóa từ
việc phân tích thống kê vòng cuối cùng từ một lượng đủ lớn các cặp bản rõ/bản mã.
Thông tin khóa thu được sẽ giúp người thám mã tìm nhiều bít khóa hơn cho đến khi
không gian khóa còn đủ nhỏ để tìm kiếm vét cạn khóa (khôi phục toàn bộ khóa).
Thám mã lượng sai là tấn công bản rõ lựa chọn trong đó các bản rõ được áp dụng

theo các cặp với một sự sai khác cố định. Thám mã lượng sai khai thác xác suất lan
truyền cao giữa các mẫu sai khác trong bản rõ và các mẫu sai khác ở đầu ra của vòng
cuối cùng. Cho đến nay, nhiều kỹ thuật thám mã tinh vi hơn dựa trên phương pháp
này đã được nghiên cứu và công bố nhằm đưa các tấn công cơ bản này trở thành hiệu
quả hơn.
Cấu trúc SPN là một trong những cấu trúc được sử dụng chung nhất trong các
mã khối. Cấu trúc SPN được dựa trên các nguyên tắc của Shannon về tính hỗn độn
(confusion) và khuyếch tán (diffusion) và các nguyên tắc này được thực hiện thong
qua việc sử dụng các phép thế và biến đổi tuyến tính. AES, Crypton, và Square là các
mã khối được tạo nên từ các cấu trúc SPN.
Độ an toàn của cấu trúc SPN chống lại thám mã lượng sai phụ thuộc vào xác
suất lượng sai cực đại ( . Cả người thiết kế lẫn người tấn công đều muốn biết
giá trị trên; người thiết kế muốn chứng minh rằng giá trị này là đủ nhỏ, đồng nghĩa
với độ phức tạp dữ liệu đủ lớn) để chống lại tấn công lượng sai; cnf kẻ tấn công luôn
muốn điều ngược lại, đó là các giá trị này đủ lớn để có thể tấn công. Đối với người
thiết kế, việc đánh giá được các giá trị trên còn giúp cho việc quyết định số vòng cho
mã khối đủ lớn (không lớn quá để tránh ảnh hưởng tới hiệu suất).
Trong luận văn này, chúng ta tổng hợp và trình bày các kết quả nghiên cứu về
các phương pháp để xác định chặt các cận xác suất lượng sai cực đại của các cấu trúc
SPN nói chung và AES nói riêng, nhằm mục tiêu đánh giá độ an toàn của chúng
trước thám mã lượng sai.
14

3.2 Các khái niệm cơ sở
3.2.1 Cấu trúc SPN và mã khối AES












2 vòng của cấu trúc SPN
AES là mã khối dạng SPN với mỗi hàm vòng gồm các phép biến đổi sau:
 SubByte: Thay thế từng byte dữ liệu bằng 1 byte khác.
 ShiftRows và MixColumn: là phép biến đổi tuyến tính, lần lượt là dịch
chuyển vị trí các byte trong hàng và phép trộn cột.
 AddRoudKey: là phép cộng khóa vòng
3.2.2 Các khái niệm cơ bản có liên quan
Phần này, ta trình bày các khái niệm cơ sở liên quan tới thám mã lượng sai của các
SPN. Ta sử dụng N để ký hiệu kích thước khối, n để ký hiệu kích cỡ đầu vào/đầu ra của S-
hộp, và M ký hiệu số các S-hộp cho mỗi vòng (Vì vậy M = N/n). Ta giả sử rằng cùng
phép biến đổi tuyến tính và dãy các S-hộp được dùng cho mỗi vòng (Các S-hộp trong một
vòng có thể giống hoặc khác nhau). Ta dễ dàng tổng quát hóa cho trường hợp mà trong đó
phép biến đổi tuyến tính và các S-hộp là khác nhau trong mỗi vòng.
a. Xác suất lượng sai
Định nghĩa 3.1 Giả sử , và gọi là cố
định. Nếu là một biến ngẫu nhiên phân bố đều thì xác suất vi sai
được định nghĩa là:






Phép biến đổi tuyến tính

………
…….
………
…….
Khóa vòng
Khóa vòng
15


Nếu B được tham số hóa bởi một khóa k, ta viết DP (a,b;k) và xác suất vi sai
trung bình được định nghĩa là:

Trong đó E[] là kì vọng và k là một biến ngẫu nhiên phân bố đều trên không
gian khóa.
Tuy nhiên ta không thể tính toán trước giá trị này vì:
 Một là, với mọi giá trị sai khác đầu vào/đầu ra (đối với thám mã lượng sai, ta
phải mã hóa tất cả bản mã/bản rõ có thể
 Hai là các giá trị này còn phụ thuộc vào khóa chưa biết. Do đó người ta sử
dụng khái niệm giá trị trung bình EDP, và giả thiết rằng với hầu hết các giá trị của
khóa k thì:

Định nghĩa 3.2: Xác suất lượng sai cực đại p của S được định nghĩa bởi:

Xác suất lượng sai cực đại p cho S là một S-hộp mạnh cần phải đủ nhỏ đối với sai
khác đầu vào bất kỳ

Thực thể A tạo một chữ ký s vào ánh xạ M và được xác nhận bởi thực thể B.
b. Đặc trưng lượng sai
Để tính toán các giá trị EDP, cac nhà nghiên cứu phải sử dụng khái niệm đặc
trưng lượng sai

Định nghĩa 3.3: Một đặc trưng lượng sai cho các vòng 1…T là một (T+1)-bộ
sai khác N-bit ; Ta coi và tương ứng là
các sai khác đầu vào và đầu ra của vòng t
Định nghĩa 3.4: Gọi là một sai khác qua T
vòng 1…T; Xác suất đặc trưng lượng sai trung bình (EDCP) được định nghĩa là:


16

Chọn đặc trƣng tốt nhất (Độ an toàn thực hành)
Để thực hiện thám mã lượng sai, kẻ tấn công phải tìm ra đặc trưng tốt nhất
sao cho là cực đại; một đặc trưng như vậy gọi là đặc trưng tốt nhất.Có một
vài thuật toán nổi tiếng (và tương đối hiệu quả) để tìm các đặc trưng tốt nhất. Ký hiệu
đặc trưng lượng sai tốt nhất là:
. Giá trị thường được dung để
xác định độ phức tạp dữ liệu của thám mã lượng sai và được lấy xấp xỉ bằng:

c. Vỏ lượng sai
d. Các chú ý với mạng SPN
e. Các S-hộp chủ động và số nhánh
3.3 Đánh giá cận an toàn của AES chống lại thám mã lƣợng sai
3.3.1 Ước lượng độ an toàn của J.Daemen và V.Rijiment
Để tạo tính miễn dịch đối với thám mã lượng sai, AES được thiết kế theo chiến
lược vệt lan rộng.
Các hệ số MixColumns đã được chọn sao cho số nhánh lượng sai bằng 5.
ShiftRows chuyển các byte của mỗi cột tới 4 cột khác nhau, nên nó tạo ra tính khuếch
tán tối ưu. Do đó, định lý lan truyền 4-vòng chứng minh rằng số các S-hộp chủ động
trong một vệt lượng sai 4 vòng bị chặn dưới bởi 25.
S-hộp của AES đã được chọn sao xác suất lan truyền sai khác lớn nhất là .
Điều này cho ta lan truyền lượng sai cực đại là cho một vệt lượng sai 4 vòng

bất kỳ. Kết quả này đúng với mọi độ dài khối của Rijindael và là độc lập với giá trị
của các khóa vòng. Vì thế, không có các vệt 8 vòng với xác suất lan truyền lượng sai
lớn hơn ( tuy nhiên thực tế nó , vì kích cỡ khối la 128 bit). Theo tác giả,
như vậy là đủ để chống lại các tấn công lượng sai. Để tạo hanh lang an toàn cho mã
khối Rijindael và Daemen đã chọn số vòng là 10 (với kích thước cỡ khóa 128 bít), 12
(với kích cỡ khóa 192 bit) và 14 vòng (với kích cỡ khóa là 256 bit)
17

3.3.2 Đánh giá độ an toàn bằng lý thuyết của S. Park, S.H.Sung, S.Lee và
J.Lim
Trước tiên tác giả đã chứng minh một số kết quả về độ an toàn của 2 vòng
mạng SPN với thám mã lượng sai:
3.3.2.1 Độ an toàn của mạng SPN trƣớc thám mã lƣợng sai
Bổ đề dưới có thể được xem như bất đẳng thức Cauchy-Schwarz được tổng
quát hóa.
Bổ đề 3.5 Giả sử , , là dãy của các số thực. Thế thì bất đẳng
thức sau được thỏa mãn

Bổ đề 3.6 Giả sử , là dãy gồm các số thực. Thế thì bất đẳng
thức sau được thỏa mãn:

Định lý 3.2: Giả sử là số nhánh của biến đổi tuyến tính L từ cách nhìn của
thám mã lượng sai. Thế thì, xác xuất lượng sai cực đại cho 2 vòng của các cấu trúc
SPN bị chặn bởi:

3.3.2.2 Độ an toàn của AES trƣớc thám mã lƣợng sai
Định nghĩa 3.12: Các cấu trúc tựa Rijindael là các mã khối được tạo nên từ
cấu trúc SPN thỏa mãn các điều kiện sau:
i. Biến đổi tuyến tính của nó có dạng
ii. (Điều kiện cho ) mỗi byte của đến từ các khác nhau, ở đây

là đầu vào của ; là đầu ra của
iii. (Điều kiện cho ). Khi chúng ta xem xét mỗi một như
là một tuyến tính, có điều kiện sau:
18


Định nghĩa 3.13 Với , gọi là mẫu của x và được định nghĩa
bởi , ở đây, nếu thì và nếu thì .
Định lý 3.3



Phân bố của xác suất lƣợng sai cho S-hộp của AES

1
2
3



0

1
126
129

Từ định lý 3.2 và bảng 3.1, ta có


Định lý 3.4: Khi , cận trên của xác suất lượng sai cực đại 2 vòng của

AES là như sau:

Vì thế xác suất lượng sai cực đại của 2 vòng AES bị chặn bởi .

Định lý 3.5: Xác suất lượng sai cho 4 vòng của AES bị chặn bởi
3.3.3 Xác định chính xác các cận an toàn của AES trước thám mã lượng sai
của Keliher
3.3.3.1 Phân tích chung MEDP với SPN 2 vòng
3.3.3.2 Các cận dƣới của MEDP với AES 2 vòng
Việc tính MEDP cho AES 2 vòng là tương đương vơi việc tính MEDP cho
SPN “được rút gọn” như mô tả trong Hình 3.2:
19







AES 2 vòng rút gọn
1. LowerBound = 0
2. For s = 1 to 56
3. For
4. Sum = 0
5. For w = 1 to 255
6. Prod = 1
7. For i = 1 to 5
8. Prod = Prod
9. End For
10. Sum = Sum + Prod

11. End For
12. If (Sum > LowerBound)
13. LowerBond = Sum
14. End If
15. End For
16. End For

Thuật toán xác định cận dƣới MEDP 2 vòng cho AES
Sử dụng thuật toán ở trên, cận dưới trên MELP 2 vòng cho AES là
. Vì cận trên tốt nhất là , MELP 2 vòng bây giờ
được biết gần chính xác. Cận dưới đối với MEDP 2 vòng bây giờ được biết gần chính
xác. Cận dưới đối với MEDP 2 vòng là , và vì cận trên tốt nhất là
, MEDP 2 vòng bây giờ cũng được biết gần chính xác.
32 – bit LT
20

3.3.3.3 Các cận trên của MEDP với AES 2 vòng
Kết quả thuật toán với MEDP
Thuật toán thu được cận dưới 53/ , một kết quả đã biết. Giá trị chính xác
MEDP cho AES 2 vòng là 53/ .
Cận trên cho MEDP của AES với , là .
3.4 Kết luận chƣơng III
Vì tính đơn giản của cấu trúc SPN nên có rất nhiều công trình nghiên cứu phân
tích chi tiết về độ an toàn có thể chứng minh. Trong đó hầu hết tập chung nghiên cứu
khả năng xác định cận MEDP với một số vòng nhỏ, để tư đó có thể đánh giá được độ
an toàn, hiệu quả chống lại các thám mã lượng sai và thám mã tuyến tính.
Qua các kết quả nghiên cứu mà chúng ta đã trình bày ở đây, ta có thể thấy rằng
phần nhiều tác giả (như nhòm tác giả Hong, Kang, Sano, Park) tập chung nghiên cứu
với cấu trúc SPN chung, và đánh giá các cận bằng lý thuyết cho mã SPN với các S-
hộp bất kỳ (ngẫu nhiên) và tù đó áp dụng cho AES. Nhóm tác giả Keliher, cận MEDP

cho trường hợp cụ thể với S-hộp cố định.
Kết quả tốt nhất là xác định chính xác giá trị MEDP cho AES với 2 vòng mã là
của Keliher và Daemen. Tuy là 2 phương pháp khác nhau, Keliher cây dựng thuật
toán (chương trình) để tính toán, Daemen phân tích bằng lý thuyết và kết quả là giống
nhau. Đáng chú ý hơn cả hai thuật toán KMT1-DC và KMT2-DC của Keliher cho
phép chúng ta có thể xác định các cận an toàn của các mã pháp SPN bất kỳ và với số
vòng bất kỳ.

21

KẾT LUẬN
Tóm tắt kết quả nghiên cứu
Với tốc độ và khả năng xử lý ngày càng được nâng cao của các bộ vi xử lý
hiện nay, phương pháp mã hóa chuẩn (DES - Data Encryption Standard) đã trở nên
không an toàn trong bảo mật thông tin. Do đó, Viện tiêu chuẩn và công nghệ Hoa kỳ
(NIST - National Institute Standards of Technology) đã quyết định chọn một chuẩn
mã hóa mới với độ an toàn cao nhằm phục vụ nhu cầu bảo mật thông tin liên lạc của
Chính phủ Hoa Kỳ cũng như trong các ứng dụng dân sự. Thuật toán Rijndael do
Vincent Rijmen và Joan Daeman đã được chính thức chọn trở thành chuẩn mã hóa
nâng cao (AES - Advanced Encryption Standard) từ ngày 02 tháng 10 năm 2000.
Ngày nay, ứng dụng của AES đang được sử dụng ngày càng phổ biến trong các
lĩnh vực khác nhau trên thế giới. AES không chỉ đơn thuần là mã hóa và giải mã
thông tin mà còn bao gồm nhiều vấn đề khác nhau cần được nghiên cứu và giải quyết
như ứng dụng xây dựng các hàm băm phục vụ việc chứng thực nguồn gốc nội dung
thông tin (kỹ thuật chữ ký điện tử), xác thực tính nguyên vẹn dữ liệu
Với sự phát triển ngày càng nhanh chóng của Internet và các ứng dụng giao
dịch điện tử trên mạng, nhu cầu bảo vệ thông tin trong các hệ thống và ứng dụng điện
tử ngày càng được quan tâm. Vì thế việc nghiên cứu về AES và độ an toàn của nó
trong các lĩnh vực bảo mật thông tin ý nghĩa hết sức quan trọng.
Để xem xét độ an toàn của AES các nghiên cứu về thám mã là cần thiết. Với

mục tiêu đó luận văn đã tìm hiểu về mật mã, độ an toàn của mã, các phương pháp tấn
công AES mà chủ yếu là tấn công lượng sai (Differential Cryptanalysis) .
22

KIẾN NGHỊ
Hướng nghiên cứu tiếp theo
Xem xét độ an toàn của AES với các tấn công khác như: tấn công Saturation,
tấn công đại số, xem xét độ an của AES với thám mã tuyến tính.
Tuy nhiều trong luận văn này vẫn còn nhiều điểm cần phải nghiên cứu và hoàn
thiện hơn, nhưng do thời gian và trình độ nghiên cứu và tìm hiểu của bản thân có hạn
nên không tránh khỏi những nhược điểm và sai sót. Vì thế em rất mong nhận được sự
góp ý của các Thầy, Cô và các bạn.
Cuối cùng em xin chân thành cảm ơn Thầy giáo GS.TS Nguyễn Bình đã tận
tình chỉ bảo, giúp đỡ em hoàn thành luận văn này.

Em xin chân thành cảm ơn!












×