1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
DƯƠNG THỊ MAI THƯƠNG
NGHIÊN CỨU CHỮ KÝ SỐ BỘI VÀ ỨNG DỤNG
TRONG THƯƠNG MẠI ĐIỆN TỬ
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
THÁI NGUYÊN, 2013
2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
DƯƠNG THỊ MAI THƯƠNG
NGHIÊN CỨU CHỮ KÝ SỐ BỘI VÀ ỨNG DỤNG
TRONG THƯƠNG MẠI ĐIỆN TỬ
Nghành: Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
Mã số: 60 48 10
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRỊNH NHẬT
TIẾN
THÁI NGUYÊN, 2013
4
MỤC LỤC
.1
2
.3
.5
6
1. Chương 1: CƠ SỞ LÝ THUYẾT 7
1.1 CƠ SỞ TOÁN HỌC 10
1.1.1 ng 10
1.1.1.1 10
1.1.1.2 10
1.1.1.3 ng 10
1.1.2 ng cong Elliptic 13
1.1.2.1 ng cong elliptic 13
1.1.2.2 ng cong Elliptic 14
1.1.2.3 i rng cong elliptic (ECDLP): 16
1.2 HỆ MẬT TRÊN ĐƯỜNG CONG ELLIPTIC 17
1.2.1 ng cong Elliptic 17
1.2.1.1 17
1.2.1.2 Mt n (Mask) 18
1.2.2 ng cong elliptic (ECC) 18
1.2.2.1 H 18
1.2.2.2 H -Vanstone 18
1.2.3 -Hellman s dng cong
elliptic (ECDH) 19
1.2.3.1 -Hellman. 19
1.2.3.2 - Hellman 19
1.2.4 La chnp 19
1.2.5 22
1.2.5.1 Tng quan v 22
1.2.5.2 Thu-1 23
2. Chương 2 : CHỮ KÝ SỐ BỘI TRÊN ĐƯỜNG CONG ELLIPTIC 27
2.1 GIỚI THIỆU VỀ CHỮ KÝ SỐ 27
2.1.1 m v ch 27
2.1.2 Hong ca ch 27
5
2.1.2.1 27
2.1.2.2 d 30
2.2 SƠ ĐỒ CHỮ KÝ SỐ BỘI TRÊN ĐƯỜNG CONG ELLIPTIC 33
2.2.1 Khi to tham s 34
2.2.2 ch 34
2.2.3 ch i tun t 39
3. Chương 3 ỨNG DỤNG CHỮ KÝ SỐ BỘI TRONG THƯƠNG MẠI ĐIỆN TỬ 43
3.1 TỔNG QUAN VỀ THƯƠNG MẠI ĐIỆN TỬ 43
3.1.1 n t 43
3.1.2 ng c 43
3.1.3 44
3.1.4 45
3.2 ỨNG DỤNG CHỮ KÝ SỐ BỘI TRONG THƯƠNG MẠI ĐIỆN TỬ (TMĐT) 45
3.2.1 Mt s 45
3.2.2 a thut hng 46
3.2.2.1 Bng trc tuyn 46
3.2.2.2 Bc 47
3.2.2.3 Chng chi b hng giao dch 48
3.2.3 ng dng ch bi gii quyt mt s a thut
hng kinh doanh 49
3.2.3.1 n) trc tuyn 50
3.2.3.2 Bc 52
3.2.3.3 Chng chi b hng giao dch 53
4. Chương 4: THỬ NGHIỆM CHƯƠNG TRÌNH CHỮ KÝ SỐ BỘI TRÊN ĐƯỜNG
CONG ELLIPTIC 55
4.1 CẤU HÌNH HỆ THỐNG 55
4.1.1 55
4.1.2 hn mm 55
4.2 CÁC THÀNH PHẦN CỦA CHƯƠNG TRÌNH 56
4.2.1 liptic 56
4.2.2 T 56
4.2.3 56
4.2.4 X 57
4.3 CHƯƠNG TRÌNH 58
4.3.1 58
4.3.2 59
4.4 HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH 60
4.4.1 61
4.4.2 63
6
DANH MỤC BẢNG BIỂU
21
-
26
32
Ba thu
33
33
33
34
75
7
DANH MỤC HÌNH VẼ
14
15
24
25
29
30
31
41
46
60
66
67
74
H
1.
2. MỞ ĐẦU
8
n vinh ca mt nn kinh t da
m lc quyt
nh b g ti xu th
mn t xut hii b mt kinh t th gii bi nhng nh
ng to ln c.
i s n ca , ch c t ci thim
khuyt ca nhng h thc ra
cu bo mn d ling t chu ht sc
cp thit. h tng ch y ng h thng ch
a s ca s i r
ng cong Elliptic) m.
T c mng cong elliptic (Elliptic Curve Cryptography
- o mt ca h th
dng cong elliptic dm mu ch phc tp c
logarit ri rc trong h th i s i r
ng hu hn hoa s ca s i rc
ng i gian thc hin nh p lu
th m ng cong Elliptic
thc s gn c
c bi tri thng nh vi s
yt b c t tri ca ECC so
v m
c nn tng cc
p du qu o mt qu
c s d li . Trong phm
vi lui thi ch bi dng cong Elliptic
i. Ch c s dng hp ch mm
quy ng hp m
m quyh thc hin ch
m s dng n ch a mi (gi s m n
i hoc s dng mt ch i din cho c c s dng n ch
ng s ch c n ch
mt thc tp v thng nhu t x
cao. Ch o ra ch
thu m b tin c
ch i dng cong Elliptic,
t hi ci r
ng cong elliptic vt chi i din cho mt
9
i hay t chc. Ch t ch i duy nhc to ra bi tt c
a
t o ra ch i n s ng
thu
Ch c nh a c
gii vi ch ra rng trong
ca Chen s i
T
ch i cho m
nhau vnh th t t c phc l hng bo
mt so v c m b c th t nh
c.
nhc s bo ca PGS.TS
Trnh Nht Tin i la ch “Nghiên cứu chữ ký số bội và ứng dụng trong
thương mại điện tử” t nghip c Lu m mt s ni
Chương 1: Cơ sở lý thuyết - t c ca h mc
bi mng cong Elliptic.
Chương 2: Chữ ký số bội trên đường cong Elliptic ni
thiu tng quan v ch b xu ch b
tun t ng cong Elliptic.
Chương 3: Ứng dụng chữ ký số bội trong TMĐT
ng dng ch gii quya thun hp
ng kinh doanh bng ch bn t ng cong Elliptic
(đã được đề xuất ở chương 2).
Chương 4: Thử nghiệm chương trình chữ ký số bội trên đường cong
Elliptic d lng minh
n c ch bn t ng cong
Elliptic.
10
3. Chương 1: CƠ SỞ LÝ THUYẾT
1.1 CƠ SỞ TOÁN HỌC
1.1.1 Nhóm, vành, trường
1.1.1.1 Nhóm
m tp G trng G.
Vi a,b G, a b G
1. a (b c)=(a b) c vi mi a,b,c G
2. Tn ti e G tho e a=a e=a vi mi a Gc gn
t
3. Vi mi a G, tn ti mt phn t b G tho b a=a b=e (b
duy nhc gn t ngho ca a)
u <G,. ><G,+> ng, phn t
0 n t ngho ca a –a. Trong , phn t
1 n t ngho ca a la a
-1.
<G,. > c gabel nu a b=b a vi mi a, b thuc G.
Nu <G,. > u h phn t ca <G,. > c gc c
|G|.
Bc ca phn t a
G nht n tha
n
= 1.
trong a
n
c hia.a a (n lng la+a+ +a (n
ln). Trong vi mi phn t thuc th n ti.
Nu a
G c m H = {a
k
| k
Z } a G c m. Nu G
t phn t a c n = |G| G = {a
k
| k
Z} G c gcylic,
a c gn t sinh ca G.
, tp hp Z
n
= {0, 1, 2,…, n - 1} cylic bc n v cng
modulo n.
1.1.1.2 Vành
p R v cu kin sau:
1./
2./ a . (b . c) = (a . b) . c vi mi a, b, c ∈ R.
3./ i mi a, b, c ∈ R.
1.1.1.3 Trường
11
i phn t * = {a ∈t nh
.
1./ Trường hữu hạn
Khái niệm trường hữu hạn:
ng hu hn m tr ng v h thng s i
nhau (gi thng s hu t Q, h s thc R, h s phthuc
n cm tn t c
(F, +) i phn t
(F\ {0}, .) i phn t
lut: (a+b).c=a.c+b.c vi mi a,b,c thuc F
Nu tu hc gng hu hn.
Các toán tử của trường.
c trang b v, c
n t cng:
cho a, b
∈
F, a-b=a+(-b) –b n t ph nh ca b trong F
tho b+(-b)=0.
n t c
a, b
∈
F, b≠0, a/b=a.b-1 với b-1 n t ngho ca b
tho b.b-1=1.
Các phép toán và khái niệm liên quan.
Bc ca mng hu hn:
L phn t cng. Nu tn tng hu hn F c q n nu
q , tc q=p
m
vi p c ga
F, m
o Nc g.
o N c g ng m rng. Vi b
n ch c q. Mt
t c c q
mm gic s d
ng hu hng bc
2./ Trường nguyên tố (Finite fields):
Cho p modul p, bao gm t {0,1,2, ,p-
1} v c biu din theo modul p ng
12
bc pFp i p modul ca Fp. Vi bt
k s a
a mod p =r (r 0<=r<=p-1)
c g
Ví dụt F
29
={0,1,2,…,28}
ng: 17+20=8 vì 37 mod 29=8
: 17-20=26 vì -3 mod 29=26
17.20=21 vì 340 mod 29=21
Ngho: 17-1=12 vì 17.12 mod 29=1
3./ Trường nhị phân (Galois fields):
ng hu hn bc 2
m
c gng nh ng
GF(2
m
) n t ca GF(2
m
) các c
nh s n t ca F2={0,1}) c ≤ (m-1):
GF(2
m
)
={a
m-1
z
m-1
+a
m-2
z
m-2
1
z+a
0
: a
i
thuc {0,1}}.
Mc nh c bt k c thu nh bc thu nh (reduction
polynomial f(z)) (gic biu din theo
modul f(z)- c g
Ví dụng nh GF2
4
n t ca GF2
4
c nh ph
bc ln nht bng 3:
0z z
2
z
3
z
3
+z
2
1z z
2
+1z z
3
+1z z
3
+z
2
+1
zz z
2
+zz z
3
+zz z
3
+z
2
+z
z+1z z
2
+z+1z z
3
+z+1z z
3
+z
2
+z+1
v ng nh GF2
m
vi modul thu nh
f(z)=z
4
+z+1.
ng (z
3
+z
2
+1)+(z
2
+z+1)=z
3
+z
: (z
3
+z
2
+1)-(z
2
+z+1)=z
3
- -a=a vi
mi a thuc F
2
m
.)
3
+z
2
+1)(z
2
+z+1)=z
2
+1
Ngho (z
3
+z
2
+1)-1=z
2
3
+z
2
+1).z
2
mod (z
4
+z+1)=1.
3./ Trường mở rộng:
u din dng nh t
c ng m rp m>=2. Fp[z] u
cho tc bin z vi h s thuc Fpf(z) c thu gn bc m
thuc Fp[z].
ca Fp
m
c trong Fp[z] bậc <=m-1.
13
Fp
m
={a
m-1
z
m-1
+a
m-2
z
m-2
+…+a
2
z
2
+a
1
z+a
0
:a
i
∈
Fp}.
n t c v s c biu
ding Fp. Php phn t cc biu di
thc modul f(z).
Ví dụng m rng)
Cho p=251 và m=5 ti gin ca F251[z
f(z)=z
5
+z
4
+12z
3
+9z
2
+7n ca F
251
5
ng hu
hn bc F
251
5
. Phn t ca F
251
5
c trong F251[z] c ln nh
i a=123z
4
+76z
2
+7z+4 và b=196z
4
+12z
3
+225z
2
+76.
ng: a+b=68z
4
+12z
3
+50z
2
+7z+80.
: a-b=178z
4
+239z
3
+102z
2
+7z+179.
a.b = 117z
4
+ 151z
3
+ 117z
2
+ 182z + 217.
Ngho: a-1 = 109z
4
+ 111z
3
+ 250z
2
+ 98z + 85.
1.1.2 Lý thuyết đường cong Elliptic
t, h thng dc s d
gii quyt. V y chc s n thi t
li git ln. Trong thc t hin nay s dng ph bin h
gii quyt v logarit ri r a s ca s
c
l xut ng d
ng hu hn.
ng cong elliptic - i s c - u r
lc mt s kt qu .
n l k i dc:
y
2
- x
3
=c với c
∈
Z.
o mt ca h th dng cong elliptic dm
mu ch phc tp ci rc trong h thi s. Trong nhng
c s c
gii rng hu hn
hoa s ca s i rng cong
i gian thc hin nh p lu tha.
1.1.2.1 Công thức Weierstrasse và đường cong elliptic
14
Gng hu hn hon. M
ng F bc Weierstrass:
y
2
+ a
1
xy + a
3
y = x
3
+ a
2
x
2
+ a
4
x + a
6
với a
i
∈
F
(1.1)
hiu E(F). S m
trng i vi t c
c bi t
p hm tho i (x, y)
∈
F m
u O - gn t
Trong m xt cng hu h
F
p
v F
q
m
vn t q = p
r
.
Đường cong Elliptic trên trường nguyên tố hữu hạn F
p
ng F
p
, p > 3) vi bi
3
2
a
yx
,
2
31
axa
yy
Định nghĩa:
Mng hu hn F
p
c cho b
dng:
baxxy
32
vi a,b ∈ F
p
0)274(
23
ba
(1.2)
c hi lu
c vit ngn g
Đường cong Elliptic trên trường nhị phân hữu hạn GF(2m)
ng GF(2
m
c s thc hii bi
1
3
2
1
a
a
xax
,
3
1
2
34
2
1
3
1
a
aaa
yay
Định nghĩa:
ng hu hn GF
2
m
c cho b
dng:
y
2
+ xy = x
3
+ ax
2
+ b với a, b
∈
GF
2
m
(1.3)
1.1.2.2 Các phép toán trên đường cong Elliptic
Gi s ng F
p
hoc GF
2
m
X
15
Phần tử khôngO. Nu P m O -P O. Vi mm Q
O + Q bng Q.
Phần tử nghịch đảo: Trong F
p
n t ngho c-P
= (x, -y). Nu Q = -P P+ Q = Ong F
2
m
-P = (x, x+y).
P + Q: Nu P
Q, gng thng l =
QP
giao vi E ti mm -RP
+ Q bng P + Q bng R. Vi P, Q, R c
thc sau:
Hình vẽ 1.1 Phép cộng 2 điểm P + Q = R
o Trong F
p
:
21
2
12
12
3
xx
xx
yy
x
131
12
12
3
yxx
xx
yy
y
.
o Trong F
2
m
:
axx
xx
yy
xx
yy
x
21
21
21
2
21
21
3
1331
21
21
3
yxxx
xx
yy
y
.
2Pp tuyn vi E ti P, -m ca l v
V c sau:
Hình vẽ 1.2 Phép cộng P với chính nó P + P = 2P = R
16
o Trong F
p
:
1
2
1
2
1
3
2
2
3
x
y
ax
x
131
1
2
1
3
2
3
yxx
y
ax
y
.
o Trong F
2
m
:
2
1
2
13
x
b
xx
33
1
1
1
2
13
xx
x
y
xxy
.
kP: kP ∈ E(Z
p
) v ng P v
l ng thu
1.1.2.3 Bài toán Logarith rời rạc trên đường cong elliptic (ECDLP):
∈ c n. Cho Q ∈ E,
-2) tho c Q=mP.
Hin nau qu gi
gii rng cong ellipse, cn kim tra tt c m ∈
[2, n-2]. Nc chn la cn thn vi n rt lc gii ECDLP xem
thi.
a h m thu a ECDLP.
ng thut nh giu
qu ng cho ECDLP.
Đếm số điểm của đường cong elliptic trên trường Fq.
Vi mng cong elliptic bao gm vic la chn
q
.
Định lý (Hasse):
m ca E ng F
q
ng hu hn q phn t).
(q + 1)|
q2
.
T
q
) = q + 1
q2
.
Định nghĩa bậc của đường cong Elliptic:
Bc ca mng c m cBc cm
G thu k sao cho kG = O; khi k = #E(F
q
ca m
ca E.
Tính chất đồng cấu của đường cong elliptic
ng F
q
, E(F
q
vy, E(F
q
ng
cu vi ng cu vi
1
n
Z
x
2
n
Z
2
chia ht cho n
1
- 1 v n
1
2
duy nht. Z
n
u cc n. Nu n
2
q
ng h
q
ng cu vi
1
n
Z
n ti mm G ∈ E(F
q
) tha
q
) = {kG |
10
1
nk
c gn t sinh ca E(F
q
).
17
Ví dụ:
ng F
p
v:
y
2
= x
3
+ x + 4.
The
23
t s
23
t
k n t sinh ca E(F
23
t phn t
sinh ca E(F
23
).
1.2 HỆ MẬT TRÊN ĐƯỜNG CONG ELLIPTIC
c nn tng cng cong c
u qu c , bo mt. t qu cc
s d d lich n t.
1.2.1 Cách nhúng bản rõ lên đường cong Elliptic
t bng u din li bn m
hoc to c thc hi
t s thc hin vi
imbeding) t n (mask).
1.2.1.1 Nhúng (Imbeding)
Cách 1:
- m E(Z
p
) vi p , chng hn p
3 (mod 4).
Gi s E(Z
p
) c cho b s m :
0 ≤ m ≤ p/1000 - 1.
- s m c x th: 1000m ≤ x ≤ 1000(m+1) < p.
- b s c x sao cho:
f(x) = x
3
+ ax + b t s
p
i f(x) = y
2
mod p ) th
-1 mod p.
- m P
m
c tm
))(,( xfxP
m
. d
c li m t
)(
pm
ZEP
bi b 3 ch s cui ca t x ca
m P
m
.
Cách 2:
- c 1: S dng bng ch m N . Chia b
nh l 0,…, N-1. Mt khn w i
0 ≤ x
w
≤ N
l
t:
12
2
1
1
0110
) (
ll
ll
wl
aNaNaNaxaaaw
,
t
w
Nx 0
- c 2: Chn m k p sao cho kN
l
< q. Vi mi j n t ca
F
q
kx
w
+ j. Lm P
w
u t x ≥ kx
w
, j ≥ 0,
18
- c 3: c li khi b P
w
b
k
x
x
w
.
1.2.1.2 Mạt nạ (Mask)
biu din li bng (m
1
, m
2
) ng
m
1
m
2
v x, y c E. Gi s m G
E
t (x
G
, y
G
) P
m
= (m
1
x
G
, m
2
y
G
).
1.2.2 Các hệ mã trênđường cong elliptic (ECC)
H c th
m ng s ng cong elliptic.
Ph thu h
1.2.2.1 Hệ mã hóa “tựa” Elgamal
H c vu hu biu di-
ng cong.
ng s
G ∈ E. M chn mt s
Gi s Alice cn gi mn
E, chng hc th hin bng mm P
m
∈
Ei
P
m
u d t cQ= dG.
Alice chn mt s ngi cho Bob c
(C
1
, C
2
) = (kG,P
m
+kQ)
giC
2
-dC
1
= P
m
+kQ-d(kG) = P
m
+k(dG)-d(kG) = P
m
.
1.2.2.2 Hệ mã hóa Menezes-Vanstone
S t ca h i h tng k thut mt n
u din b
Zp (p>3) sao cho E cha mt
Zp, E(Zp) m G
∈
E
n mt s ng
Gi s Alice cn gp M=(x
1
, x
2
)
∈
Zp
*
/Zp
*
cho Bob.
Gi s t ca Bob. Alice chn s ngk
∈
Z
|H|
i:
(y
0
,y
1
,y
2
) = (kG,ax
1
mod p,bx
2
mod p) với (a,b) = k(dG)
gi (y
1
a
-1
mod p, y
2
b
-1
mod p
) = (x
1
,x
2
) với dy
0
=(a,b)
Chng minh: y
0
=kG, Bob có thể tính dy
0
= d(kG)=(a,b)
y: y
1
a
-1
= (ax
1
)a
-1
= x
1
mod p
19
y
2
b
-1
= (bx
2
)b
-1
= x
2
mod p. (dpcm).
1.2.3 Trao đổi khoá theo phương pháp Diffie-Hellman sử dụng lý thuyết đường
cong elliptic (ECDH)
1.2.3.1 Mô hình trao đổi khoá Diffie-Hellman.
c ging truy bo m
thi rng s u hn.
c hin t-Hellman gi
ng nh p < g.
A chn s ngmQ
A
=g
m
i Q
A
cho A.
B chn mt s ngn Q
B
= g
n
i Q
B
cho A.
A nhn Q
B
k = (Q
B
)
m
= g
n*m
.
B nhc Q
A
k = (Q
A
)
n
= g
n*m
. c
chung.
1.2.3.2 Mô hình trao đổi khoá Elliptic Curve Diffie- Hellman
-
dogarit ri r
thit lp mt hay nhic chung gi
c thc hi
ng nh s s d P(x,y).
A chn m m ngi QA cho B
B chn m n ngi QB cho A
A nh n P
B nh n P
c chung.
Gi s i C tng truy Q
A
,
Q
B
c m hoc n t G=m n P
logarit ri ri s dng
thu
1.2.4 Lựa chọn đường cong Elliptic phù hợp
q
n la ch
ca h m thu a
20
ng thut nh giu qu ng cho
ECDLP.
vic chn mn tu
qu a h mng cong m
G
E c c ch c
quan trng nht.
t s la ch
n ngn ngu ng
P
∈
c ch n ngu
ng F
q
(vi q l
Phương pháp chọn ngẫu nhiên Koblitz:
1./ Chn ngu nhin t t F
q
2./
2
(x
3
+ ax).
3./ Kim tra 4a
3
+27b
2
m b
3
nghi
4./ Nu kii 1./
5./ ng cong y
2
= x
3
ng cong cn chn.
tm bo mt s
c. Mt k thut ci ting cong vt
chn nh t thuc
mt s c. Mt k thut ci ting
cong v chn nh t
thung h elliptic d
m c vi cc nhm con Cylic ca E vi phn t
m P, vic la cht quan trng.
Chuẩn FIPS 182-2
n ngh ng mc bo m
dng. Nhng i:
Fp;
ng nh
2
m
ng nh
2
m
.
Chuẩn đường cong elliptic trên trường nguyên tố có các tham số:
- p: Bc c Fp
- S to h s ng cong elliptic
- ru ra ca SHA-1
- a,b: h s ca ECC; y
2
=x
3
+ax+b tho
2
=a
3
(mod p)
21
- n: bc c P
- h: cofactor
- x, y: to ca P
Bảng 1.1 NIST đề xuất các đường cong cho trường nguyên tố
P-192: p = 2
192
2
64
1, a h = 1
S = 0x 3045AE6F C8422F64 ED579528 D38120EA E12196D5
r = 0x 3099D2BB BFCB2538 542DCD5F B078B6EF 5F3D6FE2 C745DE65
b = 0x 64210519 E59C80E7 0FA7E9AB 72243049 FEB8DEEC C146B9B1
n = 0x FFFFFFFF FFFFFFFF FFFFFFFF 99DEF836 146BC9B1 B4D22831
x = 0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012
y = 0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811
P-224: p = 2
224
2
96
+1, a h = 1
S = 0x BD713447 99D5C7FC DC45B59F A3B9AB8F 6A948BC5
r = 0x 5B056C7E 11DD68F4 0469EE7F 3C7A7D74 F7D12111 6506D031 218291FB
b = 0x B4050A85 0C04B3AB F5413256 5044B0B7 D7BFD8BA 270B3943
2355FFB4
n = 0x FFFFFFFF FFFFFFFF FFFFFFFF FFFF16A2 E0B8F03E 13DD2945
5C5C2A3D
x = 0x B70E0CBD 6BB4BF7F 321390B9 4A03C1D3 56C21122 343280D6
115C1D21
y = 0x BD376388 B5F723FB 4C22DFE6 CD4375A0 5A074764 44D58199 85007E34
P-256: p = 2
256
2
224
+2
192
+2
96
1, a h = 1
S = 0x C49D3608 86E70493 6A6678E1 139D26B7 819F7E90
r = 0x 7EFBA166 2985BE94 03CB055C 75D4F7E0 CE8D84A9 C5114ABC
AF317768 0104FA0D
b = 0x 5AC635D8 AA3A93E7 B3EBBD55 769886BC 651D06B0 CC53B0F6
3BCE3C3E 27D2604B
n = 0x FFFFFFFF 00000000 FFFFFFFF FFFFFFFF BCE6FAAD A7179E84
F3B9CAC2 FC632551
x = 0x 6B17D1F2 E12C4247 F8BCE6E5 63A440F2 77037D81 2DEB33A0
F4A13945 D898C296
y = 0x 4FE342E2 FE1A7F9B 8EE7EB4A 7C0F9E16 2BCE3357 6B315ECE
CBB64068 37BF51F5
P-384: p = 2
384
2
128
2
96
+2
32
1, a h = 1
S = 0x A335926A A319A27A 1D00896A 6773A482 7ACDAC73
r = 0x 79D1E655 F868F02F FF48DCDE E14151DD B80643C1 406D0CA1
0DFE6FC5 2009540A 495E8042 EA5F744F 6E184667 CC722483
b = 0x B3312FA7 E23EE7E4 988E056B E3F82D19 181D9C6E FE814112 0314088F
22
5013875A C656398D 8A2ED19D 2A85C8ED D3EC2AEF
n = 0x FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
C7634D81 F4372DDF 581A0DB2 48B0A77A ECEC196A CCC52973
x = 0x AA87CA22 BE8B0537 8EB1C71E F320AD74 6E1D3B62 8BA79B98
59F741E0 82542A38 5502F25D BF55296C 3A545E38 72760AB7
y = 0x 3617DE4A 96262C6F 5D9E98BF 9292DC29 F8F41DBD 289A147C
E9DA3113 B5F0B8C0 0A60B1CE 1D7E819D 7A431D7C 90EA0E5F
P-521: p = 2
521
1, a h = 1
S = 0x D09E8800 291CB853 96CC6717 393284AA A0DA64BA
r = 0x 000000B4 8BFA5F42 0A349495 39D2BDFC 264EEEEB 077688E4
4FBF0AD8 F6D0EDB37BD6B533 28100051 8E19F1B9 FFBE0FE9 ED8A3C22
00B8F875 E523868C 70C1E5BF 55BAD637
b = 0x 00000051 953EB961 8E1C9A1F 929A21A0 B68540EE A2DA725B
99B315F3 B8B48991 8EF109E1 56193951 EC7E937B 1652C0BD 3BB1BF07
3573DF88 3D2C34F1 EF451FD4 6B503F00
n = 0x 000001FF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFA 51868783 BF2F966B 7FCC0148 F709A5D0
3BB5C9B8 899C47AE BB6FB71E 91386409
x = 0x 000000C6 858E06B7 0404E9CD 9E3ECB66 2395B442 9C648139 053FB521
F828AF60 6B4D3DBA A14B5E77 EFE75928 FE1DC127 A2FFA8DE 3348B3C1
856A429B F97E7E31 C2E5BD66
y = 0x 00000118 39296A78 9A3BC004 5C8A5FB4 2C7D1BD9 98F54449 579B4468
17AFBD17 273E662C 97EE7299 5EF42640 C550B901 3FAD0761 353C7086
A272C240 88BE9476 9FD16650
1.2.5 Hàm băm
1.2.5.1 Tổng quan về hàm băm
t ch yu phc v
c. Chc hih x
t mi c c nh. Mii t
c nh t nhiu so vi bu.
M mic sinh ra bng: h= H (M)
n nh.
i v
- i d liu vi
- u ra c nh.
23
- Vi vi thi vi c phn
mn cng.
- t chii
c k
- V
Hin nay, mt s k thuc s dng ph bi-1, SHA-256,
SHA-384, SHA-512; MD-4, MD-i dung lu s t
ct thu
1.2.5.2 Thuật toán băm SHA-1
n b n x
c -180--1.
Nội dung thuật toán
a thut b
64
2
bit.
x t kh
Message
100 0
)bits2bits(K
64
bits 32bits 512 NL
Padding
(1-512bits)
Message length (K)
. . . . . .
0
Y
1
Y
q
Y
1L
Y
512 bits 512 bits 512 bits 512 bits
SHA
H
SHA
H
SHA
H
SHA
H
512 512 512 512
1 6 0 1 6 01 6 0
1 6 0
160-bit
digest
ABCDE
Hình vẽ 1.3 Quá trình băm một bản tin
u ra c
c thc hin:
24
ROUND(ABCDE,Y
q
,K
0
)
ROUND(ABCDE,Y
q
,K
79
)
ROUND(ABCDE,Y
q
,K
1
)
+ ++++
160
MD
q + 1
MD
q
160
Y
q
512
32
A B
C ED
A B
C ED
A B
C ED
.
.
.
Hình vẽ 1.4 Quá trình băm một khối
Bước 1:
m (Append padding bits): Bt chui
m (padding) sao cho chii 448 khi chia cho 512. S
padding nm trong khong t n 512. Phn padding bao gm mt s
ng cn thit cc b
Bước 2:
t khn
t s nguyn khng d ch c khi
padding.
Bước 3:
Khi to MD buffer (Innitilize MD buffer): Mt b m 160 bt d cha
t qu t qu cua h
Bước 4:
25
X i dng khi 512 bit (Process message in 512-bit blocks):
hi
SHA
gp, mp gc. M
lp li
q
Y
a trong 5 thanh ghi
p nht ni dung ca buffer. Mp s dng mt hng s ph
K
i
.
Tp th
q
Y
t
q
. MD
q
u ra cc th c cng vi MD
q
to ra
MD
1q
c thc hic li vi mi
tng word trong MD
q
c thc hin modul 2
32
.
Bước 5:
Sau khi tt c L kh c x u ra c n th t
Bảng 1.2 So sánh đặc điểm của các thuật toán SHA-n
SHA-n
SHA-1
SHA-256
SHA-384
SHA-512
Message digest size
160
56
384
512
Message size
<2
64
<2
64
<2
128
<2
128
Block size
512
512
1024
1024
Word size
32
32
64
64
Number of steps
80
80
80
80
Security
80
128
192
256
Hit ca thu-
h thng bo mt hin thi dn dn thay th b-
256, SHA-
So sánh SHA-1 và MD5
26
C hai thuu dn xut t thun ch nhc
m gi-m ci ti
- An toàn đối với tấn công kiểu brute-force:
S t quan trng nh essage ca SHA-
message c t brute- to ra mt
c cn 2
128
i v
160
i vi SHA- ti vi
64
-
80
.
- Tấn công chống lại việc phân tích mã (cryphtanalysis):
Do thit k c b ti vig i vi
SHA-n thit k b
- Tốc độ:
C hai thuu dng modulo 2
32
ng hiu
qu -1 cn nhii 64 ca MD5), x
b m li 128 cy SHA-1 s thc thi ch
t phn cng.
- Tính gọn nhẹ:
C hai thu t.
Trong thc t, bt k h th b ti ta
dc t cc bo
m o mt.