Hash là gì?
Hash (hàm băm) được sử dụng trong nhiều ứng dụng chẳng hạn như mật mã, xác thực, kiểm tra tính toàn vẹn của dữ liệu và chữ ký số. Chúng cũng được sử dụng để lập chỉ mục dữ liệu trong cơ sở dữ liệu và công cụ tìm kiếm. Trong bài viết này, BlockchainWork sẽ thảo luận về những điều cơ bản của hàm băm và các trường hợp sử dụng của chúng.
Mục lục bài viết
Tổng quan về hash
Hash là quá trình chuyển đổi khóa hoặc chuỗi ký tự thành một giá trị khác. Nó có thể chuyển đổi bất kỳ giá trị nào, chẳng hạn như số hoặc tài liệu thành một chuỗi có độ dài xác định.
Các hàm mã hóa có thể giải mã dữ liệu, trong khi các hash function chỉ có thể biến đổi dữ liệu theo một hướng và nó không thể chuyển đổi dữ liệu đã băm trở lại dữ liệu ban đầu. Ngoài ra, nếu bạn thay đổi dù chỉ một ký tự trong dữ liệu gốc, kết quả được băm sẽ hoàn toàn khác. Điều này khiến bạn không thể đoán được dữ liệu gốc từ kết quả được băm.
Chức năng phổ biến của hàm băm là lưu trữ mật khẩu cho các trang web. Các trang web thường băm mật khẩu và lưu trữ chúng trong cơ sở dữ liệu. Giá trị băm của mật khẩu nhập từ biểu mẫu được so sánh với giá trị băm của mật khẩu lưu trữ trong cơ sở dữ liệu và mật khẩu xác nhận bằng cách xem liệu chúng có khớp hay không.
Tuy nhiên chỉ có mật khẩu băm được lưu trữ trong cơ sở dữ liệu, nên không thể khôi phục mật khẩu từ các giá trị số được lưu trữ trong cơ sở dữ liệu và một mức độ bảo mật nhất định được duy trì ngay cả khi nội dung của cơ sở dữ liệu bị rò rỉ.
Hash được sử dụng ở mọi nơi trong các blockchain như Bitcoin. Đặc biệt trong khai thác, hash được sử dụng nhiều lần, vì vậy hiệu quả của việc tính toán của nó là rất quan trọng. Vì lý do đó, phần cứng chuyên dùng để tính toán hash cũng đang được phát triển.
Các hash function được Bitcoin sử dụng là SHA256 và RIPEMD160. Chúng phù hợp để tính toán trên GPU và ASIC (phần cứng dành riêng cho tính toán). Mặt khác, nhiều chuỗi khối khác sử dụng thuật toán băm khó tính toán với GPU và ASIC để có thể dễ dàng khai thác chúng trên PC thông thường.
SHA256 được sử dụng trong Bitcoin là một trong những hàm băm tính giá trị đặc trưng có độ dài cố định từ độ dài tùy ý của văn bản gốc. Nói cách khác, nó tạo ra giá trị băm 256 bit từ bất kỳ độ dài nào của văn bản gốc. SHA256 được sử dụng rộng rãi nhờ sự cân bằng tuyệt vời giữa tính dễ thực hiện, tốc độ tính toán và bảo mật mã hóa.
Ví dụ về hash
Để hiểu được các đặc điểm trên, chúng ta hãy áp dụng hash function SHA256 cho dữ liệu và chuyển đổi nó như sau.
Chuyển đổi dữ liệu bằng hash function (Nguồn Gaiax)
Do đó, một ký tự hoặc bit khác biệt sẽ dẫn đến một giá trị băm hoàn toàn khác.
Khác dữ liệu đầu vào sẽ cho ra kết quả khác nhau (Nguồn Gaiax)
Một tính năng khác là độ dài (số bit) của giá trị số đầu ra là như nhau ngay cả trong trường hợp chuỗi ký tự dài. Do đó bất kỳ chuỗi ký tự dài nào cũng được chuyển đổi thành độ dài cố định. Vì vậy nó thường được sử dụng như một hàm để tóm tắt các câu và tệp hình ảnh.
Hash đôi
Hash đôi là việc sử dụng lặp đi lặp lại các hash function. Giá trị đầu ra sau khi được đưa vào hash một lần sẽ được hash một lần nữa. Ưu điểm của hash đôi là tính bảo mật được nhân đôi so với việc áp dụng hash một lần. Vì lý do này, nó được sử dụng trong các tình huống khác nhau.
Như đã đề cập ở trên, trong số các hàm băm SHA256 và RIPEMD160 được sử dụng trong bitcoin nhưng hàm băm áp dụng SHA256 thường được sử dụng hơn. Tuy nhiên, nếu cần một hàm băm ngắn hơn, thì hàm băm có áp dụng SHA256 và RIPEMD160 sẽ được sử dụng.
Kết luận
Các hash (hàm băm) là một phần quan trọng của mật mã học và chúng đóng một vai trò quan trọng trong bảo mật dữ liệu. Chúng được sử dụng để tạo ra một giá trị băm duy nhất từ bất kỳ dữ liệu cụ thể nào, sau đó có thể được sử dụng để xác minh tính xác thực của dữ liệu đó. Các hash function cũng được sử dụng để lưu trữ mật khẩu một cách an toàn, vì chúng có thể tạo ra một giá trị băm duy nhất cho mỗi mật khẩu. Tóm lại, các hash function cung cấp một cách hiệu quả để lưu trữ và xác thực dữ liệu một cách an toàn.
BlockchainWork biên dịch
Nguồn: Gaiax blockchain
- Tìm hiểu thêm về BlockchainWork tại website: https://blockchainwork.net/
- Ứng viên nắm bắt cơ hội việc làm tại đây: https://blockchainwork.net/candidate-signup
- Nhà tuyển dụng kết nối các tài năng trẻ tại đây: https://blockchainwork.net/employer-signup
>> Có thể bạn quan tâm:
Công nghệ sổ cái phân tán (DLT): Tiềm năng và Triển vọng Phát triển
Dù bạn đã biết blockchain là công nghệ nền tảng của các loại tiền mã hóa như Bitcoin và Ethereum, nhưng bạn có bao giờ tự hỏi điều gì thật sự tạo nên sức mạnh của blockchain? Ẩn sâu bên…
Các phương pháp tăng cường bảo mật các dự án Web3
Công nghệ Web3 đang trở thành một xu hướng quan trọng trong ngành công nghiệp công nghệ thông tin và truyền thông. Các dự án Web3 không chỉ mang lại những cơ hội mới mẻ mà còn tạo…
Tổng hợp khóa học, tài liệu Web3 miễn phí theo lộ trình cụ thể
Để bắt đầu học về blockchain, việc tìm nguồn tài liệu cũng như khóa học uy tín và miễn phí là rất quan trọng. Blockchain là một công nghệ mới mẻ và phức tạp, nó đòi hỏi người…
Kiểm toán Blockchain (Blockchain audit): Tầm quan trọng và các phương pháp hay nhất
Nền tảng blockchain đã và đang trở thành tâm điểm trong thế giới công nghệ. Blockchain đã gia nhập vào hầu hết mọi lĩnh vực, bao gồm quản lý chuỗi cung ứng, game, chăm sóc sức khỏe và quan trọng…
Các ứng dụng blockchain thực tế tại Việt Nam
Blockchain đã trở thành một công nghệ nổi bật trong nhiều lĩnh vực tại Việt Nam, đặc biệt là trong giáo dục, sức khỏe, giải trí, sản xuất, quản lý nhà nước và ngân hàng. Đặc biệt, blockchain…