ChUng em xin chan thanh cam on Khoa Cong Ngh~ Thong Tin truemg D~i HQcDan L~p Ngo~i Ngfr - Tin HQc Thanh ph6 H6 Chi Minh da:t~o diSu ki~n thu~Igi cho chUng em trong qua trinh th\l'Chi~n
Trang 1BO GIAO DUC vA BAo TAOTRUONG B~I HQC DAN L~PNGQAI NGU.- TIN HQC TP.HCM
KHOA CONG NGH~ THONG TIN
GIANG VIEN HUONG DAN: TS Duo-ng Anh DueSINH VIEN THlfC m~N: Ph~m Nghi Khanh
Le Hoang Phi
THANH PHD HO CHi MINH - 2005
Trang 2ChUng em xin chan thanh cam on Khoa Cong Ngh~ Thong Tin truemg D~i HQcDan L~p Ngo~i Ngfr - Tin HQc Thanh ph6 H6 Chi Minh da:t~o diSu ki~n thu~Igi cho chUng em trong qua trinh th\l'Chi~n dS Ulinay
ChUng em xin chan thanh cam on d6i vai TS Duong Anh Duc, ThS TrfuI MinhTriet da:Iuon quan tam, t~ tinh huang d~n chung em nghien CUuva th\l'c hi~n dStai
Ph~ Nghi Khanh
Le Hoang Phi
Trang 3ChlfO'Dg 2: Coosir Iy thuy~t cae thu~t toaD rna hoa •.•.• • ••• • 10
2 1 Thu~t tmm rna h6a bfulg kh6a bi rn~t - AES 10
2 2 Thu~t toan rna h6a bfulg kh6a cong khai - RSA 34
Dinh Iis6 du Trung Hoa (Chinese Remainder Theorem - CRT) 67
Titi li~u tham khao • • 0000 •• 000 eo ••• 71
3
Trang 4Daoh sach cac hioh
Hinh 2 1:So d6 rno tli qua trinh rna h6a cua thu?t toan AES 12Hinh 2 2: Mo hinh rna h6a rn9t kh6i thong di~p cua thu?t toan MARS 19Hinh 2 3: Mo hinh xU Iy chi tiSt trong buoc forward mixing 20Hinh 2.4: Mo hinh rn~g Feistello~i 3 cua phep biSn d6i kh6a 21Hinh 2 5: Mo hinh xU Iy chi tiSt trong buoc backward mixing 22
Hinh 2 8: Mo hinh rn9t vang xU Iy cua ham F 33Hinh 2 9: Mo hinh rna h6a va gilii rna cua thu?t toan RSA 36
Hinh 2 10: Mo hinh rna h6a va gilii rna su dl)ng co chS xac th\lc bfuIg kh6a bi
Hinh 2 11: Mo hinh rna h6a va gilii rna su dl)ng co chS xac thlJc thong di~p
Hinh 2 13: Mo hinh bam kh6i thong di~p 512 bit cua ham bam MD5 42Hinh 2 14: Mo hinh chi tiSt rn9t vang xu Iy trong ham bam MD5 44Hinh 3 1:So d6 rno tli quy trinh rna h6a va ky dS thi, kh6a : 49Hinh 3 2: So d6 rno tli qua trinh xac thlJc dS thi 50Hinh 3 3: Mo hinh rno tli qua trinh xac th\lc kh6a 51Hinh 3 4: Mo hinh rno tli qua trinh gilii rna dS thi 51
Hinh 3 6: So d6 xac thlJc t~i h9i d6ng thi 54
4
Trang 5Hinh 3 9: Giao di~n ehinh eua Tool rna h6a 59
Hinh 3 12: Giao di~n t~o kh6a eong khai va kh6a bi rn~t eho trung tam ra d~
Hinh 3 14: Giao di~n ehinh eua Tool giai rna 63Hinh 3 15: Giao di~n xae thlJe eua Tool giciirna 64Hinh 3 16: Giao di~n giciirna d~ thi eua Tool giciirna 65
Trang 6LOi mo'd~u
Hi~n nay, tren the giai, khoa hQc ky thu?t va cong ngh~ thong tin phcittri@nvai t6c dQ nhanh chong va fmh huang den t<1tca mQi lTnh VlJC.Nh~c dencong ngh~ thong tin chung ta khong th@phu nh?n lqi ich rna Internet da mangl<;li.Thong qua m<;lngInternet mQingmJi co th@trao d6i thong tin mQt cach nhanhchong thu?n ti~n Nhung vfuI de Ian nh<1trna chung ta phai d6i m?t do chinh lalam the nao d@bao v~ nhiing dfr li~u quan trQng, ngan ch?il cac hinh thuc t<1ncongoTruac vfuI de do, mQt s6 giai thu?t rna hoa da duqc xay dlJilg nhfun dambao tinh an tom cua dfr li~u
De tai Thfr Dghi~mva cai d~t m(}t sA thu~t toaD bao m~t nghien Clmden mQt s6 thu?t toan bao m?t nhu giai thu?t rna hoa d6i xUng, giai thu?t rna hoacong khai De tai co nhi~m V\l tim hi@uly thuyet ve bao m?t thong tin va xay
dlJilg mo hinh thir nghi~m Trao a6i aJ thi qua mgng Internet.
M?c dti da c6 g~g hoan thanh de tai t6t nghi~p trong ph<;lmvi va kha nangcho phep nhung ch~c ch~n se khong traM khoi nhiing thieu sot, kinh mong nh?nduqc SlJt?il tinh chi bao cua quy thAy co
Trang 7ChU'O'Dg 1: Tang quan
7
Trong thS ky 20, may tinh 1amQt trong nhUng san phfun quan trQng nhAt rnacon ngmJi phcit minh ra Cling vai thai gian, nguai ta khong mu6n sir d\lng mQtmay tinh dan Ie nfra rna se kSt n6i cac may nay l?i thanh mQt m?llg may tinhnhfun Hing kha nang lam vi~c, hi~u biSt, trao d6i, c~p nh~t cac thong tin Trongtinh thS do, m?ng Internet da ra dai vatra thanh xu huang phcittri~n cua thSgiai.
Va ngay nay, cong ngh~ thong tin dang 1a mQt nganh cong ngh~ mlii nhQn, noanh huang dSn mQi m~t dai s6ng, van hoa, xa hQi cua tAt ca cac nuac phcittri~n va dang phcit tri~n Cling vai SlJ phat tri~n cua cong ngh~ thong tin thi
khong ai trong chung ta phu nh~n 19i ich to Ian rna Internet mang l?i Thong qua
m?llg Internet mQinguai co th~ trao d6i thong tin vai nhau mQt cach nhanhchong va thu~ ti~n
Buac sang thS ky 21 1a buac sang mQt thai d?i bling n6 thong tin mQt cachnhanh chong va m?nh me Thong tin ngay nay 1a ngu6n tai nguyen chiSn 1ugc.
NhUng cong ty phcit tri~n va kinh doanh tren moi truang Intranet/Internet, hQphai d6i di~n vai kho khan Ian 1a lam thS nao d~ bao v~ nhUng dfr 1i~u quantr9ng, ngan ch~ ~Ung hinh thuc tAncong, truy xuAtdfr 1i~ubAt,hgp phap tu bentrong (Intranet), hill ca ben ngoai (Internet) Khi mQtnguai muon trao doi thongtin vai mQtnguai hay mQt t6 chuc nao do thong qua m?llg may tinh thi yeu c~uquan tr9ng 1a lam sao d~ dam bao thong tin khong bi sai l~ch ho~c bi 1Qdo SlJxam nh~p cua ke thu ba Truac cac yeu c~u cAn thiSt do, mQt s6 giai thu~t rna
hoa da dugc xay dlJllg nhfun dam bao tinh an toan dfr 1i~ut?i nai lUll trfr cling
nhu khi dfr 1i~udugc truySn tren m?llg
Ma hoa hi~n d?i xuAt hi~n cling vai SlJra dai va phat tri~n cua may tinh di~ntir va cong ngh~ thong tin D6i tugng xir Ii 1acac bits b~ng may tinh di~n tiroMahoa hi~n d?i Ung d\lng tren h~u hSt cac cong C\l tren m?ng Internet Cac thu~ttoau rna hoa bao g6m rna hoa b~ng khoa bi m~t va rna hoa b~g khoa cong khai
da dugc dua ra va dem l?i cho nguai sir dVng SlJan tam khi trao d6i thong tin vai
nhau qua m?llg rna khong sg thong tin bi dauh c~p, d6ng thai co th~ biSt chinh
xac ai 1anguai chu thong di~p, dam bao thong di~p khong bi thay d6i tren duangtruySn va giup cho nguai nh~n biSt ra chu nhan cua thong di~p nhfun trauh SlJch6i cai cua nguai giri thong di~p
Vai SlJphcittri~n vugt b~t cua nganh bao m~t thong tin thi nhfrng san phfun vS
an toan da dugc phat tri~n ngay cang cao, ngay cang co kha nang ch6ng l?i cac
Trang 8ChlfO'Dg 1: TAng quan 8
m
SlJ tfin cong d~ dap (mg l~i nhu cfiu an to~m cho mQt xa hQi dfiy thong tin nhu
hi~n nay
Cac ki~u tfin cong thuemg thfiy [1]
Truy~n nh?n thong tin binh thucmg
- Thay d6i thong tin (modification)
- M~o danh d~ t~o thong tin (fabrication)
• Khong th~ ch6i cai
• Ki~m tra truy C?P
~o
Trang 9Truac tinh hinh do, nhiSu phuong phap bao rn?t da dugc dua ra va ap d\lngrn9t cach r9ng rai Cac thu?t toan rna hoa b~ng khoa bi rn?t dung de bao dam tinh
bi rn?t cua thong tin; trong khi do, cac thu?t toan rna hoa b~ng khoa cong khai,d?c bi~t la chfr ky s6 dugc dua ra nh~ xac dinh thong tin co bi thay d6i tren
duemg truySn khong, ngoai ra no cling con co the xac th\fc dugc nguai gui.
Ngay nay cac leY thi cua hQc sinh thuemg su d\lng chung dS tren toan qu6c, do
do vi~c phan phat dS thi va dam bao dugc tinh bi rn?t cho d~n ngay thi la v~n dSr~t quan trQng, doi hoi cao vS khau t6 chuc Trong khi do cac phuong phap c6dien nhu v~ chuyen dS thi bfulg duemg khong, duemg b9 thi t6n kha nhiSuthai gian cling nhu chi phi trong vk dS an ninh de dam bao cho dS thi d~n cach9i d6ng rn9t cach an toano Hi~n nay, chung ta co the gui dS thi qua m~ng No cothe ti~t ki~rn dugc thai gian va cong suc nhung d6ng thai cling phai dam baodugc tinh bi rn?t cua dS thi tren duemg truySn va khong bi gia rn~o
Vai vi~c ap d\lng cac thu?t toan bao rn?t cung vai rn~g Internet, chung ta cothe giai quy~t dugc cac vk dS do T?n d\lng h~ th6ng e-mail co sful, ta co thetruySn tren rn~g n?fr~ file dS thi da dugc rna hoa dS dam bao tinh bi rn?t, clingnhu dung chfr ky so de xac dinh nguai gui
lrng d\lng dugc th\fc hi~n nh~ gia l?p rno hinh phan phat dS thi tir m9t trungtam ra dS thi d~n cac h9i d6ng thi Ngoai ra, lIng d\lng con he;trg cho nguai dungt~o khoa cong khai va khoa ca nhan de su d\lng chfr kY s6
Trang 10ChU'Ollg 2: Coo sO' Iy thuy~t cac thuat toaD rna hoa
ChU'Ollg 2: Coo so'ly thuy~t cac thu~t toaD rna hoa
Of Standards And Technology) t6 chuc cUQcthi t?O cac thu~t toan cho chuful rna
hoa mai (AES).
Cac yeu cAucua AES:
- Thu~t toan dung khoa bi m~t, d6i xUng, rna hoa theo kh6i
- Kh6i dfr li~u 128 bits, khoa 128/192/256 bits
- M?nh han, nhanh han Triple-DES
- Thai gian s6ng: 20-30 name
- Mo ta dAy du cac chi tiSt vS ky thu~t cling nhu thiSt kS
- Cai d~t dugc tren ca C va Java
CUQcthi dugc cong b6 vao 9/97, h;;mnQp 6/98 15 ung cli vien da dugc ch~pnh~
Sau khi dugc thli nghi~m va danh gia, cac thu~t toan sau day da dugc vao vangchung kSt 8/99:
- MARS :phuc t?P, nhanh, dQ an toan cao
- RC6 :r~t nhanh, r~t dan gian, dQ an toan th~p
- Rijndael :ra rang, nhanh, dQan toan t6t
- Serpent :ch~m,ra rang, de)an toan cao
- Twofish :phuc t?P, r~t nhanh, de)an toan cao
Cac phan tlch danh gia dSu dugc cong b6 cong khai dS co thS so sanh cac thu~ttoan tren theo cac tieu chi:
- it vang l~p phuc t?P hay la nhiSu vang l~p dan gian
- Cai tiSn cac thu~t toan cli hay la thu~t toan hoan toan mai.
KSt qua: Rijndael da dugc chQn la AES (10/2000)
Trang 11Chrrong 2: CO'sO' Iy thuy~t cae thu~it toaD rna hoa 11
2.1 2 Th~t toaD RijDdael
Khai quat:
- Rijndael-AES [1,4] dugc Vincent Rijmen va Joan Daemen (Bi) thi@tk@.
- Thu~t toan co khoa 128/192/256 bits
- Mff hoa kh6i dfr li~u 128/192/256 bits
- Dfr li~u dugc phan thaOO cac kh6i.
- Co s6 vang l?p tinh toan ph\! thuQc vao dQ dai khoa va dQ dai cua kh6i dfrli~u
- MQt vang tiOO toan co cac ham chu y@u sau (cac buac nay co khac OOau
gifra cac vang binh thuemg va vang cu6i dmg):
+ Buac thay th@byte (ByteSub).
+ Buac d6i ch6 dang (ShiftRow).
+ Buac trQn cac cQt (MixColumn, buac nay khong co trong vang cu6i
cung)
+ Buac XOR vai cac khoa con (AddRoundKey).
- T~t ca cac phep toan dva vao XOR va dic bang nen r~t OOaOOva hi~u qua
Trang 12Chuong 2: CoosO'Iy thuy~t cae thuat toaD rna hoa
Trang 13Chuong 2: CO' so'ly thuy~tcae thuat toaD rna hoa 13
Tu day dii li~u ban d~u input, ta dua vao rnQtrna tr?n State, khoa dua vao rnatr?n CipherKey
State la rnQt rna tr~n byte Ma tr?n nay co 4 dong, sf>cQt Nb being chi@udai
cua block chia 32 (Nb co cac gia trj 4, 6 va 8)
Cipher Key dan gian la rna tr?n co 4 dang, sf>cQt Nk being chi@udai khoa
chia 32
- MQt yang rna hoa (round) cua AES:
MQt yang tinh toan binh thuang cua thu~t toano
+ Thay thS byte dung S-box: (ByteSub)
ByteSub thlJc hi~n tren cac byte cua State rnQtcach dQc l~p
Bang thay thS (S-box) dugc xay dlJllg b~ng cach t6ng hgp hai phepbiSn d6i:
Phep nhiin nghjch dao tren twang GF(28).
1Jng d\lng phep biSn d6i affine (tren twang GF(2))
Trang 14Chuong 2: Co' sO' Iy thuy~t cac thu~lt toaD rna hoa 14
S-box la rn9t rna tr?n 16x16 dugc danh s6 O~f
M9t byte cua State dugc bi~u di~n du6i d~ng hex a la {xy} thi x la
chi s6 dong, y la chi s6 c9t cua S-box
Gia tri cua byte cua State sedugc thay thS bfulg gia tri t~i vi tri [x,y]cua S-box
I
S-box •
Ao,o ao,1 ao, " In.(-yo ao,5 boo. ~,2 h J. ,4 b05.
Alo al,1 aI, aij 1,4 al,5 blo bl,1 b~ b IJ bl,5
1,4
A2,o a2,1 a2,2 a2,3 a2,4 a2,5 b20 b21, , b22 b23 b2,4 b25, , ,
A30, a3,1 a3,2 a3,3 a3,4 a3,5 b3,o b31, b32 b33 b34 b35, , , ,
Trang 15Chtrong 2: Co' sO' Iy thuy~tcac thuat toaD rna hoa 15
+ Roan vi trong hang (ShiftRow)
Trong ShiftRow, cac dong cua State dugc dich vong khac nhau.Dong 0 khong dich, dong 1 dich C 1 bytes, dong 2 dich C2 bytes vadong 3 dich C3 bytes V 6i C 1, C2 va C3 ph\) thu(>c vao dQ dai cuablock dfr li~u Nb
I Q9 c(x) I- boo bOI bOj b04 b05
~ blj Ibl,3 bl4 bl5
a2,O a2,1 a2j ~2,3 a2,4 a2,5 b20 b2,1 b2j, Ib2,3 b24 b25, ,
b3j Ib3,3 b34 b35
Trang 16ChUO'Dg 2: CO' sO' Iy thuy~t cae thuat toaD rna hoa 16
+ XOR v6i kh6a con (AddRoundkey)
Round Key Addition don gian If! phep XOR tUng byte cua State v6ikh6a con (RoundKey) t~i vi tri tuong tmg
8.0,0 8.0,1 8.o,z aO,3 aO,4 8.0,5
al,O al,1 al,Z al,3 al,4 al,5
az,O aZ,1 az,Z aZ,3 aZ,4 aZ,5
a3,0 a3,1 a3,Z a3,3 a3,4 a3,5
koo ko,1, koz, ko,3 k04 ko,5,
- M6rQng kh6a - t~o cac kh6a con
Chi~u df!i kh6a con bAng chi~u df!i cua block Nb
S6 kh6a con duQ'c t~o ra If! : Nb*(Nr+ 1)
+ Rotword: quay trai 1byte trong word:
+ [bo, bI, bz, b3] -7 [bI, bz, b3, bo]
+ Subword: thay the tUng byte trong word su d\lllg S-box (thu~t toanRijndael chi c6 mQt S-box duy nhfit)
+ Rcon[i] = (RC[i], '00', '00', '00')
V6i RC[i]=l, RC[i]= '02'*RC[i-l] (nhan trong GF(28».
Trang 17ChUO'Dg 2: CO'sO'Iy thuy~tcae thuat toaD rna hoa
Mff gift rna r9ng kh6a.
temp = SubByte(temp);
W[i] = W[i - Nk] A temp;
+ Ch<;mkh6a con cho rn9t yang.
Kh6a avan~ thu i dugc lftytiT Round Key buffer cae words tir w[Nb * i] den w[Nb * (i+ 1)].
17
Trang 18ChlfO'Dg 2: CO"sO'Iy thuy~tcae thuat toaD rna hoa
Giciirna:
Giciirna co cae buac tuong t¥ nhu rna hoa nhung co mQt s6 khac bi~t.
Thu?t toan di til duai len (theo hinh ve cua rna hoa)
Trang buac ShiltRow, xoay phcii cae byte thay cho xoay trai.
Trang buac ByteSub, su d\illg Inverse S-box thay cho S-box
Trang buac MixColum su dVng da thuc d(x) thay cho c(x) Vai:
'03'x3 +'01 'x2 +'Ol'x +'02' Q9 d(x) = '01'
d(x) ='OB'x3 + 'OD'x2+ '09'x +'OE'
d(x) viSt duai d~ng rna tr?n:
- Thu?t toan co dQ dai khoa 128 dSn 400 bits, rna hoa kh6i dfr li~u 128 bits
- Dfr li~u dugc phan thanh 4 word, m6i word 4 byte (32 bits)
- Co su dVng cAutrue m~g Feistel lo~i 3
- Ma hoa va giciirna d6i xilng
Mahoa:
- Qua trinh rna hoa mQt kh6i:
Bao g6m 3 buac: forward mixing, cryptograpic core, backwards mixing.
Trang 19Chuong 2: CO' sO' Iy thuy~tcae thuat toaD rna hoa 19
Backwards mixing
Ciphertext: D'r31 D'r21 D'rI 1 D'rOl
Hinh 2.2: Mo hinh rna hoa mQt khf>ithong di~p cua thu~t tmln MARSD[]: la mQt mimg 4 word 32 bits dfr li~u Ban dftu la cac word cuaplaintext, kSt thuc cua qua trinh rna hoa la cac word cua ciphertext
- Buac 1: Forward mixing
+ CQng 1 word khoa vao m6i word dfr li~u
+ ThlJc hi~n 8 vang unkeyed type-3 Feistel mixing, phf>i hgp vai phepcQng trQn
a m6i vang, sir d\lng 1 data word (gQi la source word) dS biSn d6i 3 data wordcan l<;li(gQi la cac target word) 4 byte cua source word la bo, bI, b2, b3: lfty bo, b2
dS lam chi sf>cho S-box So va bI, b3 lam chi sf>cho S-box SI Dftu tien ta XORSo[bo] vai target word thu 1, sau do cQng SI[bI] vao cling target word do TacQng So[b2] vao target word thu hai va XOR Sl[b3] vai target word thu ba Cuf>icling, ta dich phai source word 24 bits
Cho vang tiSp theo ta dich 4 word, target word dftu tien tra thanh source word tiSp theo, target word thu 2 tra thanh target word dftu tien, target word thu 3 tra thanh target word thu 2 va source word tra thftnh target word thu 3.
Trang 20ChUO'Dg 2: CO' sO' Iy thuy~tcae thuat toaD rna hoa 20
Sau m6i 4 vang, ta cQng 1 target word vao source word Sau vang thu nhdt vathu 5 ta cQng target word thu 3 vao source word va sau vang thu 2 va thu 6 tathem target thu nhdt vao sau source word
0[0]
~ - K[O]
twice
Hinh 2.3: M6 hinh xu ly chi tiet trong buac forward mixing
Trang 21ChU'ong 2: CoosO' Iy thuy~t cae thuat toaD rna hoa 21
- Buac 2: Cryptograpic core
+ Keyed forward transformation
+ Keyed backward transformation
eu m6i vong ta su dVng 1 data word nhu input clla E-function, va 3 wordoutput clla ham nay duQ'c cQng vao ho~c XOR vai 3 data word con l~i.Trang phep cQng, source word duQ'cdich tnii 13 bits
Forward mode 0[0]
phep XORphep cQng
13«< phep xoay tnii 13 bitsHinh 2.4: Mo hinh m~ng Feistello~i 3 clla phep biSn d6i kh6a
Trang 22ChU'ong 2: CO'sO'Iy thuy~tcac thuat toaD rna hoa 22
- Buac 3: Backwards mixing
Backward mixing tuong tvnhu giili rna cua Forward mixing, ngo~i trir cacdata word dugc xu Ii theo cach khac Cv thS la, nSu ta cho output tirforward unkeyed mixing vao input cua backward unkeyed mixing theocach ngugc I~i (vd: output D[3] la input D[O], output D[2] la inputD[1], )
Trang 23ChU'ong 2: Coo sO' Iy thuy~tcae thuat toaD rna hoa 23
2.1 4 RC6
Khai quat:
- RC6 [6] dugc Ronald L Rivest cua M.1.T Laboratory for ComputerScience va M.J.B Robshaw, R.Sydney, Y.L Yin cua RSA Laboratorythi~t k~
- RC6 la phien ban cfti ti~n cua RC5
- Thu~t toan RC6-w/r/b co d9 dai khoa la b (0 :::;b :::;255), block size la wbits, s6 vang tinh toan la r
- RC6 ClfthS cho AES: w=32 (lg(w)=5)va r=20, b={16, 24, 32}
Mahoa:
- T~o khoa con (Key schedule)
Nguai dung cung c~p 1 khoa co d9 dai b byte Cac byte zero dugc themvao dS cho ra m9t khoa co d9 dai b~ng m9t s6 nguyen khac khong cacword Cac byte khoa nay sau do dugc dua vao day c word w-bits L[O], ,L[c-l] Vi v~y byte dAutien cua khoa dugc lUll trong byte th~p cua L[O], , va L[c-l] n~u cAnthi~t co thS d~m them m9t s6 byte zero (n~u b=O thic=l va L[O]=O) S6 word w-bits se dugc t~o ra b~g cach c9ng vao roundkey la 2r+4 va dugc lUlltrong mang S[O, , 2r+3]
- Qua trinh rna hoa m9t kh6i:
RC6 lam vi~c v6i 4 register w-bits A, B, C, D co gia tr! khai t~o 1ftplaintext va cling la gia tr! cua ciphertext khi thu~t rna hoa k~t thuc
Trang 24Chrrong 2: CO'sO'Iy thuy~tcac thuat toaD rna hoa
r Iiisa yang tinh toano
Trang 25ChU01lg 2: CO' sO' Iy thuy~t cac thuat toaD rna hoa
Giai rna:
r hi s6 yang tinh toan
Round key S[O, , 2r+3]
Ciphertext dugc lUlltrong 4 register w-bits A, B, C, D
MQt trong nhUng tmg cli vien cho AES la Serpent [7] Trong thu~t toan nay
co sli dvng dSn S-box ill DES KSt qua cua thu~t toan nay la mQt thu~t toan
(Serpent-O) nhanh nhu DES va an toan han Triple DES, v6i khoa la 192 bits
va 256 bits Thu~t toan Serpent-O dugc cai tiSn thanh thu~t toan Serpent hay
Serpent-l b~ng cach chQn S-box m6i m~h han va thay d6i khoa.
Thuat toan
Serpent co 32 yang xUIy tren 4 word 32 bits
Cac bu6c xli Iy g6m co:
- Roan vi kh6i t~o (initial permutation IP)
- 32,va~g xUIy, m6i yang bao g6~ vi~~ trQn kho~, sau do ~ua gua S-box vabien d6i dang (ngo~i tm yang cu6i) 0 yang cu6i phep bien d6i dang dugcthay thS boi phep trQn khoa
Trang 26Chuong 2: CoosO' Iy thuy~t cae thuat toaD rna hoa 26
- Hoan vi cu6i cling (final permutation FP)
Hoan vi khai t:;l0dugc ap d\lng van plaintext P d@cho ra Bo, rna no dugc dua
van vang xu ly dAutien DAu ra cua vang dAutien (round 0) la BI, dAura cua vang thiT i la Bj + l, tiSp t\lCcho dSn khi dAura cua vang cu6i cling la B32• Hoan
vi cu6i cling dugc ap d\lng d@ cho ra ciphertext C M6i vang ham Rj
(iE {O, ,31}) su d\lng chi rnQt S-box, nhu Ro su d\lng So va ciT tiSp tl)c
8 S-box dugc su d\lng 4 IAn.Nghla la, sau khi su d\lng S7avang thiT 7, thi su d\lng l~i Socho vang xU ly thiT 8 va SI cho vang xu ly thiT 9 Yang cu6i cling
su d\lng S7 cho B31 EB K31 va XOR kSt qua vay v6'i K32 r6i sau do biSn d6itheo dang KSt qua B32 dugc hoan vi bai FP, cho ra ciphertext
V6'i S' I la irng d\lng cua S-box Sjmod 8 VaL la phep biSn d6i theo dang
Chi tiSt 32 vang xU ly
Thu?t toan g6rn 32 vang xu ly Plaintext tra thanh dfr li~u dAutien Bo = P, sau
32 vang xu ly, rn6i vang i E {0, ,31} g6rn 3 phep toan:
- TrQn khoa rn6i vang 128 bits khoa con Kj EB Bj•
- S-box: 128 bits kSt hqp v6'i dAuvan va khoa dugc xern nhu 4 word 32 bits,S-box thvc thi va phep toan theo trinh tv logic van 4 words va kSt qua la 4word dAura Sj (Bj EB KJ
- BiSn d6i dang: 32 bits cua rn6i word dAura dugc trQn
Trang 27ChU011g 2: Coo sO' Iy thuy~t cac thuat toaD rna hoa 27
cfiu true kh6a
Cipher eful132 words 32 bits M6 rQng thanh 33 kh6a con 128 bits Ko K32.Cae kh6a e6 kieh thu6e nhc hon 256 bits duqe them vao 1 bit 1 theo sau vacae bit 0 eho d~n khi e6 kieh thu6e la 256 bits
Wi:= (Wi-SEBWi-S EBWi-3EBWi-IEB ~ EBi)«<I1
Sau d6 tinh l;;ti gia tri 32 bits kj nhu mQt kh6a con Ki (i: 0 ~ r) theo each sau:
Ki := { ktb kti+h kti+2, kti+3 }
Sau d6 dung hoan vi kh6i t;;tOdS tinh round key dS cae bits kh6a vao dung eQtK'i=IP (Ki)
Trang 28Chuong 2: CO'sO- Iy thuy~tcae thuat toaD rna hoa 28
2.1 6 Twofish
Khai quat
Thu~t toan Twofish [3] dugc thi@tk@bai Bruce Schneier, John Kelsey, Dou~Whiting, David Wagner, Chris Hall, Niels Ferguson cho cUQcthi do NIST tochuc
Thuat toan
Twofish su d\lllg 16 vong tinh toan gi6ng nhu cfru truc cua m~ng Feistel them
vao buac whitening cua gia tri dfiu vao va dfiu ra.
Plaintext dugc chia ra thanh 4 words 32 bits Trong buac whitening gia tri dfiu vao, cac plaintext dugc XOR vai 4 word kh6a Buac vao 16 vong xU ly,
hai word ben trai dugc su dVng nhu la gia tri dfiu vao cho ham g MQt trongs6 chung se dugc xoay 8 bits Ham g bao g6m 4 S-box phV thuQc kh6a, saud6 dugc nhan vai rna tr~n MDS K@tqua cua 2 ham g dugc k@thgp vai nhaub~ng cach su dVng phep bi@nd6i PHT, va cQng vai 2 kh6a con Hai k@tquanay sau d6 dugc XOR vao cac word ben phai (mQt trong s6 hai word naydugc xoay trai 1 bit truac, va word kia thi dugc xoay phai 1 bit) Nua trai vanua phai sau d6 dugc hoan vi cho vong xu ly ti@ptheo Sau tfrt ca cac vong
xu ly, hoan vi cua vong l~p cu6i cung dugc gift l~i, va 4 word dugc XOR vai
4 word kh6a dS t~o ra ciphertext
16 byte cua plaintext Po, ,PI5 dugc chia thanh 4 word Po, ',P3 32 bits.Whitening
Whitening la ky thu~t XOR kh6a truac vong l~p dfiu tien va sau vong l~p cu6icung Twofish XOR kh6a con 128 bits truac khi di vao vong dfiu tien cuaFeistel, va 128 bits khac sau vong cu6i cung cua Feistel
Ro,i= Pj EB Kj vai i=O, , 3
HamF
Ham F la phep hoan vi phv thuQc vao kh6a tren 64 bits Ham nay se lfrY2word, 2 word dfiu vao Ro va RJ, vong xu ly thu r chQn ra 2 kh6a con Ro quaham g cho ra gia tri To RI dugc xoay trai 8 bits va sau d6 qua ham g cho ra
T I K@tqua To va T I sau d6 dugc k@thgp vai nhau trong PHT va 2 word cuakh6a rnarQng dugc dua vao
To = g(Ro)
Trang 29Chuong 2: CoosO' Iy thuy~t cac thuat toaD rna hoa 29
nhu Ia mQt vector co chiSu dai Ia 4 qua truang GF(28), va nhan v6i rna tr?n
v6i Si Ia S-box va Z Ia kSt qua Clla ham g
PHT (Pseudo - Hadamard Transforms)
Cho hai gia tri vao a va b, PHT 32 bits dugc dinh nghia nhu sau:
a' = a +b mod 232
b' = a +2 b mod 232
Word thfr 3 R2 dugc XOR v6i gia tri dfiu ra dfiu tien clla ham F sau do xoayphai 1 bit Word thfr 4 R3 dugc xoay trai 1 bit va sau do XOR v6i gia tri dfiu
ra thfr hai clla ham F
Cu6i cling, hai mia dugc hoan vi cho nhau
Trang 30Chuong 2: CoosO' Iy thuy~tcac thuat toaD rna hoa 30
V6'i r=O, ,15 va ROR va ROL la ham xoay tnii va xoay phai word 32 bits.Bu6'c whitening gia tr! dAu ra khong hoan vi avang cu6i va XOR cac dfr li~uv6'i 4 word cua kh6a rna rQng d@cho ra ciphertext
Cj = RI6,(i+2) mod 4 EEl Ki+4, i=O, ,3
Dfiu vao whitenin
BAu ra whitening
~ ffi ffi • Ks K 6• ffi ffi • K 7
(-J -C-(-12-8-b-it-S) -~
Hinh2.7:M6hinhrna h6aTwofish
Trang 31ChUO'Dg 2: CO' sO' Iy thuy~tcae thuat toaD rna hoa 31
Celu trUc kh6a
TiT kh6a ban d~u dugc rna r9ng thanh 40 word kh6a Ko, ,K39 va 4 kh6a
dung cho S-box dugc Slr d\mg trong ham g Twofish dugc dinh nghia v6ichiSu dai kh6a N=128, N=192 va N=256 Belt ky chiSu dai kh6a nao nhc>hon
256 bits dSu c6 thS dung duac b~ng cach them van cac sf>°cho dSn khi chiSudai kh6a dugc xac dinh
Ta c6 k=N/64 Kh6a M g6rn c6 8k byte rno, ,rnSk-l Cac byte d~u tien dugcchuySn thanh 2k word 32 bits
S-box dugc dinh nghia trong ham g bai g(X) = heX,S)
so(x) = ql[qO[qO[x] Ef> so,o]Ef> SI,O]
SI(X) = qO[qO[ql[X]Ef> so,d Ef> Sl,l]
S2(X)= ql[ql[qO[X] Ef> SO,2]Ef> SI,2]
S3(X)= qO[ql[ql[X] Ef> SO,3]Ef> SI,3]
Trang 32Chrrong 2: CO'sO"Iy thuy~tcac thuat toaD rna hoa
Kh6a marl}ng(EXP ANDED KEY WORD K J)
Cae word eua kh6a rnar9ng dugc dinh nghia sudVng ham h
Trang 33ChU011g 2: Coo sO' Iy thuy~tcae thuat toaD rna hoa 33
h 2i
Trang 34ChU'ong 2: CO'sO' IV thuy~t cac thuat toaD rna hoa 34
2 2Thu~t tmln rna hoa b~ngkhoa cong khai - RSA
Gi6i thieu
Thu~t toan RSA duQ'cphat rninh bai Ron Rivest, Adi Shamir, va Leonardo
Adlernan R.Rivest, A.Shamir, L.Adlernan da dua ra rnQt phuong phap d\fatren nh~n xet: co thS d~ dang sinh ra 2 s6 nguyen t6 Ian va nhan chung I?i v6inhau, nhung C\fCIcY kho khan khi rnu6n phan tich thira s6 cho tich do
RSA Ia thu~t toan n6i tiSng nh~t va duQ'Cph6 biSn rQng dii nh~t, sir d\lngkhoa cong khai
LfuI dfiu tien duQ'ccac tac gia dua ra vao nam 1977 (MIT)
RSA da duQ'cdang ky ban quySn t?i B~c My va rnQts6 nu6c khac
Khoa cong khai
Thu~t toan v6i khoa cong khai bftt d6i Xlmg bao g6rn vi~c sir d\lng 2 khoa:
- Khoa cong khai: t~t ca rn9i nguai dSu biSt, dSu co thS sir d\lng dS rna hoathong di~p va kiSrn tra chfr ky
- Khoa ca nhan: chi co nguai nh~n rn6i biSt, sir d\lng dS giai rna thong di~p
va chfr kY s6
RSA Ia thu~t toan b~t d6i Xlmg vi vai tro cua nguai gai va nguai nh~ khongtuong duong Nguai rna hoa thong di~p ho~c kiSrn tra chfr ky khong thS giairna ho~c t?O nen chfr ky
Trang 35Chuong 2: Co' sO' Iy thuy~t die thuat toaD rna hoa
CO' So'toan hoc 1aham mQt chiSu (one-way- function)
y= f(x) 1aham mQt chiSu nSu:
- y= f(x) dS dang tinh dugc
Ch<;m2 s6 nguyen t6100 ng~u nhien P:f:. q
Tinh s6 n =p.q, s6 <pen)=(p-l)( q-l) (n dugc g9i 1a s6 modulo)
Ch9n s6 e ng~u nhien 0<e<<pen),sao cho: (e, <pen))= 1
Tinh s6 d=e-] mod <pen)va 0 <d <<pen)
Kh6a cong khai: Ku= {e, n }
Kh6a ca nhan: KR= {d, n }
Ca nguai gai va nguai nh~ dSu phai biSt gia trj cua n Nguai gai biSt gia trjcua e va chi nguai nh~ biSt gia trj cua d Thu~t toan rna h6a cong khai v6ikh6a cong khai Ku = { e,n } va kh6a bi m~t KR = {d,n}