ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
BÀI TIỂU LUẬN
MẬT MÃ VÀ AN TOÀN DỮ LIỆU
Đề tài: Trình bày về Chữ ký số DSS
Giảng viên: PGS.TS Trịnh Nhật Tiến
Học viên: Nguyễn Thị Thơ Mây
Ngày sinh: 08/02/1989
Mã học viên: 12025231
Điện thoại: 01683247420
Hà Nội, 2014
MỤC LỤC
1
I. Giới thiệu.
Để nâng cấp việc sử dụng thương mại điện tử của quốc gia và trong việc
giao dịch, Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (NIST) đã đề xuất
chuẩn xử lý thông tin FIPS 186 là chuẩn chữ ký số (DSS – Digital Signature
Standard) năm 1991, là cải biên của sơ đồ chữ ký ElGamal và được chấp nhận là
chuẩn từ ngày 1/12/1994.
Phiên bản đầu tiên của chuẩn chữ ký số là FIPS PUB 186, phiên bản tiếp
theo là FIPS PUB 186-1 được đưa ra ngày 15/12/1998, phiên bản thứ 3 là FIPS
PUB 186-2 đưa ra ngày 27/1/2000, phiên bản thứ 4 là FIPS PUB 186-3 được
công bố tháng 6/2009 và phiên bản mới nhất hiện nay là FIPS PUB 186-4 được
công bố tháng 7/2013.
Bảng dưới đây so sánh sự khác nhau giữa các phiên bản đã có của DSS.
Phiên bản Giá trị cặp
(L,N) bits
Nội dung Chuẩn hàm băm
sử dụng
FIPS PUB 186 L [512, 1024]
N [159,160]
thay cho Z
p
*, do đó mọi tính toán được thực hiện trong Z
p
*
, nhưng thành phần
chữ ký lại thuộc Z
q
*.
+ Trong sơ đồ ký Elgamal, công thức tính δ được sửa đổi thành
δ = (x + a * γ) r
-1
mod q.
+ Điều kiện kiểm thử h
γ
γ
δ
≡
g
x
mod p được sửa đổi thành
.
Chú ý nếu UCLN(x + g * γ, p-1) = 1 thì δ
-1
mod p tồn tại.
II. Sơ đồ Chuẩn chữ ký số DSS
*, A = Z
q
* x Z
q
* , K = {(p, q, α, a, h)/ a ∈ Z
p
*, h ≡ α
a
mod p}.
+ Với mỗi khóa (p, q, α, a, h), k’ = a bí mật, k” = (p, q, α, h) công khai.
2/. Ký số:
Dùng 2 khóa ký: khóa a và khóa ngẫu nhiên bí mật r ∈ Z
q
*.
Chữ ký trên x ∈ Z
p
* là Sig
k’
(x, r) = (γ, δ), trong đó:
γ = (α
r
mod p) mod q, δ = ((x + a * γ ) * r
-1
mod q.
(Chú ý r ∈ Z
q
*, để bảo đảm tồn tại r
-1
mod q).
3/. Kiểm tra chữ ký:
85
mod 7649 = 5387.
b/. Ký số:
Dùng 2 khóa ký: a và khóa ngẫu nhiên r = 58 ∈ Z
q
*, r
-1
mod q = 136.
+ Chữ ký trên x = 1246 là Sig
k’
(x, r) = (γ, δ) = (115, 87) , trong đó:
γ = (α
r
mod p) mod q = (7098
58
mod 7649)
mod 239 = 593 mod 239 = 115.
δ = (x + a * γ ) * r
-1
mod q = (1246 + 85 * 115) *
136
mod 239 = 87.
c/. Kiểm tra chữ ký:
(γ, δ) = (115, 87) là chữ ký đúng trên x = 1246.
e
1
= x* δ
bit.
+ Nếu dùng chữ ký RSA với thành phần kiểm thử chữ ký là nhỏ, thì việc kiểm
thử nhanh hơn việc ký. Đối với DSS, ngược lại, việc ký nhanh hơn kiểm thử.
Điều này dẫn đến vấn đề:
Một tài liệu chỉ được ký một lần, nhưng nó lại được kiểm thử nhiều lần, nên
người ta muốn thuật toán kiểm thử nhanh hơn.
NIST trả lời rằng thời gian kiểm thử và sinh chữ ký, cái nào nhanh hơn không
quan trọng, miễn là đủ nhanh.
III. Độ an toàn và ứng dụng của Chữ ký số DSS
1. Độ an toàn của Chữ ký số DSS
DSS dựa vào sơ đồ chữ ký Elgamal, với một vài sửa đổi. Vì vậy tính bảo
mật của DSS cũng dựa trên độ khó của bài toán logarit rời rạc. Để đảm bảo an
toàn, số nguyên tố p cần phải đủ lớn, trong phiên bản này thì p nhỏ nhất có độ dài
biểu diễn nhị phân là 512 bit. Nếu p có độ lớn là 1024 bit thì so với sơ đồ chữ ký
RSA và Elgamal thì chữ ký sẽ có độ dài tương ứng là 1024 bit và 2048 bit, nhưng
5
thực tế nhiều ứng dụng lại cần chữ ký ngắn hơn, vì thế DSS với một vài sửa đổi so
với Elgamal thì chữ ký chỉ còn lại là 320 bit.
Việc xác thực chữ ký của DSS chậm hơn so với quá trình tạo chữ ký.
Nhưng lại có nhiều ứng dụng chỉ cần tạo chữ ký 1 lần sau đó việc xác thực lại
được dùng nhiều lần và với thời gian dài như vậy sử dụng DSS cho các ứng dụng
này không phải là 1 lợi thế.
2. Ứng dụng của Chữ ký số DSS
Hiện nay, các giao dịch điện tử ngày càng trở nên phổ biến. Để bảo đảm an
toàn cho các giao dịch này, cần phải sử dụng đến giải pháp chữ ký số. Chữ ký số
được sử dụng để bảo đảm tính bảo mật, tính toàn vẹn, tính chống chối bỏ của các
thông tin giao dịch trên mạng Internet. Chữ ký số tương đương với chữ ký tay nên
có giá trị sử dụng trong các ứng dụng giao dịch điện tử với máy tính và mạng
Internet cần tính pháp lý cao.
Hơn nữa, ngoài việc là một phương tiện điện tử được pháp luật thừa nhận về