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

đồ án công nghệ thông tin Tiểu luận Tìm hiểu, đưa ra ưu và nhược điểm các phiên bản của các thuật toán DES, Triple DES, 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 (241.93 KB, 20 trang )

THẢO LUẬN AN TỒN DỮ LIỆU (Nhóm 7)
Đề tài: Tìm hiểu, đưa ra ưu và nhược điểm các phiên bản của các
thuật toán: DES, Triple DES, AES

MỤC LỤC
A.Lời mở đầu
B. Nội dung
I. Tổng quan về mã hóa dữ liệu
1. Khái niệm mã hóa dữ liệu
2. Q trình phát triển
3. Các phương pháp mã hóa

II. Các thuật tốn mã hóa thường dùng
1. Mã hóa DES
1.1
Khái niệm
1.2
Lịch sử phát triển
1.3
Mơ tả thuật tốn
1.4
Q trình thay thế
1.5
Đánh giá
1.5.1 ưu điểm
1.5.2 nhược điểm
2. Thuật tốn Triple
2.1
Khái niệm
2.2
Lịch sử phát triển


2.3
Mơ tả thuật tốn
2.4 Q trình thay thế
2.5
Đánh giá
2.5.1 Ưu điểm
2.5.2 Nhược điểm
3. Thuật tốn AES
3.1 Khái niệm
3.2
Lịch sử phát triển
3.3
Mơ tả thuật tốn
3.4
Q trình thay thế
3.5
Đánh giá
3.5.1 Ưu điểm
3.5.2 Nhược điểm

C. Kết luận


MỞ ĐẦU
Thương mại điện tử đang và sẽ phát triển rất mạnh trên toàn thế giới. Sự
xuất hiện và phát triển của TMĐT không chỉ giúp cho việc kinh doanh của
các doanh nghiệp thuận lợi hơn mà còn giúp cho người tiêu dùng những lợi
ích về mặt tiết kiệm thời gian, công sức… Vậy để sự tồn tại của TMĐT sẽ
lâu dài thì sự xuất hiện của An Tồn Dữ Liệu là rất quan trọng và cần thiết.
Nó nghiên cứu về những nguy cơ gây mất an toàn dữ liệu và các biện pháp

đảm bảo an toàn, tránh khỏi những nguy cơ trong quá trình sử dụng hình
thức kinh doanh thương mại điện tử được tốt hơn thì việc nghiên cứu để đưa
ra cách cách mã hóa bằng các thuật toán cũng là một trong số những biện
pháp đảm bảo an tồn trong dữ liệu như : thuật tốn DES, Triple DES, AES.
Tuy nhiên, việc mã hóa bằng các thuật tốn này khơng chỉ là có những ưu
điểm nhất định mà bên cạnh đó nó cịn có những nhược điểm. Vì vậy, việc
nhóm chúng tơi tìm hiểu và đưa ra ưu nhược điểm của các thuật toán trên để
giúp người sử dụng cơng nghệ thơng tin nói chung và kinh doanh TMDT nói
riêng sẽ có cách nhìn và biết cách lựa chọn thuật tốn nào phù hợp với từng
đặc tính của nó đúng đắn hơn.


NỘI DUNG
I. Tổng quan về mã hóa dữ liệu
1.

Khái niệm mã hóa dữ liệu
+ Khái niệm: Mã hóa là phương thức biến đổi thông tin từ định dạng
thông thường thành một dạng khác ( mã hóa) khơng giống như ban
đầu nhưng có thể khơi phục lại được ( giải mã) ư
+ Mục đích:
 Đảm bảo tính bảo mật của thơng tin khi chúng
được truyền trong những mơi trường có độ an
tồn khơng cao
 Trong q trình mã hóa thơng tin có sử dụng
một giá trị đặc biệt gọi là khóa mã (key)
2. Quá trình phát triển
+ Trước năm 1949:
 Mã hóa được coi là một nghành mang tính
nghệ thuật

 Các phép mã hóa cịn đơn giản, chủ yếu là một
phép thay thế ký tự nào đó
+ Sau năm 1949:
 Bùng nổ trong lý thuyết về mã hóa, mã hóa đã
được coi là một ngành khoa học thực sự
 Ra đời phương pháp mã hóa cơng khai
 Ra đời của khái niệm về chữ ký điện tử
3. Các phương pháp mã hóa
+ Phương pháp mã hóa đối xứng:
 Khái niệm:
• Hệ thống mã hóa mà bên gửi và bên
nhận tin cùng sử dụng chung 1 khóa =>
mã hóa và giải mã đều dùng chung 1
khóa chung
• Kỹ thuật mã hóa duy nhất trước 1970
và hiện rất phổ biến
• Cịn gọi là mã hóa riêng, khóa bí mật
 Mơ hình mã hóa đối xứng


Bẻ khóa

Người gửi A

X


hóa

Giải mã


Người nhận B

Y

X

K

K

Khóa


Kênh truyền

+ Phương pháp mã hóa khóa cơng khai:
 Khái niệm:
• Mã hóa trong đó sử dụng một cặp
khóa, một khóa cơng khai và một
khóa bí mật
• Khóa cơng khai:
 Được sinh ra từ khóa bí mật
bởi một phép biến đổi một
chiều, nghĩa là biến đổi ngược
lại là khơng thể thực hiện
được
 Khóa cơng khai ai cũng có thể
biết
 Dùng để mã hóa thơng điệp và

để thẩm tra chữ ký
• Khóa bí mật:
 Chỉ nơi giữ được biết
 Để giải mã thông điệp và tạo
chữ ký
 Mơ hình mã hóa khóa cơng khai:
Bẻ khóa

Người gửi A

X

Mã hóa

Y

Kc
Khóa mã của B

Giải mã

X
Kr

Người nhận B


• B sinh cặp khóa : Khóa cơng khai
Kc và khóa bí mật Kr
• B gửi Kc cho A và ai cũng có thể

biết
• A dùng Kc mã hóa thơng điệp và
gửi lại cho B
• B dùng Kr để giải mã thơng điệp
của A

II. Các thuật tốn mã hóa thường dùng
1.

Mã hóa DES

1.1

Khái niệm

DES (viết tắt của Data Encryption Standard, hay Tiêu chuẩn Mã hóa
Dữ liệu) là một phương pháp mật mã hóa đượ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 cãi, do nó bao gồm các thành
phần thiết kế mật, độ dài khóa tương đối ngắn, và các nghi ngờ về cửa sau
để Cơ quan an ninh quốc gia Hoa Kỳ (NSA) có thể bẻ khóa. 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 thám mã tương
ứng.
1.2

Lịch sử phát triển

Khởi nguyên của thuật tốn đã có từ đầu thập niên 1970. Vào năm

1972, sau khi tiến hành nghiên cứu về nhu cầu an tồn máy tính của chính
phủ Hoa Kỳ, Cục Tiêu chuẩn Liên bang Hoa Kỳ (National Bureau of
Standard - NBS), hiện nay đã đổi tên thành Viện Tiêu chuẩn và Công nghệ
Quốc gia Hoa Kỳ (National Institute of Standards and Technology - NIST),
đã nhận ra nhu cầu về một tiêu chuẩn của chính phủ dùng để mật mã hóa
các thông tin mật/nhạy cảm. Vào ngày 15 tháng 5 năm 1973, sau khi tham
khảo với NSA, NBS đưa ra kêu gọi thiết kế một thuật tốn mã hóa có thể
đáp ứng được các tiêu chuẩn nghiêm ngặt. Tuy nhiên không có đề xuất nào
đáp ứng được yêu cầu đề ra. Ngày 27 tháng 8 năm 1974, NBS đưa ra kêu


gọi lần thứ hai. Lần này công ty IBM đã đưa ra một đề xuất có thể chấp
nhận được. Đề xuất này được phát triển trong những năm 1973-1974 dựa
trên một thuật tốn đã có từ trước - thuật tốn mật mã Lucifer của Horst
Feistel. Đội ngũ tại công ty IBM liên quan tới quá trình thiết kế bao gồm:
Feistel, Walter Tuchman, Don Coppersmith, Alan Konheim, Carl Meyer,
Mike Matyas, Roy Adler, Edna Grossman, Bill Notz, Lynn Smith và Bryant
Tuckerman.
1.3

Mô tả thuật tốn

DES là thuật tốn mã hóa khối, nó xử lý từng khối thơng tin của bản
rõ có độ dài xác định và biến đổi theo những quá trình phức tạp để trở thành
khối thơng tin của bản mã có độ dài không thay đổi. Trong trường hợp của
DES, độ dài mỗi khối là 64 bit. DES cũng sử dụng khóa để cá biệt hóa q
trình chuyển đổi. Nhờ vậy, chỉ khi biết khóa mới có thể giải mã được văn
bản mã. Khóa dùng trong DES có độ dài tồn bộ là 64 bit. Tuy nhiên chỉ có
56 bit thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra. Vì thế,
độ dài thực tế của khóa chỉ là 56 bit.



1.4

Quá trình thay thế

Từ cuối thập niên 1980, đầu thập niên 1990, xuất phát từ những lo
ngại về độ an toàn và tốc độ thấp khi áp dụng bằng phần mềm, giới nghiên
cứu đã đề xuất khá nhiều thuật toán mã hóa khối để thay thế DES. Những ví
dụ tiêu biểu bao gồm: RC5, Blowfish, IDEA (International Data
Encryption Algorithm, hay Thuật tốn mã hóa dữ liệu quốc tế), NewDES,
SAFER, CAST5 và FEAL. Hầu hết những thuật tốn này có thể sử dụng từ
khóa 64 bit của DES mặc dù chúng thường được thiết kế hoạt động với từ
khóa 64 bit hay 128 bit.


Ngay bản thân DES cũng có thể được sử dụng một cách an toàn hơn.
Những người sử dụng DES trước đây có thể dùng Triple DES (hay TDES).
Đây là phương pháp được một trong những người phát minh ra DES miêu tả
và kiểm tra (Xem thêm FIPS PUB 46-3). Triple DES sử dụng DES ba lần
cho một văn bản với những khóa khác nhau. Hiện nay Triple DES được
xem là an toàn mặc dù tốc độ thực hiện khá chậm. Một phương pháp khác ít
địi hỏi khả năng tính tốn hơn là DES-X với việc tăng độ dài từ khóa bằng
cách thực hiện phép XOR từ khóa với phần thêm trước và sau khi thực hiện
DES. Một phương pháp nữa là GDES được đề xuất làm tăng tốc độ mã hóa
nhưng nó được chứng tỏ là khơng an tồn trước tấn công vi sai (differential
cryptanalysis).
Năm 2001, sau một cuộc thi quốc tế, NIST đã chọn ra một thuật toán
mới, AES, để thay thế cho DES. Tác giả của thuật toán được biết dưới tên là
Rijndael. Những thuật tốn khác có tên trong danh sách cuối cùng của cuộc

thi AES bao gồm: RC6, Serpent, MARS và Twofish.
1.5

Đánh giá

1.5.1 Ưu điểm
Nếu dữ liệu đang lựa chọn bảo vệ chỉ có tuổi thọ vài giờ thì lựa chọn
DES là hợp lỹ. Phương pháp mã hoá DES nhanh hơn so với thuật toán
TDES/AES.
1.5.2 Nhược điểm
Hiện nay DES được xem là khơng đủ an tồ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ỏ. Khóa DES đã
từng bị phá trong vịng chưa đầy 24 giờ. Đã có rất nhiều kết quả phân tích
cho thấy những điểm yếu về mặt lý thuyết của mã hóa có thể dẫn đến phá
khóa, tuy chúng khơng khả thi trong thực tiễn. Thuật tốn được tin tưởng là
an tồn trong thực tiễn có dạng Triple DES (thực hiện DES ba lần), mặc dù
trên lý thuyết phương pháp này vẫn có thể bị phá. Gần đây DES đã được


thay thế bằng AES (Advanced Encryption Standard, hay Tiêu chuẩn Mã hóa
Tiên tiến).
Mặc dù đã có nhiều nghiên cứu về phá mã DES hơn bất kỳ phương
pháp mã hóa khối nào khác nhưng phương pháp phá mã thực tế nhất hiện
nay vẫn là tấn cơng kiểu duyệt tồn bộ. Nhiều đặc tính mật mã hóa của DES
đã được xác định và từ đó ba phương pháp phá mã khác được xác định với
mức độ phức tạp nhỏ hơn tấn công duyệt tồn bộ. Tuy nhiên các phương
pháp này địi hỏi một số lượng bản rõ quá lớn (để tấn công lựa chọn bản rõ)
nên hầu như không thể thực hiện được trong thực tế.
“NSA(National Standards Association) coi DES là một trong những
sai lầm lớn nhất. Nếu họ biết trước rằng chi tiết của thuật tốn sẽ được

cơng bố để mọi người có thể viết chương trình phần mềm, họ sẽ khơng bao
giờ đồng ý.”
2.

Thuật tốn Triple

2.1

khái niệm

3DES (Triple DES), là thuật tốn mã hóa khối trong đó thơng khối
thơng tin 64 bit sẽ được lần lượt mã hóa 3 lần bằng thuật tốn mã hóa DES
với 3 chìa khóa khác nhau. Thuật tốn 3DES có thể minh họa như sau:

trong đó M là thơng điệp cần mã hóa,
k1, k2 và k3 là 3 chìa khóa.
2.2 . Mơ tả thuật tốn
Triple DES sử dụng một chìa khóa bó "" trong đó bao gồm ba DES
phím , K 1, K 2 và K 3, mỗi 56 bit (không bao gồm các bit chẵn lẻ ). Các thuật
tốn mã hóa là:
bản mã = E K3 (D K2 (E K1 (chữ thô)))


. Tức là, DES mã hóa với 1 K, giải mã DES với K 2, sau đó mã hóa DES với
K 3.
Giải mã là ngược lại:
chữ thô = D K1 (E K2 (D K3 (mã hóa)))
Tức là giải mã với 3 K, mã hóa với K 2, sau đó giải mã với K 1.
. Mỗi mã hóa ba mã hóa một khối 64 bit dữ liệu.
. Trong mỗi trường hợp hoạt động giữa là đảo ngược của việc đầu tiên và

cuối cùng.Điều này giúp cải thiện sức mạnh của thuật toán khi sử dụng tùy
chọn keying 2, và cung cấp tính tương thích ngược với DES với keying tùy
chọn 3.
2.3

Lịch sử phát triển

Triple DES là thế hệ mới của DES, nó xuất hiện sau DES . Năm 1988 các
chuyên gia tìm cách phá khóa cho Triple DES nhưng khơng rất khó
2.4

Q trình thay thế
Triple ECB (Electronic Code Book)

Phiên bản này của Triple DES hoạt động chính xác giống chế độ
ECB của DES. Triple ECB là loại mã hóa được sử dụng bởi Private
Detective. Đây là phương thức phổ biến nhất đang được sử dụng.
Chế độ ECB
Dữ liệu được chia thành các khối 64-bit và mỗi khối được mã hóa
cùng một lúc. Mã hóa riêng biệt với các khối khác nhau là hồn tồn độc lập
với nhau. Điều này có nghĩa rằng nếu dữ liệu được truyền qua mạng hoặc
đường dây điện thoại, lỗi truyền dẫn sẽ chỉ ảnh hưởng đến khối có chứa các
lỗi đó . Nó cũng có nghĩa là,các khối có thể được sắp xếp lại.
ECB là yếu nhất trong các phương thức khác nhau vì khơng có các
biện pháp an ninh bổ sung được thực hiện bên cạnh các thuật toán DES cơ
bản. However, Tuy nhiên, ECB là cách nhanh nhất và dễ nhất để thực hiện,
làm cho nó phương thức phổ biến nhất của DES được thấy trong các ứng
dụng thương mại. Đây là phương thức hoạt động được sử dụng bởi Private
Detective.



Triple CBC (Cipher Block Chaining)

Phương pháp này rất giống với tiêu chuẩn DES chế độ CBC .. Như
với Triple ECB, hiệu quả chính chiều dài là 168 bits và các phím được sử
dụng trong cùng một cách thức,..Các bit đầu tiên có hành vi giống như là
vector khởi cho DES. Triple ECB sau đó được thực hiện cho một khối 64-bit
duy nhất của chữ thô. Các bản mã kết quả là sau đó XORed với khối chữ thơ
tiếp theo sẽ được mã hóa, và thủ tục được lặp lại.. Phương pháp này cho biết
thêm một lớp bảo mật để Triple DES và do đó an tồn hơn Triple ECB, mặc
dù nó khơng được sử dụng rộng rãi như Triple ECB.
Chế độ CBC
mỗi khối của bản mã được mã hóa ECB là XORed với khối chữ thô tiếp
theo sẽ được mã hóa, do đó làm cho tất cả các khối phụ thuộc vào tất cả các
khối trước. Điều này có nghĩa rằng để tìm thấy những chữ thơ của một khối
cụ thể, bạn cần phải biết bản mã, chìa khóa, và các bản mã cho khối trước
hối đầu tiên được mật mã khơng có bản mã trước đây, do đó, chữ thô là
XORed với một số 64-bit được gọi là Vector khởi, Vì vậy, nếu dữ liệu được
truyền qua mạng hoặc đường dây điện thoại và có một lỗi truyền dẫn (thêm
hoặc xóa các bit), lỗi này sẽ được chuyển đến tất cả các khối tiếp theo kể từ
khi mỗi khối là phụ thuộc vào cuối. Nếu các bit chỉ là sửa đổi quá cảnh (như
là trường hợp phổ biến hơn) các lỗi sẽ chỉ ảnh hưởng đến tất cả các bit trong
khối thay đổi, và các bit tương ứng trong khối sau đấy, các lỗi không lan
truyền thêm nữa.
Phương thức này hoạt động là an tồn hơn ECB vì bước thêm XOR
cho biết thêm một lớp nữa vào quá trình mã hóa.
2.5

Đánh giá


2.5.1

Ưu điểm

a. Triple DES ECB:
Tốc độ mã hóa nhanh đơn giản dễ thực hiện nhưng tính bảo mật yếu.
Mỗi khối được mã hóa độc lập với khối khác. Với mỗi khóa là một kí
hiệu mã hóa khác nhau
Bản rõ được mã hóa thành các khối giống hệt bản mã khối do đó nó
khơng ẩn được các mơ hình dữ liệu tốt


Nó khơng cung cấp những gói tin quan trọng cần phải được bảo mật và
nó khơng khuyến khích được sử dụng một giao thức mật mã nào khác
Những lỗi mang tính đồng bộ có thể khơi phục được.
b. Triple DES CBC
2.5.2

Nhược điểm

Có mật mã tuần tự (tức là, nó khơng thể được song song), và rằng
thông điệp phải được thêm vào một bội số của kích thước khối cơ yếu. Một
cách để xử lý vấn đề này cuối cùng là thông qua các phương pháp được gọi
là ăn cắp bản mã .
Chỉ sử dụng một kích thước phản hồi bằng kích thước khối
Mẫu chữ thơ được che giấu bởi XORing với bản mã khối trước đấy.
Dữ liệu cho mã hóa khối là ngẫu nhiên.
Một gói tin có thể được mã hóa bởi hơn một khóa.
Chữ thơ thì khó để thao tác nhưng với khối thì ngược lại.
Khối đầu tiên có thể thay đổi được cho phép kiểm soát một số thay đổi

trong khối này
Một lỗi mã hóa có thể ảnh hưởng đến một khối chứa đầy đủ các chữ
thô và bị tương ứng trong khối tiếp theo
Phương pháp này thêm một lớp phụ nhằm mục đích bảo mật đối với
TDES và do đó nó an tồn hơn triple ECB mặc dù nó khơng được sử dụng
rộng rãi như triple ECB
3.
3.1

Thuật toán AES
Khái niệm:

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 tốn mã hóa khối được chính phủ
Hoa kỳ áp dụng làm tiêu chuẩn mã hóa. Giống như tiêu chuẩn tiền nhiệm


DES, AES được kỳ vọng áp dụng trên phạm vi thế giới và đã được nghiên
cứu rất kỹ lưỡng. AES được chấp thuận làm tiêu chuẩn liên bang bởi Viện
tiêu chuẩn và công nghệ quốc gia Hoa kỳ (NIST) sau một q trình tiêu
chuẩn hóa kéo dài 5 năm.
3.2

Q trình phát triển.
Thông tin chung Tác giả Vincent Rijmen và Joan Daemen
Năm cơng bố 1998
Phát triển từ Square (mã hóa)
Các thuật tốn dựa trên Crypton (mã hóa), Anubis (mã hóa), GRAND

CRU

Chi tiết thuật tốn Khối dữ liệu 128 bít Độ dài khóa 128, 192 hoặc
256 bít Cấu trúc Mạng thay thế-hốn vị
Số chu trình 10, 12 hoặc 14 (tùy theo độ dài khóa)
AES ngày nay được sử dụng rộng rãi trong các công nghệ truyền
thông mới như trong IEEE 802.11i, WiMAX... bởi tính bảo mật của nó. Vào
thời điểm năm 2006, dạng tấn công lên AES duy nhất thành công là tấn cơng
qua kênh phụ.
3.3

Mơ tả thuật tốn.

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ớ. Do AES là một tiêu
chuẩn mã hóa mới, nó đang được triển khai các phép tốn trong thuật toán
AES đều thực hiện trong một trường hữu hạn.
3.4

Quá trình thay thế

AES làm việc với từng khối dữ liệu 4×4 byte (tiếng Anh: state, khối
trong Rijndael có thể có thêm cột). Q trình mã hóa bao gồm 4 bước:


• AddRoundKey — mỗi byte của khối được kết hợp với khóa con,
các khóa con này được tạo ra từ q trình tạo khóa con Rijndael.
• SubBytes — đây là phép thế (phi tuyến) trong đó mỗi byte sẽ
được thế bằng một byte khác theo bảng tra (Rijndael S-box).
• ShiftRows — đổi chỗ, các hàng trong khối được dịch vịng.
• MixColumns — quá trình trộn làm việc theo các cột trong khối

theo một phép biến đổi tuyến tính.
Tại chu trình cuối thì bước MixColumns được thay thế bằng bước
AddRoundKey
Bướ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 q trình tạo khóa con Rijndael;
mỗi khóa con có độ dài giống như các khối. Q 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.
Bước SubBytes
Các byte được thế thông qua bảng tra S-box. Đây chính là q 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 nghịch đảo
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).
Bước ShiftRows
Các hàng được dịch vịng một số vị trí 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 trái một vị trí.
Tương tự, các hàng thứ 3 và 4 được dịch 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.
Bước 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 c(x) = 3x3 + x2 + x + 2 (modulo x4 + 1). 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.sử dụng đại
trà.
Thuật toán AES hoạt động trên một khối dữ liệu có độ lớn 128 bit,
được tổ chức và trong một ma trận có kích thước 4 x 4 gọi là một state(trạng
thái). Kích cỡ của key mã hố có chiều dài 128,192, hay 256 bit, đặc biệt
Wimax sử dụng key 128 bit. Chương trình dưới đây mơ tả thuật tốn AES
này.
Cipher(input, output, roundkey)
begin
state = input
round = 0
AddRoundKey (state, roundkey[round])
for round = 1 to 9 in steps of 1
SubBytes(state)
ShiftRows(state)
MixColumns(state)
AddRoundKey(state,roundkey[round])
end for
SubBytes(state)
ShiftRows(state)
AddRoundKey(state, roundkey[round+1])
output = state
end
Với hàm SubBytes, mỗi byte trong state được thay thế với các byte
khác, sử dụng một bảng look-up được gọi là S-box. S-box được dùng bắt
nguồn từ hàm ngược trên trường GF(28), có tính chất tuyệt đối khơng tuyến
tính. Hàm này chỉ duy nhất cung cấp tính khơng tuyến tính cho loại mã hố
này
Với hàm ShiftRows, mỗi hàng được chuyển tuần tự với một số
lượng bước là cố định. Đặc biệt, các phần tử của hàng đầu tiên sẽ khơng thay

đổi vị trí, hàng thứ hai dịch sang trái một cột, hàng thứ ba dịch sang trái hai
cột, hàng cuối cùng sẽ dịch sang trái ba cột. Thao tác này nhằm đảm bảo mỗi


cột của bảng đầu ra đều được tạo thành từ các cột của bảng trạng thái đầu
vào.
3.5

Đánh giá.

3.5.1

Ưu điểm
Thiết kế và độ dài khóa của thuật tốn AES (128, 192 và 256 bít) là
đủ an tồn để bảo vệ các thông tin được xếp vào loại TỐI MẬT
(secret). Các phiên bản thực hiện AES nhằm mục đích bảo vệ hệ
thống an ninh hay thông tin quốc gia phải được NSA kiểm
Vào tháng 6 năm 2003, chính phủ Hoa kỳ tuyên bố AES có
thể được sử dụng cho thơng tin mật.
Vào thời điểm năm 2006, dạng tấn công lên AES duy nhất
thành công là tấn công kênh bên (side channel attack]). Tấn công kênh
bên là tấn công tấn cồng trực tiếp vào thuật tốn mã hóa, tấn cơng lên
các hệ thống thực hiện thuật tốn có sơ hở làm lộ dữ liệu.

3.5.2

Nhược điểm.
Về an ninh của AES thì các nhà khoa học đánh giá là chưa cao. Họ
cho rằng ranh giới giữa số chu trình của thuật tốn và số chu trình bị phá vỡ
quá nhỏ. Nếu các kỹ thuật tấn cơng được cải thiện thì AES có thể bị phá vỡ.

Ở đây, phá vỡ có nghĩa chỉ bất cứ phương pháp tấn cơng nào nhanh hơn tấn
cơng kiểu duyệt tồn bộ. Vì thế một tấn cơng cần thực hiện 2120 cũng được
coi là thành công mặc dù tấn công này chưa thể thực hiện trong thực tế. Tại
thời điểm hiện nay, nguy cơ này không thực sự nguy hiểm và có thể bỏ qua.
Tấn cơng kiểu duyệt tồn bộ quy mô nhất đã từng thực hiện là do
distributed.net thực hiện lên hệ thống 64 bít RC5 vào năm 2002 (Theo định
luật Moore thì nó tương đương với việc tấn cơng vào hệ thống 66 bít hiện
nay).
Một vấn đề khác nữa là cấu trúc tốn học của AES. Khơng giống với
các thuật tốn mã hóa khác, AES có mơ tả tố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.
Một ví dụ điến hình là Vào năm 2002, Nicolas Courtois và Josef
Pieprzyk phát hiện một tấn công trên lý thuyết gọi là tấn công XSL và chỉ ra
điểm yếu tiềm tàng của AES. Tuy nhiên, một vài chuyên gia về mật mã học


khác cũng chỉ ra một số vấn đề trong cơ sở tốn học của tấn cơng này và cho
rằng các tác giả đã có sai lầm trong tính tốn. Việc tấn cơng dạng này có
thực sự trở thành hiện thực hay khơng vẫn cịn để ngỏ và cho tới nay thì tấn
cơng XSL vẫn chỉ là

KẾT LUẬN
Khơng thể phủ nhận là thuật tốn DES, Triple DES, AES có nhiều ứng
dụng trong viễn thông và công nghệ thông tin, việc làm chủ và cứng hóa các
thuật tốn rất có ý nghĩa đối với sự an toàn trong các giao dịch trên mạng,
nhất là trong ứng dụng TMĐT. Nhìn chung, đối với Việt Nam, việc làm chủ
cơng nghệ cứng hóa thuật tốn DES, Triple DES, AES rất có ý nghĩa trong
việc đảm bảo an toàn giao dịch trên mạng, đảm bảo an toàn trong truyền tin
cho các đơn vị cơ yếu tại Việt Nam. Hiện nay, nhiều chuyên gia đang triển

khai cứng hóa thuật tốn DES, Triple DES, AES nhờ các cơng nghệ thiết kế
số hiện đại, các chương trình và mạch phần cứng. Trên đây là bài thảo luận
của nhóm chúng tơi. Trong q trình tìm hiểu tài liệu và sự hiểu biết của
nhóm chúng tơi về đề tài cịn ít nên khơng thể khơng tránh khỏi những sai
sót. Kính mong cơ giáo và các bạn đóng góp ý kiến để bài thảo luận của
nhóm chúng tơi được hồn thiện hơn.


CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do – Hạnh phúc

---o0o--BIÊN BẢN HỌP NHÓM 7
(lần 1)
 9h Ngày 02.5.2010 tại sân thư viện trường Đại học Thương
Mại, các thành viên đi đầy đủ.
 Công việc:
+ Xây dựng đề cương
+ Phân cơng cơng việc :
• Nhóm 1: làm về DES gồm: Nguyễn Hoàng Quý, Nguyễn Thị Mai
Phương, Nguyễn Ngọc Phúc ( Q làm nhóm trưởng)
• Nhóm 2: làm về Triple DES gồm : Nguyễn Văn Thành I4, Lê Hồng
Sơn, Nguyễn Văn Thanh( Thành làm nhóm trưởng)
• Nhóm 3: làm về AES gồm: Mai Thị Thắm I1, Vũ Thị Qun,Nguyễn
Thị Thu Thanh ( Thắm I1 làm nhóm trưởng)
• Trương Thị Minh Phúc làm phần A, phần một trong B, phần C và
tổng hợp bài, viết biên bản họp nhóm..

 Cuộc họp nhóm kết thúc vào hồi 11h cùng ngày.



Xếp loại các thành viên trong nhóm:
Họ tên
1. Nguyễn Ngọc Phúc
2. Trương Thị Minh Phúc
3. Nguyễn Thị Mai Phương
4. Nguyễn Hoàng Quý
5. Vũ Thị Quyên
6. Lê Hoàng Sơn
7. Mai Thị Thắm
8. Nguyễn Thị Thu Thanh
9. Nguyễn Văn Thanh
10. Nguyễn Văn Thành (I4)
Nhóm Trưởng
Trương Thị Minh Phúc

Xếp loại
C
A
B
A
B
B
A
B
C
B
Thư ký
Trương Thị Minh Phúc





×