Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

1

BO MT THNG TIN
BI 3:
M HA I XNG
HIN I
Nguyn Hu Th
2
Ni dung
1. TinyA5/1
2. A5/1
3. TinyRC4
4. RC4

M ha c in
bn tin ngn ng,
mt n v m ha l ch ci,
phng thc thay th hay phng thc hon v.
Thng tin ngy ngy nay
HTML, hnh nh, video, m thanh
=> Biu din trn my vi tnh di dng mt dy cc s nh
phn.
Trong my tnh: ch ci c biu din bng m ASCII.
3
V d:
Bn tin: attack
M ASCII: 97 116 116 97 99 107
Biu din nh phn: 01100001 01110100 01110100 01100001
01100011 01101011
4
M ha i xng hin i
V d m ha i xng hin i
Bn r l cc ch ci ca mt ngn ng gm c 8 ch ci A,
B, C, D, E, F, G, H trong mi ch ci c biu din bng 3
bt.





Nu c bn r l head => nh phn l: 111100000011
5
M ha i xng hin i
Gi s dng mt kha K gm 4 bt 0101 m ha bn r trn
bng php XOR :
bn r: 1111 0000 0011 (head)
kha: 0101 0101 0101
bn m: 1010 0101 0110 (FBCG)
n v m ha khng phi l mt khi 4 bt.
gii m, ly bn m XOR mt ln na vi kha th c li
bn r ban u.
6
M ha i xng hin i
M ha bng php XOR:
Kha c lp li:
=> im yu ging nh m ha Vigenere.
Khc phc: dng mt b sinh s ngu nhin to kha di,
gi lp m ha One-Time pad.
Mt khi c m ha bng php XOR vi kha:
=> Khng an ton v ch cn bit mt cp khi bn r - bn m
(vd: 1111 v 1010) => d dng tnh c kha.
Khc phc: tm cc php m ha phc tp hn php XOR
7
M dng (Stream Cipher)
M dng c cc c tnh sau:
8
M dng (Stream Cipher)
Gii m => thc hin ngc li
Bn m C c XOR vi dy s ngu nhin S cho ra
li bn r ban u:





V d ny khng phi l m dng v s0, s1, s2 lp li kha K.
V phng din kha, v d ny ging m Vigenere.
9
M dng (Stream Cipher)
Vi m dng, cc s s
i
c sinh ra phi m bo mt
ngu nhin no (chu k tun hon di)




Kha c chiu di ngn: Vigenere => khng bo m an ton
Kha c chiu di bng chiu di bn tin: One-Time Pad => khng thc t.
M dng cn bng gia hai im ny => kha ngn nhng dy
s sinh ra bo m mt ngu nhin cn thit nh kha ca
One-time Pad, dng rng khng hon ton thc s ngu nhin.
10
A5/1
A5/1 c dng trong mng in thoi GSM, bo mt d
liu trong qu trnh lin lc gia my in thoi v trm thu
pht sng v tuyn.
n v m ha ca A5/1 l mt bt.
B sinh s mi ln s sinh ra hoc bt 0 hoc bt 1 s dng
trong php XOR.
11
TinyA5/1
M hnh thu nh ca A5/1 gi l TinyA5/1.
C ch thc hin ca b sinh s TinyA5/1 l nh sau:
B sinh s gm 3 thanh ghi X, Y, Z.
Thanh ghi X gm 6 bit, k hiu l (x
0
, x
1
, , x
5
).
Thanh ghi Y gm 8 bit (y
0
, y
1
, , y
7
).
Thanh ghi Z lu 9 bit (z
0
, z
1
, , z
8
).
Kha K ban u c chiu di 23 bt v ln lt c phn b
vo cc thanh ghi: K -> XYZ
12
TinyA5/1
Cc thanh ghi X, Y, Z c bin i theo 3 quy tc:
13
TinyA5/1
Hm maj(x, y, z) nu trong 3 bt x, y, z c t hai bt 0 tr
ln th hm tr v gi tr 0, nu khng hm tr v gi tr 1.
Ti bc sinh s th i, cc php tnh sau c thc hin:
m = maj(x
1
, y
3
, z
3
)
If x
1
= m then thc hin quay X
If y
3
= m then thc hin quay Y
If z
3
= m then thc hin quay Z
V bt c sinh ra l:
Bt s
i
c XOR vi bt th i trong bn r c c bt th i
trong bn m theo quy tc ca m dng.
14
M dng (Stream Cipher)
15
V d: m ha bn r P=111 (ch h) vi kha K l 100101. 01001110.100110000
A5/1
A5/1 hot ng ging nh TinyA5/1.
Kch thc thanh ghi X, Y, Z ln lt l 19, 22 v 23 bt
16
A5/1
Hm maj c tnh trn 3 bt x
8
, y
10
, z
10
. Sau khi quay xong bt
sinh ra l:
Ton b qu trnh sinh dy s ca A5/1 c minh ha qua hnh
bn di:
17
RC4
RC4 c dng trong giao thc SSL bo mt d liu trong
qu trnh truyn d liu gia Web Server v trnh duyt Web.
RC4 cn c s dng trong m ha WEP ca mng Wireless
LAN.
18
TinyRC4
L m hnh thu nh ca RC4
n v m ha ca TinyRC4 l 3 bt.
TinyRC4 dng 2 mng S v T mi mng gm 8 s nguyn 3 bt
(t 0 n 7).
Kha l mt dy gm N s nguyn 3 bt vi N c th ly gi tr
t 1 n 8. B sinh s mi ln sinh ra 3 bt s dng trong
php XOR.
Qu trnh sinh s ca TinyRC4 gm hai giai on:
19
TinyRC4
a) Giai on khi to







Dy S gm cc s nguyn 3 bt t 0 n 7 c sp th t tng
dn. Sau da trn cc phn t ca kha K, cc phn t ca S
c hon v ln nhau n mt mc ngu nhin no .
20
V d:
M ha bn r:
P = 001000110
(t bag)
Kha K gm 3 s
2, 1, 3 (N=3)



21
- Hon v S
Thc hin n khi i=7 v lc dy S l 6 0 7 1 2 3 5 4
TinyRC4
b) Giai on sinh s:





Cc phn t ca S tip tc c hon v.
Ti mi bc sinh s, hai phn t ca dy S c chn tnh
ra s k 3 bt l s c dng XOR vi n v m ha ca
bn r.
22
23
- Tip tc v d trn, qu trnh sinh s m ha bn r bag thc hin:


public static int[] cryptRC4(int S[], int T[], int K[], int N) {
// Giai on khi to
for (int i = 0; i < 8; i++) {
S[i] = i;
T[i] = K[i % N];
}
// Hon v ngu nhin
System.out.println("Hon v mng S[] ");
int j = 0;
for (int i = 0; i < 8; i++) {
j = (j + S[i] + T[i]) % 8;
swap(S, i, j); // Hon v S[i] v S[j]
printArrayInt(S, 8);
}
int i = 0;
j = 0;
int k[] = new int[N];
int loop = 0;
24
System.out.println("Giai on sinh s: ");
while (loop < N) {
i = (i + 1) % 8;
j = (j + S[i]) % 8;

swap(S, i, j);

int t = (S[i] + S[j]) % 8;
k[loop] = S[t];

printArrayInt(S, 8);
loop++;
}
return k;
// Ch : Phng thc (hm) ny c th tch ra thnh nhiu
phng thc nh.
}
25
RC4
C ch hot ng ca RC4 cng ging nh TinyRC4 vi cc
c tnh sau:
n v m ha ca RC4 l mt byte 8 bt.
Mng S v T gm 256 s nguyn 8 bt
Kha K l mt dy gm N s nguyn 8 bt vi N c th ly
gi tr t 1 n 256.
B sinh s mi ln sinh ra mt byte s dng trong php
XOR.
26
RC4
Hai giai on ca RC4 l:







Qu trnh sinh s ca RC4 cng sinh ra dy s ngu nhin, kh
on trc => RC4 c an ton cao
27

You might also like