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

BÁO CÁO ĐỒ ÁN MÔN HỌC BẢO MẬT THÔNG TIN (ĐỀ TÀI CHỮ KÝ SỐ) pdf

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 (1.3 MB, 30 trang )


[\[\



BÁO CÁO ĐỒ ÁN: MÔN HỌC BẢO MẬT
THÔNG TIN
ĐỀ TÀI: CHỮ KÝ SỐ





Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 1




A. Danh sách nhóm
STT
MSSV
Tên
Email
SDT
1.
406170001



01698815297
2.
406170006


0983728190
3.
406170015


0938170788
4.
406170046


0932613917
B. Nội dung nghiên cứu
I. 
II.  và so sánh
III. 
IV. 
V. 
VI. 
C. Chi tiết nội dung
I. Tổng quan về chữ ký số
1. 
 

- 


Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 2

-     
không có cách nào 


 sau:
 
 
 

:
 C.
 

 
 
 

 
2. 
   


- 
- 


- 
-   

3.  
Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 3

i) 







-
encryption)

Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 4




.
  

 

  các




ii) 
ài.






K
xa
 

ay


X

K
xa


ay
. 


X,

Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 5


.

(1) X A: M||E(K
xa
, [ID
X
||H(M)])
(2) A Y: E(K
ay
, [ID
X
||M||E(K
xa
, [ID
X
||H(M)])||T])

(1) X A: ID
X
||E(K
xy

, M)||E(K
xa
, [ID
X
||H(E(K
xy
, M))])
(2) A Y: E(K
ay
,[ID
X
||E(K
xy
, M)])||E(K
xa
, [ID
X
||H(E(K
xy
, M))||T])

(1) X A: ID
X
||E(PR
x
, [ID
X
||E(PU
y
, E(PR

x
, M))])
(2) A Y: E(PR
a
, [ID
X
||E(PU
y
, E(PR
x
, M))||T])
(c) 


X

Y

A

M

T


II. Các thuật toán tạo chữ ký số
1. ElGamal


Chữ ký số - Các thuật toán và tấn công

2009

Nhóm DSII [BDHT] Page 6

 
o


i) 
 p
 Z
*
p
(g odulo p)
ii) 
 k 1 ≤ k ≤ p
 v = g
k
(mod p)
 công khai là (p,g,v)
iii) DD 1<D<p
 1<e<p và gcd(e, p-1) =1
 Tính r = g
e
(mod p)
 Tính s = (D – k.r)e
-1
(mod p-1)
D (s,r)


iv) 

 0 < r < p và 0 < s < p − 1
 g
D
(mod p) = v
r
r
s
(mod p)
N
g
k
≡ v (mod p) 

v và g
D
x và y v
x
x
y
≡ g
D
(mod p)
 
log
g
(v)x + y log
g
(x) ≡ D (mod p − 1)


toán log
g
(v) và log
g
(x) y.
Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 7


2

 vào 

2. DSA (Digital Signature Algorithm)
Các thao tác 
i) o khóa
 
L-1
<p<2
L


 
 
(p-1)/q
-
(p-1)/q

mod p>1
 
 
x
mod p
 
ii) 
 
k
mod p) mod q
 Tính s = [k
-1
(H(M) + x.r] mod q

iii) 

 
-1
mod q
 
 
 v = [g
u1
y
u2
mod p] mod q
 
Chữ ký số - Các thuật toán và tấn công
2009


Nhóm DSII [BDHT] Page 8

So sánh ElGamal và DSA: 

r = g
e
(mod p) -1
r = (g
k
mod p) mod q -1






-1



3. RSA


(ANS) X9.31 và Public Key Cryptography Standard (PKCS) #1.
i) 


gcd(v, (p - 1)(q - 1)) = 1
Công khai N = p*q và v
ii) 

Tính s sao cho:



s
(mod N)
Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 9

iii) Xác minh:
Tính S
v
mod N


 

công khai.
 

 t tóan RSA không dùng 

4. ECDSA(Elliptic Curve Digital Signature Algorithm)

ISO 1998, ANSI 1999, IEEE 2000.
i) 
- 1]
Khóa chung Q : Q = d*G

ii) 

1. e = SHA-1(M)
2. 
3.  
4. s = k
-1

 
iii) Xác minh:
1.  - 

2. e = sha-1(m)
Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 10

3. w = s
-1
(mod n)
4. u1 = ew (mod n)
5. u2 = rw (mod n)
6. (x1, y1) = u1*G + u2*Q
7. r = x
1
(mod n

 
 


.

5. GGH
 Goldwasser  

vector problem  


 

6. NTRU(n-th degree truncated polynomial ring)
     


. 



i) 
 C
  g * F = q
 Tính h = f
-1
* g (mod q)
Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 11


 Công khai khóa h
ii) 
 
 Tính: 
 v2 = (-D1 * g + D2 * f) / q
 Tính: s = v1 * f + v2 * F
 
iii) 
 Tính t = h * s (mod q)
 

      


3

2
) phép toán. Các phép toán

   
  



                 


III. Lý thuyết về cách tấn công chữ ký số
 gian nên



 
Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 12

- 

- 

 
g

 key cryptography)
 

brute-         


. Hàm
 
 

máy tính.


 

-0, MD4, MD5, HAVAL-128, và

-1
i) 

-

Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 13



-  

static byte[] vec1 =
{
0xd1, 0x31, 0xdd, 0x02, 0xc5, 0xe6 , 0xee , 0xc4 , 0x69 , 0x3d, 0x9a
, 0x06 , 0x98 , 0xaf , 0xf9 , 0x5c , 0x2f , 0xca , 0xb5 , /**/0x87 , 0x12 , 0x46 , 0x7e ,
0xab , 0x40 , 0x04 , 0x58 , 0x3e , 0xb8 , 0xfb , 0x7f , 0x89 , 0x55 , 0xad , 0x34 , 0x06 ,
0x09 , 0xf4 , 0xb3 , 0x02 , 0x83 , 0xe4 , 0x88 , 0x83 , 0x25 , /**/0x71 , 0x41 , 0x5a,
0x08 , 0x51 , 0x25 , 0xe8 , 0xf7 , 0xcd , 0xc9 , 0x9f , 0xd9 , 0x1d , 0xbd , /**/0xf2 , 0x80
, 0x37 , 0x3c , 0x5b , 0xd8 , 0x82 , 0x3e
, 0x31 , 0x56 , 0x34 , 0x8f , 0x5b , 0xae , 0x6d , 0xac , 0xd4 , 0x36 , 0xc9 , 0x19 , 0xc6
, 0xdd , 0x53 , 0xe2 , /**/0xb4 , 0x87 , 0xda , 0x03 , 0xfd , 0x02 , 0x39 , 0x63 , 0x06 ,
0xd2 , 0x48 , 0xcd , 0xa0 , 0xe9 , 0x9f , 0x33 , 0x42 , 0x0f , 0x57 , 0x7e , 0xe8 , 0xce ,
0x54 , 0xb6 , 0x70 , 0x80 , /**/0xa8 , 0x0d , 0x1e , 0xc6 , 0x98 , 0x21 , 0xbc , 0xb6 ,
0xa8 , 0x83 , 0x93 , 0x96 , 0xf9 , 0x65 ,/**/ 0x2b , 0x6f , 0xf7 , 0x2a , 0x70}
static byte[] vec2 =
{
0xd1 , 0x31, 0xdd , 0x02 , 0xc5 , 0xe6 , 0xee , 0xc4 , 0x69 , 0x3d ,

0x9a , 0x06 , 0x98 , 0xaf , 0xf9 , 0x5c, 0x2f , 0xca , 0xb5 , /**/0x07 , 0x12 , 0x46 , 0x7e ,
0xab , 0x40 , 0x04 , 0x58 , 0x3e , 0xb8 , 0xfb , 0x7f , 0x89 , 0x55 , 0xad , 0x34 , 0x06 ,
0x09 , 0xf4 , 0xb3 , 0x02 , 0x83 , 0xe4 , 0x88 , 0x83 , 0x25 ,/**/ 0xf1 , 0x41 , 0x5a ,
0x08 , 0x51 , 0x25 , 0xe8 , 0xf7 , 0xcd , 0xc9 , 0x9f, 0xd9 , 0x1d , 0xbd , /**/0x72 , 0x80
, 0x37 , 0x3c , 0x5b, 0xd8 , 0x82 , 0x3e , 0x31 , 0x56 , 0x34 , 0x8f , 0x5b , 0xae , 0x6d ,
0xac , 0xd4 , 0x36
, 0xc9 , 0x19 , 0xc6 , 0xdd , 0x53 , 0xe2 , /**/0x34 , 0x87 , 0xda , 0x03 , 0xfd , 0x02 ,
0x39 , 0x63 , 0x06 , 0xd2 , 0x48 , 0xcd , 0xa0, 0xe9 , 0x9f , 0x33 , 0x42 , 0x0f , 0x57 ,
0x7e , 0xe8 , 0xce , 0x54 , 0xb6 , 0x70 , 0x80 , /**/ 0x28 , 0x0d , 0x1e, 0xc6 , 0x98 ,
Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 14

0x21 , 0xbc , 0xb6 , 0xa8 , 0x83 , 0x93 , 0x96 , 0xf9 , 0x65 , /* flag byte*/0xab , 0x6f ,
0xf7 , 0x2a , 0x70 }
- 
  



-

- 

Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 15



-
không :



Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 16




Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 17






Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 18



 


ii) -1

y
thành SHA--.
-
 

-
cách trên, và 

2005.
-1 sau
-force. 



Bruce Schneier và Jo
-force.
-
-224, SHA-256, SHA-384 và SHA-512.
 64 vòng:
 
492068657265627920736F6C656D6E6C792070726F6D69736520746F2066696E69736
8206D7920506844207468657369732062792074686520656E64206F662032303035200
A0AEACBD7029E9F219821F0F0FF9213E43DF407CA4A69067368507F397C77DDD
F45C152AC0AB09D1511CFA15FDC789F4D86215D1D41F3C2A73C6AC2B5D3A11
EBB7DEEFFC27FB55C31535C8FB13DCEC26A4B890E82D2608CE731FB383B24D9

37FBECA9F5E390B6C12315D5C1A48ABE9AD3C1DFF6D550C96BD9572D

Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 19

492068657265627920736F6C656D6E6C792070726F6D69736520746F2066696E69736
8206D7920506844207468657369732062792074686520656E64206F662032303036600
A0AB88BD702DE7F21987350F0FF9293E43DB427CA4A6826736830FF397C769DDF
458392AC0AF3DD1511EDA15FDC7BDF4D86639D1D41B002A73C48C2B5D3A25E
BB7DBCBFC27FF5BC31530E2FB13DCE426A4BC92E82D261ACE7319BB83B24D8
77FBECEB35E390F5812315F7C1A48ABDDAD3C19D36D5508AABD9570F

E9069CCAB770EC16F9ED4E3AD6FD5A866F829F0C


 hereby solemnly promise to finish my PhD thesis by the end of


nhau.

IV. Giới thiệu về Rainbow Crack Tool
1. Rainbow Crack là gì?
a. Ngun gc: RainbowCrack là mt thành phn trong d án FASTER TIME-
MEMORY TRADE-OFF TECHNIQUE ca Philippe Oechslin. Nó phá v 
rainbow tables.
b. Các ch
- H tr rainbow table ca bt c thu-
- H tr  phc hi bt k ký t nào (ch cái, s, ký t c bit).

- H tr h ng trên nn 32bit.
- S dng bng cách gõ lnh hoc dùng giao din.
c. Ti v ta ch:
2. Rainbow Crack ho nào?
a. Hong da trên Rainbow table.
- Rainbow table là mt bng tra cc s d khôi phc li plaintext t mt
ng m 
- c thit k bi thut thun bi Martin Hellman, nó
c s d c li mt hash bng cách tra cu các chuc tính toán
c.
b. Cu trúc ca mt rainbow table.
- Mt Rainbow table là mt chui các record (bn ghi). Mi record có 2 fields, mi
field 8 bytes, tng cng m c ca mt bng
cu vòng là mt bi s ca 16. Mi din bi mt chain (chuu
Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 20

tiên là ch s trong không gian khóa (Keyspace) ca tt c plaintext do rainbow table thit
lt con s ngu nhiên gic ca keyspace -1. Field th
hai là plaintext ca cùng ca 1 chain, thc ra nó là ch s ch t s là m
c sp xp da trên field th 2: record vi hash thp nhu tiên
trong bng vi hash cui cùng cao nht.

3. Các thông s ca mt rainbow table:
Thông s ca mi din bi tên ca nó:
hash_algorithm charset plaintext_len_min plaintext_len_max table_index chain_len
chain_num part_index.


Tên:

hash_algorithm
Thut gi
charset
Tt c các ký t nh

plaintext_len_min
S ký t ít nht gic.
plaintext_len_max
S ký t nhiu nht gic.
table index
chain_len
chain_num
4 thông s này th hi  nói
qua:
Table index: Ch s s ln s dng Reduce Function trong
Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 21

part_index
rainbow table
  dài ca mt rainbow chain trong rainbow
table, m
nh nht trong rainbow table, mt rainbow table cha rt
nhiu rainbow chain
Chain_num: s ng ca rainbow chain trong rainbow
table

   m b u cho mt rainbow
c to

Ví d:
Tên:

hash_algorith
m
Md5
charset
loweralpha-numeric =
[abcdefghijklmnopqrstuvwxyz0123456789]
plaintext_len_
min
1
plaintext_len_
max
7
chain_len
3800
chain_num
33554432

Tên file Rainbow table s có dng:
"md5_loweralpha-numeric#1-7_0_3800x33554432_0.rt"

V. Demo dùng Rainbow Crack Tool để tấn công chữ ký số.
Chữ ký số - Các thuật toán và tấn công
2009


Nhóm DSII [BDHT] Page 22


1. 
2. 
3. Hacker dùng các thông tin côn
 
4. 
5. 
6. 
 


 M'.
Demo cách s d bin mt m


Chữ ký số - Các thuật toán và tấn công
2009

Nhóm DSII [BDHT] Page 23





        

Chữ ký số - Các thuật toán và tấn công
2009


Nhóm DSII [BDHT] Page 24






×