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

Nghiên cứu giải thuật advanced encryption standard mã hóa các văn bản mật tại trường cao đẳng công kỹ nghệ đông á

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 (933.07 KB, 13 trang )

-1-

-2-

B GIÁO D C VÀ ĐÀO T O

Cơng trình đư c hoàn thành t i

Đ I H C ĐÀ N NG

Đ I H C ĐÀ N NG

NGUY N VĂN MINH

Ngư i hư ng d n khoa h c: TS. NGUY N THANH BÌNH

Ph n bi n 1: PGS.TS. VÕ TRUNG HÙNG
NGHIÊN C U GI I THU T
ADVANCES ENCRYPTION STANDARD MÃ HĨA

Ph n bi n 2: TS. TRƯƠNG CƠNG TU N

VĂN B N M T T I TRƯ NG CAO Đ NG
CÔNG K NGH ĐÔNG Á

Chuyên ngành: KHOA H C MÁY TÍNH

Lu n văn đư c b o v trư c H i ñ ng ch m Lu n văn t t
nghi p th c sĩ k thu t h p t i Đ i h c Đà N ng vào ngày 15
tháng 10 năm 2011


Mã s : 60.48.01

TÓM T T LU N VĂN TH C SĨ K THU T

Có th tìm hi u lu n văn t i:
- Trung tâm Thông tin - H c li u, Đ i h c Đà N ng

Đà N ng - Năm 2011

- Trung tâm H c li u, Đ i h c Đà N ng


-3-

-4-

Triple DES, Advanced Encryption Standard – AES; phương pháp mã hóa

M

Đ U

1. Lý do ch n đ tài
Ngày nay v i s xu t hi n c a máy tính, các tài li u văn b n gi y t và
các thơng tin quan trong đ u đư c s hóa và x lý trên máy tính, đư c
truy n ñi trên m t môi trư ng mà m c đ nh là khơng an tồn. Do đó u c u
v vi c có m t cơ ch , gi i pháp đ b o v s an tồn và bí m t c a các
thơng tin nh y c m, quan tr ng ngày càng tr nên c p thi t.Vi c b o v d
li u là v n ñ mà t t c nh ng ai s d ng máy tính quan tâm. D li u c a
m i ngư i dùng có th khác nhau t các t p tin văn b n ñ n các chương

trình máy tính ho c các d li u r t quan tr ng như tài kho n trong ngân
hàng, bí m t qu c gia. Tùy theo t m quan tr ng c a tài li u mà ngư i dùng
l a ch n các phương pháp khác nhau. Trong đó, đ m b o tính b o m t n i
dung c a t p tin là c n thi t. Vì v y, các t p tin sau khi t o c n đư c mã hóa
nh m tăng tính b o m t và đ an tồn c a d li u. Mã hóa đư c xem là m c
b o v t i ưu nh t đ i v i d li u giúp thơng tin khơng b l và nâng cao đ
an tồn trong các giao d ch truy n t i thông tin.
M t mã h c – Cryptography (hay crypto) – ngành khoa h c nghiên c u
v vi c gi u thông tin. C th hơn, m t mã h c là ngành h c nghiên c u v
nh ng cách chuy n đ i thơng tin t d ng "có th hi u ñư c" (b n rõ –
plaintext) thành d ng "khơng th hi u đư c" (b n mã – ciphertext) và
ngư c l i. M t mã h c giúp đ m b o tính bí m t c a thông tin – thông tin
ch ti t l cho nh ng ai đư c phép; tính tồn v n – thơng tin khơng th b
thay đ i mà khơng phát hi n; tính xác th c – ngư i g i ho c ngư i nh n có
th ch ng minh đúng h ; đ m b o tính khơng ch i b , t c là ngư i g i ho c
nh n sau này không th ch i b vi c ñã g i ho c nh n thơng tin.
Trên th c t đã có nhi u phương pháp mã hóa và các thu t tốn tương
ng v i 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 v i các thu t tốn Data Encryption Standard – DES,

b t đ i x ng v i khóa cơng khai g m các thu t toán n i ti ng: DiffleHellman, RSA... Trong các thu t tốn k trên, AES cịn đư c bi t v i m t
tên g i khác là thu t toán Rijndael do hai tác gi Vincent Rijmen, Joan
Daeman ñ ngh và ñư c Vi n tiêu chu n và công ngh qu c gia Hoa Kỳ NIST (National Institue of Standards and Technology) ch n làm chu n mã
hóa nâng cao trong cơng báo FIPS PUB 197. AES đư c đánh giá là m t
thu t tốn tiên ti n áp d ng r ng rãi trong các h th ng khác nhau t các th
thông minh cho đ n các máy tính cá nhân k c ph n c ng và ph n m m.
Trong ph m vi c a trư ng Cao đ ng cơng k ngh Đơng Á có r t nhi u
tài li u quan tr ng c n ñư c lưu gi bí m t. Đi n hình là các đ thi t t
nghi p cu i khóa kèm đáp án, h sơ sinh viên, các cơng trình nghiên c u
khoa h c, các đ án chưa đư c cơng b . Cơng tác đ m b o bí m t cho các

tài li u c a nhà trư ng hi n chưa đư c quan tâm đúng m c. Do đó, v i
nh ng k thu t tinh vi, l i d ng các l h ng c a h th ng, t i ph m có th
d dàng ti p c n các thơng tin m t đó.
2. M c ñích nghiên c u và k t qu ñ t đư c
Xu t phát t cơ s phân tích, tơi ch n ñ tài "Nghiên c u gi i thu t
Advances Encryption Standard mã hóa văn b n m t t i trư ng Cao
đ ng cơng k ngh Đơng Á" nh m nghiên c u gi i thu t mã hóa đ i x ng
Advanced Encryption Standard - AES ñ ñưa ra m t phương pháp mã hóa
t p tin t i ưu và xây d ng h th ng mã hóa các tài li u m t đ m b o đ an
tồn c a d li u, tin c y, bí m t c a tài li u.
M c đích c a 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 li u, so sánh các ưu ñi m, như c ñi m c a m t s thu t
tốn hi n t i, đ ng th i nêu ra các ng d ng ñi n hình liên quan đ n các
thu t tốn trên. Trong đó, tơi t p trung nghiên c u sâu gi i mã hóa d li u
tiên ti n nh t hi n hay, AES, và m t s cơ ch mã hóa t p tin đã có đ t ñó
ñưa ra m t gi i pháp mã hóa t p tin đ m b o các tính ch t, ñ c ñi m c a
v n ñ b o m t thông tin.


-5-

-6-

3. Phương pháp và ph m vi nghiên c u

2. C là không gian b n mã: là t p h u h n các b n mã có th có.

D a trên cơ s thu th p các tài li u liên quan c a các tác gi trong và

3. K là khơng gian khóa: là t p h u h n các khóa có th có.


ngồi nư c đ tìm hi u và phân tích các thơng tin liên quan ñ n lu n văn.

4. Đ i v i m i k∈K, có m t quy t c mã hóa ek∈E và m t quy t c gi i

Nghiên c u và cài ñ t gi i thu t AES trên mơi trư ng Windows. Sau đó,

mã tương ng dk∈D. V i m i ek: P → C và dk: C → P là nh ng hàm

ki m th và ñánh giá k t qu .

mà dk(ek(x))=x cho m i b n rõ x∈P. Hàm gi i mã dk chính là ánh x

Đ tài ch nghiên c u ng d ng mã hóa các văn b n quan tr ng t i
trư ng Cao đ ng Cơng K Ngh Đông Á.
4. C u trúc c a lu n văn
C u trúc c a ñ tài ñư c t ch c thành 03 chương.
Chương 1. T ng quan mã hóa thơng tin

1.1.3.

ngư c c a hàm mã hóa ek..
Ngun t c Kerckhoffs

M t h m t mã s ñư c an toàn ngay c khi t t c m i th trên h
th ng đó là cơng khai ngo i tr khóa (key).
"Thu t tốn mã hóa đư c t o ra khơng c n ph i gi bí m t, có th đư c

Chương 2. Thu t tốn Advanced Encryption Standard


công b công khai, rơi vào tay quân đ ch mà khơng có b t kỳ s phi n ph c

Chương 3.

nào c ".
1.2.
Tính ch t c a mã hóa thơng tin

ng d ng thu t tốn Advanced Encryption Standard mã hóa

các văn b n m t trong trư ng Cao đ ng cơng k ngh Đơng Á

Mã hóa thơng tin ph i đ m b o các tính ch t sau: Tính bí m t

CHƯƠNG 1. T NG QUAN MÃ HĨA THƠNG TIN
Chương 1 này t p trung nghiên c u m t s lý lu n, các cơ s lý thuy t
v m t mã h c ñ ng th i gi i thi u m t s thu t toán ph bi n.
1.1.
Các khái ni m
1.1.1. M t mã h c
Đ nh nghĩa 1.1:
M t mã h c là nghiên c u các thu t tốn liên quan đ n khía c nh b o
m t thông tin như thông tin m t, ràng bu c d li u, ch ng th c th c th ,
ch ng th c ngu n g c d li u Error! Reference source not found..
M t s

khái ni m trong m t mã h c g m: Mã hóa (encrypt hay

encipher), Gi i mã (Decrypt hay decipher), B n rõ (Plaintext), Cipher (hay
cypher), Khóa (Key).

1.1.2. H m t mã (Crypto System):

(Confidentiality), tính xác th c (Authentication), tính tồn v n (Integrity),
tính khơng th ch i b (Non-repudation).
1.3.
Đ an toàn c a h m t mã
Đ an toàn c a thu t tốn ph thu c vào đ ph c t p c a nó. Các y u
t xem xét thu t tốn an tồn là chi phí hay phí t n; th i gian c n thi t ñ
phá v ; lư ng d li u ñ phá v .
Có hai phương pháp đư c Claude Shannon trình bày vào năm 1949 đ
đánh giá đ an tồn c a m t h m t mã.
1.3.1. Đ an toàn tính tốn:
1.3.2. Đ an tồn khơng đi u ki n
1.4.
Các phương pháp mã hóa
1.4.1. Mã hố c đi n (Classical cryptography)
Phương pháp này là ti n thân c a các phương pháp mã hóa đ i x ng

Đ nh nghĩa 1.2:

ngày nay. Có hai phương pháp n i b t đó là: Mã hố thay th (Substitution

M t h m t mã là b 5 (P,C,K,E,D) thõa mãn các tính ch t sau:

Cipher), Mã hoá hoán v (Transposition Cipher)

1. P là không gian b n rõ: là t p h u h n các b n rõ có th có.


-7-


1.4.2.

Mã hố đ i x ng (Symetric cryptography)

Mã hố đ i x ng s d ng cùng m t khoá cho c hai q trình mã hố
và gi i mã. Mã hố đ i x ng có th tác đ ng trên b n rõ theo t ng nhóm bit
hay theo t ng bit m t.
1.4.3. Mã hoá b t ñ i x ng (Asymetric cryptography)
Mã hóa b t ñ i x ng ñư c thi t k sao cho khố s d ng trong q trình

-8-

Thu t tốn DES b c l m t s ñi m y u mà nh ng k l i d ng nó đ
thám mã.
1.6.1.2. Triple DES (3DES)
Triple DES th t ch t là mã hóa theo DES ba l n v i khóa K1, K2, K3
cho m i l n.
1.6.1.3. Chu n mã hóa cao c p AES

mã hố khác bi t v i khố đư c s d ng trong q trình gi i mã. T t nhiên

AES là m t chu n mã hóa cao c p v i khóa bí m t cho phép x lý các

không th suy lu n khóa gi i mã t khóa mã và ngư c l i. Khố đ mã hố

kh i d li u đ u vào có kích thư c 128 bit và s d ng các khóa có đ dài

đư c g i là khóa cơng khai (Public Key), khố đ gi i mã đư c g i là khóa


128, 192, 256 bit.
1.6.2. Các h mã hóa cơng khai
1.6.2.1. Khái ni m

bí m t (Private Key).
1.4.4. H th ng mã hố khoá lai (Hybrid Cryptosystems)
H th ng mã hoá khoá lai ra ñ i là s k t h p gi a t c đ và tính an
tồn c a hai h th ng mã hoá trên.
1.5.
ng d ng c a mã hóa thơng tin
Mã hóa thơng tin đư c ng d ng trong r t nhi u lĩnh v c c v ph n
c ng và ph n m m.
1.6.
Gi i thi u m t s gi i thu t mã hóa tiên ti n.
1.6.1. Các h mã kh i
Các h mã kh i d a trên cơ s làm vi c v i các kh i d li u là các
chu i bit có kích thư c khau nhau (t i thi u là 64bit), khóa c a h mã hóa
cũng là m t xâu bit có đ dài c ñ nh.
M t s gi i thu t ñư c s

d ng khá ph bi n là DES, Triple DES

(3DES), AES.
1.6.1.1. Mã hóa d DES

Mã hố b ng khố cơng khai là phương th c đư c th c hi n trên hai
khóa, m t đư c dùng đ mã hóa (đư c g i là khóa cơng khai – public key)
và m t khóa đư c dùng trong q trình gi i mã (g i là khóa bí m t –
private key). Khóa gi i mã khơng th tính tốn đư c t khóa mã hóa.
1.6.2.2. Thu t toán RSA

1.6.2.3. H m t mã d a trên các đư ng cong Elliptic
Thu t tốn mã hóa s d ng ñư ng cong elliptic d a vào ñ ph c t p
c a bài toán logarit r i r c trong h th ng ñ i s . M t ñư c cong Elliptic là
m t ñư ng cong t o ra b i m t phương trình d ng m u
Thu t tốn mã hóa d a trên ñư ng cong Elliptic (ECC) th c hi n vi c
mã hoá và gi i mã d a trên t a ñ c a các ñi m d a trên ñư ng cong
Elliptic.
1.6.3. Hàm băm

DES (Data Encryption Standard) là thu t tốn mã hóa v i d li u đ u

Hàm băm là hàm tốn h c chuy n đ i m t thơng đi p có đ dài b t kỳ

vào và ñ u ra là m t kh i 64 bit v i đ dài khóa 64 bit (trong đó 8 đư c

thành m t dãy bit có ñ dài c ñ nh. M i thay ñ i dù là r t nh trên thơng

dùng đ ki m tra tính ch n l ). Thu t tốn th c hi n 16 vịng v i 16 khóa

đi p ñ u vào ñ u làm thay ñ i giá tr băm c a nó.
1.7.
K t chương

(48bit) đư c sinh ra trong m i vịng.
Q trình gi i mã đư c di n ra tương t nhưng v i các khóa con ng
d ng vào các vịng trong theo th t ngư c l i

Chương 1 ñã nêu ra ñư c m t s lý lu n v m t mã h c cũng như các
ng d ng c a nó trong các lĩnh v c khác nhau cũng như gi i thi u cơ b n
m t s phương pháp mã hóa đã và đang đư c các nhà khoa h c nghiên c u



-9-

đ ng th i trình bày ngun t c ho t ñ ng cũng như nêu ra các ưu và như c

- 10 -

2.2.2.3.

M ng Byte

Các m ng byte ñư c bi u di n theo d ng sau: a0 a1 a2 … an-1 (v i

ñi m c a m i gi i thu t.

n=16, 24 hay 32 tùy thu c vào ñ dài c a d li u ñ u vào là 128 bit, 192 bit

CHƯƠNG 2. THU T TOÁN
ADVANCED ENCRYPTTION STANDARD

và 256 bit).
2.2.2.4. M ng tr ng thái (State)
M ng tr ng thái là m t m ng hai chi u g m 4 hàng, Nb c t, ký hi u là s

Chu n mã hóa AES cho phép x lý các kh i d li u ñ u vào có kích
thư c 128 bit s d ng các khóa có đ dài 128, 192 ho c 256 bit v i các tên

ñư c dùng ñ lưu tr giá tr trung gian trong m i bư c c a q trình x lý
B t đ u c a phép mã hóa hay gi i mã là vi c sao chép m ng các byte


g i là AES-128, AES-192 hay AES-256. Chương này t p trung ñ c t chi
ti t thu t 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ý hi u và tham s c a thu t toán
2.2.1.1. Các ký hi u phép tốn:
Phép ngh ch đ o bit (⊕-XOR), phép nhân ña th c (⊗), phép nhân trên
trư ng h u h n (•).
2.2.1.2. Các tham s c a thu t 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) c a thu t toán AES là các dãy nh
phân 128 bit ñư c ñánh s th t t 0, cịn đư c g i là các kh i (block).
Khóa mã dùng tho thu t tốn AES là m t dãy nh phân có đ dài 128, 192
hay 256 bit.
2.2.2.2. Đơn v Byte:
Byte là m t dãy 8 bit ñư c bi u di n dư i d ng các bit nh phân theo
th t {b7, b6, 7 5, b4, b3, b2, b1, b0} ho c bi u di n trên trư ng h u h n
b

∑b x

in0, in1, in2, …, in15 ñ u vào vào m ng tr ng thái s theo công th c sau:
s[r,c]= in[r+4c], v i 0 ≤ r, c ≤ 4
Vào cu i quá trình mã hóa hay gi i mã, M ng tr ng thái s ñư c sao
chép vào m ng byte ñ u ra theo công th c: out0, out1, out2, …, out15
2.2.2.5. M ng các t

B n Byte trên m i c t c a M ng tr ng thái ñư c t o thành m t t 32
bit là m t m ng g m 4 byte ñư c ñánh ch m c theo hàng r. T ñó ta có th
coi M ng tr ng thái là m t m ng môt chi u g m các t w0, w1, w2, w3,
trong đó giá tr c t c dùng làm ch m c cho m ng.
2.3.

Cơ s toán h c
Hai phép c ng và phép nhân trên trư ng Galoris GF (28) là cơ s toán

h c c a thu t tốn AES.
2.3.1. Phép c ng
Phép “c ng”

đây đư c hi u là phép XOR trên hai bit tương ng trong

byte và có ký hi u là ⊕
2.3.2. Phép nhân

ho c b ng 2 ký t trong h Hexa. M t s phép toán

Phép nhân trên trư ng GF(28), ký hi u là ⦁, tương ng v i phép nhân

trên trư ng h u h n cịn địi h i thêm m t bit (b8) vào bên trái c a m t byte

thơng thư ng c a hai đa th c ñem chia l y dư (modulo) cho m t ña th c t i

8 bit, ký hi u là {01}.

gi n b c 8. Trong thu t toán AES, ña th c t i gi n ñư c ch n là:


b ng ña th c:

i =0

i

i

m(x) = x8 + x4 + x3 + x + 1
hay {01}{1b} n u bi u di n dư i d ng hexa.

(2.2)


- 11 -

- 12 -

K t qu nh n ñư c c a phép rút g n là m t đa th c có b c nh hơn 8

Qui trình mã hóa

B t đ u q trình mã hóa, b n rõ ñư c sao chép vào m ng tr ng thái

nên có th bi u di n đư c dư i d ng 1 byte.
2.3.3. Phép nhân v i x

theo phương pháp đư c mơ t
8


Phép nhân v i ña th c x (hay ph n t {00000010}∈GF(2 )) có th
đư c th c hi n

2.4.1.

m c đ byte b ng m t phép d ch trái và sau ñó th c hi n

ph n 2.2.2.4. Sau khi th c hi n thao tác

c ng v i khóa mã ñ u tiên, m ng tr ng thái s ñư c bi n đ i qua Nr vịng
trong đó l n cu i cùng ñư c th c hi n khác v i Nr-1 vịng trư c đó. N i

ti p phép XOR v i giá tr {1b} n u b7=1. Thao tác ñư c ký hi u là xtime().

dung c a m ng tr ng thái

Phép nhân v i các lũy th a c a x có th đư c th c hi n b ng cách áp d ng

hóa.

nhi u l n thao tác xtime(). K t qu phép nhân v i m t giá tr b t kỳ ñư c
xác ñ nh b ng phép c ng (⊕)các k t qu trung gian này l i v i nhau.
2.3.4. Đa th c v i các h s trên trư ng GF(28)
Phép nhân c a hai ña th c b c 4 v i các h

s

Trong quy trình mã hóa c a AES, t t c các vịng l p ñ u s d ng 4
hàm (theo th t Subbytes(), ShiftRows(), MixColumns(), AddRoundKey().


8

trên GF(2 )

a ( x) ⊗ b( x) ñư c xác ñ nh b ng 4 h ng t d(x):
d(x) = d3x3+ d2x2+ d1x+d0
trong đó,

Riêng vịng cu i cùng b qua vi c g i hàm MixColumns().
2.4.1.1. Phép bi n ñ i SubBytes()
Phép bi n ñ i SubByte làm bi n M ng tr ng thái hi n hành b ng cách
s d ng m t b ng thay th (S-Box) như sau:
1. Nhân ngh ch ñ o trên trư ng GF(28). Quy ư c

d 0 = (a0 • b0 ) ⊕ (a3 • b1 ) ⊕ (a2 • b2 ) ⊕ (a1 • b3 )
d1 = (a1 • b0 ) ⊕ (a0 • b1 ) ⊕ (a3 • b2 ) ⊕ (a2 • b3 )
d 2 = (a2 • b0 ) ⊕ (a1 • b1 ) ⊕ (a0 • b2 ) ⊕ (a3 • b3 )
d 3 = (a3 • b0 ) ⊕ (a2 • b1 ) ⊕ (a1 • b2 ) ⊕ (a0 • b3 )
2.4.

Đ c t thu t toán
Thu t toán AES ñư c th c hi n b i tu n t g m nhi u bư c bi n ñ i,

theo. K t qu trung gian c a các phép bi n đ i chính là m ng tr ng thái
ph n 2.2.2.4.

Đ dài c a kh i d li u ñ u vào c a AES là c ñ nh v i Nb=4. Tùy vào
đ dài khóa (Nk=4, 6, 8) ban đ u ta có s l n l p (Nr) cho m i q trình
đư c xác đ nh theo công th c Nr=max{Nb, Nk}+6.


.

2. Áp d ng phép bi n ñ i Affine (trên GF(2) ) sau:

bi' = bi ⊕ b( i+4 ) mod 8 ⊕ b( i+5) mod 8 ⊕ b( i+6 ) mod 8 ⊕ b( i+7 ) mod 8 ⊕ ci
trong đó, 0 ≤ i ≤8 là bit th i b a byte b tương ng và ci là bit th th i
c a byte c v i giá tr {63} hay {01100011}.
2.4.1.2. Phép bi n ñ i ShiftRows()
Làm bi n ñ i các byte trên ba hàng cu i cùng m ng Tr ng thái b ng
cách d ch vòng th hi n qua công th c:

sr' ,c = sr ,( c+ shift ( r , Nb ) mod Nb , v

k t qu ñ u ra c a phép bi n ñ i trư c là ñ u vào c a phép bi n đ i ti p
(state) như đã trình bày

vịng cu i cùng s là bãn mã c a quá trình mã

S

i 0< r ≤3 và 0 ≤ c < Nb

l n d ch vòng shift(r,Nb) ph

thu c vào ch s

(2.13)
vịng. C

th


shift(1,4)=1, shift(2,4)=1, shift(3,4)=3.
2.4.1.3. Phép bi n đ i MixColumns()
MixColumns() là m t phép bi n đ i mã hóa ñư c th c hi n b ng cách
l y t t c các c t c a M ng tr ng thái tr n v i d li u c a chúng m t cách
ñ c l p nhau ñ t o ra các c t m i.


- 13 -

2.4.1.4.

- 14 -

Phép bi n ñ i AddRoundKey()

Phép AddRoundKey() nh m b sung khóa riêng bi t cho m i vịng l p
trong q trình mã hóa hay gi i mã c a AES. Các khóa này đư c sinh ra t
th t c sinh khóa. Hàm AddRoundKey() th c hi n b ng cách c ng m t

Như c đi m là khơng thích h p trên các thi t b th thơng minh vì c n
nhi u mã và s vịng x lý; khơng k th a l i mã l nh mã hóa trong gi i mã
ho c r t ít trong c thi t k ph n c ng và ph n m m.
2.6.
K t chương

khóa vịng t i vịng đang xét v i M ng tr ng thái thơng qua phép tốn XOR
đơn gi n trên bit.
2.4.2. Thu t tốn sinh khóa


chương 2, tác gi t p trung nghiên c u và trình bày m t cách chi ti t
ñ c t gi i thu t AES ñ ng th i nêu ra các ưu ñi m và như c ñi m c a nó.

T o ra m t b ng khóa t khóa ban đ u đ b sung khóa cho các vịng

CHƯƠNG 3. NG D NG THU T TỐN ADVANCED
ENCRYPTION STANDARD MÃ HÓA VĂN B N M T
T I TRƯ NG CAO Đ NG CƠNG K NGH ĐƠNG Á

trong q trình mã hóa hay gi i mã c a AES và ñư c th c hi n trư c tiên.
Th t c này s t o ra t ng c ng Nr+1 khóa đư c lưu tr trong m ng m t
chi u, ký hi u là , ñánh ch m c t 0 đ n Nb*(Nr+1)-1.
2.4.3. Qui trình gi i mã

3.1.

Đ tv nđ
Các văn b n đư c hình thành t i các quan, t ch c, đơn v có th ch a

Q trình gi i mã đư c th c hi n theo chi u ngư c l i v i quy trình mã

đ ng bên trong nó các thơng tin thu c v bí m t Nhà nư c mà m i cơng

hóa, đ ng th i các phép bi n đ i trong q trình này cũng ñư c th c hi n

dân có nhi m v b o v nh m góp ph n xây d ng và b o v T qu c. Vi c

ñ o ngư c. Ngo i tr phép bi n ñ i AddRoundKey() khơng thay đ i vì

lưu tr , b o v bí m t nhà nư c đư c quy ñ nh t i Chương 3 c a Pháp l nh


chính b n thân nó là m t phép bi n ñ i thu n ng ch do ch áp d ng m t

s 30/2000/PL-UBTVQH10.

phép toán XOR.
2.4.3.1. Phép bi n đ i InvShiftRows()
InvShiftRows() chính là phép bi n đ i ngư c c a ShiftRows().
2.4.3.2. Phép bi n ñ i InvSubBytes()
Là phép bi n ñ i ngư c c a SubBytes() ñư c th c hi n trên b ng thay
th S-Box là ngh ch ñ o c a S-Box.
2.4.3.3. Phép bi n ñ i InvMixColumns()
InvMixColumns() là phép bi n ñ i ngư c c a MixColumns().
2.4.3.4. Thu t tốn gi i mã tương đương
2.5.
Các ưu đi m và h n ch c a gi i thu t
Ưu ñi m c a thu t toán AES là cho phép th c thi hi u qu b ng c ph n
m m và ph n c ng mà không c n nhi u b nh và có thi t k ñơn gi n, linh
ho t nhưng v n ñ m b o đ an tồn c a thơng tin.

Trư ng Cao đ ng Cơng K Ngh Đơng Á là m t t ch c giáo d c ho t
ñ ng trong lĩnh v c giáo d c và ñào t o nên các văn b n hình thành trong
quá trình ho t ñ ng thu c danh m c ñư c quy ñ nh t i ñi u 1 c a quy t
đ nh s 160/2005/QĐ-BCA(A11) c a B Cơng An v danh m c bí m t nhà
nư c ñ M t trong ngành giáo d c và ñào t o ph i đư c gi bí m t cho đ n
khi đư c phép cơng b .
3.2.
Th c tr ng qu n lý văn b n t i trư ng Cao đ ng cơng k ngh
Đơng Á
Nh ng văn b n quan tr ng đư c hình thành trong q trình ho t đ ng

c a trư ng Cao đ ng Cơng K Ngh Đơng Á chưa đư c chú tr ng. C th :
-

Đ thi chưa ñư c b o m t t t

-

Các văn b n lưu t i máy cá nhân khơng có cơ ch b o m t.

-

Nhà trư ng chưa l p ñư c danh m c văn b n m t

-

Qu n lý văn b n chưa tuân theo m t quy trình c th


- 15 -

- 16 -

Các gi i pháp và các quy trình ti p nh n, x lý và qu n lý văn b n d a
trên các mô t đư c trình bày trong ph n ti p theo.
3.3.
Mơ t công tác t ch c lưu tr và qu n lý văn b n t i trư ng
Cao ñ ng Công K Ngh Đông Á
3.3.1. Đ c t h th ng
ñây, xây d ng m t máy ch ñ lưu tr t p trung t t c các văn b n
c a ngư i dùng theo t ng danh m c. V i m i t p tin văn b n đư c đánh


Hình 3.1. Sơ đ quy trình x lý cơng văn đ n

Đ i v i các cơng văn đi:

nhãn theo các t khóa khác nhau ph c v cho vi c tìm ki m sau này, ñ ng
th i c p quy n ñ nh ng ngư i đư c phép m i có th xem ho c t i v .
Thông tin c a m t t p tin văn b n và ngư i dùng ñư c lưu tr t i m t
CSDL. Ngư i dùng tương tác qua ng d ng khách.
3.3.2. Xác ñ nh các yêu c u c a h th ng
H th ng sau khi xây d ng ph i ñáp ng ñư c các yêu c u:
-

Cho phép lưu tr , qu n lý toàn b các t p tin văn b n do ngư i dùng
t i lên.

-

Theo dõi và c p nh t thông tin c a các văn b n cũng như “l ch s ”

Hình 3.2. Sơ đ quy trình x lý văn b n n i b

3.3.3.2.

Quy trình ra đ và x lý đ thi

Đ i v i giáo viên:

s phát hành c a nó.
-


Cho phép ngư i dùng tra c u các văn b n theo các tiêu chí.

-

Đ m b o ch nh ng ngư i đư c phép m i có quy n truy c p ñ n văn
b n ch ñ nh.

-

Đ m b o các văn b n quan tr ng ph i đư c mã hóa.

-

Ph i thư ng xun sao lưu d phịng (Back-up).

Hình 3.3. Sơ đ quy trình ra đ thi

Đ i v i b ph n sao in ñ :

- Cho phép th ng kê, theo dõi tình hình th c hi n văn b n
3.3.3. Các quy trình x lý văn b n
3.3.3.1. Quy trình x lý văn b n hành chính
Đ i v i cơng văn đ n:
Hình 3.4. Sơ đ quy trình rút trích, sao in đ thi


- 18 -

- 17 -


3.3.3.3.

3.3.3.4.

c) Sơ ñ ca s d ng c a tác nhân “cán b ”

Qu n lý các văn b n cá nhân

Quá trình nh n và x lý văn b n

Hình 3.5. Sơ đ quy trình ñưa tài li u cá nhân
Gi i mã
Văn b n g c
Truy c p danh
m c văn b n

Đăng nh p
Ngư i dùng

Chuy n văn b n
ñ n ngư i khác

Máy ch
Xóa văn b n

Hình 3.6. Sơ đ ti p ti p nh n và x lý văn b n

3.4.
3.4.1.


Phân tích và thi t k h th ng
Các tác nhân (actor)

Các tác nhân c a h th ng g m: Qu n tr h th ng, nhân viên, cán b
văn thư, lãnh ñ o.
3.4.2. Sơ ñ ca s d ng (use case)
a) Sơ ñ ca s d ng t ng qt

Hình 3.9. Sơ đ ca s d ng c a tác nhân Nhân viên

d) Sơ ñ ca s d ng c a tác nhân “Văn thư”

Hình 3.10. Sơ đ ca s d ng c a tác nhân Văn thư

Hình 3.7. Sơ ñ ca s d ng t ng quát

b) Sơ ñ ca s d ng c a tác nhân “qu n tr h th ng”

Hình 3.8. Sơ đ ca s d ng c a tác nhân Qu n tr h th ng

3.4.3.
a) Ca s
b) Ca s
c) Ca s
d) Ca s
e) Ca s
3.4.4.

Đ c t ca s d ng

d ng “G i văn b n lên máy ch ”
d ng “Mã hóa văn b n”
d ng “Gi i mã văn b n”
d ng “Chuy n văn b n”
d ng “T i văn b n”
Bi u ñ l p


- 19 -

3.4.5.

- 20 -

c) Ho t ñ ng ra ñ thi và x lý ñ thi

Bi u ñ ho t đ ng

a) X lý văn b n hành chính n i b
Văn thư/Nhân viên

Lãnh ñ o

H th ng

Cá nhân liên
quan

Ý ki n ch đ o


[Khơng duy t]

So n th o văn b n
[Duy t]

Đóng d u, Đăng ký vào s

Mã hóa văn b n

Ký duy t

Lưu vào danh m c văn b n

Lưu thông tin văn b n vào CSDL

Ch n ngư i nh n

Chuy n văn b n ñ n ngư i nh n

Th c hi n

Hình 3.11. Bi u ñ ho t ñ ng x lý văn b n hành chính
b) X lý cơng văn đ n
Hình 3.13. Bi u ñ ho t ñ ng ra ñ và x lý ñ thi
d) Ho t ñ ng ti p nh n và x lý văn b n
3.4.6. Bi u ñ tu n t
a) Nhân viên g i văn b n lên máy ch

Hình 3.12. Bi u đ ho t đ ng x lý cơng văn đ n


Hình 3.14. Bi u ñ tu n t lưu tr văn b n


- 21 -

- 22 -

cùng ti n hành gi i mã ph n n i dung còn l i b ng khóa Ke đ thu đư c văn

b) T i văn b n v

b n rõ ban ñ u.
3.5.2.

T ch c t p tin mã hóa

V i nh ng phân tích

trên, t p tin sau khi mã hóa đư c t ch c làm hai

ph n cơ b n: ph n Header ch a các thông tin v t p tin g c và t p tin mã
hóa; ph n Content ch a các byte mã hóa c a t p tin g c ban ñ u. K t c u
c a t p tin mã hóa đư c mơ t như

b ng B ng 3.1.

B ng 3.1. C u t o t p tin mã hóa
Thành ph n
Tiêu đ


Đ dài
6 byte
128 byte
38 byte

Hình 3.15. Bi u đ tu n t t i văn b n

c) Chuy n văn b n ñ n ngư i dùng khác
3.5.
V n ñ mã hóa
3.5.1. Mã hóa và gi i mã văn b n
C hai q trình mã hóa và gi i mã đ u th c hi n d a trên hai khóa bí
m t. M t khóa đư c dùng đ mã hóa n i dung t p tin g i là khóa mã hóa,

64 byte
32 byte

N i dung mã
hóa

4 byte
Nx16 byte

N i dung
D u hi u nh n bi t t p tin mã hóa b i h
th ng
Tên t p tin b n rõ
Th i gian kh i t o và ch nh s a l n cu i
c a t p tin b n rõ
Giá tr băm c a khóa Ku

Giá tr khóa mã hóa Ke đã mã hóa theo
khóa Ku
Giá tr s byte c a kh i cu i cùng
Ch a N kh i byte d li u mã hóa tương
ng v i N kh i byte d li u b n rõ ban
ñ u. M i kh i g m 16 byte d li u.

ký hi u là Ke, đư c sinh ra t b sinh khóa ng u nhiên c a chương trình.
M t khóa đư c dùng đ mã hóa khóa Ke

trên g i là khóa ngư i dùng, ký

hi u Ku, do ngư i dùng nh p t bàn phím.
K t qu mã hóa c a t p tin văn b n rõ theo khóa Ke là CKe. K t qu

3.6.
3.6.1.

Cài đ t
Thi t k h th ng

Xây d ng m t máy ch FTP đ truy n file thơng qua mơi trư ng m ng
và c p phép cho nh ng ngư i dùng ñư c quy n truy c p ñ n nh ng thư

mã hóa c a khóa Ke theo khóa ngư i dùng Ku là CKu. Và k t qu băm c a

m c lưu tr tương ng. Vi c ñăng t p tin lên hay t i t p tin t h th ng v

khóa Ku là BKu. T p h p các d li u BKu, CKu, CKe s là k t qu c a t p tin


ñ u đư c th c hi n qua chương trình ng d ng thi t k riêng. Ngư i dùng

b n mã.

đăng nh p thơng qua chương trình đ đư c phép truy c p ñ n h th ng.

Quá trình gi i mã đư c th c hi n ngư c l i. V i khóa Ku, ta s ti n
hành so kh p giá tr băm c a nó v i BKu đư c đ c t t p tin b n mã. N u
phép so kh p th a mãn thì gi i mã 32 bit ti p theo (tương ñương v i giá tr
CKu) b ng thu t tốn AES v i khóa gi i mã Ku đ nh n đư c khóa Ke. Cu i

Vi c chuy n và nh n văn b n gi a các thành viên ñư c ghi nh n trên CSDL
c a h th ng.
3.6.2. Cơng c
H đi u hành Windows Server 2003 v i công c IIS; MS SQL Server
2008; Microsoft Visual C# trên n n dotNetFramework 4.0.


- 23 -

3.6.3.
3.6.4.

Cơ s d li u
Xây d ng thư vi n mã hóa AESCrypto

Gi i thu t AES đư c cài ñ t trong m t thư vi n có tên AESCrypto g m

- 24 -


K T LU N
Qua q trình nghiên c u, đ tài đã đ t ñư c m t s k t qu nh t ñ nh.
Bên c nh ñó cũng t n t i nh ng h n ch

m t s m t nào ñó. Ph n này s

hai l p: l p AESImpClass kh i t o các giá tr ban ñ u cho gi i thu t; l p

ñánh giá l i nh ng k t qu trên ñ ng th i phân tích các kh năng ng d ng

AESMainClass ch a các hàm mã hóa, gi i mã cũng như các hàm khác như

c a đ tài đ t đó có hư ng phát tri n cao hơn.

đã trình bày trong ph n 2.4.
3.7.
Th nghi m và ñánh giá
K t qu th nghi m cho th y t c ñ x lý trên các lo i t p tin khác nhau
ñ u cho cùng m t k t qu do trong các x lý mã hóa và gi i mã đư c th c
hi n trên t ng byte c a t p tin g c.
T t c các t p tin sau khi mã hóa có đ l n tăng thêm 448 byte so v i
t p tin g c.
Do ñ dài c a các khóa khác nhau trong gi i thu t nên s vòng th c
hi n trong m i quá trình s khác nhau. Đi u này d n t i v i chi u dài khóa
c a nó càng l n thì t c đ x lý ch m hơn.
H th ng qu n lý văn b n này qua th nghi m ñã th hi n m t s ưu
ñi m là kh năng b o m t thông tin r t cao; th c hi n t t ch c năng xu t
b n tài li u lên máy ch , t i và gi i mã văn b n, chuy n ti p văn b n gi a
các ngư i dùng và ñ ng th i cho phép các cá nhân tìm ki m các văn b n
mong mu n theo ch ñ .

3.8.
K t chương
chương 3 này th hi n m t s k t qu ñ t ñư c sau khi cài đ t th
nghi m thành cơng gi i thu t AES trên mơi trư ng Windows. Qua đó, so
sánh t c đ mã hóa và gi i mã c a gi i thu t v i các ñ dài khác nhau trên
các h th ng khác nhau. Đ ng th i áp d ng ñ xây d ng thành công h
th ng qu n lý văn b n chung cho toàn trư ng v i cơ ch b o m t t t.

V k t qu ñ t ñư c
N i dung chính c a đ tài làm rõ cách t ch c, ho t ñ ng c a gi i thu t
AES cũng như kh năng ng d ng c a nó.
K t qu n i b t c a ñ tài là xây d ng ñư c m t h th ng qu n lý văn b n
áp d ng t i trư ng Cao ñ ng Công K Ngh Đông Á d a vào vi c ng d ng
chu n mã hóa AES nói trên vào vi c mã hóa t p tin nh m đ m bào tính an
tồn, bí m t c a thơng tin mà nó ch a đ ng. Qua đó, ngư i dùng hoàn toàn yên
tâm v i nh ng văn b n cá nhân ñư c lưu tr t i h th ng vì tính b o m t và ñ
an toàn cao. Ngoài ra h th ng cũng th hi n ñư c m t s ch c năng ưu vi t
khác như cho phép ngư i dùng chuy n văn b n ñ n nh ng ngư i dùng khác
trong cùng h th ng, và gi i mã nh ng văn b n ñư c phép v máy cá nhân hay
tìm ki m các văn b n như ý mu n theo t khóa.
V ưu đi m và như c đi m c a đ tài
Như đã trình bày, ñ tài th hi n ñư c ba ưu ñi m chính:
Th nh t, ñ tài ñã làm rõ ho t đ ng c a chu n mã hóa AES và ng
d ng thành công vào vi c mã hóa văn b n trên h th ng qu n lý văn b n
ñư c xây d ng và áp d ng t i trư ng Cao đ ng Cơng K Ngh Đơng Á
đ m b o đ an tồn, tính bí m t c a thơng tin.
Th hai, h th ng cũng ñáp ng ñư c các ch c năng quan tr ng c a
m t h th ng qu n lý văn b n.
Th ba, vi c áp d ng h th ng qu n lý văn b n này vào công tác qu n
lý văn b n t i trư ng s giúp ti t ki m v không gian lưu tr , ti t ki m v

th i gian và chi phí chuy n giao văn b n.
Ngồi nh ng ưu đi m k trên, do ph m vi nghiên c u ch t p trung vào
m t s ch c năng chính nên đ tài v n còn m t s h n ch như sau:


- 25 -

-

V v n đ qu n lý khóa mã hóa: Khó khăn nh t c a v n ñ là làm
sao v n chuy n khóa ñ n nh ng ngư i ñư c nh n văn b n. Đây là
m t h n ch c a ñ tài.

-

V ch c năng c a h th ng: Dù h th ng đã đư c phân tích k lư ng
và đư c xây d ng thành cơng nhưng h th ng ch m i ñáp ng m t
s ch c năng cơ b n trong công tác qu n lý văn b n.

-

V cơ ch mã hóa: Do ch t p trung vào vi c cài ñ t gi i thu t và mã
hóa tu n t các kh i d li u c a t p tin ñ u vào và ñánh giá kh
năng th c thi c a gi i thu t theo nguyên b n c a nó nên th i gian x
lý t p tin văn b n còn ch m.
V kh năng ng d ng c a ñ tài
V i nh ng ưu ñi m có đư c c a h th ng, nó có kh năng ng d ng

vào th c ti n r t cao. H u h t trong các cơ quan, doanh nghi p, t ch c
trong quá trình ho t ng d ng công ngh thông tin vào trong cơng tác hành

chính, lưu tr văn b n. Trong kh i lư ng l n văn b n ñư c hình thành trong
q trình ho t đ ng ch c ch n r ng s có nh ng văn b n mang thơng tin
quan tr ng c n đư c b o m t. Tuy nhiên v n ñ ñ m b o an tồn cho nh ng
thơng tin lưu tr đó chưa đư c quan tâm ho c có quan tâm nhưng phương
pháp b o v còn sơ sài, có kh năng b t n cơng và nguy cơ l bí m t là r t
cao. Do đó vi c áp d ng m t h th ng như trên là c n thi t nhưng nh ng
như c ñi m k trên c n ph i kh c ph c ñ t i ưu h th ng.
Hư ng phát tri n
Đ h th ng th c s hi u qu n u đư c áp d ng thì ngoài vi c kh c
ph c nh ng như c ñi m ñư c nêu trên nênphát tri n thêm m t s v n ñ :
-

Nghiên c u m r ng gi i thu t AES đ có th x lý v i kh i d li u
ñ u vào l n hơn như 512 bit hay 1024 bit.

-

Áp d ng cơ ch ña lu ng trên các b x lý hi n nay ñ tăng hi u qu
vi c x lý t p tin.

-

Ti p t c nghiên c u v n ñ qu n lý và v n chuy n khóa mã hóa.



×