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

Bài giảng An toàn và an ninh thông tin: Chương 2 - Nguyễn Linh Giang

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 (171.5 KB, 28 trang )

An tồn và An ninh thơng tin
Nguy n Linh Giang
B mơn Truy n thơng
và M ng máy tính


I.
II.
III.
IV.
V.
VI.

Nh p mơn An tồn thơng tin
Các ph ng pháp mã hóa đ i x ng
Các h m t khóa công khai
Xác th c thông đi p
Ch ký s và các giao th c xác th c
ánh d u n vào d li u


Ch ng II.
Các ph ng pháp mã hóa đ i x ng
1.

2.

3.
4.

S đ chung c a ph ng pháp mã hóa


đ i x ng
M t s ph ng pháp mã hóa đ i x ng
kinh đi n
Ph ng pháp DES
Qu n tr và phân ph i khóa


S đ mã hóa đ i x ng
Gi thi t




Thu t tốn mã hóa ph i đ m nh đ không th gi i
mã đ c thông đi p n u ch d a trên duy nh t n i
dung c a v n b n đ c mã hóa( ciphertext ).
S an toàn c a ph ng pháp mã hóa đ i x ng ch
ph thu c vào đ bí m t c a khóa mà khơng ph
thu c vào đ bí m t c a thu t tốn.


S mó húa i x ng
X*

Thám mÃ

Nguồn thông
điệp

X


Khối mà hóa
K

Y

K*

Khối giải mÃ

Kênh mật

Khóa
mật

Mụ hỡnh h th ng mó húa i x ng.

X

Nguồn thông
điệp


S đ chung c a ph
đ i x ng

ng pháp mã hóa

Ngu n thơng tin:







T p h p thơng đi p c a ngu n:
Các xâu ký t X = { X1, X2, ..., XM };
Thông đi p: xâu ký t đ dài m:
Xi = [ xi1, xi2, ..., xim ]
xik∈ A; A – b ng ký t ngu n; thông th ng A= {0, 1}
M i thông đi p Xi có m t xác su t xu t hi n P( X = Xi )


S đ chung c a ph
hóa đ i x ng

ng pháp mã

Khóa m t mã



T p h p khố K = { K1, K2, ... KL},
Khóa đ dài l: Ki=[ki1, ..., kil];
kij ∈ C, C - b ng ký t khóa; thơng th
= {0, 1}

ng C



S đ chung c a ph
hóa đ i x ng

ng pháp mã

Mã m t:




T p h p thông đi p mã m t Y = [ Y1, Y2, ..., YN ]
Thông đi p mã m t: Yj = [yj1, yj2, ..., yjn]
yjp ∈B, B – b ng ký t mã m t; thông th ng B = {0, 1}


S đ chung c a ph
hóa đ i x ng

ng pháp mã

Q trình mã hóa và gi i mã:


Q trình mã hóa:
Y = EK( X )



Q trình gi i mã:
Bên nh n gi i mã thông đi p b ng khóa đ


c phân ph i:

X = DK( Y ) = DK ( EK,R( X ) )


S đ chung c a ph
hóa đ i x ng

ng pháp mã

Phía t n cơng


V n đ đ t ra: đ i ph ng nh n đ c thông đi p
Y, nh ng khơng có đ c khóa K. D a vào thông
đi p Y, đ i ph ng ph i khôi ph c l i ho c K,
ho c X ho c c hai.


S đ chung c a ph
đ i x ng

ng pháp mã hóa

M t mã


Phân lo i các h th ng m t mã
D ng c a phép toán tham gia vào mã hóa v n b n t d ng

thơng th ng sang d ng đ c m t mã hóa;
S l ng khóa đ c dùng trong thu t tốn.



Ph



H th ng mã hóa đ i x ng.
H th ng mã hóa khơng đ i x ng.

ng th c mà v n b n ban đ u đ
Mã hóa kh i;
Mã hóa dịng.

c x lý:


S đ chung c a ph
hóa đ i x ng

ng pháp mã

Thám mã







Ch bi t v n b n đ c mã hoá;
Bi t m t s v n b n g c và m t mã t ng ng;
T n công b ng v n b n rõ đ c l a ch n tr c;
T n công b ng m t mã cho tr c;
T n công b ng b n rõ tùy ch n.


S đ chung c a ph
hóa đ i x ng
S đ mã hóa đ


ng pháp mã

c coi là an tồn vô đi u ki n

V n b n mã m t không ch a đ thông tin đ xác đinh
duy nh t v n b n g c t ng ng;

S đ mã m t đ
tốn

c coi là an tồn theo tính

Giá thành t n cơng v t q giá tr c a thông tin m t;
– Th i gian gi i m t v
t quá th i h n gi m t c a thông
tin.




S đ chung c a ph
hóa đ i x ng


ng pháp mã

Ví d : thu t tốn DES ( Data Encryption Standard ): Khố nh phân

dài 32 bit ⇒S l ng khoá: 232 ⇒ 35.8 phút x lý v i t c đ
1 phép mã hoá/μs ⇒ 2.15 ms v i t c đ 106 phép mã hố / μs.

dài 56 bit ⇒S l ng khoá: 256 ⇒ 1142 n m x lý v i t c
đ 1 phép mã hoá/μs ⇒ 10.01 gi v i t c đ 106 phép mã hố /
μs.

dài 128 bit ⇒S l ng khố: 2128 ⇒ 5.4 x 1024 n m x lý v i
t c đ 1 phép mã hoá/μs ⇒ 5.4 x 1018 n m v i t c đ 106 phép
mã hoá / μs.


M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Các ph


ng pháp thay th

Mã Caesar

Các ký t ch cái đ c gán giá tr ( a = 1, b = 2, ... )
C = E( p ) = ( p + k ) mod ( 26 )
Trong đó k = 1 .. 25.
k là khố m t mã.
Quá trình gi i mã:
p = D( C ) = ( C – k ) mod ( 26 )


M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Các v n đ c a mã Caesar:





Thu t toán mã hoá và gi i mã đã bi t tr c.
Thám mã:
Khơng gian khóa nh : ch có 25 khố;
Khi thám mã b ng ph ng pháp vét c n: ch c n th
v i 25 khóa;
Ngơn ng trong b n g c đã bi t tr c và d dàng nh n
bi t.


M t s ph ng pháp mã hóa đ i
x ng kinh đi n


Mã m t Hill

Thu t toán mã hoá
– M i ký t đ
c gán giá tr s : a = 0, b = 1, ..., z = 25
– L a ch n m ký t liên ti p c a v n b n g c;
– Thay th các ký t đã l a ch n b ng m ký t mã m t,
đ c tính b ng m ph ng trình tuy n tính.
– H ph
ng trình mã hóa:
C = KP ( mod 26 )
K- ma tr n khóa
Thu t tốn gi i mã
P = K-1C ( mod 26 )


M t s ph ng pháp mã hóa đ i
x ng kinh đi n


Ví d : v i m = 3, h các ph ng trình tuy n tính có d ng
sau:
C1 = ( k11p1 + k12p2 + k13p3 ) mod 26
C2 = ( k21p1 + k22p2 + k23p3 ) mod 26
C3 = ( k31p1 + k32p2 + k33p3 ) mod 26

⎛ C1 ⎞ ⎛ k11
⎜ ⎟ ⎜
⎜ C2 ⎟ = ⎜ k 21
⎜C ⎟ ⎜k
⎝ 3 ⎠ ⎝ 31


k12
k 22
k32
C = KP

k13 ⎞⎛ p1 ⎞
⎟⎜ ⎟
k 23 ⎟⎜ p2 ⎟
k33 ⎟⎠⎜⎝ p3 ⎟⎠


M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Ma tr n K là ma tr n khố m t mã
– Ví d : v i ma tr n K b ng:



⎛ 17 17

K = ⎜ 21 18
⎜2
2


5⎞

21 ⎟
19 ⎟⎠


Xâu ký t : “paymoremoney” s đ c mã hoá thành
“LNSHDLEWMTRW”
“pay” ⇔ (15, 0, 24 ); K( 15, 0, 24 )T mod 26 = ( 11, 13, 18) ⇔ “LNS”


M t s ph ng pháp mã hóa đ i
x ng kinh đi n


Gi i mã thông đi p b ng ma tr n K-1.

9
⎛ 4

-1
K = ⎜ 15 17
⎜ 24 0


15 ⎞

6⎟
17 ⎟⎠

H mã Hill:
– Các phép toán th c hi n theo modulo 26


C = E K (P) = KP



−1
−1
=
=
=
P
D
(C)
K
C
K
KP = P
K



M t s ph ng pháp mã hóa đ i
x ng kinh đi n
M c đ an toàn c a h mã Hill




Mã m t Hill có tính m t cao khi phía t n cơng ch có v n b n
m t.
Thám mã h mã Hill: d dàng b b khóa n u bên t n cơng bi t
đ c v n b n rõ và v n b n m t t ng ng ( known plaintext
attack )
H mã m t Hill m x m;

Thám mã đã có m c p v n b n g c – v n b n m t, m i
v n b n có đ dài m;
T o các c p: Pj = ( p1j, p2j, ..., pmj ) và Cj = ( C1j, C2j, ..., Cmj )
sao cho Cj = KPj v i 1≤ j ≤ m đ i v i m t khoá K ch a
bi t.
Xác đ nh hai ma tr n m x m, X = ( pij ) và Y = ( Cij )


M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Ta có Y = XK ⇒ K = X-1Y.
– Ví d : v n b n g c: “friday” đ
Hill 2 x 2 thành “PQCFKU”.


c mã hoá b ng mã m t

Ta có: K( 5 17 ) = ( 15 16 ); K( 8 3 ) = ( 2 5 ); K( 0 24 ) = ( 10
20 )
V i hai c p ban đ u ta có :

⎛15 16 ⎞ ⎛ 5 17 ⎞
⎜⎜
⎟⎟ = ⎜⎜
⎟⎟K ⇒
⎝ 2 5 ⎠ ⎝8 3 ⎠
−1

⎛ 5 17 ⎞ ⎛15 16 ⎞ ⎛ 9 1 ⎞⎛15 16 ⎞ ⎛ 7 19 ⎞
⎟⎟ ⎜⎜

⎟⎟ = ⎜⎜
⎟⎟⎜⎜
⎟⎟ = ⎜⎜
⎟⎟
K = ⎜⎜
⎝ 8 3 ⎠ ⎝ 2 5 ⎠ ⎝ 2 15 ⎠⎝ 2 5 ⎠ ⎝ 8 3 ⎠


M t s ph ng pháp mã hóa đ i
x ng kinh đi n


H th ng Vernam.
ch ng l i quá trình thám mã, c n l a ch n khố tho mãn:



Khố có đ dài b ng v n b n rõ.
Khóa đ c ch n sao cho khố và v n b n g c đ c l p th ng kê.

H mã m t Vernam:
Dùng cho mã nh phân
– Ci = pi ⊕ ki
– pi: bit th i c a v n b n g c;
– ki: bit th i c a khoá;
– Ci: bit th i c a v n b n đ
c mã hoá;
– ⊕: phép toán XOR.




M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Gi i mã b ng phép toán ng c: pi = Ci ⊕ ki
T o khoá: t o vịng l p v i m t khố. Nh v y th c t , h
th ng làm vi c v i m t khóa r t dài nh ng l p l i.
H th ng Vernam có th b phá n u đ i ph ng bi t m t
v n b n mã có đ dài đ l n, s d ng m t s v n b n
g c đã bi t.
V i khoá đ c sinh ng u nhiên, có đ dài b ng đ dài
v n b n g c, không l p l i: s đ mã s d ng m t l n (
one-time pad ): khơng th phá khố.
u ra đ c l p th ng
kê v i v n b n g c.
V n đ n y sinh: đ m b o m t cho quá trình g i và nh n
khoá ng u nhiên.


Mã hóa kh i ( block cipher )
nh ngh a




Mã kh i là m t mã khóa đ i x ng th c hi n trên
nhóm bit có đ dài c đ nh. Nhóm bit này đ c g i
là m t kh i. Quá trình chuy n đ i khơng thay đ i.
Khi mã hóa, mã kh i có th th c hi n trên t ng kh i
đ dài 128 bit c a b n rõ t i đ u vào th nh t và cho
ra kh i 128 bit c a mã m t.

Quá trình bi n đ i đ
khóa m t



c ki m sốt b ng đ u vào th hai:

Quá trình gi i mã th c hi n t ng t : nh n t i đ u
vào th nh t kh i 128 bit c a m t mã, khóa m t và
t i đ u ra ta nh n đ c kh i 128 bit c a b n rõ


×