Báo cáo tóm tắt Chuẩn Chữ ký số và ứng dụng - Pdf 66

Báo cáo tóm tắt Chuẩn Chữ ký số và ứng dụng

- 1 -

Lời mở đầu.

Trong sự phát triển của xã hội loài người, kể từ khi có sự trao đổi thông tin, an
toàn thông tin trở thành một nhu cầu gắn liền với nó như hình với bóng. Đặc biệt trong
thời đại mà thương mại điện tử đang lên ngôi thì việc có được các công cụ đầy đủ để
đảm bảo cho sự an toàn trao đổi thông tin liên lạc là vô cùng cần thiết. Chính vì vậy mà
chữ ký số đã ra đời với nhiều tính năng ư
u việt. Bằng việc sử dụng chữ ký số mà những
giao dịch liên quan đến lĩnh vực kinh tế (như giao dịch tài chính –ngân hàng, thuế, hải
quan, bảo hiểm…) và những giao dịch yêu cầu tính pháp lý cao (các dịch vụ hành
chính công, đào tạo từ xa) có thể thực hiện qua mạng máy tính.
Ngày nay, chữ ký số đóng một vai trò quan trọng trong kế hoạch phát triển
Thương mại điện tử và Chính phủ điện tử
ở nước ta. Chính vì vậy em đã chọn lĩnh vực
“chuẩn chữ ký số” làm đề tài nghiên cứu cho bài luận văn tốt nghiệp của mình. Nội
dung của bài báo cáo tóm tắt này em xin trình bày hai phần chính:
Chương 1 – Chuẩn hàm băm an toàn. Mục đích của chương này là trang bị cho
người đọc các kiến thức cần thiết về hàm băm cũng như giới thiệu các hàm băm an
toàn được sử dụng trong giải thuậ
t tạo và xác nhận chữ ký số được trình bày trong
chương 3.
Chương 2 – Chuẩn chữ ký số. Đây là nội dung trọng tâm của bài luận văn trong
đó trình bày chi tiết về chuẩn chữ ký số, giải thuật tạo và xác nhận chữ ký số DSA, các
giải thuật tạo và xác nhận các tham số cần thiết được sử dụng trong giải thuật tạo và
xác nhận chữ ký số DSA đó.
Do hạn chế v
ề kiến thức cũng như về thời gian nghiên cứu, bài luận văn này chắc

Phép toán hoặc theo bít .


Phép toán XOR theo bít.

⎡⎤
a
Trả về số nguyên nhỏ nhất thỏa mãn ≥ a.
Ví dụ:
⎡ ⎤
5
=5,
⎡ ⎤
4.5
= 6,
⎡ ⎤
1.2−
= -2.
ROTL
n
(x) Phép quay trái từ x đi n bít, được thực hiện bằng cách bỏ đi n bít
trái nhất của từ x và sau đó lại thêm đúng n bít trái nhất vừa bỏ
đi đó vào phía bên phải của x.
ROTR
n
(x) Phép quay phải từ x đi n bít, được thực hiện bằng cách bỏ đi n
bít phải nhất của từ x và sau đó lại thêm đúng n bít phải nhất vừa
bỏ đi đó vào phía bên trái của x.
Báo cáo tóm tắt Chuẩn Chữ ký số và ứng dụng


nhỏ.
- Chương trình công nghệ nâng cao: nhằm tạo ra sự phát triển của các công
nghệ mới để mang lại lợi nhuận lớn cho quốc gia bằng cách cùng với các khu
vực tư nhân đồng tài trợ cho đối tác R&D (Reseach and Development).
NIST đã có một quỹ hoạt động trị giá khoảng 930 triệu USD cho năm tài chính
2006 của mình. NIST sở hữu khoảng 2800 các nhà khoa học, kỹ sư, kỹ thuật viên, hỗ
Báo cáo tóm tắt Chuẩn Chữ ký số và ứng dụng

- 4 -
trợ viên và nhân viên hành chính. Ngoài ra NIST còn có khoảng 1800 công tác viên (là
những người tìm kiếm khách hàng và các kỹ sư của các công ty ở Mỹ và ở nước
ngoài). Hơn nữa, NIST còn có đội ngũ hội viên đông đảo với khoảng 1400 chuyên gia
và nhân viên sản xuất của gần 350 trung tâm chi nhánh trên toàn quốc.
Một số tài liệu công nghệ mà NIST đã công bố là:

FIPS 113 Tháng 3 năm 1985, xác thực dữ liệu máy tính.
FIPS 140-1 Tháng 1 năm 1994, Các yêu cầu bảo mật cho các module mã hóa.
FIPS 140-2 Tháng 3 năm 2001, Các yêu cầu bảo mật cho các module mã hóa.
FIPS 140-3 Tháng 7 năm 2007, Các yêu cầu bảo mật cho các module mã hóa.
FIPS 140-3 là một phiên bản sửa đổi của FIPS 140-2. Nó đưa ra 5 mức
độ bảo mật thay vì là 4 như trong FIPS 140-2 và có một phần giành
riêng cho bảo mật phần mềm.
FIPS 180-2 Ngày 1 tháng 8 năm 2002, chuẩn hàm băm an toàn SHS.
FIPS 186-2 Tháng 1 năm 2000, chuẩn chữ ký số DSS.
FIPS 188 Tháng 9 năm 1994, chuẩn các mức độ bảo mậ
t cho truyền tin.
FIPS 190 Tháng 9 năm1994, nguyên tắc sử dụng các lựa chọn công nghệ mật mã
tiên tiến.
FIPS 196 Tháng 2 năm 1997, thực thể xác nhận sử dụng mật mã khóa công khai.
FIPS 197 Tháng 11 năm 2001, chuẩn mật mã tiên tiến.

Để giải quyết vấn đề này ta sử dụng hàm băm, chấp nhận một thông điệp có độ
dài tuỳ ý làm đầu vào. Hàm băm sẽ biến đổi thông điệp này thành một thông điệp rút
gọn và sau đó sẽ dùng lược đồ ký để ký lên thông điệp rút gọn đó.

1.2.2. Định nghĩa hàm băm
Hàm băm là một hàm h có ít nhất hai tính chất sau:
• Tính chất nén: h sẽ ánh xạ một đầu vào x có độ dài bit hữu hạn tùy ý tới một
đầu ra h(
x
) có độ dài n bit hữu hạn.
• Tính chất dễ dàng tính toán: Với
h
cho trước và một đầu vào
x
, có thể dễ dàng
tính được h(x).
Hàm băm yếu:
Hàm băm h được gọi là yếu nếu:
• Với y cho trước và không có biến đầu vào tương ứng thì không có khả năng
tính toán để tìm thông điệp x sao cho:
h(x) = y
• Cho một thông điệp x thì về mặt tính toán không tìm ra được thông điệp x’
khác
x
sao cho:
h(x’) = h(x)
Hàm băm mạnh:
Hàm băm h được gọi là mạnh nếu:
• Cho một thông điệp x thì về mặt tính toán không tìm ra được thông điệp x’
khác x sao cho:

tiền xử lý bao gồm các công việc như độn tin, chia khối, thiết lập giá tri khởi t
ạo dùng
cho tính toán băm. Bước tính toán băm sẽ tạo ra một danh sách thông định sẵn từ bản
tin độn và sử dụng cơ chế đó với các hàm, hằng và các phép toán để tạo ra một chuỗi
các giá trị băm. Giá trị băm cuối cùng được tạo bởi bước tính toán băm sẽ chính là
thông điệp rút gọn.
Bốn giải thuật này khác nhau chủ yếu ở số bít bảo mật. Số bít bảo m
ật có liên
quan trực tiếp tới độ dài của thông điệp rút gọn. Khi một giải thuật hàm băm được sử
dụng cùng với một giải thuật khác thì ta cần phải chỉ ra hàm băm cần sử dụng có số bít
bảo mật là bao nhiêu. Ví dụ, nếu một thông điệp được ký bằng giải thuật chữ ký số với
128 bít bảo mật thì giải thuật chữ ký số đ
ó có thể yêu cầu sử dụng một hàm băm an
toàn có 128 bít bảo mật (ví dụ SHA-256).
Ngoài ra, 4 giải thuật khác nhau ở kích thước của khối và từ dữ liệu được dùng
trong quá trình băm. Bảng dưới đây sẽ trình bày các đặc điểm cơ bản của 4 giải thuật
hàm băm an toàn. Báo cáo tóm tắt Chuẩn Chữ ký số và ứng dụng

- 7 -
Giải thuật
Kích thước
thông điệp
(bits)
Kích thước

Các hàm của SHA-1:
SHA-1 sử dụng một danh sách các hàm logic f
0
, f
1
,…, f
79
. Mỗi hàm toán học f
t
,
trong đó 0 ≤ t ≤ 79 đều được thực hiện trên các từ dữ liệu 32 bít x, y, z và đầu ra của nó
cũng là một từ có kích thước 32 bít. Hàm f
t
(x, y, z) được định nghĩa như sau:

f
t
(x, y, z) =







≤≤⊕⊕=
≤≤∧⊕∧⊕∧=
≤≤⊕⊕=
≤≤∧¬⊕∧=
7960 z x z) y, Parity(x,


z) (2.3)

)()()(
2213
256
0
2
xROTRxROTRxROTR ⊕⊕

(2.4)

)()()(
2511
256
1
6
xROTRxROTRxROTR ⊕⊕

(2.5)

)()()(
3187
256
0
xROTRxROTRxROTR ⊕⊕
σ
(2.6)

)()()(

( y

z) (2.9)

)()()(
3934
512
0
28
xROTRxROTRxROTR ⊕⊕

(2.10)

)()()(
4118
512
1
14
xROTRxROTRxROTR ⊕⊕

(2.11)

)()()(
781
512
0
xROTRxROTRxROTR ⊕⊕
σ
(2.12)


79 t 60 ca62c1d6
59 t 40 8f1bbcdc
39 t 20 6ed9eba1
19 t 0 5a827999
t
K
(2.14)

Các hằng của SHA-256:
SHA-256 sử dụng 64 hằng số 32 bít như sau: K
0
{256}
, K
1
{256}
,… , K
63
{256}
. Dưới
đây là 64 hằng số của SHA-256 biểu diễn ở dạng hexa:

428a2f98 71374491 b5c0fbcf e9b5dba5 3956c25b 59f111f1 923f82a4 ab1c5ed5
d807aa98 12835b01 243185be 550c7dc3 72be5d74 80deb1fe 9bdc06a7 c19bf174
e49b69c1 efbe4786 0fc19dc6 240ca1cc 2de92c6f 4a7484aa 5cb0a9dc 76f988da
983e5152 a831c66d b00327c8 bf597fc7 c6e00bf3 d5a79147 06ca6351 14292967
27b70a85 2e1b2138 4d2c6dfc 53380d13 650a7354 766a0abb 81c2c92e 92722c85
a2bfe8a1 a81a664b c24b8b70 c76c51a3 d192e819 d6990624 f40e3585 106aa070
19a4c116 1e376c08 2748774c 34b0bcb5 391c0cb3 4ed8aa4a 5b9cca4f 682e6ff3
748f82ee 78a5636f 84c87814 8cc70208 90befffa a4506ceb bef9a3f7 c67178f2


748f82ee5defb2fc 78a5636f43172f60 84c87814a1f0ab72 8cc702081a6439ec
90befffa23631e28 a4506cebde82bde9 bef9a3f7b2c67915 c67178f2e372532b
ca273eceea26619c d186b8c721c0c207 eada7dd6cde0eb1e f57d4f7fee6ed178
06f067aa72176fba 0a637dc5a2c898a6 113f9804bef90dae 1b710b35131c471b
28db77f523047d84 32caab7b40c72493 3c9ebe0a15c9bebc 431d67c49c100d4c
4cc5d4becb3e42b6 597f299cfc657e2a 5fcb6fab3ad6faec 6c44198c4a475817

1.3.4 Tiền xử lý
Bước tiền xử lý được thực hiện trước khi tính toán băm được bắt đầu. Tiền xử lý
bao gồm 3 bước: độn tin, phân khối bản tin độn và cuối cùng là thiết lập giá trị băm
khởi tạo H
(0)
.

a. Độn bản tin
Một bản tin hay thông điệp M trước khi tính toán băm sẽ được độn thêm bít nhằm
đảm bảo bản tin sau khi độn (bản tin độn) có kích thước là một bội số của 512 hoặc
1024 bit (kích thước này phụ thuộc vào giải thuật được sử dụng).
Với SHA-1 và SHA-256
Giả thiết rằng chiều dài của bản tin M ban đầu là l bít. Cách độn bản tin sẽ được
tiến hành như sau: đầu tiên, ta thêm một bít “1” vào cuối bản tin và ngay tiếp sau bít
“1” vừa được thêm vào này, ta thêm k bít “0” liên tiếp, trong đó k là số nguyên nhỏ
nhất thỏa mãn l + 1 +k ≡ 448 mod 512. Sở dĩ l +1+k ≡ 448 mod 512 là vì khối 64 bít
Báo cáo tóm tắt Chuẩn Chữ ký số và ứng dụng

- 10 -
cuối cùng đã được dành ra để lưu thông tin về kích thước l của bản tin ban đầu. Ví dụ
với bản tin hệ mã ASCII-8 bít có nội dung là “abc” thì chiều dài của bản tin này sẽ là l
= 8.3 = 24 bít. Vì bản tin được độn thêm một bít “1” nên số bít “0” cần độn thêm vào
bản tin sẽ là 448 - (24 +1) = 423. Như vậy từ một bản tin M ban đầu có kích thước là

(N)
. Mỗi khối tin M
(i)
biểu diễn 16 từ-32 bít: M
0
(i)
, M
1
(i)
,…, M
15
(i)
.
SHA-384 và SHA-512.
BáoM
(2
M
0

c.
T
tạo
thư
SH

SH


.
iá trị băm
hi thực hiện
hải được kh
ng điệp rút
A-1, giá trị b
A-256, giá t
HA-512, bả
tin M
(i)
có đ
khởi tạo-H
n tính toán
hởi tạo. Kíc
gọn.
băm khởi tạ
trị băm khở
H
H
H
H
H
H
H
H
ản tin độn đ
độ lớn 1024
H
(0)


4
=
510e
H
)0(
5
=
9b05
H
)0(
6
=
1f83
H
)0(
7
=
5be0
-
được phân r
4 bít có thể
mỗi một giả
à số lượng từ
gồm 5 từ 3

ao gồm 8 từ
e667

ae85


(1)
,
ừ-64 bít
ăm khởi
vào kích

Báo cáo tóm tắt Chuẩn Chữ ký số và ứng dụng

- 12 -
SHA-384.
Với SHA-384, giá trị băm khởi tạo H
(0)
bao gồm 8 từ-64 bít sau: SHA-512.
Với SHA-512, giá trị băm khởi tạo H
(0)
bao gồm 8 từ-64 bít sau:
1.3.5. Các giải thuật hàm băm an toàn
Trong phần này, em xin trình bày giải thuật SHA-512 trước giải thuật SHA-384
bởi vì giải thuật SHA-384 giống hệt giải thuật SHA-512, chỉ có giá trị băm khởi tạo là
khác và giá trị băm cuối cùng được cắt lấy 384 bít chứ không phải lấy toàn bộ 512 bít
như giải thuật SHA-512 để tạo ra thông điệp rút gọn. Mỗi giải thuật băm an toàn đều
có các phương pháp tính luân phiên để tạo ra kết quả.

a. SHA-1

liên tiếp được thay thế bởi các giá trị băm trung gian
H
(i)
cho đến giá trị băm cuối cùng H
(N)
. Ngoài ra SHA-1 còn sử dụng một biến trung
gian T có kích thước bằng một từ 32 bít.
Qui trình tiền xử lý của SHA-1.
1. Độn tin cho bản tin M.
2. Phân bản tin M ra thành N khối 512 bít M
(1)
, M
(2)
, …, M
(N)
.
3. Thiết lập giá trị khởi tạo H
(0)
.
Qui trình tính toán băm của SHA-1.
Để tính toán băm, giải thuật SHA-1 sử dụng các hàm và các hằng số được cho
trong mục 2.3.2 và 2.3.3. Phép cộng (+) được thực hiện trên modulo 2
32
.
Sau khi tiền xử lý, mỗi khối tin M
(1)
, M
(2)
, …, M
(N)

(a) + f
t
(b, c, d) +e + K
t
+ W
t

e = d
d = c
c = ROTL
30
(b)
b = a
Báo cáo tóm tắt Chuẩn Chữ ký số và ứng dụng

- 14 -
a = T
}
4. Tính giá trị băm trung gian thứ i - H
(i)

H
0
(i)
= a + H
0
(i-1)
H
1
(i)

|| H
1
(N)
|| … || H
4
(N)b. SHA-256.
SHA-256 có thể được dùng để tính băm cho các thông điệp M có độ dài là l bít
với 1 ≤ l ≤ 2
64
. Giải thuật SHA-256 sử dụng
1. Một danh sách thông định sẵn gồm 64 từ-32 bít.:
2. Tám biến hoạt động có độ dài 32 bít.
3. Một giá trị băm gồm 8 từ-32 bít. Kết quả cuối cùng của giải thuật SHA-256 là
thông điệp rút gọn dài 256
Các từ của danh sách thông định sẵn được gán nhãn là W
0
, W
1
,…, W
63
. Tám biến
hoạt động đặt tên là a, b, c, d, e, f, g và h. Các từ của giá trị băm được gán nhãn là H
0
(i)
,
H
1

SHA-256 sử dụng các hàm và các hằng số được mô tả trong phần 2.3.2 và 2.3.3
để tính toán băm. Phép toán cộng (+) được thực hiện theo modulo 2
32
.
Sau bước tiền xử lý, từng khối tin M
(1)
, M
(2)
, …, M
(N)
sẽ được xử lý tuần tự theo
các bước sau:
For i = 1 to N:
{
1.

Chuẩn bị danh sách thông định sẵn, {Wt}:

Trích đoạn Thuật toán xác suất Miller-Rabin kiểm tra tính nguyên tố
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status