HÀM BĂM VÀ ĐẠI DIỆN THÔNG ĐIỆP

11 724 2
HÀM BĂM VÀ ĐẠI DIỆN THÔNG ĐIỆP

Đ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

HÀM BĂM VÀ ĐẠI DIỆN THÔNG ĐIỆP Trong ngành mật mã học, một hàm băm mật mã học (cryptographic hash function) là một hàm băm với một số tính chất bảo mật nhất định để phù hợp việc sử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn như chứng thực (authentication) và kiểm tra tính nguyên vẹn của thông điệp (message integrity). Một hàm băm nhận đầu vào là một xâu ký tự dài (hay thông điệp) có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độ dài cố định, đôi khi được gọi là đại diện thông điệp (message digest) hoặc vân tay số (digital fingerprint) nó là dãy byte xác định duy nhất cho xâu kí tự dài đó, có thể coi như khóa của xâu.

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ &&& Đề tài: “HÀM BĂM VÀ ĐẠI DIỆN THÔNG ĐIỆP” Giảng viên: PGS.TS Trịnh Nhật Tiến Học viên thực hiện: Nguyễn Văn Dương Mã HV: 12025047 Hà Nội, 05/2014 Giới thiệu Trong ngành mật mã học, hàm băm mật mã học (cryptographic hash function) hàm băm với số tính chất bảo mật định để phù hợp việc sử dụng nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn chứng thực (authentication) kiểm tra tính ngun vẹn thơng điệp (message integrity) Một hàm băm nhận đầu vào xâu ký tự dài (hay thơng điệp) có độ dài tùy ý tạo kết xâu ký tự có độ dài cố định, đơi gọi đại diện thông điệp (message digest) vân tay số (digital fingerprint) dãy byte xác định cho xâu kí tự dài đó, coi khóa xâu Các hàm băm nhận chuỗi bit có chiều dài tùy ý ( hữu hạn) làm liệu đầu vào tạo chuỗi bit có chiều dài cố định n bit, gọi mã băm Sự thay đổi nhỏ chuỗi đầu vào làm thay đổi giá trị băm Ký hiệu D miền xác định, R miền giá trị hàm băm h(x) h(x) : D  R Ta có số lượng phần tử tập D lớn giá trị tập R  hàm băm h(x) đơn ánh  Luôn tồn cặp đầu vào khác có giá trị băm Giả sử hạn chế hàm h(x) miền xác định bao gồm chuỗi bit có chiều dài t ( t>n) Nếu h(x) ngẫu nhiên với tất giá trị đầu có xác suất có khoảng (t-n) đầu ánh xạ vào giá trị đầu Xác suất để hai giá trị( có chiều dài nhau) đầu vào ánh xạ vào giá trị 2-n (không phụ thuộc vào t)  Nếu n lơn 2-n nhỏ Như biết trước giá trị băm để tìm đầu vào có giá trị băm với giá trị băm biết khó chọn h(x) thích hợp n đủ lớn Trong lĩnh vực mã hóa thơng tin, mã băm xem đặc trưng thu gọn chuỗi bit tùy ý dùng để nhận chuỗi bit Hàm băm cơng cụ để tạo chữ ký số đảm bảo an toàn liệu Các khái niệm định nghĩa : Hàm băm giải thụât nhằm sinh giá trị băm tương ứng với khối liệu Giá trị băm đóng vai trị gần khóa để phân biệt khối liệu [11] Hinh 1.3 : Ảnh minh họa làm việc hàm băm o Phân loại : Hàm băm chiều : (one – way hash functions) : Là hàm băm mang chất : với mã băm biết trước, khơng thể tính tốn để tìm chuỗi bit ban đầu vào có mã băm với mã băm cho [8] Hàm băm kháng xung đột : (collision resistant hash funtions) hàm băm mang tính chất : khơng thể tính tốn để tìm hai chuỗi bit có giá trị băm Một số tính chất hàm băm : - (i) Có thể áp dụng với thơng báo đầu vào có độ dài - (ii) Tạo giá trị băm y = h(x) có độ dài cố định - (iii) h(x) dễ dàng tính với x - (iv) Tính chiều : Với đầu y cho trước khơng thể tìm x’ cho h(x’) giá trị y cho trước - (v) Tính chống xung đột yếu : Với liệu đầu vào x1 cho trước khơng thể tìm giá trị x2 (x2 khác x1) mà h(x2) = h(x1) - (vi) Tính chống xung đột mạnh : Khơng thể tính tốn đẻ tìm hai liệu đầu vào x1 x2 phân biệt cho chúng có giá trị băm (h(x1) = h(x2)) Như dựa theo tính chất tren ta thấy hàm băm chiều thỏa mãn tính chất (iv) tính chất (v), cịn hàm băm kháng xung đột thỏa mãn tính chất (iv) (vi) Cấu trúc thuật toán băm Khối liệu đầu vào x có chiều dài hữu hạn tùy ý phân thành khối liên tiếp có chiều dài cố định r, giả sử đánh số x1,x2, ,xm Tuy nhiên chiều dài khối liệu ban đầu x tùy ý, cần phải thêm vào liệu ban đầu số bit phụ cho tổng số bit khối liệu x’ sau thêm vào bội số r Ngoài khối bit thêm vào thường chứa khối bit (có chiều dài cố định trước, thường 64 bit) xác định chiều dài thực khối bt liệu chưa thêm bit phụ Tiếp theo, cắt khối r bit từ khối mở rộng x’ Mỗi khối r bit xi bước qua hàm nén f hàm băm h(x) Tại bước thứ i, hàm nén f nhận liệu đàu vào xi kết trung gian bước trước (bước i – 1) để tạo đầu kết trung gian bước thứ i, ký hiệu Hi Kết trung gian bước Hi chuỗi bit có độ dài cố định n > Kết ký hiệu IV giá trị ban đầu (cho H0 ), trình lặp xử lý dãy khối x1,x2, ,xm mô tả : H0 = IV Hi = f(Hi-1,xi) (i = 1,2, ,m) h(x) = g(Hm) - Các biến Hi biến dây chuyền - Hàm g(x) lấy biến dây chuyền cuối để tạo mã băm cuối cần tìm Trong hầu hết thuật tốn g(x) thường chọn ánh xạ đồng tức g(Hm) = Hm - Khâu then chốt xây dựng hàm băm thiết kế hàm nén f - Giá trị hàm băm mật mã thông điệp gọi Message Digest (MD) Một số hàm băm mật mã thông dụng : MD4,MD5 SHA-1 Giải thuật MD4 MD4 (Message-Digest thuật tốn 4) thơng điệp tiêu hóa thuật tốn (thứ tư loạt a) thiết kế Giáo sư Ronald Rivest MIT vào năm 1990 Nó thực hàm băm mật mã để sử dụng kiểm tra tính tồn vẹn thơng điệp Chiều dài giá trị băm 128 bit Thuật toán MD4 nhận liệu đầu vào chuỗi bit x có chiều dài b >= tùy ý sinh mã băm x có chiều dài cố định 128 bit Trước tiên chuỗi bit x định dạng lại cách thêm r > bit phụ thuộc vào x cho chiều dài chuỗi bit b’ = b + r bội số 512 Sau chia chuỗi bit thành m khối, khối có độ dài 512 bit Mỗi khối bit lại chia thành 16 từ, từ có 32 bit Thuật tốn MD4 xử lý dãy m khối m lượt tính tốn Dữ liệu đầu vào lượt tính toán thứ k (1

Ngày đăng: 20/10/2014, 00:26

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan