
- 1 -
B GIÁO DC VÀ ĐÀO TO
ĐI HC ĐÀ NNG
NGUYN VĂN MINH
NGHIÊN CU GII THUT
ADVANCES ENCRYPTION STANDARD MÃ HÓA
VĂN BN MT TI TRƯNG CAO ĐNG
CÔNG K NGH ĐÔNG Á
Chuyên ngành: KHOA HC MÁY TÍNH
Mã s: 60.48.01
TÓM TT LUN VĂN THC SĨ K THUT
Đà Nng - Năm 2011
- 2 -
Công trình ñưc hoàn thành ti
ĐI HC ĐÀ NNG
Ngưi hưng dn khoa hc: TS. NGUYN THANH BÌNH
Phn bin 1: PGS.TS. VÕ TRUNG HÙNG
Phn bin 2: TS. TRƯƠNG CÔNG TUN
Lun văn ñưc bo v trưc Hi ñng chm Lun văn tt
nghip thc sĩ k thut hp ti Đi hc Đà Nng vào ngày 15
tháng 10 năm 2011
Có th tìm hiu lun văn ti:
- Trung tâm Thông tin - Hc liu, Đi hc Đà Nng
- Trung tâm Hc liu, Đi hc Đà Nng

- 3 -
M ĐU
1. Lý do chn ñ tài
Ngày nay vi s xut hin ca máy tính, các tài liu văn bn giy t và
các thông tin quan trong ñu ñưc s hóa và x lý trên máy tính, ñưc
truyn ñi trên mt môi trưng mà mc ñnh là không an toàn. Do ñó yêu c u
v vic có mt cơ ch", gii pháp ñ# bo v s an toàn và bí mt ca các
thông tin nhy cm, quan trng ngày càng tr$ nên cp thi"t.Vic bo v d%
liu là vn ñ mà tt c nh%ng ai s d&ng máy tính quan tâm. D% liu ca
m'i ngưi dùng có th# khác nhau t( các tp tin văn bn ñ"n các chương
trình máy tính hoc các d% liu rt quan trng như tài khon trong ngân
hàng, bí mt quc gia. Tùy theo t m quan trng ca tài liu mà ngưi dùng
la chn các phương pháp khác nhau. Trong ñó, ñm bo tính bo mt ni
dung ca tp tin là c n thi"t. Vì vy, các tp tin sau khi to c n ñưc mã hóa
nh)m tăng tính bo mt và ñ an toàn ca d% liu. Mã hóa ñưc xem là m*c
bo v ti ưu nht ñi vi d% liu giúp thông tin không b l và nâng cao ñ
an toàn trong các giao dch truyn ti thông tin.
Mt mã hc – Cryptography (hay crypto) – ngành khoa hc nghiên c*u
v vic giu thông tin. C& th# hơn, mt mã hc là ngành hc nghiên c*u v
nh%ng cách chuy#n ñ+i thông tin t( dng "có th# hi#u ñưc" (bn rõ –
plaintext) thành dng "không th# hi#u ñưc" (bn mã – ciphertext) và
ngưc li. Mt mã hc giúp ñm bo tính bí mt ca thông tin – thông tin
ch, ti"t l cho nh%ng ai ñưc phép; tính toàn v-n – thông tin không th# b
thay ñ+i mà không phát hin; tính xác thc – ngưi g$i hoc ngưi nhn có
th# ch*ng minh ñúng h; ñm bo tính không chi b., t*c là ngưi g$i hoc
nhn sau này không th# chi b. vic ñã g$i hoc nhn thông tin.
Trên thc t" ñã có nhiu phương pháp mã hóa và các thut toán tương
*ng vi m'i phương pháp ñưc *ng d&ng ñ# mã hóa thông tin như phương
pháp mã hóa ñi x*ng vi các thut toán Data Encryption Standard – DES,
- 4 -
Triple DES, Advanced Encryption Standard – AES; phương pháp mã hóa
bt ñi x*ng vi khóa công khai gm các thut toán n+i ti"ng: Diffle-
Hellman, RSA... Trong các thut toán k# trên, AES còn ñưc bi"t vi mt
tên gi khác là thut toán Rijndael do hai tác gi Vincent Rijmen, Joan
Daeman ñ ngh và ñưc Vin tiêu chu/n và công ngh quc gia Hoa Kỳ -
NIST (National Institue of Standards and Technology) chn làm chu/n mã
hóa nâng cao trong công báo FIPS PUB 197. AES ñưc ñánh giá là mt
thut toán tiên ti"n áp d&ng rng rãi trong các h thng khác nhau t( các th1
thông minh cho ñ"n các máy tính cá nhân k# c ph n c*ng và ph n mm.
Trong phm vi ca trưng Cao ñ2ng công k ngh Đông Á có rt nhiu
tài liu quan trng c n ñưc lưu gi% bí mt. Đi#n hình là các ñ thi tt
nghip cui khóa kèm ñáp án, h sơ sinh viên, các công trình nghiên c*u
khoa hc, các ñ án chưa ñưc công b. Công tác ñm bo bí mt cho các
tài liu ca nhà trưng hin chưa ñưc quan tâm ñúng m*c. Do ñó, vi
nh%ng k thut tinh vi, li d&ng các l' h+ng ca h thng, ti phm có th#
d3 dàng ti"p cn các thông tin mt ñó.
2. Mc ñích nghiên cu và kt qu ñt ñư c
Xut phát t( cơ s$ phân tích, tôi chn ñ tài "Nghiên cu gii thu!t
Advances Encryption Standard mã hóa văn bn m!t ti trư"ng Cao
ñ#ng công k$ ngh% Đông Á" nh)m nghiên c*u gii thut mã hóa ñi x*ng
Advanced Encryption Standard - AES ñ# ñưa ra mt phương pháp mã hóa
tp tin ti ưu và xây dng h thng mã hóa các tài liu mt ñm bo ñ an
toàn ca d% liu, tin cy, bí mt ca tài liu.
M&c ñích ca tác gi là tìm hi#u và nghiên c*u sâu các lý thuy"t liên
quan ñ"n mã hóa d% liu, so sánh các ưu ñi#m, nhưc ñi#m ca mt s thut
toán hin ti, ñng thi nêu ra các *ng d&ng ñi#n hình liên quan ñ"n các
thut toán trên. Trong ñó, tôi tp trung nghiên c*u sâu gii mã hóa d% liu
tiên ti"n nht hin hay, AES, và mt s cơ ch" mã hóa tp tin ñã có ñ# t( ñó
ñưa ra mt gii pháp mã hóa tp tin ñm bo các tính cht, ñc ñi#m ca
vn ñ bo mt thông tin.

- 5 -
3. Phương pháp và phm vi nghiên cu
Da trên cơ s$ thu thp các tài liu liên quan ca các tác gi trong và
ngoài nưc ñ# tìm hi#u và phân tích các thông tin liên quan ñ"n lun văn.
Nghiên c*u và cài ñt gii thut AES trên môi trưng Windows. Sau ñó,
ki#m th và ñánh giá k"t qu.
Đ tài ch, nghiên c*u *ng d&ng mã hóa các văn bn quan trng ti
trưng Cao ñ2ng Công K Ngh Đông Á.
4. C'u trúc c(a lu!n văn
Cu trúc ca ñ tài ñưc t+ ch*c thành 03 chương.
Chương 1. T+ng quan mã hóa thông tin
Chương 2. Thut toán Advanced Encryption Standard
Chương 3. 4ng d&ng thut toán Advanced Encryption Standard mã hóa
các văn bn mt trong trưng Cao ñ2ng công k ngh Đông Á
CHƯƠNG 1. T)NG QUAN MÃ HÓA THÔNG TIN
Chương 1 này tp trung nghiên c*u mt s lý lun, các cơ s$ lý thuy"t
v mt mã hc ñng thi gii thiu mt s thut toán ph+ bi"n.
1.1. Các khái ni%m
1.1.1. Mt mã hc
Đnh nghĩa 1.1:
Mt mã hc là nghiên cu các thut toán liên quan ñn khía cnh bo
mt thông tin như thông tin mt, ràng buc d liu, chng thc thc th,
chng thc ngun gc d liu Error! Reference source not found..
Mt s khái nim trong mt mã hc gm: Mã hóa (encrypt hay
encipher), Gii mã (Decrypt hay decipher), Bn rõ (Plaintext), Cipher (hay
cypher), Khóa (Key).
1.1.2. H mt mã (Crypto System):
Đnh nghĩa 1.2:
Mt h mt mã là b 5 (P,C,K,E,D) thõa mãn các tính cht sau:
1. P là không gian bn rõ: là tp hu hn các bn rõ có th có.
- 6 -
2. C là không gian bn mã: là tp hu hn các bn mã có th có.
3. K là không gian khóa: là tp hu hn các khóa có th có.
4. Đi vi mi k
∈
K, có mt quy tc mã hóa e
k
∈
E và mt quy tc gii
mã tương ng d
k
∈
D. Vi mi e
k
: P → C và d
k
: C → P là nhng hàm
mà d
k
(e
k
(x))=x cho mi bn rõ x
∈
P. Hàm gii mã d
k
chính là ánh x
ngưc ca hàm mã hóa e
k
..
1.1.3. Nguyên tc Kerckhoffs
Mt h mt mã s ñưc an toàn ngay c khi tt c mi th trên h
thng ñó là công khai ngoi tr khóa (key).
"Thut toán mã hóa ñưc to ra không cn phi gi bí mt, có th ñưc
công b công khai, rơi vào tay quân ñch mà không có bt kỳ s phi n phc
nào c".
1.2. Tính ch't c(a mã hóa thông tin
Mã hóa thông tin phi ñm bo các tính cht sau: Tính bí mt
(Confidentiality), tính xác thc (Authentication), tính toàn v-n (Integrity),
tính không th# chi b. (Non-repudation).
1.3. Đ* an toàn c(a h% m!t mã
Đ an toàn ca thut toán ph& thuc vào ñ ph*c tp ca nó. Các y"u
t xem xét thut toán an toàn là chi phí hay phí t+n; thi gian c n thi"t ñ#
phá v5; lưng d% liu ñ# phá v5.
Có hai phương pháp ñưc Claude Shannon trình bày vào năm 1949 ñ#
ñánh giá ñ an toàn ca mt h mt mã.
1.3.1. Đ an toàn tính toán:
1.3.2. Đ an toàn không ñiu kin
1.4. Các phương pháp mã hóa
1.4.1. Mã hoá c ñin (Classical cryptography)
Phương pháp này là tin thân ca các phương pháp mã hóa ñi x*ng
ngày nay. Có hai phương pháp n+i bt ñó là: Mã hoá thay th (Substitution
Cipher), Mã hoá hoán v (Transposition Cipher)

- 7 -
1.4.2. Mã hoá ñi xng (Symetric cryptography)
Mã hoá ñi x*ng s d&ng cùng mt khoá cho c hai quá trình mã hoá
và gii mã. Mã hoá ñi x*ng có th# tác ñng trên bn rõ theo t(ng nhóm bit
hay theo t(ng bit mt.
1.4.3. Mã hoá bt ñi xng (Asymetric cryptography)
Mã hóa bt ñi x*ng ñưc thi"t k" sao cho khoá s d&ng trong quá trình
mã hoá khác bit vi khoá ñưc s d&ng trong quá trình gii mã. Tt nhiên
không th# suy lun khóa gii mã t( khóa mã và ngưc li. Khoá ñ# mã hoá
ñưc gi là khóa công khai (Public Key), khoá ñ# gii mã ñưc gi là khóa
bí mt (Private Key).
1.4.4. H thng mã hoá khoá lai (Hybrid Cryptosystems)
H thng mã hoá khoá lai ra ñi là s k"t hp gi%a tc ñ và tính an
toàn ca hai h thng mã hoá $ trên.
1.5. ng dng c(a mã hóa thông tin
Mã hóa thông tin ñưc *ng d&ng trong rt nhiu lĩnh vc c v ph n
c*ng và ph n mm.
1.6. Gi+i thi%u m*t s, gii thu!t mã hóa tiên tin.
1.6.1. Các h mã khi
Các h mã khi da trên cơ s$ làm vic vi các khi d% liu là các
chu'i bit có kích thưc khau nhau (ti thi#u là 64bit), khóa ca h mã hóa
cũng là mt xâu bit có ñ dài c ñnh.
Mt s gii thut ñưc s d&ng khá ph+ bi"n là DES, Triple DES
(3DES), AES.
1.6.1.1. Mã hóa d DES
DES (Data Encryption Standard) là thut toán mã hóa vi d% liu ñ u
vào và ñ u ra là mt khi 64 bit vi ñ dài khóa 64 bit (trong ñó 8 ñưc
dùng ñ# ki#m tra tính chn l1). Thut toán thc hin 16 vòng vi 16 khóa
(48bit) ñưc sinh ra trong m'i vòng.
Quá trình gii mã ñưc di3n ra tương t nhưng vi các khóa con *ng
d&ng vào các vòng trong theo th* t ngưc li
- 8 -
Thut toán DES bc l mt s ñi#m y"u mà nh%ng k1 li d&ng nó ñ#
thám mã.
1.6.1.2. Triple DES (3DES)
Triple DES tht cht là mã hóa theo DES ba l n vi khóa K
1
, K
2
, K
3
cho m'i l n.
1.6.1.3. Chu!n mã hóa cao cp AES
AES là mt chu/n mã hóa cao cp vi khóa bí mt cho phép x lý các
khi d% liu ñ u vào có kích thưc 128 bit và s d&ng các khóa có ñ dài
128, 192, 256 bit.
1.6.2. Các h mã hóa công khai
1.6.2.1. Khái nim
Mã hoá b"ng khoá công khai là phương thc ñưc thc hin trên hai
khóa, mt ñưc dùng ñ mã hóa (ñưc gi là khóa công khai – public key)
và mt khóa ñưc dùng trong quá trình gii mã (gi là khóa bí mt –
private key). Khóa gii mã không th tính toán ñưc t khóa mã hóa.
1.6.2.2. Thut toán RSA
1.6.2.3. H mt mã da trên các ñư#ng cong Elliptic
Thut toán mã hóa s d&ng ñưng cong elliptic da vào ñ ph*c tp
ca bài toán logarit ri rc trong h thng ñi s. Mt ñưc cong Elliptic là
mt ñưng cong to ra b$i mt phương trình dng mu
Thut toán mã hóa da trên ñưng cong Elliptic (ECC) thc hin vic
mã hoá và gii mã da trên ta ñ ca các ñi#m da trên ñưng cong
Elliptic.
1.6.3. Hàm băm
Hàm băm là hàm toán hc chuy#n ñ+i mt thông ñip có ñ dài bt kỳ
thành mt dãy bit có ñ dài c ñnh. Mi thay ñ+i dù là rt nh. trên thông
ñip ñ u vào ñu làm thay ñ+i giá tr băm ca nó.
1.7. Kt chương
Chương 1 ñã nêu ra ñưc mt s lý lun v mt mã hc cũng như các
*ng d&ng ca nó trong các lĩnh vc khác nhau cũng như gii thiu cơ bn
mt s phương pháp mã hóa ñã và ñang ñưc các nhà khoa hc nghiên c*u

- 9 -
ñng thi trình bày nguyên t7c hot ñng cũng như nêu ra các ưu và nhưc
ñi#m ca m'i gii thut.
CHƯƠNG 2. THUT TOÁN
ADVANCED ENCRYPTTION STANDARD
Chu/n mã hóa AES cho phép x lý các khi d% liu ñ u vào có kích
thưc 128 bit s d&ng các khóa có ñ dài 128, 192 hoc 256 bit vi các tên
gi là AES-128, AES-192 hay AES-256. Chương này tp trung ñc t chi
ti"t thut toán.
2.1. Các thu!t ng-
2.2. Các ký hi%u và qui ư+c.
2.2.1. Các hàm, ký hiu và tham s ca thut toán
2.2.1.1. Các ký hiu phép toán:
Phép nghch ño bit (⊕-XOR), phép nhân ña th*c (⊗), phép nhân trên
trưng h%u hn (•).
2.2.1.2. Các tham s ca thut toán:
2.2.2. Các quy ưc
2.2.2.1. Đu vào, ñu ra
Đ u vào (Input) và ñ u ra (Output) ca thut toán AES là các dãy nh
phân 128 bit ñưc ñánh s th* t t( 0, còn ñưc gi là các khi (block).
Khóa mã dùng tho thut toán AES là mt dãy nh phân có ñ dài 128, 192
hay 256 bit.
2.2.2.2. Đơn v Byte:
Byte là mt dãy 8 bit ñưc bi#u di3n dưi dng các bit nh phân theo
th* t {b7, b6, b5, b4, b3, b2, b1, b0} hoc bi#u di3n trên trưng h%u hn
b)ng ña th*c:
∑
=
7
0i
ii
xb
hoc b)ng 2 ký t trong h Hexa. Mt s phép toán
trên trưng h%u hn còn ñòi h.i thêm mt bit (b
8
) vào bên trái ca mt byte
8 bit, ký hiu là {01}.
- 10 -
2.2.2.3. Mng Byte
Các mng byte ñưc bi#u di3n theo dng sau: a0 a1 a2 … an-1 (vi
n=16, 24 hay 32 tùy thuc vào ñ dài ca d% liu ñ u vào là 128 bit, 192 bit
và 256 bit).
2.2.2.4. Mng trng thái (State)
Mng trng thái là mt mng hai chiu gm 4 hàng, Nb ct, ký hiu là s
ñưc dùng ñ# lưu tr% giá tr trung gian trong m'i bưc ca quá trình x lý
B7t ñ u ca phép mã hóa hay gii mã là vic sao chép mng các byte
in0, in1, in2, …, in15 ñ u vào vào mng trng thái s theo công th*c sau:
s[r,c]= in[r+4c], vi 0 ≤ r, c ≤ 4
Vào cui quá trình mã hóa hay gii mã, Mng trng thái s8 ñưc sao
chép vào mng byte ñ u ra theo công th*c: out0, out1, out2, …, out15
2.2.2.5. Mng các t
Bn Byte trên m'i ct ca Mng trng thái ñưc to thành mt t( 32
bit là mt mng gm 4 byte ñưc ñánh ch, m&c theo hàng r. T( ñó ta có th#
coi Mng trng thái là mt mng môt chiu gm các t( w0, w1, w2, w3,
trong ñó giá tr ct c dùng làm ch, m&c cho mng.
2.3. Cơ s. toán hc
Hai phép cng và phép nhân trên trưng Galoris GF (2
8
) là cơ s$ toán
hc ca thut toán AES.
2.3.1. Phép cng
Phép “cng” $ ñây ñưc hi#u là phép XOR trên hai bit tương *ng trong
byte và có ký hiu là ⊕
2.3.2. Phép nhân
Phép nhân trên trưng GF(2
8
), ký hiu là ⦁, tương *ng vi phép nhân
thông thưng ca hai ña th*c ñem chia ly dư (modulo) cho mt ña th*c ti
gin bc 8. Trong thut toán AES, ña th*c ti gin ñưc chn là:
m(x) = x8 + x4 + x3 + x + 1 (2.2)
hay {01}{1b} n"u bi#u di3n dưi dng hexa.

