Chuẩn Chữ ký số và ứng dụng - pdf 16

Download miễn phí Đề tài Chuẩn Chữ ký số và ứng dụng



Chương 1 4
CHUẨN HÀM BĂM AN TOÀN 4
1.1 Giới thiệu về NIST. 4
1.2. Sơ lược về hàm băm 6
1.2.1. Giới thiệu 6
1.2.2. Định nghĩa hàm băm 6
1.3 Chuẩn hàm băm an toàn 7
1.3.1. Giới thiệu 7
1.3.2. Các hàm sử dụng trong SHA 8
1.3.3 Các hằng được sử dụng trong SHA 9
1.3.4 Tiền xử lý 10
1.3.5. Các giải thuật hàm băm an toàn 13
Chương 2 20
CHUẨN CHỮ KÝ SỐ 20
2.1. Giới thiệu 20
2.3. Giải thuật chữ ký số 21
2.3.1. Các tham số của DSA 21
2.3.2. Lựa chọn kích thước tham số và hàm băm cho DSA 22
2.3.3. Các tham số miền của DSA 22
2.3.4. Cặp khóa 23
2.3.5. Số bí mật cho mỗi thông điệp 24
2.3.6. Tạo chữ ký số DSA 25
2.3.7. Kiểm tra và xác thực chữ ký DSA 25
2.3.8. Chứng minh giải thuật DSA. 26
2.3.9. Đánh giá giải thuật DSA 26
2.4. Tạo và xác nhận tham số miền 27
2.4.1. Tạo các số nguyên tố p và q 27
2.4.2. Tạo số g 32
2.5. Tạo cặp khóa 34
2.5.1. Tạo cặp khóa 34
2.5.2. Tạo số bí mật cho mỗi thông điệp 35
 
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

ằ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 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à 24 bít, bằng việc độn thêm bít như này, ta thu được một bản tin độn có kích thước là 512 bít, thỏa mãn là bội số của 512.
Với SHA-384 và SHA-512.
Giả sử rằng chiều dài của bản tin M ban đầu là l bít. Các độ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 ≡ 896 mod 1024. Sở dĩ l+1+ k ≡ 896 mod 1024 là vì khối 128 bít 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à 896 - (24 + 1) = 871. Như vậy từ một bản tin M ban đầu có kích thước là 24 bít, bằng việc độn thêm bít như này, ta thu được một bản tin độn có kích thước là 1024 bít, thỏa mãn là bội số của 1024.
b. Phân phối bản tin độn
Sau khi bản tin được độn thêm bít, nó cần được phân ra thành N khối m-bít trước khi quá trình tính toán băm được bắt đầu.
SHA-1 và SHA-256.
Với SHA-1 and SHA-256, bản tin độn sẽ được phân ra thành N khối 512 bít: M(1), M(2),…, M(N). Mỗi khối tin M(i) biểu diễn 16 từ-32 bít: M0(i), M1(i),…, M15(i).
SHA-384 và SHA-512.
Với SHA-384 và SHA-512, bản tin độn được phân ra thành N khối 1024 bít. M(1), M(2),…, M(N). Mỗi khối tin M(i) có độ lớn 1024 bít có thể biểu diễn thánh 16 từ-64 bít M0(i), M1(i),…, M15(i).
c. Thiết lập giá trị băm khởi tạo-H(0)
Trước khi thực hiện tính toán băm cho mỗi một giải thuật băm, giá trị băm khởi tạo-H(0) cần được khởi tạo. Kích thước và số lượng từ của H(0) phụ thuộc vào kích thước của thông điệp rút gọn.
SHA-1.
Với SHA-1, giá trị băm khởi tạo H(0) bao gồm 5 từ 32 bít sau:
SHA-256.
Với SHA-256, giá trị băm khởi tạo H(0) bao gồm 8 từ 32 bít sau:
H= 6a09e667
H= bb67ae85
H= 3c6ef372
H= a54ff53a
H= 510e527f
H= 9b05688c
H= 1f83d9ab
H= 5be0cd19
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
SHA-1 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 0 ≤ l < 264 . Giải thuật sử dụng:
Một danh sách thông định sẵn gồm 80 từ-32 bít.
Năm biến làm việc có độ dài 32 bít.
Một giá trị băm bao gồm 5 từ-32 bít. Kết quả cuối cùng của giải thuật SHA-1 là một thông điệp rút gọn 160 bít.
Các từ của danh sách thông định sẵn được đánh nhãn là W0, W1,…, W79. Năm biến làm việc là a, b, c, d và e. Các từ của giá trị băm được gán nhãn là H0(i), H1(i), …, H4(i) trong đó giá trị băm khởi tạo H(0) 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 232.
Sau khi tiền xử lý, mỗi khối tin M(1), M(2), …, M(N) được xử lý lần lượt theo các bước sau:
For i = 1 to N:
{
Chuẩn bị danh sách thông định sẵn {Wt}:
Khởi tạo 5 biến hoạt động a, b, c, d và e ứng với giá trị băm thứ (i-1).
a = H0(i-1)
b = H1(i-1)
c = H2(i-1)
d = H3(i-1)
e = H4(i-1)
For t = 0 to 79:
{
T = ROTL5(a) + ft(b, c, d) +e + Kt + Wt
e = d
d = c
c = ROTL30(b)
b = a
a = T
}
Tính giá trị băm trung gian thứ i - H(i)
H0(i) = a + H0(i-1)
H1(i) = b + H1(i-1)
H2(i) = c + H2(i-1)
H3(i) = d + H3(i-1)
H4(i) = e + H4(i-1)
}
Sau khi lặp lại các bước từ (1) tới (4) là N lần, thông điệp rút gọn 160 bít của M sẽ là H0(N) || H1(N) || … || H4(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 ≤ 264. 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à W0, W1,…, W63. 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à H0(i), H1(i), …, H7(i) trong đó giá trị băm khởi tạo H(0) sẽ được thay thế liên tiếp bằng các giá trị băm trung gian H(i) cho đến giá trị băm cuối cùng là H(N). SHA-256 còn sử dụng hai biến trung gian T1 và T2 có độ lớn là 32 bít.
Qui trình tiền xử lý của SHA-256.
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-256.
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 232.
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:
{
Chuẩn bị danh sách thông định sẵn, {Wt}:
Khởi tạo 8 biến hoạt động a, b, c, d, e, f, g và h với giá trị băm thứ (i-1)
a = H0(i-1)
b = H1(i-1)
c = H2(i-1)
d = H3(i-1)
e = H4(i-1)
f = H5(i-1)
g = H6(i-1)
h = H7(i-1)
For t = 0 to 63:
{
T1 = h +
T2 = + Ch(e, f, g) + Kt{256} + Wt
h = g
g = f
f = e
e = d + T1
d = c
c = b
a = T1+ T2
}
Tính toán giá trị băm trung gian thứ i (H(i))
H0(i) = a + H0(i-1)
H1(i) = b + H1(i-1)
H2(i) = c + H2(i-1)
H3(i) = d + H3(i-1)
H4(i) = e + H4(i-1)
H5(i) = g + H5(i-1)
H6(i) = f + H6(i-1)
H7(i) = h + H7(i-1)
}
Sau khi lặp lại N lần các bước từ (1) tới (4) thì ta thu được thông điệp rút gọn 256 bít của thông điệp M là: H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N) || H6(N) || H7(N)
c. SHA-512.
SHA-512 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 ≤ 2128. Giải thuật SHA-512 sử dụng:
1. Một danh sách thông định sẵn gồm 8...
Music ♫

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