Thứ Sáu, 3 tháng 4, 2026

Hàm băm (Hash function) là gì?

CÂU HỎI : Hàm băm (Hash function) là gì?

(Trả lời bên dưới)

Hàm băm (Hash function) là gì?

Trong khoa học máy tính và mật mã học, Hàm băm (Hash function) là một thuật toán toán học giúp biến đổi một khối dữ liệu đầu vào có kích thước bất kỳ thành một chuỗi ký tự có độ dài cố định.

Hãy tưởng tượng hàm băm giống như một "máy xay" dữ liệu: dù bạn bỏ vào một từ đơn lẻ, một cuốn sách hay một bộ phim, đầu ra luôn là một chuỗi mã duy nhất với độ dài không đổi.


1. Các đặc điểm cốt lõi của hàm băm

Để được coi là một hàm băm an toàn (đặc biệt trong pháp lý và bảo mật), nó phải hội đủ các tính chất sau:

  • Tính xác định (Deterministic): Với cùng một đầu vào, hàm băm phải luôn cho ra cùng một kết quả đầu ra duy nhất, bất kể bạn thực hiện bao nhiêu lần.
  • Hiệu ứng thác đổ (Avalanche Effect): Chỉ cần thay đổi một chi tiết cực nhỏ ở đầu vào (ví dụ: đổi một chữ cái viết thường thành viết hoa), mã băm đầu ra sẽ thay đổi hoàn toàn.
  • Tính một chiều (One-way function): Bạn có thể dễ dàng tạo ra mã băm từ dữ liệu gốc, nhưng về mặt lý thuyết, gần như không thể "dịch ngược" mã băm để tìm lại dữ liệu ban đầu.
  • Kháng va chạm (Collision resistance): Rất khó để tìm thấy hai đầu vào khác nhau mà lại cho ra cùng một mã băm.

2. Các thuật toán phổ biến

Hiện nay, có nhiều loại hàm băm được sử dụng tùy theo mục đích:

Thuật toán

Đặc điểm

Trạng thái hiện tại

MD5

Tạo ra chuỗi 128-bit. Xử lý rất nhanh.

Hiện đã bị coi là không an toàn cho bảo mật vì dễ xảy ra "va chạm".

SHA-1

Tạo ra chuỗi 160-bit.

Đã lỗi thời, không còn được khuyến nghị cho các giao dịch quan trọng.

SHA-256

Thuộc họ SHA-2, tạo ra chuỗi 256-bit.

Rất an toàn, được sử dụng rộng rãi trong chứng thực dữ liệu và tiền điện tử (Bitcoin).

SHA-3

Thế hệ mới nhất với cấu trúc hoàn toàn khác.

Độ bảo mật cực cao.

3. Ứng dụng thực tiễn

Trong lĩnh vực Pháp lý & Giám định kỹ thuật hình sự

  • Như đã đề cập ở phần trước, hàm băm đóng vai trò là "niêm phong số". Khi thu giữ chứng cứ điện tử (như ổ cứng hay tệp tin), điều tra viên sẽ chạy hàm băm để lấy "dấu vân tay" của dữ liệu đó. Tại tòa, nếu mã băm trùng khớp với lúc thu giữ, chứng cứ đó được xác nhận là nguyên vẹn.

Trong Bảo mật mật khẩu

  • Các hệ thống hiện đại không lưu mật khẩu của bạn dưới dạng chữ rõ (plaintext). Họ lưu mã băm của mật khẩu đó. Khi bạn đăng nhập, hệ thống băm mật khẩu bạn vừa nhập và so sánh với mã băm đã lưu. Điều này bảo vệ bạn ngay cả khi dữ liệu hệ thống bị rò rỉ.

Trong Kiểm tra tính toàn vẹn dữ liệu

  • Khi bạn tải một phần mềm lớn từ internet, nhà cung cấp thường đưa kèm một mã SHA-256. Sau khi tải xong, bạn có thể tự băm tệp đó để kiểm tra xem dữ liệu có bị lỗi hoặc bị chèn mã độc trong quá trình truyền tải hay không.


Ví dụ minh họa (SHA-256)

  • Đầu vào: Xin chào
    • Mã băm: e828...638b
  • Đầu vào: xin chào (chỉ đổi chữ X thành x)
    • Mã băm: 704c...a21e (Khác biệt hoàn toàn)

Luật gia Vlog NGUYỄN KIỆT tổng hợp và phân tích

VIDEO:

(đang cập nhật)

TÌM HIỂU VẤN ĐỀ LIÊN QUAN:

(đang cập nhật)

GÓC BÁO CHÍ:

(đang cập nhật)

Không có nhận xét nào:

Đăng nhận xét