Bài giảng Hàm băm và mật mã Hash

39 1K 24
Bài giảng Hàm băm và mật mã Hash

Đ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

Bài giảng Hàm băm và mật mã Hash

Hàm băm mật mã Hash & MAC Tham khảo giảng ThS Trần Minh Triết Nội dung Mở đầu Các tính chất hàm băm mật mã Phân loại hàm băm mật mã Một số kiến trúc hàm băm phổ biến Hàm băm MD5 Các hàm băm SHA MAC HMAC Tính tồn vẹn tính bí mật Tính tồn vẹn (Integrity): người công can thiệp để sửa nội dung thơng điệp Mã hóa nhằm đảm bảo tính bí mật, khơng giúp đảm bảo tính tồn vẹn thơng tin  Người cơng sửa đổi nội dung thơng điệp mã hóa mà không cần biết nội dung thật thông điệp Ví dụ: Trong đấu giá trực tuyến, thay đổi giá đặt đối thủ mà không cần biết nội dung thật giá đặt Ý tưởng hàm băm mật mã H hàm nén thông tin (lossy compression function) Hiện tượng đụng độ (Collision): H(x)=H(x’) với x≠x’ Kết việc băm “nhìn ngẫu nhiên” x1 Thông điệp x2 y1 x3 Chuỗi bit có độ dài bất kỳ! Thơng điệp rút gọn y2 Chuỗi bit có độ dài cố định Hàm băm mật mã H H áp dụng liệu có kích thước Kết H chuỗi n-bit (n cố định) Dễ dàng tính giá trị H(x) với x H hàm chiều H an toàn tượng “đụng độ” Tính “một chiều” Hàm H khó bị biến đổi ngược Cho trước chuỗi bit ngẫu nhiên y∈{0,1}n, khó tìm chuỗi bit x cho H(x)=y Ví dụ: Brute-force: Với giá trị x, kiểm tra H(x)=y SHA-1 cho kết chuỗi gồm 160-bit Giả sử phần cứng cho phép thực 234 phép thử giây Có thể thực 259 phép thử năm Cần 2101 (~ 1030) năm để biến đổi ngược SHA-1 với giá trị ngẫu nhiên y cho trước Tính an tồn tượng đụng độ Rất khó tìm x, x’ cho H(x)=H(x’) Tìm kiếm đụng độ Brute-force cần O(2n/2), O(2n) Birthday paradox Cho t giá trị xi giá trị tương ứng yi=h(xi) Với cặp xi,xj, xác suất đụng độ 1/2n Tổng số cặp C2t=t(t-1)/2 ∼ O(t2) Nếu t xấp xỉ 2n/2, số lượng cặp xấp xỉ 2n Với cặp, xác suất xảy đụng độ 1/2n, đó, xác suất tìm cặp giá trị đụng độ gần Birthday Paradox Ví dụ: Gọi p(n) xác suất tìm người có ngày sinh nhóm n người Gọi p (n)là xác suất người nhóm n người có ngày sinh khác p(n) + p (n)= Với n ≤ 365, ta có    n − 3 33 3!  p (n) = 33−  3−  3− = 3 3  3 3 (3 3− n)! 3 3n  Birthday Paradox p (n ) n An toàn với tượng đụng độ “yếu” Weak Collision Resistance Cho dãy bit x chọn trước ngẫu nhiên, khó tìm x’sao cho H(x)=H(x’) Người cơng phải tìm giá trị đụng độ với giá trị x cụ thể cho trước Điều khó việc tìm cặp giá trị x x’ đụng độ với Tấn công Brute-force: O(2n) Nhận xét: An toàn với tượng đụng độ “yếu” khơng đảm bảo an tồn với tượng đụng độ SHA1 Tiền xử lý: Thêm bit vào cuối thông điệp Thêm vào k bit cho độ dài thông điệp nhận đồng du 448 (mod 512) Thêm 64 bit biểu diễn độ dài dài thông điệp gốc (giá trị lưu dạng big-endian) M m bit 0…0 bit k bit Bội số 512 m 64 bit SHA1 Chia thông điệp (đã padding) thành khối 512 bit Với khối 512-bit: Chia thành 16 word (32 bit, big-endian) w[0 15] Mở rộng 16 word (32 bit) thành 80 word (32 bit) w[i]=(w[i-3]⊕ w[i-8] ⊕ w[i-14] ⊕ w[i-16])

Ngày đăng: 17/08/2012, 10:40

Từ khóa liên quan

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

Tài liệu liên quan