1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài báo cáo chuẩn chữ ký số và ứng dụng

26 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 611,83 KB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG ISO 9001:2000 Tên đề tài CHUẨN CHỮ KÝ SỐ VÀ ỨNG DỤNG Giáo viên hướng dẫn : TS.Lê Phê Đơ Sinh viên thực : Nguyễn Đình Lượng Lớp CT702 HẢI PHÒNG - 2007 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC ĐÍCH ĐỀ TÀI Nghiên cứu lý thuyết mật mã, chữ ký điện tử, Chuẩn hàm băm an toàn Chuẩn chữ ký số LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com NỘI DUNG TRÌNH BÀY Giới thiệu NIST Sơ lược hàm băm Chuẩn hàm băm an toàn Giới thiệu Tiền xử lý Các hàm sử dụng tính tốn Quy trình tính tốn Chuẩn chữ ký số Giới thiệu Các tham số DSA Lựa chọn kich thước tham số Tạo chữ ký số DSA Xác nhận chữ ký số DSA Giải thuật tạo số nguyên tố p q Giải thuật xác suất Miller-Rabin kiểm tra tính nguyên tố LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Giới thiệu NIST Viện chuẩn công nghệ quốc gia NIST (the National Institute of Standards and Technology), thành lập năm 1901, quan quản trị công nghệ thương mại Hoa Kì Nhiệm vụ Viện thúc đẩy đổi nâng cao tính cạnh tranh công nghệ cách đưa khoa học đo lường, chuẩn công nghệ tiên tiến theo cách làm tăng tính an tồn kinh tế cải thiện chất lượng sống LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sơ lược hàm băm Định nghĩa: Hàm băm hàm h có hai tính chất sau: Tính chất nén: h ánh xạ đầu vào x có độ dài bit hữu hạn tùy ý tới đầu h(x) có độ dài n bit hữu hạn Tính chất dễ dàng tính tốn: Với h cho trước đầu vào x, dễ dàng tính h(x) Hàm băm yếu: • Với y khơng thể tìm x cho h(x) = y • Với x khơng thể tím x’ cho h(x’) = h(x) Hàm băm mạnh: • Với x khơng thể tím x’ cho h(x’) = h(x) • Khơng thể tìm x ≠ x’ cho h(x) = h(x’) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn hàm băm an toàn (SHS) Giới thiệu: Chuẩn hàm băm an toàn SHS (Secure Hash Standard) NIST đưa lần đầu vào 11/5/1993 với phiên đầu FIPS PUB 180-1 Và phiên thứ2 FIPS PUB 180-2, đưa vào ngày 1/8/2002 Trong FIPS PUB 180-2 có giải thuật hàm băm đua SHA-1, SHA-256, SHA-384, SHA-512 Đặc LUONG điểm giải: add thuật hàm băm an toàn LUANBảng VAN CHAT download luanvanchat@agmail.com Chuẩn hàm băm an toàn (SHS) Tiền xử lý: Độn tin Giải sử thơng điệp M có độ dài l bit - Với SHA-1 SHA-256 Biểu diễn nhị phân M 00…00 Biểu diễn nhị phân l l bit k bit 64 bit l +1+k ≡ 448 mod 512 - Với SHA-384 SHA-512 Biểu diễn nhị phân M 00…00 Biểu diễn nhị phân l l bit k bit l +1+k ≡ 896 mod 512 128 bit LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn hàm băm an toàn (SHS) Tiền xử lý: Phân phối tin độn - Với SHA-1 SHA-256 Bản tin độn phân 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) - Với SHA-384 SHA-512 Bản tin độn phân 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 biểu diễn thánh 16 từ-64 bít M0(i), M1(i),…, M15(i) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn hàm băm an toàn (SHS) Các hàm sử dụng tính tốn SHA-1: ft (x, y, z) = SHA-256  Ch(x, y, z)  (x  y)  ( x  z )  Parity(x, y, z)  x  y  z    Maj(x, y, z)  (x  y)  ( y  z )  ( z  x)   Parity(x, y, z)  x  y  z  t  19 20  t  39 40  t  59 60  t  79 Ch( x, y, z) = ( x  y)  ( x  z) Maj( x, y, z) = ( x  y) ( x  z) ( y  z)  256 ROTR2 ( x) ROTR13 ( x)  ROTR22 ( x)  256ROTR7 ( x)  ROTR18 ( x)  ROTR3 ( x)  256 ROTR6 ( x) ROTR11( x)  ROTR25 ( x)  1256ROTR17 ( x)  ROTR19 ( x)  ROTR10 ( x) SHA-348 512 Ch( x, y, z) = ( x  y)  ( x z) Maj( x, y, z) = ( x y) ( x  z) ( y z) 512 512 14 18 41 0 ROTR28 ( x) ROTR34 ( x)  ROTR39 ( x) 1 ROTR ( x) ROTR ( x)  ROTR ( x)  512ROTR1 ( x)  ROTR8 ( x)  ROTR7 ( x)  1512ROTR19 ( x)  ROTR61( x)  ROTR6 ( x) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn hàm băm an tồn (SHS) Quy trình tính tốn SHA-1: t=0 BEGIN M, H(0), K, N i=i+1 i=1 M  t  15  Wt    ROTL 1(W  W  W ) 16  t  79 t 3 t 8 t 16  T = ROTL5(a) + ft(b, c, d) +e + Kt + Wt; e = d ; d = c; c = ROTL30(b); b = a; a = T Đúng t ≤ 79 i t a = H0(i-1); b = H1(i-1); c = H2(i-1); d = H3(i-1); e = H4(i-1) t=t+1 Sai 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) Đúng i≤N Sai In H0(N) || … || H4(N) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com END Chuẩn hàm băm an tồn (SHS) Quy trình tính tốn SHA-512: t=0 t=t+1 BEGIN T1 = h +  (e) + Ch(e, f, g) + Kt{512} + Wt; T2 = h +  (e) + Ch(e, f, g) + Kt{512} + Wt; h = g; g = f; f = e; e = d + T1; d = c; c = b; b = a; a = T1 + T2 512 M, H(0), K, N 512 i=i+1 i=1  M ti (0  t  15)  Wt     512( W )  W   512( W )  W (16  t  79) t 2 t 7 t 15 t 16  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) Đúng t ≤ 79 Sai 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) Đúng i≤N Sai END In H0(N) || … || H7(N) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn hàm băm an tồn (SHS) Quy trình tính tốn SHA-348: Giải thuật định nghĩa giống y hệt với giải thuật SHA512 trừ hai điểm khác biệt sau: - Giá trị băm khởi tạo H(0) SHA-384 khác với giá trị khởi tạo H(0) SHA-512 - Thông điệp rút gọn SHA-384 là: H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N) thay giữ nguyên toàn tất bit H(N) SHA-512 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn chữ ký số (DSS) Giới thiệu Để nâng cấp việc sử dụng thương mại điện tử quốc gia việc giao dịch, Viện tiêu chuẩn công nghệ quốc gia Hoa kỳ (NIST) đưa chuẩn xử lý thông tin FIPS 186 chuẩn chữ ký số (DSS - Digital Signature Standard) vào ngày 19/5/1994 chấp nhận từ ngày 1/12/1994 Phiên chuẩn chữ ký số FIPS PUB 186, phiên FIPS PUB 186-1 đưa vào ngày 15/12/1998, phiên thứ FIPS PUB 186-2 đưa vào ngày 27/1/2000 phiên FIPS PUB 186-3 công bố vào tháng 3/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn chữ ký số (DSS) Giới thiệu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn chữ ký số (DSS) Giới thiệu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn chữ ký số (DSS) Các tham số DSA • p: số ngun tố 2L-1 < p < 2L với L độ dài bit biến p • q: ước số nguyên tố p-1 2N-1< p < 2N với N chiều dài biến q(tính theo bít) • g: căm bậc q theo modulo p Dễ dàng tính g sau: g = h(p-1)/q mod p Với 1< h < p-1 • x: khóa bí mật x số ngun dương tạo cách ngẫu nhiên cho 0< x < q-1 • y: khóa cơng khai, y = gx mod p • k: số bí mật với tin nhắn k số nguyên tạo ngẫu nhiên cho < k < q LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn chữ ký số (DSS) Lựa chọn kích thước tham số p q Chuẩn đưa số lựa chọn cho cặp (L, N) sau: (L = 1024, N = 160), (L = 2048, N = 224) (L = 3072, N = 256) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn chữ ký số (DSS) Tạo chữ ký số DSA Chữ ký thông điệp M cặp số (r, s) tính tốn sau: r = (gk mod p) mod q s = k-1(z + x.r) mod q Với z = N bít trái hàm Hash(M) Giá trị r s kiểm tra để xem chúng có hay khơng Nếu hai giá trị khơng bên ký phải tạo giá trị k khác chữ ký số phải tính tốn lại LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn chữ ký số (DSS) Xác nhận chữ ký số DSA Đặt M’, r’, s’ thông điệp chữ ký cần xác nhận Đặt y khóa cơng khai người tuyên bố tạo chữ ký Qui trình xác nhận chữ ký thực sau: w = (s’)-1 mod q z = N bít trái Hash(M’) u1 = z.w mod q u2 = r’.w mod q v = (g u y u mod p) mod q Nếu v = r’ chữ ký số xác nhận LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn chữ ký số (DSS) Giải thuật tạo số nguyên tố p q BEGIN L, N, seedlen kiểm tra L, N Không hợp lệ In “Không hợp lệ” Hợp lệ END n = L / outlen - 1; b = L - - (n * outlen) domain_parameter_seed=RBG(seedlen) U = Hash(domain_parameter_seed) mod 2N q=U Sai  2N-1 q ? nguyên tố Đúng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuẩn chữ ký số (DSS) Giải thuật tạo số nguyên tố p q X = W + 2L-1 c = X mod 2q p = X - (c - 1) offset=1 Đúng counter=0 p

Ngày đăng: 01/11/2022, 15:18

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w