Hash là gì ? 1 vài dạng hash cơ bản

0
61
Rate this post

Hàm băm, hay còn được gọi là hash, là một công nghệ mã hóa quan trọng giúp bảo vệ dữ liệu. Hàm băm được sử dụng rộng rãi trong lĩnh vực bảo mật, đặc biệt là trong các công nghệ như blockchain và bitcoin. Trên thực tế, hàm băm là gì? Có những dạng hàm băm nào? Hãy cùng tìm hiểu trong bài viết này.

Một cách đơn giản, hàm băm là một loại hàm mà dữ liệu có thể được ánh xạ thành các giá trị có kích thước cố định. Các giá trị này được gọi là giá trị băm, mã băm, thông điệp băm hoặc đơn giản là “hash”.

Mục đích của hàm băm

1. Kiểm tra tính toàn vẹn của tập tin

Đặc điểm quan trọng của hàm băm là cùng một dữ liệu sẽ luôn cho ra cùng một giá trị băm. Do đó, bạn có thể so sánh giá trị băm của tập tin trên mạng với giá trị băm của bản gốc. Nếu chúng giống nhau, tức là tập tin của bạn không bị thay đổi. Ngược lại, nếu chúng khác nhau, tập tin của bạn đã bị sửa đổi hoặc hỏng.

Việc kiểm tra giá trị băm giúp đảm bảo tính toàn vẹn và an toàn của tập tin. Trong một số trường hợp, tập tin bạn tải xuống có thể bị can thiệp bởi người thứ ba trước khi nó đến thiết bị của bạn. Bằng cách kiểm tra giá trị băm, bạn có thể đảm bảo tập tin của bạn là an toàn.

2. Xác minh mật khẩu

Trong các hệ thống cơ sở dữ liệu hiện đại, các mật khẩu không được lưu dưới dạng văn bản đơn thuần, mà là giá trị băm của chúng. Khi bạn nhập mật khẩu, hệ thống sẽ sử dụng hàm băm để so sánh giá trị băm nhập vào với giá trị băm trong cơ sở dữ liệu. Điều này giúp xác định xem bạn có quyền truy cập dịch vụ hay không. Việc này giảm thiểu thiệt hại khi cơ sở dữ liệu bị tấn công, vì những gì bị rò rỉ ra bên ngoài chỉ là giá trị băm, không phải mật khẩu thật của bạn.

Hơn nữa, hệ thống còn thêm giá trị “salt” vào mật khẩu của bạn trước khi mã hóa, tăng thêm độ an toàn. Mặc dù giá trị băm của mật khẩu có thể bị rò rỉ và bị giải mã, kẻ tấn công vẫn không thể tìm ra mật khẩu thật của bạn do sự hiện diện của “salt”.

Một số loại hàm băm cơ bản

Có nhiều thuật toán băm mật mã, dưới đây là một số thuật toán cơ bản được sử dụng phổ biến:

1. MD5

MD5 được sử dụng để thay thế hàm băm MD4 và trở thành tiêu chuẩn từ năm 1992. Tuy nhiên, đến đầu những năm 2000, hàm băm MD5 không còn an toàn trước sức mạnh tính toán của các hệ thống hiện đại.

2. SHA-1

SHA-1 được phát triển như một phần của dự án Capstone của Chính phủ Hoa Kỳ. Tuy nhiên, SHA-1 cũng không còn được coi là an toàn do các cách tấn công ngày càng phát triển.

3. RIPEMD-160

RIPEMD là một họ hàm băm được phát triển tại Bỉ. RIPEMD-160 là phiên bản phổ biến nhất và cho đến nay chưa bị phá vỡ.

4. Bcrypt

Bcrypt là một hàm băm mật khẩu được thiết kế với khả năng chống lại các cuộc tấn công vét cạn và rainbow attack.

5. Whirlpool

Whirlpool là một hàm băm mật mã dựa trên tiêu chuẩn mã hóa nâng cao (AES) và tạo ra giá trị băm có kích thước 512 bit.

6. SHA-2

SHA-2 bao gồm hai thuật toán băm phổ biến là SHA-256 và SHA-512. SHA-2 an toàn hơn SHA-1 và thường nhanh hơn trên các máy tính 64 bit.

7. SHA-3

SHA-3 là tiêu chuẩn hàm băm mới nhất, phát hành bởi NIST vào năm 2015. SHA-3 là một tập con của họ nguyên thủy mật mã Keccak.

8. BLAKE2

BLAKE2 là một phiên bản cải tiến của BLAKE, được phát triển để thay thế các thuật toán băm như MD5 và SHA-1.

Kết luận

Bài viết đã trình bày về khái niệm và mục đích sử dụng của hàm băm, cũng như giới thiệu một số loại hàm băm phổ biến. Hiểu về các khái niệm này sẽ giúp bạn nhận ra tầm quan trọng của hàm băm trong bảo mật dữ liệu. Để biết thêm thông tin về mã hóa, bạn có thể tham khảo trang web Dnulib và tìm hiểu về chứng chỉ SSL phù hợp với nhu cầu của bạn.

Được chỉnh sửa bởi Dnulib