TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN HƢƠNG TRÀ
CHUẨN CHỮ KÝ SỐ DSA
VÀ ỨNG DỤNG TRONG HÓA ĐƠN
TIỀN ĐIỆN ĐIỆN TỬ QUẬN LONG BIÊN KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Khoa học máy tính
TS. LƯU THỊ BÍCH HƯƠNG
HÀ NỘI – 2015
sâu sc nht ti TS. Lƣu Thị Bích Hƣơng ng dn, ch bo,
ng ý kin quý báu cho em trong sut quá trình
thc hin.
Em xin chân thành cy, cô giáo trong khoa Công ngh
i hm Hà Nng dy và giúp
em trong sut bc vi gian em làm bài
khóa lun này. Là sinh viên khoa Công ngh Thông tin, em rt t hào v
khoa mình hc, v thy cô giáo ca mình. Em xin kính chúc các thy, các cô
luôn mnh khe, hnh phúc và thành công. Chúc khoa Công ngh Thông tin
s ngày mt khang trang, vng mnh, góp phn to ln trong s nghi
to chuyên nghip ci hm Hà Ni 2.
Lu nghiên cu khoa hc, chc ch tài ca em không tránh
khi nhng thiu sót, hn ch. Vì vy, em rt mong s n ca
các thy cô giáo và các b tài cc hoàn thin.
Cui cùng, em xin ci , bn bè c
ng viên, khích l tinh thn và tu kin tt nht cho em hoàn thành
khóa lun này.
Hà N
Sinh viên Nguyễn Hƣơng Trà
LỜI CAM ĐOAN
Tên em là: Nguyễn Hƣơng Trà
Sinh viên: K37A i hm Hà Ni 2.
1.2.2. SHA-256 8
1.2.3. SHA-512 11
1.2.4. SHA-384 14
1.3. Ch ký s 14
1.3.1. 14
1.3.2. Ch ký s 15
1.3.3. Quá trình to ch ký s 17
1.3.4. Quá trình thnh ch ký s 18
N CH KÝ S DSA 19
2.1. Gii thiu 19
2.2. Thut toán ch ký s DSA 21
2.2.1. Nguyên tc hong 21
2.2.2. Các tham s 22
c tham s dng 23
2.2.4. Các tham s min 24
2.2.5. Cp khoá 26
2.3. To cp khoá 27
T K T NG DNG 29
3.1. Phát biu bài toán 29
3.2. Thit k bng gii thut DSA 32
lp ca gii thu 32
to các tham s min 34 3.2.3. Cho khoá 43
3.2.4. Cho và thnh ch ký s 44
3.3. Thit k giao din 45
KT LUNG PHÁT TRIN 51
TÀI LIU THAM KHO 53
Hình 3.8: Form kt qu nhc 50
1
MỞ ĐẦU
1. Lý do chọn đề tài
Trong s phát trin ca xã hi, k t khi có s i thông tin, an
toàn thông tin tr thành mt nhu cu gn lin vi cuc sc
bit trong thn t n thì vic các
công c m bo cho s i thông tin liên lc là vô
cùng cn thit. Ch ký s i vi nhit phc v cho
vim bo an toàn thông tin. Nó chính là liu
nhm mi ch ca d lianh, ch ký
s c hiu và ch ký ca mt doanh nghip. Nó không nhng
ch dùng trong vic kê khai thui s dng có th s dng trong tt
c các giao dn t vi mi t chc và cá nhân khác. Trong thi công
ngh thông tin hin nay thì vic rút ngn khong cách gia không gian, thi
gian luôn là mi cp thit trong công vic kinh doanh, ch ký s ra
p tit kim nhiu thi gian, công sc trong
mt s công vic giao dch v
Ngày nay, vic thanh toán bn t cho các giao dch mua
c xem là xu th mp vi thi công ngh s
.
.
. Thi gian gn lng
c chuyn t vic thanh toán by sang vic thanh toán bng
n t. Vic s dn t trong giao dn
i bán tit kic chi phí in n, thun tin trong bo qun,
2
và hch toán k i chiu d liu, qun tr kinh doanh ca doanh
nghip, kê khai, np thung thi góp phn
bo v ng. Khách hàng có th cp nhn t thông
vic áp dn t phù hp vi các công ngh tiên tic
áp dng trên th gi Internet Banking, SMS Banking,
c mn t mang li l
thu ng gic hin áp dng
n t, vic thc hin qua mng internet bng các phn
mm xác thc tính n cm bc nhanh chóng và
chính xác, gim vi ng giy.
6. Phƣơng pháp nghiên cứu
a- Phương pháp nghiên cứu lý luận
Nghiên cu qua vic sách, báo và các tài liu liên quan nhm xây
d lý thuyt ca khóa lun và các bin pháp cn thi gii quyt
các v ca khóa lun.
b- Phương pháp chuyên gia
Tham kho ý kin c có th thit k
phù hp vi yêu cu thc tin. Ni dung x áp c yêu cu
ngày càng cao ci s dng.
c- Phương pháp thực nghiệm
4
Thông qua quan sát thc t, yêu cu c , nhng lý luc
nghiên cu và kt qu c qua nh
7. Cấu trúc khóa luận
Ngoài phn li c u, kt lung phát trin, tài liu
tham kho, khóa lun có nhng ni dung sau:
Chương 1: Cơ sở lý thuyết - Tp trung nghiên cu khái quát lý thuyt
cc s dng trong vic ký s có cái nhìn
p rút gn H(M)- vi mt xác sut là rt lm này rt có ích
trong vic to và xác nhn ch ký s c to ra các s ngu
nhiên.
Mi mt gii thuu gc tin x c tính toán
c tin x lý bao gm các công vin tin, chia khi, thit lp
giá tr khi tc tính to to ra mt
nh sn t bn và s d i các hàm,
h to ra mt chui các giá tr i
c to b p rút gn.
Bn gii thut này khác nhau ch yu s bít bo mt. S bít bo mt
có liên quan trc tip t dài cp rút gn. Khi mt gii thut
c s dng cùng vi mt gii thut khác thì ta cn phi ch ra
n s dng có s bít bo mt là bao nhiêu. Ví d, nu mt thông
c ký bng gii thut ch ký s vi 128 bít bo mt thì gii thut ch
ký s yêu cu s dng mo mt (ví
d SHA-256).
6
Ngoài ra, các gii thut khác nhau c ca khi và t d liu
bn ca các gii thu
Bảng 1.1: Đặc điểm của các giải thuật hàm băm an toàn
Gii thut
Kích
c
p
(bít)
Kích
c khi
64
384
192
SHA-512
< 2
128
1024
64
512
256
1.2. Các giải thuật hàm băm an toàn
1.2.1. SHA-1
SHA-1 có th p M dài là
l bít vi l< 2
64
. Gii thut s dng:
1. Mnh sn gm 80 t 32 bít.
n làm vi dài 32 bít.
3. Mt giá tr m 5 t 32 bít. Kt qu cui cùng ca gii
thut SHA-1 là mp rút gn 160 bít.
Các t cnh sW
0
, W
1
,…, W
79
.
n làm vic là a, b, c, d và e. Các t ca giá tr c gán nhãn là
(0)
.
Qui trình tính toán băm của SHA-1
SHA-c thc hin trên phép cng modulo 2
32
trên tng t 32 bít
ca khu vào. Sau khi tin x lý, mi khi tin M
(1)
, M
(2)
, …, M
(N)
c x
lý lc sau:
For i = 1 to N do
{
1. Chun b nh sn {W
t
}:
=
()
ế 0 15
1
(
3
{
T = ROTL
5
(a) + f
t
(b, c, d) +e + K
t
+ W
t
e = d
8
d = c
c = ROTL
3
(b)
b = a
a = T
}
4. Tính giá tr i - H
(i)
H
0
(i)
= a + H
0
(i-1)
0
(N)
|| H
1
(N)
|| … || H
4
(N)
.
1.2.2. SHA-256
SHA-256 có th p M dài
là l bít vl
64
. Gii thut SHA-256 s dng:
1. Mnh sn gm 64 t 32 bít.
2. Tám bin ho dài 32 bít.
3. Mt giá tr m 8 t 32 bít. Kt qu cui cùng ca gii thut
SHA-p rút gn dài 256.
Các t cnh sc gán nhãn là W
0
, W
1
W
63
.
Tám bin hot tên là a, b, c, d, e, f, g và h. Các t ca giá tr
9
c gán nhãn là H
0
3. Thit lp giá tr khi to H
(0)
.
Qui trình tính toán băm của SHA-256
SHA-256 c thc hin trên phép cng modulo 2
64
trên tng t 32 bít
ca khu vàoc tin x lý, tng khi tin M
(1)
, M
(2)
, …, M
(N)
s
c x lý tun t c sau:
For i = 1 to N do
{
1. Chun b nh sn, {W
t
}:
=
()
ế 0 15
1
1
(i-1)
c = H
2
(i-1)
d = H
3
(i-1)
e = H
4
(i-1)
f = H
5
(i-1)
10
g = H
6
(i-1)
h = H
7
(i-1)
g = f
f = e
e = d + T
1
d = c
c = b
a = T
1
+ T
2
}
4. Tính toán giá tr i (H
(i)
)
H
0
(i)
= a + H
0
(i-1)
H
1
(i)
= b + H
1
(i-1)
(i)
= h + H
6
(i-1)
H
7
(i)
= f + H
7
(i-1)
}
11
Sau khi lp li N lc t (1) tp
rút gn 256 bít cp M là: H
0
(N)
|| H
1
(N)
|| H
2
(N)
|| H
3
(N)
|| H
4
1
,…, W
79
.
Tám bin hot tên là a, b, c, d, e, f, g và h. Các t ca giá tr
c gán nhãn là H
0
(i)
,H
1
(i)
, …, H
7
(i)
i to H
(0)
s c
thay th liên tip bng các giá tr H
(i)
n giá tr i
cùng là H
(N)
. SHA- dng hai bin trung gian T
1
và T
2
ln là 64 bít.
Qui trình tiền xử lý của SHA-512
n tin cho bn tin M.
=
()
ế 0 15
1
256
2
+
7
+
0
256
15
+
16
ế 16 79
(i-1)
f = H
7
(i-1)
3. For t = 0 to 79 do
{
T
1
= h +
()
512
1
+ ch(e, f, g) +
{512}
+
T
2
=
512
0
+ ch(e, f, g) +
0
(i-1)
H
1
(i)
= b + H
1
(i-1)
H
2
(i)
= c + H
2
(i-1)
H
3
(i)
= d + H
3
(i-1)
H
4
(i)
= e + H
4
(i-1)
3
(N)
|| H
4
(N)
|| H
5
(N)
||
H
6
(N)
|| H
7
(N)
.
14
1.2.4. SHA-384
SHA-384 có th p M dài
l bít vi 0 ≤ l ≤ 2
128
. Gii thu vi gii thut
SHA-512 tr m khác bit duy nht sau:
1. Giá tr i to H
(0)
ca SHA-384 khác vi giá tr khi to
H
(0)
ca SHA-512.
K
k
toán xác minh Ver
k
V.
k
k
: P
x
{TRUE, FALSE}
x y
,
=
ế = ()
ếế ()
15
Chng hn mt chi nhánh ngân hàng gi mt gói tin v i dng
(a, b)a là s tài khon và b là s tin chuyn vào tài khot
k lo có th gi mt s ti ly ni dung gói tin và truyn li
c nhiu l thu li (tn công truyn li gói tin).
16
1.3.2.2. Tính toàn vẹn
C u có th
bn không b si trong khi truyn vì nn b
i và lp tc b phát hin. Quá trình mã hóa s n ni dung ca
i vi bên th c vii ni dung
ca nó. Mt ví d ng hp này là tng hình (homomorphism
attack); tip tc ví d trên, mt k lo gng vào tài
khon ca a, chn gói tin (a, b) mà chi nhánh gi v trung tâm ri gi gói tin
(a, b
3
) thay th lp tc tr thành triu phú.
1.3.2.3. Tính không thể phủ nhận
Trong giao dch, mt bên có th t chi nhn m
mình g a kh n có th yêu cu bên gi phi
gi kèm ch ký s vn. Khi có tranh chp, bên nhn s dùng ch ký
t chng c bên th ba gii quyt. Tuy nhiên, khóa bí mt vn
có th b l và tính không th ph nh c hoàn toàn.
Vy làm th m bo các tính cht trên? s
d thc hin vic to ch n t. Mt s thuc
s dng trong vic to ra ch n t:
- Full Domain hash, RSA- PSS, da trên RSA
- DSA
- ECDSA
- ElGamal Signature Scheme
Hình 1.2: Quá trình thnh ch ký s