Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
503,42 KB
Nội dung
Tên đềtàiCHUẨNCHỮKÝSỐVÀỨNGDỤNG Giáo viên hướng dẫn : TS.Lê Phê Đô Sinh viên thực hiện : Nguyễn Đình Lượng Lớp CT702 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 HẢI PHÒNG - 2007 MỤC ĐÍCH ĐỀTÀI Nghiên cứu về lý thuyết mật mã, chữký điện tử, Chuẩn hàm băm an toàn vàChuẩnchữký số. NỘI DUNG TRÌNH BÀY Giới thiệu về 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 toán Quy trình tính toán Chuẩnchữkýsố Giới thiệu Các tham số của DSA Lựa chọn kich thước các tham số Tạo chữkýsố DSA Xác nhận chữkýsố DSA Giải thuật tạo các số nguyên tố p và q Giải thuật xác suất Miller-Rabin kiểm tra tính nguyên tố Giới thiệu về NIST Viện chuẩnvà công nghệ quốc gia NIST (the National Institute of Standards and Technology), được thành lập năm 1901, là một cơ quan quản trị công nghệ của bộ thương mại Hoa Kì. Nhiệm vụ của Viện này là thúc đẩy các đổi mới và nâng cao tính cạnh tranh công nghệ bằng cách đưa ra khoa học đo lường, các chuẩnvà công nghệ tiên tiến theo cách làm tăng tính an toàn kinh tế và cải thiện chất lượng cuộc sống. Sơ lược hàm băm Định nghĩa: 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: • Với y bất kỳ không thể tìm x sao cho h(x) = y. • Với x bất kỳ không thể tím x’ sao cho h(x’) = h(x). Hàm băm mạnh: • Với x bất kỳ không thể tím x’ sao cho h(x’) = h(x). • Không thể tìm x ≠ x’ sao cho h(x) = h(x’). 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) được NIST đưa ra lần đầu vào 11/5/1993 với phiên bản đầu là FIPS PUB 180-1. Và phiên bản thứ2 là FIPS PUB 180-2, được đưa ra vào ngày 1/8/2002. Trong FIPS PUB 180-2 có 4 giải thuật hàm băm được đua ra là SHA-1, SHA-256, SHA-384, SHA-512. Bảng 1. Đặc điểm của các giải thuật hàm băm an toàn. Tiền xử lý: Độn bản tin Giải sử thông điệp M có độ dài là l bit - Với SHA-1 và SHA-256 l +1+k ≡ 448 mod 512 - Với SHA-384 và SHA-512 l +1+k ≡ 896 mod 512 Chuẩn hàm băm an toàn (SHS) Biểu diễn nhị phân của M l bit 1 00…00 k bit Biểu diễn nhị phân của l 64 bit Biểu diễn nhị phân của M l bit 1 00…00 k bit Biểu diễn nhị phân của l 128 bit Tiền xử lý: Phân phối bản tin độn - Với SHA-1 và 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: M 0 (i) , M 1 (i) ,…, M 15 (i) . - 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 M 0 (i) , M 1 (i) ,…, M 15 (i) . Chuẩn hàm băm an toàn (SHS) Các hàm sử dụng tính toán SHA-1: f t (x, y, z) = SHA-256 Ch( x, y, z) = ( x y) ( x z) Maj( x, y, z) = ( x y) ( x z) ( y z) vàvà SHA-348 và 512 Ch( x, y, z) = ( x y) ( x z) Maj( x, y, z) = ( x y) ( x z) ( y z) vàvà 79t60 z yx z) y, Parity(x, 59t40 xzzy y) (x z) y, Maj(x, 39t20 z yx z) y, Parity(x, 19t0 )z x( y) (x z) y, Ch(x, )()( Chuẩn hàm băm an toàn (SHS) )()()( 2213 256 0 2 xROTRxROTRxROTR )()()( 2511 256 1 6 xROTRxROTRxROTR )()()( 3187 256 0 xROTRxROTRxROTR )()()( 101917 256 1 xROTRxROTRxROTR )()()( 3934 512 0 28 xROTRxROTRxROTR )()()( 4118 512 1 14 xROTRxROTRxROTR )()()( 781 512 0 xROTRxROTRxROTR )()()( 66119 512 1 xROTRxROTRxROTR Quy trình tính toán SHA-1: Chuẩn hàm băm an toàn (SHS) BEGIN M, H (0) , K, N i=1 a = H 0 (i-1) ; b = H 1 (i-1) ; c = H 2 (i-1) ; d = H 3 (i-1) ; e = H 4 (i-1) 79 16 )( 15 0 1683 1 tWWWROTL tM W ttt i t t 1 In H 0 (N) || … || H 4 (N) 2 t=0 T = ROTL 5 (a) + f t (b, c, d) +e + K t + W t ; e = d ; d = c; c = ROTL 30 (b); b = a; a = T t ≤ 79 1 H 0 (i) = a + H 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) i ≤ N Đúng Sai Đúng Sai END t=t+1 2 i=i+1 [...]... 186-1 được đưa ra vào ngày 15/12/1998, phiên bản thứ 3 là FIPS PUB 186-2 đưa ra vào ngày 27/1/2000 và phiên bản mới nhất hiện nay là FIPS PUB 186-3 được công bố vào tháng 3/2006 Chuẩn chữkýsố (DSS) Giới thiệu Chuẩnchữkýsố (DSS) Giới thiệu Chuẩnchữkýsố (DSS) Các tham số của DSA • p: là một số nguyên tố trong đó 2L-1 < p < 2L với L là độ dài bit của biến p • q: là một ước số nguyên tố của p-1... Chuẩnchữkýsố (DSS) Tạo chữkýsố DSA Chữký trên thông điệp M là một cặp số (r, s) được tính toán như sau: r = (gk mod p) mod q s = k-1(z + x.r) mod q Với z = N bít trái nhất của hàm Hash(M) Giá trị của r và s sẽ được kiểm tra để xem chúng có bằng 0 hay không Nếu một trong hai giá trị này bằng không thì bên ký sẽ phải tạo ra một giá trị k khác vàchữkýsố sẽ phải được tính toán lại Chuẩn chữ ký. .. chữkýsố (DSS) Xác nhận chữ kýsố DSA Đặt M’, r’, s’ là thông điệp vàchữký cần đi xác nhận Đặt y là khóa công khai của người tuyên bố đã tạo ra chữký Qui trình xác nhận chữký được thực hiện như sau: w = (s’)-1 mod q z = N bít trái nhất của 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’ thì chữ kýsố được xác nhận 1 2 Chuẩn chữ kýsố (DSS) Giải thuật tạo các số nguyên... của H(N) như SHA-512 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ử của quốc gia và trong việc giao dịch, Viện tiêu chuẩnvà công nghệ quốc gia Hoa kỳ (NIST) đã đưa ra chuẩn xử lý thông tin FIPS 186 là chuẩnchữkýsố (DSS - Digital Signature Standard) vào ngày 19/5/1994 và được chấp nhận từ ngày 1/12/1994 Phiên bản đầu tiên của chuẩnchữkýsố là FIPS PUB 186, phiên bản... outlen) + ((Vn mod 2b) * 2 n * outlen) Đúng 5 3 Chuẩnchữkýsố (DSS) Giải thuật tạo các số nguyên tố p và q 4 In p,q, domain_parameter_seed, counter END Chuẩnchữkýsố (DSS) Giải thuật xác suất Miller-Rabin kiểm tra tính nguyên tố Chuẩn Miller-Rabin như sau: cho n là số nguyên lẻ thỏa mãn n-1 = 2e.u, với u là số nguyên tố • Nếu n là số nguyên tố, thì với mọi số nguyên dương a với 0 ≤ a ≤ n -1: (au ≡ 1... x là một số nguyên dương được tạo ra một cách ngẫu nhiên sao cho 0< x < q-1 • y: là khóa công khai, trong đó y = gx mod p • k: là số bí mật và là duy nhất với mỗi một tin nhắn k là số nguyên được tạo ra ngẫu nhiên sao cho 0 < k < q Chuẩn chữ kýsố (DSS) Lựa chọn kích thước các tham số p và q Chuẩn này đưa ra một số lựa chọn cho cặp (L, N) như sau: (L = 1024, N = 160), (L = 2048, N = 224) và (L = 3072,... Chuẩnchữkýsố (DSS) Giải thuật tạo các số nguyên tố p và 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 - 1 - (n * outlen) 5 domain_parameter_seed=RBG(seedlen) U = Hash(domain_parameter_seed) mod 2N q=U Sai 2N-1 1 q ? nguyên tố Đúng 1 Chuẩnchữkýsố (DSS) Giải thuật tạo các số nguyên tố p và q X = W + 2L-1 c = X mod 2q 1 p = X - (c - 1) offset=1... Nếu n là hợp số thì u ≡ 1 mod n hoặc k < e(a2 u ≡ -1 mod n)} ≤ n 1 {a: 1 ≤ a ≤ n-1, a 4 e.u với u Tức là khi số nguyên lẻ n có dạng thỏa mãn n-1 = 2 là số nguyên tố thì nếu n là số nguyên tố, nó luôn thỏa mãn tính chất(*) còn khi n là hợp số thì chỉ có thể tìm được tối đa là n 1 số nguyên a để thỏa mãn tính chất(*) Tính chất(*) đó là 4 hoặc au ≡ 1 mod n, nếu không thì sẽ tồn tại một số k thỏa mãn... -1 mod n k k Chuẩnchữkýsố (DSS) Giải thuật xác suất Miller-Rabin kiểm tra tính nguyên tố BEGIN j=1 w, iteration a là số nguyên lớn nhất thỏa mãn: w-1 = 2a; m = (w-1) / 2a; wlen = len(w); i=0 Đúng z= w-1 Sai z= 1 b=RBG(wlen) i=i+1 ĐúngĐúng 3 1 Đúng j . sử dụng tính toán Quy trình tính toán Chuẩn chữ ký số Giới thiệu Các tham số của DSA Lựa chọn kich thước các tham số Tạo chữ ký số DSA Xác nhận chữ ký số DSA Giải thuật tạo các số. Chuẩn chữ ký số (DSS) Xác nhận chữ ký số DSA Đặt M’, r’, s’ là thông điệp và chữ ký cần đi xác nhận. Đặt y là khóa công khai của người tuyên bố đã tạo ra chữ ký. Qui trình xác nhận chữ ký được. Chuẩn chữ ký số (DSS) Giới thiệu Chuẩn chữ ký số (DSS) Các tham số của DSA • p: là một số nguyên tố trong đó 2L-1 < p < 2L với L là độ dài bit của biến p. • q: là một ước số