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

Giáo trình AN TOÀN VÀ BẢO MẬT THÔNG TIN doc

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 (2.07 MB, 145 trang )







TRƯỜNG ĐẠI HỌC HÀNG HẢI
BỘ MÔN: KHOA HO
̣
C MA
́
Y TI
́
NH
KHOA: CÔNG NGHỆ THÔNG TIN




Giáo trình

AN TOÀN VÀ BẢO MẬT THÔNG TIN




: An toàn và bảo mật Thông tin
 : 17212
TRÌNH : ĐẠI HỌC CHÍNH QUY
DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN
















HẢI PHÒNG - 2008


Tên học phần: 





 Loại học phần: II
Bộ môn phụ trách giảng dạy: Khoa h máy tính.
Khoa phụ trách: Công ngh thông tin
Mã học phần: Tổng số TC: 3








75
45
30
0
0
0

Điều kiện tiên quyết:






:
- 







ng
- 







- 

, 









.
Mục đích của học phần:


- 
- 
- 
- 
Nội dung chủ yếu:
2 :
- 

: 












, .
- 



: , 



















Nội dung chi tiết của học phần:


Tên chương mục
Phân phối số tiết
TS
LT
Xemine
BT
KT
Chương I. Giới thiệu nhiệm vụ của an toàn và bảo
mật thông tin.
4
3
1
0
0


          
thông tin.





1.



1







1

1










1





Chương II. Một số phương pháp mã hóa cổ điển.
13
5
5
2
1







 
pad.

    
mã hóa.




2





3






2





3
1





1














1
Chương III. Mật mã khối.
16
8
7
1
0

3.1.

3.2. 















 
3.2.7. TripleDES
3.3. 







3.3.1. 




3.3.2. 








3.3.3. 








3.3.4. 






1


3







3




1



3








3




1



0,5







0,5

Chương IV. Hệ thống mã với khóa công khai.
16
6
7
2
1

ai.






1



1
2




1
3



2











2
3

1
Chương V. Chữ ký điện tử và hàm băm.
12
7
5
0
0



5.2. 

















5.2.1. 










5.2.2. 










5.2.3. 












5.3

5.4. 






5.4.1. 5
5.4.2. 1

0,5


3



0,5


3






2






1,5
1,5


Chương VI. Quản lý khóa trong hệ thống mật mã
8
5
3
0
0



 Schoeder
6.2.2. 






-Hellman
6.2.3. 



1

1
1
1
1




1
2


Chương VII. Giao thức mật mã
6
3
2
0
1
7.1. 









1



2







2








1

Nhiệm vụ của sinh viên

Tài liệu học tập:

Lý thuyết mật mã và An toàn thông tin. 

2. Douglas R. Stinson. Cryptography Theory and practice. CRC Press. 1995.
3. A. Menezes, P. VanOorschot, and S. Vanstone. Handbook of Applied
Cryptography. CRC Press. 1996.


4. William Stallings. Cryptography and Network Security Principles and Practices,
Fourth Edition. Prentice Hall. 2005.
5. MichaelWelschenbach. Cryptography in C and C++. Apress. 2005.

Hình thức và tiêu chuẩn đánh giá sinh viên:
- Sinh viên ph làm các bài ki tra trong quá trình h và th hành. Th
- 

Thang điểm : Thang điểm 10.
 = 0,3 X + 0,7 Y.




  

 1
:   2
1. 








 2
2.  







  2
3.  2
4.  3
5. 

(cryptology) 4
6. (CryptoSystem) 4
7. 









 5

8.   



 6
9. 





 8
10.  





 8
CHII: 

 10
1.  10
1.1. Entropy 10
1.2. 



. (Rate of Language) 11
1.3.  11

1.4. 





(Confusion and Diffusion) 12
2.  13
 14
 14
 16
3.  17
3.1.   17
3.2.  17
3.3.  17
3.4. 
N
() 18
3.5. 

 

 18
3.6.  19
3.7.  19
3.8. 






 20
3.9. 



 21
3.10. 

 1  22
3.11.  

. 22
4. . 23
4.1.  



 23
4.2. 

-Strassen 25
4.3. 

-Miller 26
4.4. 

. 26
5.  26
:  28

1.  28
1.1. 



(substitution cipher) 28
1.2. 

 28
1.3. 

 29
1.4. 

 30
1.5. 

 30
1.6. 



(transposition cipher) 32
2.  34
 34
 35
 51


2.4. Triple DES (3DES) 52

2.5. 





 54
 68
3.  72
:  77
1.  77
2.  







 78
3.  



 78
3.1. 

 78
3.2. 


 79
3.3. 

 Gamal 83
3.4.  85
4.  96
   

   101
1. 





101
 101
 102
 103
 106
1.5. 












108
 109
 109
 109
2.3. Birthday attack 110
 111
2.5. 



 118
3.  119
:  120
1. 

 120
khoá 120
 120
 122
2.3. 

-Hellman 123
 124
-Hellman 124
- 125
-Takashima-Imai 126
 127
4. 128

:   130
 130
 130
 131
 132
 132
 133
4.3. 

134
5. Các  134
 136
Danh m hình v


 5
3.1: 







 35
3.2:  38
3.3:  39
3.4: 

 41

 43
 44
3.7: Triple DES 53
3.8:  56
3.9:  59
3.10: ifftRows() 62
3.11:  63
3.12:  63
3.13: ()  66
3.14:  69
3.15:   70
 71
4.1: 



1  78
4.2: 



2  78
4.3: 












  83
4.4:  87
4.5: 
2
4
(g
4
, 1) 92
4.6: 





- 94
5.1: 












108
 109
 112
 113
 117

Danh m b




 2.1: 
*
21
19
2.2: 
13
20
3.1:  







  29
3.2:  32
3.3:  32

3.4:  33
3.5:  33
3.6:  39
3.7: 
-1
39
3.8: -1 41
3.9:  42
3.10: -2 42
3.11:  44

1
45

2
45

3
45

4
46

5
46

6
46

7

46

8
46
3.20:  47
3.21:  50
3.22:  51
3.23:  51
3.24: 

 

 





 54
3.25: 4 bit 56
3.26:  57
3.27: -

 61
3.28: B() 66
4.1: 



-Pollard 81

4.2: 



23(1, 1) 89
4.3:  95





1
  


 
, 
, . Ngày n
c 
, 
  ,  ngày càng

 
thông tin. Tài li



,  
  
p, các em sinh viên,   



 này.
 , 



 


 ,  . Xi












, 










 , 








. 








, 














  


 .  









  
, 

 

  ch, 
luôn   , 

 

Hải phòng, tháng 12 năm 2007




N

: 



2
:  
1. 








 (protocol) (mechanism)








 




 



 






( , , ). 

















 










,   





 















  . 














   . 










 ( ) 









 : 

 




 













 


 . 
 

 nh 


, 

  







  


.




















gian.  , 


  







 


  . 





 















. 











 g nhau
 . 













 



 . 
 





 




















 . 







 , 



 

 


 








,  ,  .
2. 
 :  







 



 n


,  












.
:
 


  
 


 
 




 


3.  

 







3 :
: 



3
 : 
 .
 



:   







.  






 










. 





 ,
 



 





 


.

 p:  . 
 , 



.





 

 .  3  :
(insider), 







 




  , 

 


  (hacker, cracker),




 

 



 

 


, (

, ) 
 .
:
Th3 

:
  

  : 











  (

), 
  



 :  ,  

  














 : 



 


















 .







 


, .
4. 






:
 : 
 .  : (reading), xem (viewing),   (printing), 




, 

 

 



c.











 ( 



 ) 












.  












 




. 
















.

 : 
.
 : 














 .
 





:
: 



4

 

  

 





 



 





 ,
.
 .
5. 

(cryptology)


 


 :  (cryptography) 
(cryptanalysis-codebreaking) 

:
 : 






















 (
















 ). 














 ,  ,  






, 
  , .
 : 













. 
 ,  



, 


 












.


















 

, , , c.
M ha (cryptography) là một ngành khoa học của các phương pháp truyền tin bảo
mật. Trong tiếng Hy Lạp, “Crypto” (krypte) c nghĩa là che dấu hay đảo lộn, còn “Graphy”
(grafik) c nghĩa là từ. [3]
, 


P-Plaintext), 

















C-Ciphertext).

 



 





 





.
6.  (CryptoSystem)
Một hệ m mật là bộ 5 (P, C, K, E, D) thoả mn các điều kiện sau:
1) P là không gian bản rõ: là tập hữu hạn các bản rõ c thể c.
2) C là không gian bản m: là tập hữu hạn các bản m c thể c.
3) K là kkhông gian khoá: là tập hữu hạn các khoá c thể c.
4) Đối với mỗi k

K, c một quy tắc m hoá e
k

E và một quy tắc giải m
tương ứng d
k

D. Với mỗi e
k
: P →C và d

k
: C →P là những hàm mà d
k
(e
k
(x)) = x cho mọi
bản rõ x

P. Hàm giải m d
k
chnh là ánh xạ ngưc của hàm m ha e
k
[5]
: 



5


























 A . 











  Anh, 

SCII, 
0 1.



k


d
k


k


1
và x
2
sao cho y = e
k
(x
1
) =
e
k
(x
2

1
hay x
2
.
 |CP| 
Khi |C| = |P| 

7. 

 





 




 : 

 thông 


 (

) 





 





(



) 



.




:


1.1: 

 (E-Enemy), các khoá mã hoá và




 .







 S (Sender) (Message  




) 

 (Insecured

E-Encryption) lê
 

 mã hoá Y (C-Ciphertext) 

 






 
1
(Key), khoá K
1








 mã Y (các bên
 





)D-Decryption) là quá trình




2
( 








).
 
 (Cryptosytem) .

X

Y
Y
X
Sender
Encrypt
Insecured
Channel
Decrypt
Receiver
K
1
K
2
Enemy
: 



6

  .



.
(1835 - 1903) (  ) : toàn bộ
cơ chế m/giải m trừ khoá là không b mật đối với kẻ địch [5]. 














. 




 . , khi
 , 
Kirchoff.
 : 







 













.
8.   












 



 4000 . 
  


 

. 










 .

.




 










:




  : 





 1949. 
 

 








.
 1949 
 . 








 






 , 


















.

 











 


 ( , ,  ). 







 2000 




 










 
 .
 -Kindi
9 

 

1987 















 


















  












 (
).
 















 

 



















 . 






: 



7










 (










  ) 

 














 , 













 







, tuy nhiên Charles
 1854 
.  


(






y nay) có tên là Friedrich Kasiski . 

 20 




 (







 



 



 









































  



 





, 





 






.
  :
Lucipher và DES . 
















 


90.
              
khóa công khai sau khi Whitfield 

Martin He 



 New Directions
 







.
















 
  

 
 3DES (

  ).
   5 (



 



 )  1. 



 
 (Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu) 





  cho
 


. 















 . 






   

n () 
 (-256, SHA-512) trong
.
Bruce Schneier (







  , 
Blowfish) 






 





  









 
 



 

















 ; they never get worse .

 













.
: 




8
9. 






 






. 




.











 







 
 , 

 



(0, 1, 2) :
1. 




 (Symmetric Key Cryptosytems), 















 ,  , ,
DES, 











 1 
.
2.  
khai PKC (Public Key Cryptosystems). 















(Asymmetric Key Cryptosytems). 
 2 , 









, 
.
3.  (Digital Signature Algorithms). 
 . 






























. 


















4. (Hash functions). 

.










 


 (








), 














sau:
1.  (

 , ) 











 .
2. (RC4 ) 





 , .
10.  






  

















 . 














(Desktop Applications ) 







 



(Operating Systems) 



ng nh






 


















 








. 


























. 











: 



9
  (Confidentiality): 







   

 


(, ).
 (Authentication): 



  

 , 


.
 (Integrity): 





































 





 .

  

 

 (Non-Repudiation): 






 .
  , 
 (Identification) 

 










  





 



 



 


ChII: 



10
CHII: 

















 , 
















,   

 
,   



. 





 







 ,  




(Rate of Language), 





 , 



 

, 
 


 :   (modulo),   ,  

 ,
 

rmat . . .  

   . 

  




 :
 
 
 .
1. 






 

     



1948 

 (

 
thông tin).  





 

 

 




thông tin.
1.1. Entropy
 




  






 















.
, 

_








 3 tin,






 3 :
000 = Sunday
001 = Monday
010 = Tuesday
011 = Wednesday
100 = Thursday
101 = Friday
110 = Saturday
111 is unused
 









 , 



 , 



 . 


_





 1 , 


: Nam, 

.
 

 





 

, 



H(M). 



 _

 1 ,  (gioi_tinh) = 1, Entropy
3 bits.
ChII: 



11




 , Entropy 
2
n, 



 







() .
1.2.  



. (Rate of Language)
,   (actual rate) :
r = H(M)/N












 v.
 

 



0.28 






 

1.3 bit .
  (absolute rate) 



 

   


 





. 





, 

 

:
R = log
2
L


 







. 26 



,
 


2
26 = 4.7bits/

. 
 


  , 
   


 . 










(Redundancy) .


 

 



  



 ,  







, 







 







 
  








 



































.
 (Redundancy)  = R  r. 
 :
D = 1 - .28 = .72 letters/letter
D = 4.7  1.3 = 3.4 bits/letter






1.3 

3.4 

(

72%).
1.3. 



 





 

 



 ,   


 .    


 (K-Key),  (P-PlainText), 

 . 























 P 

 



 , 
 

 

,  , v. v . . .
  

   , 

 

   





  P 

  . 


. 



  



 







.
 










 Bob,  "Dear Bob". 


H(M) = log
2
n
ChII: 



12
"Dear Bob" 






"tm*h&rf". 
 (C-CipherText) 














.






  ,  







 
  





 


  





. 




, 



.
  

 , 

 



 thông tin









, 







 . 



 


thông tin  












  












.


 




  .  





, 
 .  




 





 



 
.  






 . Entropy   


(Keyspace).
H(K) = log
2
(number of keys )







 ( ) 
. :
U = H(K)/D


 

 





  





 











 









 (brute-force attack) . 

 




() 





 




:
H(K)= log
2
26! = 87. D = 3.4 suy ra U = 25.5.
 







 





25 





























.
 
 







 










   1 
 (  

). 



 
  ()  . 
 0 
 .  























.
1.4.  





(Confusion and Diffusion)
Theo Shannon, 
, 



: 






.
 (Confusion):  









  . 




     





 
  

 

 




 
 . 





 , 



 

 ,  
ChII: 



13
 các 



 ,  








 (Diffusion):  
. 

 










 . 


(



).









 








.
2. 

 . 
,  . L thuyết thông tin đ cho
chng ta biết rng một thuật toán m hoá c thể bị bại lộ . Còn l thuyết độ phư
́
c tạp cho
biế t kha
̉
năng bi ̣ tha
́
m ma
̃
cu
̉
a một hệ m mật.
 

















. 







 (n)  



 
n,  


(n) 

.
 ,  








 

 (




, ).
, 





  









"



 ". 






 g. 





3





3
 O(n

3
). 




 (Polynomial)  (NonPolynomial).
 







  .
 

 












  .  






 







 _time,  

 


s , 





 


.

 




 



  . 
 .  


 ,  , 
k . 
 







 



.
f
A

(n) = max{m/ 





 

= n
3
}
h , 
 .  hông
 

 

. 








ChII: 




14
. S(w) , (
)
  

:
f
A
(n)=max{1,m/s(w) /w=n}



















.
 




 












khôn 

.
























 

.












 

 


 ?    
 









 








 
2.1. 

Một hệ mật đưc gọi là an toàn về mặt tnh toán nếu c một thuật toán tốt nhất để
phá n thì cần t nhất N phép toán, với N là một số rất lớn nào đ. [10]
Tuy nhiên t
 
 (



















).


 


 
2.

Một hệ mật đưc coi là an toàn không điều kiện khi n không thể bị phá ngay cả với
khả năng tnh toán không hạn chế. [10]



  




ChII: 



15
 


Nếu p(y) ≠ 0 thì ta c:
( ) ( / )
( / )
()
p x p y x
p x y
py



X, Y là biến độc lập khi và chỉ khi p(x/y) = p(x) với mọi x, y. [5]
 

p




k
(K).
P
và K C C
K là khoá.
C (K) = { e
K
(x): x

P }
 

C, ta có:
C
, ( )
( ) ( ). ( ( ))
K p K
K y C K
p y p K p d y





C






)(,
)()/(
ydxK
KC
K
Kpxyp


P


, ( )
C
, ( )
( ) ( )
( ) ( / )
( / )
( ) ( ) ( ( ))
K
PK
K x d y
P
P
C K P K
K y C K
p x p K
p x p y x
p x y
p y p K p d y












Một hệ mật hoàn thiện nếu p
P
(x/y) = p
P
(x) với mọi x

P và mọi y

C. Tức là xác suất
hậu nghiệm để thu đưc bản rõ là x với điều kiện đ thu đưc bản m là y đồng nhất với
xác suất tiên nghiệm để bản rõ là x. [5]
ChII: 



16

C
(y/x)= p
C

(y)).

Giả sử (P, C, K, E, D) là một hệ mật, khi đ hệ mật đạt đưc độ mật hoàn thiện khi
và chỉ khi |K| ≥ |C|. Trong trường hp |K| = |C| = |P|, hệ mật đạt độ mật hoàn thiện khi và
chỉ khi mỗi khoá K đưc dùng với xác suất bng nhau, bng 1/|K| và với mỗi x

P, mỗi
y

C c một khoá K duy nhất sao cho eK(x) = y. [5]





3.
 







1

K1, K2


))(()(

1221
),(
xeexe
KKKK


))(()(
2121
),(
xedxd
KKKK



tíc



?


(S
1
×S
2
)×(S
1
×S
2
) = S

1
×(S
2
×S
1
)×S
2

= S
1
×(S
1
×S
2
)×S
2

= (S
1
×S
1
)×(S
2
×S
2
)
= (S
1
×S
2

)





×